一種基于FPGA的PXA270外設(shè)時(shí)序轉(zhuǎn)換接口設(shè)計(jì)_第1頁(yè)
一種基于FPGA的PXA270外設(shè)時(shí)序轉(zhuǎn)換接口設(shè)計(jì)_第2頁(yè)
一種基于FPGA的PXA270外設(shè)時(shí)序轉(zhuǎn)換接口設(shè)計(jì)_第3頁(yè)
一種基于FPGA的PXA270外設(shè)時(shí)序轉(zhuǎn)換接口設(shè)計(jì)_第4頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 一種基于fpga的pxa270外設(shè)時(shí)序轉(zhuǎn)換接口設(shè)計(jì) 1 引言arcnet協(xié)議應(yīng)用于高速動(dòng)車組列車通信網(wǎng)絡(luò)時(shí),產(chǎn)生中央控制單元處理器pxa270與專用協(xié)議控制器件com20020相連的時(shí)序不匹配問題,若用通用數(shù)字電路模塊進(jìn)行時(shí)序轉(zhuǎn)換,pxa270需占用pxa270專門的資源(cpu時(shí)間片)對(duì) com20020的寄存器、數(shù)據(jù)包緩沖區(qū)進(jìn)行低速讀寫訪問(對(duì)com20020的相鄰兩次讀操作相隔至少300 ns),這樣將增加處理器的負(fù)擔(dān)。基于這種現(xiàn)狀,提出一種基于fpga的pxa270外設(shè)時(shí)序轉(zhuǎn)換接口設(shè)計(jì)方案,以fpga為橋梁進(jìn)行時(shí)序轉(zhuǎn)換,并增加存儲(chǔ)器直接訪問dma(direct memory aeee

2、ss)功能,即fpga自動(dòng)完成數(shù)據(jù)包的收發(fā)工作,pxa270則只需高速讀寫訪問fpga中的同步雙口ram。2 時(shí)序轉(zhuǎn)換接口整體設(shè)計(jì)21 fpga對(duì)外接白采用fpga連接pxa270處理器與外設(shè)以解決pxa270處理器與外設(shè)直接連接時(shí)的時(shí)序不匹配問題。如圖1所示,fpga從pxa270處理器獲得地址總線(addrbus17.14, addrbus9.0),片選信號(hào)(syscs5),讀允許(sysoe),寫允許(syswe),并提供雙向數(shù)據(jù)端口databus7.0 (可根據(jù)實(shí)際應(yīng)用修改為32位或16位等),中斷(interrupt);同時(shí),fpga向com20020提供特定的總線接口,包括 com

3、20020_ds,com20020_cs,com20020_dir,com20020_databus 7.0,com20020_addrbus2.0等。22 內(nèi)部功能實(shí)現(xiàn)pxa270和外設(shè)之間的連接是將fpga中的雙口ram作為數(shù)據(jù)中轉(zhuǎn)站,以此間接相連。該設(shè)計(jì)由以下4個(gè)功能模塊組成。(1)pxa270對(duì)外設(shè)指定寄存器單次寫操作pxa270先將所要寫的數(shù)據(jù)送人雙口ram,然后pxa270向fpga的命令寄存器寫入對(duì)該外設(shè)指定寄存器的單次寫指令,然后fp-ga根據(jù)接收到的命令將ram中的數(shù)據(jù)輸出到外設(shè)數(shù)據(jù)總線,同時(shí)給出對(duì)外設(shè)的寫時(shí)序。(2)pxa270對(duì)外設(shè)指定寄存器單次讀操作pxa270先向fp

4、ga的命令寄存器寫入對(duì)該外設(shè)指定寄存器的單次讀指令,此時(shí),fpga給出對(duì)外設(shè)的讀時(shí)序,并驅(qū)動(dòng)ram的地址總線、寫時(shí)鐘等信號(hào),將外設(shè)數(shù)據(jù)總線上的數(shù)據(jù)傳送到ram中。再延時(shí)1s,pxa270從ram中讀出數(shù)據(jù)。(3)pxa270對(duì)外設(shè)批數(shù)據(jù)寫操作與單次寫操作不同的是,pxa270需先將所要寫入的數(shù)據(jù)存儲(chǔ)到ram的連續(xù)空間,然后向fpga的命令寄存器寫入批數(shù)據(jù)寫操作指令,fp-ga根據(jù)接收到的命令將ram中的數(shù)據(jù)分次送至外設(shè)數(shù)據(jù)總線,且需保證向com20020的寫時(shí)序與之同步。(4)pxa270對(duì)外設(shè)批數(shù)據(jù)讀操作 由fpga給出對(duì)外設(shè)的連續(xù)多次讀時(shí)序?qū)⑼庠O(shè)中的數(shù)據(jù)送人ram,完成存儲(chǔ)工作。pxa27

5、0等待批數(shù)據(jù)讀完成中斷發(fā)生后對(duì)ram進(jìn)行連續(xù)讀。3 功能模塊設(shè)計(jì)31 時(shí)序發(fā)生模塊設(shè)計(jì)com20020有80xx-like和68xx-like兩種總線訪問方式。這里中實(shí)現(xiàn)68xx-like訪問方式,圖2為其讀寫訪問時(shí)序。讀寫時(shí)序的共同要求為:片選信號(hào)cs必須先于ds至少5 ns,并且只允許在ds無效之后cs才能恢復(fù)為高電平;讀寫方向信號(hào)dir應(yīng)在ds有效前至少10 ns建立;ds高電平寬度不小于20 ns。兩者的不同要求:寫時(shí)序的地址總線先于操作脈沖ds至少15 ns建立,ds低電平不小于20 ns,數(shù)據(jù)總線有效數(shù)據(jù)必須在ds變高之前至少30 ns建立,保持至ds變高后至少10 ns;而讀時(shí)序

6、的地址總線先于片選信號(hào)至少15 ns建立,ds低電平不小于60 ns,ds變低到數(shù)據(jù)總線數(shù)據(jù)有效的間隔最大為40 ns,ds變高到數(shù)據(jù)總線高阻抗的間隔最大為20 ns,這是com20020作為數(shù)據(jù)輸出方給訪問設(shè)備提供的特性。針對(duì)以上讀寫時(shí)序的要求,具體設(shè)計(jì)如下:dir在一次操作中只有高或低電平一種可能,通過命令寄存器在操作前事先給出,而后給出使能信號(hào),ds在cs有效之后變低,而在cs無效之前變高,以便數(shù)據(jù)可靠鎖存。圖3為com20020的時(shí)序原理圖,從時(shí)序分析可得出如下設(shè)計(jì)方案:dir用于指示操作是讀還是寫,dir=1為讀,否則為寫。在操作前先對(duì)dir 賦值;在en有效時(shí)選擇cs,clk的下一

7、次上升沿變?yōu)橛行?。這樣是給寫操作對(duì)com20020數(shù)據(jù)總線準(zhǔn)備數(shù)據(jù)之用,不影響讀操作;ds選擇在cs有效的下一個(gè)clk上升沿變?yōu)橛行В赾s無效前兩個(gè)時(shí)鐘周期給出上升沿,以滿足“片選信號(hào)cs必須先于ds至少5 ns,并且只能在ds無效之后恢復(fù)為高電平”,并且ds中間應(yīng)有至少60ns的時(shí)鐘寬度,因而保持3個(gè)clk周期有效。圖4為commandgenerator時(shí)序仿真圖。采用計(jì)數(shù)器進(jìn)行時(shí)序同步。以下給出vhdl源代碼。圖5為批數(shù)據(jù)從wrram向外設(shè)傳送的連續(xù)時(shí)鐘產(chǎn)生和自動(dòng)地址生成原理圖。其中,lpm_counter0為帶有異步清零和進(jìn)位信號(hào)的增計(jì)數(shù); autoaccessdatanumsonc

8、e在en=1時(shí),產(chǎn)生一次批傳送時(shí)鐘,根據(jù)com20020的長(zhǎng)短數(shù)據(jù)包傳送要求,在ccesstype =1時(shí)傳送長(zhǎng)數(shù)據(jù)包(512 b),否則傳送短數(shù)據(jù)包(256 b)。fre信號(hào)同時(shí)提供wrram的rdclock和lpm_counter0的clock信號(hào)。 圖6為一次批數(shù)據(jù)向ram中寫,而后啟動(dòng)dma傳輸,將數(shù)據(jù)從ram送至com20020的時(shí)序仿真。在wrclock上升沿時(shí),ram將datain總線上的數(shù)據(jù)存儲(chǔ)到wr_ad-dress所指向的字節(jié)地址空間,wrclock信號(hào)是由pxa270的we信號(hào)與分配給ram的片選信號(hào)(高電平有效)相與而得。對(duì)ram進(jìn)行模擬寫時(shí)必須確保autowren無效

9、(低電平);在檢驗(yàn)數(shù)據(jù)dma傳輸?shù)膔am輸出環(huán)節(jié),wrclock應(yīng)不再出現(xiàn)上升沿信號(hào),以防ram同時(shí)讀寫造成輸出不定值。此外,每個(gè)數(shù)據(jù)從outputdata端口輸出時(shí),cs、ds在一定延時(shí)后(1個(gè)clk時(shí)鐘周期)給時(shí)序產(chǎn)生留足夠時(shí)間。需說明:com20020內(nèi)部有2 k字節(jié)的ram空間,用于存放待發(fā)送或已接收的數(shù)據(jù)包,在向ram中寫數(shù)據(jù)包前,指定該數(shù)據(jù)包的存放位置,然后將com20020中的指針自動(dòng)移動(dòng)位置 1,則只需連續(xù)的向該ram中寫數(shù)據(jù),而不必給出地址信號(hào)。 33 對(duì)外設(shè)指定寄存器操作 對(duì)外設(shè)指定寄存器操作比批數(shù)據(jù)傳送實(shí)現(xiàn)簡(jiǎn)單,只需將操作次數(shù)降為1次,并對(duì) com20020的a2a0提供相應(yīng)的地址即可。指定寄存器操作將數(shù)據(jù)存儲(chǔ)在ram的高512字節(jié)空間,并且只占用其中低8個(gè)字節(jié),在pxa270編程時(shí),需確保pxa270送入ram的地址與命令寄存器中的ram存儲(chǔ)地址commandbyte2.0相對(duì)應(yīng)。4 結(jié)論 本設(shè)計(jì)解決arcnet協(xié)議專用器件應(yīng)用于列車通信網(wǎng)絡(luò)中的時(shí)序匹配問題,實(shí)現(xiàn)了pxa270處理器與com20020的時(shí)序轉(zhuǎn)換。此外,對(duì)擴(kuò)展其他總線訪問類型提供了參考框架,可通過修改commandgenerator中com20020時(shí)序,實(shí)現(xiàn)不同外設(shè)總線訪問類型的擴(kuò)展;修改 autoaccessdatanun-sonce中的accesstype,可配置批數(shù)據(jù)操作的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論