當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于ARM嵌入式系統(tǒng)的PC/104總線設(shè)計(jì)

當(dāng)前已經(jīng)進(jìn)入嵌入式系統(tǒng)全面應(yīng)用時(shí)代,基于ARM處理器和嵌入式Linux的嵌入式系統(tǒng)以其設(shè)計(jì)靈活、軟硬件可裁剪、性能優(yōu)越、成本低等特點(diǎn)和優(yōu)勢,倍受設(shè)計(jì)者和使用者青睞。

        其在低功耗、低成本應(yīng)用領(lǐng)域確立了其市場領(lǐng)導(dǎo)地位;同時(shí)隨著x86架構(gòu)的不斷成熟和x86處理器的應(yīng)用范圍越來越廣,人們逐步開始認(rèn)識(shí)到其本身架構(gòu)的限制,在工業(yè)控制領(lǐng)域嵌入式ARM處理器將有望取代傳統(tǒng)的X86處理器。
  

        PCI04總線是一種近年來在國際上廣泛流行的專門為嵌入式系統(tǒng)而定義的工業(yè)控制總線,被IEEE協(xié)會(huì)定義為IEEE-P996,該系列產(chǎn)品已廣泛應(yīng)用于通信設(shè)備、車輛導(dǎo)航、工程控制等各種領(lǐng)域。由于PC或PC/AT的主板和擴(kuò)展卡的尺寸及功耗標(biāo)準(zhǔn)都太大,。ISA總線不能滿足嵌入式系統(tǒng)的發(fā)展的需要。PC/104作為從。ISA總線轉(zhuǎn)變而來的接口總線,主要是為了適應(yīng)嵌入式系統(tǒng)發(fā)展的需要,但是這種早期的總線結(jié)構(gòu)是建立在Intel的x86架構(gòu)之上的,在ARM體系結(jié)構(gòu)下,還沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)可以提供對(duì)PC/104總線的支持,因?yàn)锳RM在體系架構(gòu)、總線時(shí)序、電氣性能等方面和x86都有很大的區(qū)別。本文將提出一種在ARM處理器上支持PC/104總線的解決方案。

  l 系統(tǒng)總體設(shè)計(jì)

  系統(tǒng)的工作原理:PC/104總線上的1/O和Memory各16 MB空間用nGCS2和nGCS3選通,分別映射到的S3C24lO存儲(chǔ)空間Bank2和Bank3的ROM/SRAM上。由于S3C24:10和CPLD在電平模式、制造工藝上都和PC/104總線標(biāo)準(zhǔn)有差異,故選用器件74LVHl62245做3.3~5 V電平轉(zhuǎn)換器Buffer的方式來調(diào)整電氣特性,進(jìn)行TTL電平和LVTTL電平的轉(zhuǎn)換,并增強(qiáng)驅(qū)動(dòng)能力。PC/104總線上的8個(gè)中斷請(qǐng)求信號(hào)IRQ[3:11]經(jīng)bairer直接連接到S3C:2410的EINT[O:7];將S3C2410地址線SAddr[1:23]通過Buffer直接連接到Pc/104總線的Addr[1:19]和LAddr[17:23],.Addr0由控制器給出,當(dāng)總線為8位數(shù)據(jù)傳輸時(shí)有效。由于復(fù)雜可編程器件CPLD的集成度高,與專用集成電路相比,具有設(shè)計(jì)靈活、開發(fā)周期短、設(shè)計(jì)制造成本低、大大節(jié)省了硬件資源優(yōu)點(diǎn),可選用他來做PC/104總線的控制器,主要是完成S3C2410讀寫時(shí)序向PC/104總線讀寫時(shí)序的轉(zhuǎn)換,對(duì)輸入控制信號(hào)譯碼,提供PC/104總線和S3C2410處理器的控制信號(hào),同時(shí)產(chǎn)生PC/104所需要的時(shí)鐘信號(hào)。S3C2410數(shù)據(jù)總線D[O:15]經(jīng)CPLD輸出到Buffer(Buffer上的數(shù)據(jù)傳輸方向由控制信號(hào)Data dir控制),連接到PC/104的數(shù)據(jù)總線上。因此總線控制設(shè)計(jì)的關(guān)鍵是保證控制器CPLD的時(shí)序的正確。其原理框圖如圖1所示。

2 PC/104總線控制器的實(shí)現(xiàn)

  2.1 PC/104總線簡介

  PC/104模塊具有獨(dú)特的堆疊式總線擴(kuò)展方式、體積小、功耗低、可靠性高等特點(diǎn),由J1/P1,64針單列雙排插針或插孔,和J2/P2,40針單列雙排插針或插孔組成,總共104根總線信號(hào),PCI04因此得名;標(biāo)準(zhǔn)模塊的機(jī)械尺寸是3.6X3.8 in,即96X90 lnln。當(dāng)總線工作在16位的數(shù)據(jù)模式下,兒/P1和J2/P2引腳的信號(hào)都應(yīng)有效,在8位數(shù)據(jù)模式下,只有J1/P1引腳信號(hào)有效,J2/P2上的信號(hào)無效。104個(gè)引腳的組成:20根地址線;7根鎖存地址線;16根數(shù)據(jù)線;11個(gè)中斷請(qǐng)求;32根控制線;14跟地和電源線;2個(gè)key;1個(gè)8 MHz的BCLK和1個(gè)14 MHz的OSC;總線的工作電壓為5 V。PC/104總線的I/O讀寫時(shí)序如圖2所示。

2.2 ARM$3C2410處理器簡介

  S3C2410是韓國三星電子公司的一款基入ARM920T內(nèi)核的16/32位RISC嵌入式處理器,主要面向手持設(shè)備及高性價(jià)比、低功耗的應(yīng)用,最高工作頻率為203 MI-Iz。ARM920T核由ARM920TDMI、存儲(chǔ)管理單元(MMU)和高速緩存3部分組成。其中MMU可以管理虛擬內(nèi)存,高速緩存由獨(dú)立的16 kB地址和16 kB數(shù)據(jù)高速Cache組成,他支持嵌入式Linux,Windows ce等嵌入式操作系統(tǒng)。S3C2410將系統(tǒng)的存儲(chǔ)空間分成8組(Bank),每組的大小為128 M,共1 G。Bank0~Bank5的開始地址固定,用于ROM/SREM。Bank7的開始地址是Bank6的結(jié)束地址,靈活可變,其主要用于ROM/SRAM/SDRAM。S3C2410采用nGCS[7:0]8個(gè)通用的片選信號(hào)來選則這些組。讀寫時(shí)序圖如圖3所示。

2.3 PC/104總線控制器的設(shè)計(jì)

  本設(shè)計(jì)采用。Xilinx公司XC95144XL的CPLD,共144個(gè)引腳,其中可編程的引腳數(shù)117個(gè),滿足PC/104總線控制器上輸入輸出控制信號(hào)數(shù)目的要求;器件正常工作電壓3.3 V,I/O端口的負(fù)載電流可達(dá)24 mA,延遲時(shí)間tpD=5 ns,工作頻率f=178 MHz,可與S3C2410的AHB總線的時(shí)鐘頻率HCLK匹配。VHDL是電子設(shè)計(jì)的主流硬件描述語言,具有很強(qiáng)的電路描述和建模的能力,從而大大簡化了硬件設(shè)計(jì)的任務(wù),提高了設(shè)計(jì)的效率和可靠性,并在語言的易讀性和層次化結(jié)構(gòu)化設(shè)計(jì)方面,表現(xiàn)了強(qiáng)大的生命力和應(yīng)用潛力。Max+PlusⅡ界面友好,使用便捷。因此選擇用VHDL語言編寫有限狀態(tài)機(jī)來實(shí)現(xiàn)PC/104總線控制器,通過Max+P1usⅡ開發(fā)工具進(jìn)行邏輯波形驗(yàn)證。

  2.3.1 控制器內(nèi)部狀態(tài)圖

  在PC/104總線的設(shè)計(jì)中,設(shè)計(jì)的重點(diǎn)是總線控制器的實(shí)現(xiàn),能否完成PC/104總線驅(qū)動(dòng),關(guān)鍵在于控制器能否正常運(yùn)行。PC/104總線控制器的工作流程:控制器等待選通信號(hào)有效,如果nGCS有效則鎖存地址并保持ARM總線狀態(tài),然后進(jìn)行讀寫操作判斷,最后把數(shù)據(jù)和相應(yīng)得控制信號(hào)加在PC/104總線上,完成操作后釋放ARM總線。其狀態(tài)轉(zhuǎn)換圖如圖4所示。

2.3.2 I/o空間讀寫邏輯仿真波形

  本設(shè)計(jì)的有限狀態(tài)機(jī)采用VHDL語言設(shè)計(jì),主要完成PC/104總線控制器的狀態(tài)圖轉(zhuǎn)換,從邏輯仿真波形上看:ARM讀操作時(shí),n0E信號(hào)有效(低電平),從總線上讀人數(shù)據(jù),同時(shí)使總線控制信號(hào)有效;寫操作時(shí),nWE信號(hào)有效(低電平),把數(shù)據(jù)直接寫到總線上,同時(shí)也使總線控制信號(hào)有效,圖5的仿真波形基本符合本設(shè)計(jì)的S3C24lO和PC/104總線讀寫時(shí)序要求。

  3嵌入式Linux下的驅(qū)動(dòng)程序開發(fā)

  為了在Linux 2.6操作系統(tǒng)下實(shí)現(xiàn)本文所述的功能,必須為總線控制器提供一個(gè)驅(qū)動(dòng)程序。在Linux中,所有的硬件設(shè)備都像常規(guī)文件一樣看待,他們可以使用和操作文件相同的,標(biāo)準(zhǔn)的系統(tǒng)調(diào)用進(jìn)行打開、關(guān)閉和讀寫。用戶程序通過相應(yīng)的系統(tǒng)調(diào)用來訪問硬件設(shè)備,設(shè)備驅(qū)動(dòng)程序的作用正是為這些系統(tǒng)調(diào)用提供接口。為了能對(duì)PC/104總線上的地址空間進(jìn)行隨機(jī)、連續(xù)訪問,把PC/104總線設(shè)計(jì)成塊設(shè)備。

設(shè)備驅(qū)動(dòng)程序本質(zhì)上說就是一組相關(guān)函數(shù)的集合。在驅(qū)動(dòng)程序模塊化編程中,首先需要調(diào)用入口函數(shù)im-modLde()完成設(shè)備驅(qū)動(dòng)程序的初始化工作:利用函數(shù)

在系統(tǒng)中注冊(cè)和PC/104相關(guān)的幾個(gè)中斷,關(guān)聯(lián)中斷服務(wù)例程,并設(shè)置中斷等級(jí);利用函數(shù)setexternal irq(int irq,int edge,int pulIup)設(shè)置中斷的觸發(fā)模式,和是否利用處理器的內(nèi)部上拉;其中最重要的一個(gè)工作就是向內(nèi)核注冊(cè)設(shè)備,調(diào)用函數(shù)

注冊(cè)成功后,該設(shè)備獲得系統(tǒng)分配的主設(shè)備號(hào)、自定義的次設(shè)備號(hào),并建立起與文件系統(tǒng)的關(guān)聯(lián);在本應(yīng)用中只需要定義write()、read()兩個(gè)文件操作,因此文件系統(tǒng)接口可定義為:

最后驅(qū)動(dòng)程序卸載時(shí)調(diào)用出口函數(shù)Clearnup rood-ule(),通過函數(shù)

放相應(yīng)的資源。

  4 結(jié) 語

  本文重點(diǎn)描述對(duì)PC/104控制器的設(shè)計(jì),從滿足系統(tǒng)的時(shí)序要求出發(fā),采用CPLD器件和VHDL語言完成對(duì)PC/104總線上信號(hào)的驅(qū)動(dòng),同時(shí)在嵌入式Linux環(huán)境下編寫驅(qū)動(dòng)程序,提供了一套完整的基于ARM嵌入式系統(tǒng)上實(shí)現(xiàn)PC/104總線的方案,該方案將在實(shí)踐應(yīng)用中進(jìn)一步驗(yàn)證和完善。本文成功地把工業(yè)控制計(jì)算機(jī)技術(shù)中的嵌入式PC/104總線結(jié)構(gòu)在S3C2410處理器上實(shí)現(xiàn),該系統(tǒng)具有體積小、功耗低,克服了傳統(tǒng)PC機(jī)的缺點(diǎn);采用CPLD通過VHDL語言實(shí)現(xiàn)PC/104總線控制器,縮短開發(fā)的成本和周期,提高了開發(fā)的靈活性。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(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)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

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