基于ARM920T設(shè)計(jì)的SMC接口研究與PC/104總線仿真
摘要:通過(guò)分析920T核ARM 處理器的高速片上系統(tǒng)總線AHB時(shí)序及其靜態(tài)存儲(chǔ)控制器SMC接口模型,研究IBM PC/AT和IEEE PC/104總線規(guī)范,提出一種在ARM 平臺(tái)上實(shí)現(xiàn)兼容PC/104總線的方案.深入探討兩種平臺(tái)體系在存儲(chǔ)器結(jié)構(gòu)、指令系統(tǒng)及總線時(shí)序等方面的巨大差異,給出了克服這些差異并實(shí)現(xiàn)總線功能兼容的方法.該兼容總線解決了在ARM 平臺(tái)上無(wú)法使用標(biāo)準(zhǔn)PC/104模板的難題,采用該方案有利于在嵌入式系統(tǒng)的設(shè)計(jì)中兼取ARM 處理器和PC/AT體系的優(yōu)勢(shì).
本文引用地址:http://2s4d.com/article/151214.htm引 言
PC/104 是一種專(zhuān)門(mén)為嵌入式應(yīng)用而定義的工業(yè)控制總線規(guī)范.以IBM PC/AT總線規(guī)范為基礎(chǔ)的個(gè)人計(jì)算機(jī)及其外圍設(shè)備在應(yīng)用上取得了巨大的成就,IEEE一996稱(chēng)之為ISA(工業(yè)標(biāo)準(zhǔn)架構(gòu):Industry Standard Architecture)總線.PC/104是ISA標(biāo)準(zhǔn)的延伸,定義在IEEE-P996.1中,稱(chēng)為兼容PC嵌入式模塊標(biāo)準(zhǔn).PC/104實(shí)質(zhì)上是一種緊湊型的ISA,其信號(hào)定義和Pc/AT基本一致,但電氣和機(jī)械規(guī)范卻完全不同,是一種優(yōu)化、小型、堆疊式結(jié)構(gòu)的嵌入式總線系統(tǒng).PC/104總線來(lái)自于實(shí)踐發(fā)展的需要,同時(shí)得益于PC技術(shù)的迅速發(fā)展,由于其開(kāi)發(fā)環(huán)境友好、兼容芯片豐富、標(biāo)準(zhǔn)支持廣泛等優(yōu)勢(shì),受到了眾多從事嵌入式產(chǎn)品生產(chǎn)商和系統(tǒng)集成商的歡迎,盡管現(xiàn)在ISA設(shè)備已不常見(jiàn),但PC/104在嵌入式系統(tǒng)領(lǐng)域卻仍是通行的標(biāo)準(zhǔn).
ARM是當(dāng)前嵌入式系統(tǒng)應(yīng)用中的熱門(mén)技術(shù).由于ARM處理器的卓越性能、較低的價(jià)格以及業(yè)內(nèi)半導(dǎo)體廠商的廣泛支持,在嵌入式環(huán)境中有廣泛的應(yīng)用.ARM 公司創(chuàng)造了CHIPLESS模式,該公司通過(guò)將高效的ARM 內(nèi)核授權(quán)給半導(dǎo)體公司,由半導(dǎo)體公司根據(jù)實(shí)際的應(yīng)用情況加上各種外圍的功能電路來(lái)構(gòu)成一塊完整的芯片,這種模式使半導(dǎo)體廠商得以有能力生產(chǎn)功能強(qiáng)大的各種專(zhuān)用處理器芯片.AR M在設(shè)計(jì)上基于SoC思想,優(yōu)先考慮對(duì)每一個(gè)具體應(yīng)用使用最大可能集成周邊設(shè)備的單一芯片,但在板極擴(kuò)展方面仍然缺乏能被廣泛接受的新工業(yè)標(biāo)準(zhǔn).
1 PC/AT模型和PC/104總線
1.1 總線信號(hào)
PC/104_4 ]是一種16位總線,但可向前兼容8位XT模式,典型總線時(shí)鐘為8 MHz,4個(gè)時(shí)鐘脈沖可完成一次完整的總線訪問(wèn),必要時(shí)可插入一個(gè)額外的等待周期以適應(yīng)低速外設(shè).在嵌入式系統(tǒng)開(kāi)發(fā)中常用以下信號(hào).
1.1.1 地址和數(shù)據(jù)信號(hào)線
BALE總線地址鎖存使能信號(hào)線,由平臺(tái)CPU驅(qū)動(dòng).當(dāng)ISA擴(kuò)展卡或DMA控制器占用總線時(shí),它也被置為邏輯1.
SA~19:O>:低2O根地址信號(hào)線,由當(dāng)前總線的擁用者驅(qū)動(dòng).
LAd 23:17> :鎖存地址信號(hào)線,用來(lái)訪問(wèn)16MB的存儲(chǔ)器地址空間.由當(dāng)前總線擁有者或DMA控制器驅(qū)動(dòng).
SD15:0> :數(shù)據(jù)信號(hào)線.
1.1.2 總線周期控制信號(hào)線
MEMR#:存儲(chǔ)器讀信號(hào)線.
MEMW #:存儲(chǔ)器寫(xiě)信號(hào)線.
IOR#:I/O I/O讀信號(hào)線.
IOW #:I/O I/O寫(xiě)信號(hào)線.
1.1.3 中斷和DMA(Direct Memory Access)信號(hào)線
IRQx:中斷請(qǐng)求信號(hào)線.
DRQx:DMA請(qǐng)求信號(hào)線.
DACKx#:DMA應(yīng)答信號(hào)線.
1.2 地址空間
PC/AT系統(tǒng)使用不同的指令訪問(wèn)存儲(chǔ)器空間和IO端I:1空間,訪問(wèn)存儲(chǔ)器空間時(shí)PC/104總線驅(qū)動(dòng)MEMR#和MEMW#信號(hào),訪問(wèn)存儲(chǔ)器空間時(shí)PC/104總線驅(qū)動(dòng)IOR#和IOW #信號(hào).兩個(gè)空間使用同一套地址線,但是由于端口空間只有64K有效,所以進(jìn)行IO 端口訪問(wèn)時(shí)地址線上只有SA15:O>是有效的.
PC/AT系統(tǒng)有專(zhuān)門(mén)的端口訪問(wèn)指令用于實(shí)現(xiàn)端口訪問(wèn),Linux用戶(hù)程序只需以root權(quán)限調(diào)用ioperm()指定需操作的端口地址范圍,之后即可自由訪問(wèn)這些端口.由于用于訪問(wèn)端口的一組宏實(shí)際上直接對(duì)應(yīng)CPU的端口訪問(wèn)指令,所以存取效率很高.
1.3 PC/104總線周期
PC/104總線周期分為CPU驅(qū)動(dòng)和DMA控制器驅(qū)動(dòng)兩大類(lèi),在嵌入式應(yīng)用中較常用的是CPU驅(qū)動(dòng)的IO讀/IO寫(xiě)周期.
圖1中采用8 MHz時(shí)鐘的標(biāo)準(zhǔn)PC/104總線£Rd大于300 ns,tAF應(yīng)大于250 ns,tRDpw約為500 ns。
評(píng)論