第 1 頁(yè):選擇題 |
第 2 頁(yè):填空題 |
第 3 頁(yè):綜合題 |
三、綜合題
31[簡(jiǎn)答題]
某機(jī)械設(shè)備的控制器,其基本功能要求有:
需要有8個(gè)數(shù)字量輸入,用于采集設(shè)備的狀態(tài)信息;且需要8個(gè)數(shù)字量輸出,用于控制設(shè)備動(dòng)作。
具備一個(gè)RS-232接口,可以和上位機(jī)連接,接收上位機(jī)發(fā)送的命令及參數(shù)。
需要提供一個(gè)基準(zhǔn)定時(shí)信號(hào),定時(shí)時(shí)間間隔為0.01秒。
需要彩色LCD顯示器,用于顯示狀態(tài)信息等。
根據(jù)上述功能要求的描述,若采用S3C2410芯片為核心來(lái)構(gòu)建該機(jī)械設(shè)備控制器的硬件平臺(tái),請(qǐng)完善下面的敘述和c語(yǔ)言程序(需要使用的控制寄存器的格式見(jiàn)題后說(shuō)明)。
(5)彩色LCD顯示屏的硬件接口電路由S3C2410的專用GPTO端口【93】和端口【94】相關(guān)引腳配以驅(qū)動(dòng)電路來(lái)設(shè)計(jì)。軟件設(shè)計(jì)時(shí),需要通過(guò)設(shè)置它們控制寄存器的值分別為【95】和【96】來(lái)確定它們的引腳功能。
(6)系統(tǒng)的軟件可以設(shè)計(jì)為在無(wú)操作系統(tǒng)的環(huán)境下運(yùn)行。設(shè)計(jì)者自行設(shè)計(jì)系統(tǒng)的啟動(dòng)引導(dǎo)程序,在該程序中完成異常向量設(shè)置、堆棧指針設(shè)置以及必要的硬件初始化。ARM9體系結(jié)構(gòu)中規(guī)定的IRQ異常所對(duì)應(yīng)的異常向量地址為【97】。Timed3部件所產(chǎn)生的0.01秒基準(zhǔn)時(shí)問(wèn)到時(shí)將引起IRQ異常。由于IRQ異常向量地址與下一個(gè)異常向量地址之間間隔為【98】個(gè)字節(jié),因此,通常在IRQ異常向量地址處設(shè)計(jì)一條轉(zhuǎn)移指令。堆棧指針的設(shè)置需按工作模式來(lái)進(jìn)行。設(shè)置IRQ模式下的堆棧指針,需在R0“清0”后用指令ORRR1,R0,#0x12|【99】和MSRCPSR_CXSF,R1來(lái)使CPU核進(jìn)入IRQ模式,然后再給sP寄存器賦值作為該模式下的堆棧指針。這些初始化工作完成后,即可通過(guò)指令【100】來(lái)引導(dǎo)應(yīng)用程序的主函數(shù)main()。
說(shuō)明:下面是試題解答時(shí)需要用到的寄存器格式及相關(guān)說(shuō)明。
說(shuō)明:設(shè)置TCFGO、TCFGI可以確定預(yù)分頻器系數(shù)、分頻器值,如:通過(guò)設(shè)置TCFGO為0x0000001F,TimerO的預(yù)分頻器系數(shù)選擇為31,設(shè)置TCFGI為0x00000001,Timer0的分頻器值選擇為4。通過(guò)下面公式計(jì)算定時(shí)器的計(jì)數(shù)常數(shù):
定時(shí)器輸入時(shí)鐘頻率=PCLK/(預(yù)分頻系數(shù)+1)/分頻器值
計(jì)數(shù)常數(shù)=定時(shí)時(shí)間間隔/(1/定時(shí)器輸人時(shí)鐘頻率)
預(yù)分頻系數(shù)的范圍為0~255,分頻器值的取值范圍為2、4、8、l6。
8)TCON寄存器(注:此處不用的位被省略,其值默認(rèn)為0x0000000)
參考解析:【解題思路】 本題考查以S3C2410為背景的嵌入式應(yīng)用系統(tǒng)開發(fā)。題中應(yīng)用為機(jī)械設(shè)備的控制器系統(tǒng)開發(fā)。包括通用I/O口GPIO的使用及相應(yīng)的初始化編程。其中,GPC和GPD作為L(zhǎng)CD顯示器接口引腳,GPE作為輸入輸出;基于UART的RS-232接口電路設(shè)計(jì)及相應(yīng)的初始化編程設(shè)置;UART的通信控制;內(nèi)部定時(shí)器和計(jì)數(shù)器的設(shè)置及使用;基于S3C2410的無(wú)操作系統(tǒng)的嵌入式系統(tǒng)如何構(gòu)建其啟動(dòng)引導(dǎo)程序。
【參考答案及解析】
(1)【81】0x FFFF5555【82】0x0020
【解析】和0相與清零,和1相與保持不變。和0相或保持不變,和1相或置1。00為輸入,01為輸出,則初始化GPIO端口E的GPE0~GPE7引腳功能為輸出的語(yǔ)句是:rGPECON=(rGPECON | 0x00005555)&0x FFFF5555,空【81】為0xFFFF5555;通過(guò)GPE5引腳輸出“1”來(lái)驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)動(dòng)作,則將第6位置1,即rGPEDAT=rGPEDAT I0x 0020,則空【82】為0x0020。
(2)【83】0x000000AA【84】0x23【85】(9600 × 16)+0.5
【解析]0x000000AA;8位數(shù)據(jù)位、1位停止位、奇校驗(yàn)。在ULCON中,[1:0]:11=8位;[2]:0=1位停止位;[5:3]:100=奇校驗(yàn);[6]:0=正常操作模式。即rGPHCON=(rGPH-coN&0xFFFFFF00)| 0x OOOOOOAA,則空【83】為0x000000AA?铡84】此處對(duì)線路控制寄存器進(jìn)行相應(yīng)設(shè)置?铡85】對(duì)所需的波特率進(jìn)行設(shè)置。
(3)【86】872【87】4.7
【解析】按照上面UART0初始化函數(shù)所設(shè)置的通信速率,每秒鐘最多能傳輸9600/(8+3)=872個(gè)字節(jié)的信息。若上位機(jī)有大小為4KB的初始參數(shù)需要下載到控制器中,那么,約需傳輸4×1024/872=4.7秒。
(4)【88】41250【89】0x 00000003【90]0x 00000003【91】0xA122【92】0x00000002
【解析】定時(shí)器輸入時(shí)鐘頻率=PCLK/(預(yù)分頻系數(shù)+1)/分割器值,計(jì)數(shù)常數(shù)=定時(shí)時(shí)間間隔/(1/定時(shí)器輸入時(shí)鐘頻率),即可得本題空【88】答案。TCFG0中[7:o]位確定Timer0的預(yù)分頻系數(shù),題設(shè)為3,則空【89】為0x00000003;TCFGl中[3:0]位確定Timer0的分頻器值,題設(shè)為16,則空【90】為0x00000003?铡91】處設(shè)置的計(jì)數(shù)常數(shù)為0xAl22;更新TCNTB0和TC-MPB0設(shè)置空【92】為0x00000002。
(5)【93】C【94】D【95】0xAAAAAAAA【96】0xAAAAAAAA
【解析】GPC和GPD作為L(zhǎng)CD液晶屏接口引腳,空【93】為C,空【94】為D;00為輸入,01為輸出,將端口C和D均設(shè)置為輸出,空【95】【96】均為0xAAAAAAAA。
(6)【97】0x00000018【98】4【99】0xC0【100】BL_main
【解析】ARM9體系結(jié)構(gòu)中規(guī)定的IRQ異常所對(duì)應(yīng)的異常向量地址為0x00000018。IRQ異常向量地址與下一個(gè)異常向量地址之間間隔為4個(gè)字節(jié)。R0“清0”后用指令ORR R1,R0,#0x12|0x C0和MSR CPSR_CXSF,R1來(lái)使CPU核進(jìn)人IRQ模式?赏ㄟ^(guò)指令BL-main來(lái)引導(dǎo)應(yīng)用程序的主函數(shù)main()。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2017年全國(guó)計(jì)算機(jī)等級(jí)考試考前必做試題及答案匯總
各地2017年全國(guó)計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間匯總
2017年計(jì)算機(jī)等級(jí)考試備考經(jīng)驗(yàn)及應(yīng)試技巧匯總
【費(fèi)用】各地2017年全國(guó)計(jì)算機(jī)等級(jí)考試費(fèi)用匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |