當前位置:首頁 > 嵌入式 > 嵌入式硬件

引 言

PC/104是一種工業(yè)計算機總線標準。PC/104有兩個版本,8位和16位,分別與PC和PC/AT相對應(yīng)。PC/104PLUS 則與PCI總線相對應(yīng)。 第一塊PC104產(chǎn)生于1987年,但嚴格意義的規(guī)范說明在1992年才公布,后來對PC104感興趣的人越來越多,眾多廠家生產(chǎn)PC104兼容產(chǎn)品。像原來的PC總線一樣,PC104一直是以一個非法定標準在執(zhí)行,而不是委員會設(shè)計制定的。1992年IEEE開始著手為PC和PC/AT總線制定一個精簡的IEEEP996標準(草稿),PC104作為基本文件被采納,叫做IEEE P996.1兼容PC嵌入式模塊標準??梢?,PC104是一種專門為嵌入式控制而定義的工業(yè)控制總線。

ARM(Advanced RISC Machines)是微處理器行業(yè)的一家知名企業(yè),設(shè)計了大量高性能、廉價、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點。適用于多種領(lǐng)域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應(yīng)用等。ARM(Advanced RISC Machines)是微處理器行業(yè)的一家知名企業(yè),設(shè)計了大量高性能、廉價、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點。適用于多種領(lǐng)域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應(yīng)用等。

1 PC/AT模型和PC/104總線

1.1 總線信號

PC104有兩個版本,8位和16位,分別與PC和PC/AT相對應(yīng)。PC104PLUS 則與PCI總線相對應(yīng),在PC104總線的兩個版本中,8位PC104共有64個總線管腳,單列雙排插針和插孔,P1:64針,P2:40針,合計104個總線信號,PC104因此得名。當8位模塊和16位模塊連接時,16位模塊必須在8位模塊得下面(見附圖2)。P2 總線連結(jié)在8-位元模塊中是可選的,這樣讓這些模塊無論何處都可在堆棧中使用。

PC/104_4 是一種16位總線,但可向前兼容8位XT模式,典型總線時鐘為8 MHz,4個時鐘脈沖可完成一次完整的總線訪問,必要時可插入一個額外的等待周期以適應(yīng)低速外設(shè)。

1.1.1 地址和數(shù)據(jù)信號線

BALE總線地址鎖存使能信號線,由平臺CPU驅(qū)動。當ISA擴展卡或DMA控制器占用總線時,它也被置為邏輯1.

SA~19:O>:低2O根地址信號線,由當前總線的擁用者驅(qū)動。

LAd 23:17> :鎖存地址信號線,用來訪問16MB的存儲器地址空間。由當前總線擁有者或DMA控制器驅(qū)動。

SD<15: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是美國國際商用機器公司(IBM)于1984年發(fā)布、1987年停產(chǎn)的個人電腦產(chǎn)品,正式名稱是IBM 5170 PC AT?!癆T”是英文“先進技術(shù)”(Advanced Technology)的縮寫,這是由于它引入了標準的16位ISA總線以及采用了當時最新的英特爾80286處理器。PC/AT是IBM公司自PC機發(fā)布后的第二代升級產(chǎn)品(也有人認為在此之前發(fā)布的PC/XT是第二代產(chǎn)品)。盡管早期的產(chǎn)品存在著與磁盤存儲部件相關(guān)的瑕疵,它最終還是迅速流行于商用及普通用戶市場,成為了PC工業(yè)最持久的事實標準。至今,由于軟件兼容性的原因,最新的PC系統(tǒng)都還支持PC/AT機的總線結(jié)構(gòu)。

PC/AT系統(tǒng)使用不同的指令訪問存儲器空間和IO端I:1空間,訪問存儲器空間時PC/104總線驅(qū)動MEMR#和MEMW#信號,訪問存儲器空間時PC/104總線驅(qū)動IOR#和IOW #信號。

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時鐘的標準PC/104總線£Rd大于300 ns,tAF應(yīng)大于250 ns,tRDpw約為500 ns。

2 EP9315(ARM920T)體系

2.1 存儲器結(jié)構(gòu)和地址空間

EP9315是Cirrus Logic公司生產(chǎn)的典型ARM 920 TDM I(Thumb,Debug,M ultiply,Em—bedded ICE macrocel1)32位哈佛結(jié)構(gòu)處理器。EP9315有一個通用存儲器訪問接口,支持SDRAM,SRAM,ROM,及FLASH等不同形式的存儲器,各種存儲器訪問均共享數(shù)據(jù)總線DA和地址總線AD,使用統(tǒng)一的訪問控制邏輯 。

與X86模型不同,ARM 平臺只實現(xiàn)一個物理地址空間,在Bo0T成功后只擁有一個唯一的虛地址空間,CPU不設(shè)立專門的外設(shè)I/O指令,訪問外設(shè)I/O端口和內(nèi)存單元使用相同的指令。

引腳CSn[7:6]和CSn[3:O]用于存儲器芯片的選通,除發(fā)生時間略有差異之外(圖2),基本上可視為地址總線的高位線。

2.2 AHB總線時序和SRAM 接口

AHB主要用于高性能模塊(如CPU、DMA和DSP等)之間的連接,作為SoC的片上系統(tǒng)總線,它包括以下一些特性:單個時鐘邊沿操作;非三態(tài)的實現(xiàn)方式;支持突發(fā)傳輸;支持分段傳輸;支持多個主控制器;可配置32位~128位總線寬度;支持字節(jié)、半字節(jié)和字的傳輸。AHB 系統(tǒng)由主模塊、從模塊和基礎(chǔ)結(jié)構(gòu)(Infrastructure)3部分組成,整個AHB總線上的傳輸都由主模塊發(fā)出,由從模塊負責(zé)回應(yīng)?;A(chǔ)結(jié)構(gòu)則由仲裁器、主模塊到從模塊的多路器、從模塊到主模塊的多路器、譯碼器(decoder)、虛擬從模塊(dummy Slave)、虛擬主模塊(dummy Master)所組成。其互連結(jié)構(gòu)如圖1所示。針對Soc設(shè)計中IP復(fù)用問題提出了一種新的解決辦法。傳統(tǒng)的方法是將特定功能模塊的非標準接口標準化為AHB主/從設(shè)備接口,本文提出了一種新的基于ARM的Soc通用平臺設(shè)計寄存器總線標準接口,這種設(shè)計使整個系統(tǒng)的結(jié)構(gòu)清晰,增強系統(tǒng)的通用性與系統(tǒng)中功能模塊的可移植性。

靜態(tài)存儲控制器SMC(Static Memory Controller)與920T核心通過AHB互聯(lián),支持存儲器的8/16/32位訪問方式。SMC最多可提供8個組,每個組均可支持SRAM,ROM,F(xiàn)LASH EPROM 等存儲器的訪問,各組可以對數(shù)據(jù)總線寬度和速度等參數(shù)獨立配置。圖2描述了SRAM 讀操作時序。

圖中f刪為CSn到RDn的延遲,最大值為3 ns;tDAs是RDn無效前的數(shù)據(jù)總線建立時間,最小值為12+tHcI tRDD 是RDn有效時間,典型值為t HcI K×(W ST1+ 2)。

HCLK是AHB總線的工作頻率,該頻率的高低直接影響系統(tǒng)全局性能,因此通常配置為上限100 MHz,此時相應(yīng)周期£脅 為10 ns.WSTI用于控制sMc對SRAM/R0M 的訪問速度,寄存器SMCBCR0—3, SMCBCR6-7 (地址0x80080000—0x8008001C)的第5-9位分別為相應(yīng)各組的WST1.WST1的默認值為0xlF,即默認情況下SMC使用最低的訪問速度,顯然fRDD 為330 ns,小于PC/104總線中的500 ns(圖1)。

3 PC/104總線實現(xiàn)

3.1 總線驅(qū)動

在EP9315支持的各類總線接口邏輯中,SMC提供的SRAM/ROM 時序與PC/104總線最為接近。將外部設(shè)備所需的PC端口空間和存儲器空間均映射至統(tǒng)一的虛擬空間中即可實現(xiàn)訪問。

注意到PC/104總線使用標準TTL邏輯電平,而EP9315的處理器是3.3 V器件,在極端負載情況下無法保證系統(tǒng)穩(wěn)定工作。TI的雙電源總線收發(fā)器1T45,2T45,16T245等可用于實現(xiàn)電平轉(zhuǎn)換,圖3是1T45的引腳邏輯圖。

地址總線及訪問控制信號均由CPU驅(qū)動,外部設(shè)備始終處于被動接收狀態(tài),正確設(shè)定數(shù)據(jù)流向即可。

數(shù)據(jù)總線信號是時分雙向傳輸?shù)模瑸楸槊獬霈F(xiàn)總線沖突,必須保證除非CPU 透過該收發(fā)器對外設(shè)進行讀訪問,否則收發(fā)器的CPU 側(cè)應(yīng)始終處于高阻狀態(tài)。為此,16T245等具有輸出使能端的器件只需使輸出無效即可,而對于無使能端的收發(fā)器則應(yīng)使CPU側(cè)處于輸入狀態(tài)(高阻)。

確認CPU 已向兼容PC/104總線發(fā)起讀操作的有效方法是檢查RDn的下降沿是否發(fā)生。一旦RDn下降,應(yīng)立即將收發(fā)器置成從外設(shè)流向CPU方向,且輸出使能有效,并至少保持至RDn上升沿之后,以保證可靠讀取。

3.2 端口映射

任取CSi和CSj組用于兼容總線,即可分別實現(xiàn)O-0x3FFFFFF的獨立存儲器地址和IO端口地址??捎玫刂窋?shù)量已經(jīng)遠超出XT系統(tǒng)中的1 M(存儲器)和1 K(IO端口)。

在Linux系統(tǒng)中,io.h文件中聲明了函數(shù)iore—map(),用于將兼容總線上外部資源的物理地址映射到核心虛地址空間中。iounmap()函數(shù)用于取消ioremap()所做的映射。在外部資源成功映射到核心虛地址后,使用指向核心虛地址的指針就可訪問相應(yīng)設(shè)備資源,但顯然這種訪問方式與在X86平臺下差異較大。

將兼容總線視為一個獨立的字符設(shè)備,為其編寫驅(qū)動程序,實現(xiàn)對指定偏移地址的讀寫函數(shù),此處的偏移地址即對應(yīng)PC/104總線中的物理地址。

對inb(),outb()等X86平臺下的常見的底層端口操作函數(shù),可用宏替換的方式轉(zhuǎn)由驅(qū)動中的相應(yīng)讀寫函數(shù)實現(xiàn)。

3.3 總線時序控制

綜合前文所述,盡管SMC的SRAM 訪問時序非常接近PC/lO4總線,但是要實現(xiàn)高兼容性的PC/lO4,仍有兩方面問題需要解決,一是SMC驅(qū)動的SRAM 讀寫速度遠高于PC/104總線,二是為解決電平兼容問題引入的總線收發(fā)器,其數(shù)據(jù)流向和輸出使能需要適當?shù)目刂啤?/P>

ECLK是頻率為27 MHz是時鐘脈沖。

If ECLK’EVENT and ECLK一‘1’then

if(? )then __地址無效

EXoE< 一:1’;

EXDlR< 一‘1’;

EIOR< 一‘1’;

rdreg< 一0;

else

if rdreg< 1 l then

rdreg< 一rdreg+ 1;

EXOE< 一‘0’;

else

rdreg< 一0;

EXDIR< 一‘1’;

EXoE< 一‘1’;

end if;

if rdreg< 2 or rdreg> 6 then

EIOR< 一‘1’;

EIOW < 一‘1’;

elsif rdreg一2 or rdreg= 3 then

if RDn一‘1’then

EIOR< 一‘1’;

EXDIR< 一‘1’;

elsif W Rn一‘1’then

EIOW < 一‘0’;

EXDIR< 一‘1’;

end if;

end if;

上述代碼適當延遲了關(guān)閉雙電源收發(fā)器的輸出使能和數(shù)據(jù)流向重設(shè)時間,保證數(shù)據(jù)總線穩(wěn)定,使CPU 和外設(shè)有足夠的時間進行輸入輸出操作。

圖4中曲線2是兼容PC/104地址空間內(nèi)任意地址信號經(jīng)收發(fā)器緩沖后的譯碼結(jié)果,曲線1和曲線3是對該地址進行讀操作時的RDn和IOR信號。

圖4中RDn由EP9315直接驅(qū)動,原始邏輯電平為3.3 V,實驗電路對該信號電平進行了無時延的處理。

目前主流元器件在速度上都已能兼容PCI總線,因此盡管SMC驅(qū)動的SRAM 讀寫速度高于標準PC/104總線,但只要保證各控制信號問關(guān)系清晰(圖4b),是不會造成總線訪問失敗的。

4 結(jié)束語

利用ARM 系統(tǒng)成本較低,功耗更小,啟動速度快,指令效率高的的特點,兼取PC/AT系統(tǒng)和PC/104總線設(shè)備在產(chǎn)業(yè)化基礎(chǔ)方面的優(yōu)勢,在ARM平臺上構(gòu)建PC/104總線,有助于利用現(xiàn)有資源,保護已有投資。由于ARM 與PC/AT模型在處理器架構(gòu)上有本質(zhì)性的差異,在ARM 平臺上構(gòu)建的PC/104總線在所有的具體應(yīng)用中要做到與標準PC/104規(guī)范完全兼容幾乎是不可能,但是在特定的應(yīng)用需求及確定的操作系統(tǒng)下這種努力是完全可行并且有效的。對于特定的應(yīng)用而言,通常只需顧及PC/104總線時序的一個子集,這就大大降低了系統(tǒng)現(xiàn)實的難度。



QICK

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉