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