摘 要:現(xiàn)在仍然有大量集成了ISA總線的主板在使用之中,尤其是在嵌入式控制領(lǐng)域。PC/104總線規(guī)范的提出,繼承了成熟的ISA總線技術(shù),且PC/104產(chǎn)品已經(jīng)被廣泛的用于商業(yè)、工業(yè)、航天航空以及軍用等領(lǐng)域。本文以QuartusII為開發(fā)軟件,實現(xiàn)了GPMC總線外設(shè)與PC/104總線的通信,并在Linux和Dos下調(diào)試通信成功,具有一定的工業(yè)應(yīng)用價值。
關(guān)鍵詞:GPMC總線;PC/104總線;QuartusII;Linux;Dos
中圖分類號:TP336
TI公司推出的OMAP3530 CPU是基于ARM Cortex-A8核心的一款應(yīng)用處理器,主要應(yīng)用于要求較高性能、較低功耗的智能設(shè)備。為了實現(xiàn)對外部信號的高速響應(yīng),OMAP3530有一種重要的總線控制器-GPMC,通用存儲控制器。用于連接Nand flash、SRAM-like memories、NOR flash、ASIC devices。當(dāng)通過GPMC與外設(shè)通信時,不用顧慮GPMC總線與外設(shè)數(shù)據(jù)傳輸速率的協(xié)調(diào)問題。因為GPMC內(nèi)部有8套訪問性能控制寄存器組,可以自動實現(xiàn)電氣特性匹配,自動協(xié)調(diào)總線傳輸速率。而且,通過對內(nèi)部寄存器的設(shè)置,使其外接芯片的物理地址進(jìn)行對齊操作,從而避免物理地址空間的浪費,或者內(nèi)存地址空間的空洞。總而言之,GPMC采用了電氣適應(yīng)能力更強(qiáng)的外接口設(shè)計,讓處理器能和更大范圍的外圍存儲芯片、外部設(shè)備芯片進(jìn)行通信[1]。
隨著通用計算機(jī)系統(tǒng)的發(fā)展而發(fā)展起來的嵌入式計算機(jī)系統(tǒng),其系統(tǒng)總線規(guī)則繼承式的經(jīng)歷了幾個重要時期。PC/104規(guī)則,采用了成熟的ISA技術(shù);PC/104+規(guī)則,兼容PC/104和PCI技術(shù);PCI/104-Express規(guī)則,兼容PC/104+和PCI-E技術(shù)。由于PC/104家族在結(jié)構(gòu)和電氣上獨到之處,漸漸的在嵌入式領(lǐng)域占據(jù)了主流格局。PC/104產(chǎn)品的發(fā)展前景是無限光明的[2]。因而,實現(xiàn)GPMC與PC/104的轉(zhuǎn)換通信,為現(xiàn)有的PC/104模塊擴(kuò)展高效的外設(shè),是廣大開發(fā)者和應(yīng)用者所面臨的問題。本文的研究就在這樣的背景下展開。
1 硬件平臺
1.1 PC/104結(jié)構(gòu)形式及信號定義
PC/104結(jié)構(gòu)不同于ISA,其總線以“針”和“孔”形式層疊連接,可以將所有的PC/104模塊板利用板上的疊裝總線插座連接起來,有效減小整個系統(tǒng)所占的空間。但其信號定義與ISA相同,只是多了A/B32;C/D0;C/D19引腳且都為GND。
參照ISA和PC/104的引腳信號定義[3],將PC/104引腳數(shù)據(jù)/地址、讀寫使能、8/16位存儲器讀寫控制、16位Memory讀寫操作、14MHz時鐘、寄存器、復(fù)位、系統(tǒng)時鐘、+5V電源、GND信號與ISA信號定義匹配,其他PC/104信號不定義。
1.2 GPMC與CPLD通信平臺
本平臺硬件模塊共分為三層:底層開發(fā)板集成有CPLD(EPM3256ATC144-10N)和PC/104接口。中間開發(fā)板集成有CPLD(EPM1270T144C5N)和PC/104接口,并通過此接口和底板相連;還有SD卡槽,可以插入Linux系統(tǒng)SD卡進(jìn)行調(diào)試;同時還集成了GPMC接口;該板用于實現(xiàn)GPMC與PC/104的轉(zhuǎn)換通信。頂層開發(fā)板是一塊集成有OMAP3530的RAM板,通過GPMC接口和中間板相連。平臺通電后,通過JTAG將Verilog程序燒寫到EPM-1270T144C5N[4]。
1.3 PC/104與CPLD通信平臺
本平臺硬件模塊共分為兩層:底層開發(fā)板和1.2中一樣。頂層開發(fā)板集成了AMD LX800內(nèi)核和PC/104接口,并通過此接口和底層板連接,還有SD卡槽,可以插入Dos系統(tǒng)SD卡進(jìn)行調(diào)試;包括PS/2鍵盤接口和VGA控制器,分別擴(kuò)展鍵盤和顯示器。平臺通電后,通過JTAG將Verilog程序燒寫到EPM-3256ATC144-10N。
2 軟件配置
2.1 GPMC通信
在QuartusII開發(fā)環(huán)境中,選擇Device-EPM1270T144C5N,并選擇Unused Pins-As input tri-stated,來保護(hù)芯片。選擇Assignments-Pins來分配引腳:Addr[10:1]、Data[15:0]、OE/WE、BE0/1、CS3_E、Res分配PIN_21/23/27/29/31/37/39/41-43/44/45/48-53/55/57/58/22/20/30/32/24/89。
2.2 PC/104通信
在QuartusII開發(fā)環(huán)境中,選擇Device-EPM3256ATC144-10N,其他配置如2.1所述。選擇Assignments-Pins來分配引腳:SA[15:0]、SD[7:0]、AEN、IOR/W_N、RST分配PIN_134/136-140/142/143/1/2/5/6/8-11/109/110/112/113/116-119/121/127/128/108。
3 主要程序設(shè)計及通信調(diào)試
3.1 GPMC與CPLD通信
3.1.1 主要Verilog HDL程序如下
先定義物理地址及初值,并讀取這個值。再向該地址寫數(shù)據(jù),并讀取新值。test_addr=10'h3fe;
test_reg[15:0]=16'hffff;
test_reg[15:0]=GPMC_Data[15:0];
GPMC_Data[15:0]=((GPMC_Addr[10:1]==test_addr)EN_Test(!GPMC_OE))?test_reg[15:0]:16'hzzzz;
rev_addr=10'h3ff; rev_reg[15:0]=16'h0001;
GPMC_Data[15:0]=((GPMC_Addr[10:1]==rev_addr)EN_Test(!GPMC_OE))?rev_reg[15:0]:16'hzzzz。
3.1.2 Linux下調(diào)試
如圖1,實現(xiàn)了GPMC數(shù)據(jù)的讀寫操作[5]。先讀取地址3fe的數(shù)據(jù)為0xffff;再讀取地址3ff上的數(shù)據(jù)為0x0001;最后程序設(shè)定可以向3fe寫數(shù)據(jù),如1234,然后讀取此數(shù)據(jù)。
圖1 Linux下調(diào)試圖
3.2 PC/104與CPLD通信
3.2.1 主要Verilog HDL程序如下
先定義物理地址及其初值,然后向該地址寫數(shù)據(jù),并讀取新數(shù)據(jù)。
test_register_addr=16'h0301;
test_register[7:0]<=8'h00;
test_register[7:0]<=ISA_SD[7:0];
ISA_SD[7:0]=((ISA_SA[15:0]==test_register_addr)(!ISA_IOR_N)(!ISA_AEN))?test_register[7:0]:8'hzz.
3.2.2 Dos下調(diào)試
如圖2,實現(xiàn)了PC/104數(shù)據(jù)的讀寫。先讀取地址0301的數(shù)據(jù)00;再向地址0301寫數(shù)據(jù)79,然后讀取這個新值。
圖2 Dos下調(diào)試
4 結(jié)束語
GPMC總線相比單片機(jī)有兩大特點:片選尋址機(jī)制;數(shù)據(jù)傳輸由硬件自動完成,不依靠特定的數(shù)據(jù)寄存器,同時輸出片尋地址空間內(nèi)的地址線也是由硬件自動完成,都會往GPMC的地址線上輸出。這是數(shù)據(jù)控制上的顛覆性改進(jìn),使得硬件設(shè)計愈發(fā)智能化,所以使用含GPMC總線的外設(shè)也是一大趨勢。而將這一趨勢與仍然大量存在的PC/104設(shè)備結(jié)合,具有很重要的應(yīng)用價值。本文有效的解決了這一問題,通過調(diào)試及實踐,證明該設(shè)計可行、合理、實用。
參考文獻(xiàn):
[1]潘必超.基于OMAP3530 GPMC控制器的網(wǎng)絡(luò)接口擴(kuò)展[J].微計算機(jī)信息,2010(32):83-85.
[2]Jim Blazer.PC/104的未來[DB/OL].
[3]盛博科技.ISA(PC/104)總線信號時序簡介[DB/OL]:13-18.
[4]陳再秀.PC-104嵌入式系統(tǒng)綜述[N].自貢師范高等??茖W(xué)校學(xué)報,2002(03).
[5]林立明,于東,胡毅,秦承剛,王志成,陸小虎.一種嵌入式總線運動控制器的實時系統(tǒng)設(shè)計[J].中國機(jī)械工程,2013(04).
[6]于東,胡毅,林立明,秦承剛,陸小虎,陳龍.一種用于數(shù)控總線通訊板的數(shù)據(jù)讀寫裝置和方法:中國,CN201110398849.5[P].2011-12-5.
作者簡介:胡江波(1989.02-),男,湖北仙桃人,計算機(jī)碩士,2012級學(xué)術(shù)型碩士。研究方向:嵌入式系統(tǒng)。
作者單位:中南民族大學(xué)計算機(jī)科學(xué)學(xué)院,武漢 430074