第 1 頁:選擇題 |
第 2 頁:填空題 |
第 3 頁:綜合題 |
三、綜合題
31[簡答題]
某機械設備的控制器,其基本功能要求有:
需要有8個數字量輸入,用于采集設備的狀態信息;且需要8個數字量輸出,用于控制設備動作。
具備一個RS-232接口,可以和上位機連接,接收上位機發送的命令及參數。
需要提供一個基準定時信號,定時時間間隔為0.01秒。
需要彩色LCD顯示器,用于顯示狀態信息等。
根據上述功能要求的描述,若采用S3C2410芯片為核心來構建該機械設備控制器的硬件平臺,請完善下面的敘述和c語言程序(需要使用的控制寄存器的格式見題后說明)。
(5)彩色LCD顯示屏的硬件接口電路由S3C2410的專用GPTO端口【93】和端口【94】相關引腳配以驅動電路來設計。軟件設計時,需要通過設置它們控制寄存器的值分別為【95】和【96】來確定它們的引腳功能。
(6)系統的軟件可以設計為在無操作系統的環境下運行。設計者自行設計系統的啟動引導程序,在該程序中完成異常向量設置、堆棧指針設置以及必要的硬件初始化。ARM9體系結構中規定的IRQ異常所對應的異常向量地址為【97】。Timed3部件所產生的0.01秒基準時問到時將引起IRQ異常。由于IRQ異常向量地址與下一個異常向量地址之間間隔為【98】個字節,因此,通常在IRQ異常向量地址處設計一條轉移指令。堆棧指針的設置需按工作模式來進行。設置IRQ模式下的堆棧指針,需在R0“清0”后用指令ORRR1,R0,#0x12|【99】和MSRCPSR_CXSF,R1來使CPU核進入IRQ模式,然后再給sP寄存器賦值作為該模式下的堆棧指針。這些初始化工作完成后,即可通過指令【100】來引導應用程序的主函數main()。
說明:下面是試題解答時需要用到的寄存器格式及相關說明。
說明:設置TCFGO、TCFGI可以確定預分頻器系數、分頻器值,如:通過設置TCFGO為0x0000001F,TimerO的預分頻器系數選擇為31,設置TCFGI為0x00000001,Timer0的分頻器值選擇為4。通過下面公式計算定時器的計數常數:
定時器輸入時鐘頻率=PCLK/(預分頻系數+1)/分頻器值
計數常數=定時時間間隔/(1/定時器輸人時鐘頻率)
預分頻系數的范圍為0~255,分頻器值的取值范圍為2、4、8、l6。
8)TCON寄存器(注:此處不用的位被省略,其值默認為0x0000000)
參考解析:【解題思路】 本題考查以S3C2410為背景的嵌入式應用系統開發。題中應用為機械設備的控制器系統開發。包括通用I/O口GPIO的使用及相應的初始化編程。其中,GPC和GPD作為LCD顯示器接口引腳,GPE作為輸入輸出;基于UART的RS-232接口電路設計及相應的初始化編程設置;UART的通信控制;內部定時器和計數器的設置及使用;基于S3C2410的無操作系統的嵌入式系統如何構建其啟動引導程序。
【參考答案及解析】
(1)【81】0x FFFF5555【82】0x0020
【解析】和0相與清零,和1相與保持不變。和0相或保持不變,和1相或置1。00為輸入,01為輸出,則初始化GPIO端口E的GPE0~GPE7引腳功能為輸出的語句是:rGPECON=(rGPECON | 0x00005555)&0x FFFF5555,空【81】為0xFFFF5555;通過GPE5引腳輸出“1”來驅動執行機構動作,則將第6位置1,即rGPEDAT=rGPEDAT I0x 0020,則空【82】為0x0020。
(2)【83】0x000000AA【84】0x23【85】(9600 × 16)+0.5
【解析]0x000000AA;8位數據位、1位停止位、奇校驗。在ULCON中,[1:0]:11=8位;[2]:0=1位停止位;[5:3]:100=奇校驗;[6]:0=正常操作模式。即rGPHCON=(rGPH-coN&0xFFFFFF00)| 0x OOOOOOAA,則空【83】為0x000000AA。空【84】此處對線路控制寄存器進行相應設置。空【85】對所需的波特率進行設置。
(3)【86】872【87】4.7
【解析】按照上面UART0初始化函數所設置的通信速率,每秒鐘最多能傳輸9600/(8+3)=872個字節的信息。若上位機有大小為4KB的初始參數需要下載到控制器中,那么,約需傳輸4×1024/872=4.7秒。
(4)【88】41250【89】0x 00000003【90]0x 00000003【91】0xA122【92】0x00000002
【解析】定時器輸入時鐘頻率=PCLK/(預分頻系數+1)/分割器值,計數常數=定時時間間隔/(1/定時器輸入時鐘頻率),即可得本題空【88】答案。TCFG0中[7:o]位確定Timer0的預分頻系數,題設為3,則空【89】為0x00000003;TCFGl中[3:0]位確定Timer0的分頻器值,題設為16,則空【90】為0x00000003。空【91】處設置的計數常數為0xAl22;更新TCNTB0和TC-MPB0設置空【92】為0x00000002。
(5)【93】C【94】D【95】0xAAAAAAAA【96】0xAAAAAAAA
【解析】GPC和GPD作為LCD液晶屏接口引腳,空【93】為C,空【94】為D;00為輸入,01為輸出,將端口C和D均設置為輸出,空【95】【96】均為0xAAAAAAAA。
(6)【97】0x00000018【98】4【99】0xC0【100】BL_main
【解析】ARM9體系結構中規定的IRQ異常所對應的異常向量地址為0x00000018。IRQ異常向量地址與下一個異常向量地址之間間隔為4個字節。R0“清0”后用指令ORR R1,R0,#0x12|0x C0和MSR CPSR_CXSF,R1來使CPU核進人IRQ模式。可通過指令BL-main來引導應用程序的主函數main()。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦: