基于可編程邏輯器件的數(shù)據(jù)傳輸接口研究與設(shè)計(jì)_第1頁(yè)
基于可編程邏輯器件的數(shù)據(jù)傳輸接口研究與設(shè)計(jì)_第2頁(yè)
基于可編程邏輯器件的數(shù)據(jù)傳輸接口研究與設(shè)計(jì)_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、基于可編程邏輯器件的數(shù)據(jù)傳輸接口研究與設(shè)計(jì)            摘要:目前部分基于X86體系結(jié)構(gòu)平臺(tái)的測(cè)試儀器已經(jīng)采用了PCI板卡設(shè)備來(lái)控制整個(gè)測(cè)試電路的運(yùn)行、采集測(cè)試數(shù)據(jù),因此在PCI板卡上的本地總線與數(shù)據(jù)傳輸電路之間需要設(shè)計(jì)接口電路。在分析PCI9054接口控制器的基礎(chǔ)上,研究和設(shè)計(jì)了一種實(shí)用的數(shù)據(jù)傳輸接口電路并在現(xiàn)場(chǎng)可編程門陣列器件內(nèi)部得以實(shí)現(xiàn)。 關(guān)鍵詞:PCI總線;數(shù)據(jù)傳輸;FPGA 1引言 近年來(lái)PCI總線已經(jīng)在高檔測(cè)試儀器中得到越來(lái)越廣泛的應(yīng)用。由于PCI總線協(xié)

2、議非常復(fù)雜,不便于與測(cè)量控制邏輯直接連接,需要經(jīng)過(guò)一個(gè)PCI接口控制器作為橋梁。另外考慮到軟件的處理速度和工作效率,測(cè)量電路高速采集的數(shù)據(jù)也不能立即傳送給主機(jī),因此在FPGA內(nèi)部設(shè)計(jì)了FIFO緩沖器。設(shè)計(jì)方案如圖1所示。當(dāng)送入FIFO的測(cè)量數(shù)據(jù)達(dá)到預(yù)定的數(shù)量時(shí),本地中斷邏輯通過(guò)PCI總線接口控制器向主機(jī)提出中斷請(qǐng)求,主機(jī)響應(yīng)中斷后,通過(guò)PCI總線控制器從FIFO中取走測(cè)量數(shù)據(jù)。 PCI接口控制器的設(shè)計(jì)相對(duì)來(lái)說(shuō)比較復(fù)雜。目前比較常用的方案有兩種:第一種是用可編程邏輯器件設(shè)計(jì)實(shí)現(xiàn),第二種方案是采用專用接口芯片。由于前者方案需要投入大量的人力、物力進(jìn)行邏輯驗(yàn)證和時(shí)序分析工作,延長(zhǎng)了開(kāi)發(fā)周期,因此本文

3、選擇了專用接口芯片方案。具體型號(hào)是PLX公司的PCI9054芯片。使用這種專用芯片橋接PCI總線和本地總線,開(kāi)發(fā)者可以省去考慮很多復(fù)雜的PCI總線規(guī)范,而集中精力開(kāi)發(fā)硬件和驅(qū)動(dòng)程序。 以下主要論述圖1虛線框內(nèi)的FPGA設(shè)計(jì)與實(shí)現(xiàn)。重點(diǎn)是與PCI9054接口的本地總線控制邏輯和中斷邏輯。 2數(shù)據(jù)采集接口邏輯的設(shè)計(jì) 2.1PCI9054本地總線研究 對(duì)本地總線操作過(guò)程及控制信號(hào)時(shí)序關(guān)系的分析是應(yīng)用PCI9054芯片和設(shè)計(jì)本地總線控制器的基礎(chǔ)性工作。PCI9054本地總線的信號(hào)包括:LHOLD(輸出)申請(qǐng)占用本地總線信號(hào);LHOLDA(輸入)本地總線應(yīng)答信號(hào);ADS#(輸出)地址選通信號(hào);BLAST

4、#(輸出)傳輸結(jié)束指示信號(hào);LW/R(輸出)讀寫狀態(tài)信號(hào)(高電平表示寫,低電平表示讀);READY#(輸入)外部等待信號(hào);LCLK(輸出)本地時(shí)鐘;LRESET#(輸出)本地復(fù)位信號(hào);LA31:2(輸出)本地地址總線;LD31:0(輸入/輸出)本地?cái)?shù)據(jù)總線。上述信號(hào)名后帶有“#”的表示低電平有效,另外輸入輸出是針對(duì)PCI9054芯片而言的。 當(dāng)讀數(shù)據(jù)時(shí),本地總線上的各信號(hào)時(shí)序關(guān)系如圖2所示,控制信號(hào)有效邊沿的含義已標(biāo)注于圖中。圖2所示的PCI從方式讀操作中,每次傳輸?shù)臄?shù)據(jù)有多個(gè)字,ADS#信號(hào)變低表示數(shù)據(jù)傳輸周期的開(kāi)始,之后每個(gè)時(shí)鐘周期的上升沿將本地?cái)?shù)據(jù)總線上的數(shù)據(jù)讀入9054內(nèi)部,在緊接著的

5、時(shí)鐘下降沿自動(dòng)增加本地地址總線上的地址;數(shù)據(jù)傳輸狀態(tài)將一直持續(xù)到BLAST#信號(hào)變低,表示當(dāng)前數(shù)據(jù)期已經(jīng)是傳輸?shù)淖詈笠粋€(gè)數(shù)據(jù)期,數(shù)據(jù)傳輸即將結(jié)束。這種傳輸方式稱為突發(fā)傳輸。相對(duì)應(yīng)的PCI9054也支持單周期傳輸。在單周期傳輸時(shí),每次只傳輸一個(gè)字,BLAST#信號(hào)在ADS#信號(hào)有效后的下一個(gè)時(shí)鐘周期就會(huì)出現(xiàn)。顯然單周期方式的數(shù)據(jù)傳輸率較之突發(fā)傳輸方式會(huì)慢很多,由于FPGA內(nèi)的FIFO數(shù)據(jù)傳輸率能夠與PCI9054的數(shù)據(jù)傳輸率相適應(yīng),本文采用突發(fā)傳輸方式以提高PCI總線的傳輸效率。1         

6、0;         2.2本地總線控制 根據(jù)前文可以明確出本地總線控制器的設(shè)計(jì)目標(biāo):根據(jù)輸入的控制信號(hào)LHOLD、ADS#、BLAST#生成符合本地總線時(shí)序要求的控制信號(hào)LHOLDA、READY#和FIFO的讀請(qǐng)求信號(hào)RDREQ。 對(duì)于LHOLD信號(hào)的應(yīng)答問(wèn)題,采用Verilog語(yǔ)言中的always和assign語(yǔ)句就能簡(jiǎn)便高效的實(shí)現(xiàn)。對(duì)READY#信號(hào)的處理可以采用同步狀態(tài)機(jī),其狀態(tài)圖如圖3所示: 2.3對(duì)于本地中斷的分析和應(yīng)用 當(dāng)采集并存儲(chǔ)在FIFO中的數(shù)據(jù)達(dá)到一定數(shù)量,為了避免FIFO溢出主機(jī)需要

7、將測(cè)試數(shù)據(jù)從FIFO中取走。從提高效率的角度出發(fā),采用中斷方式完成該工作。 在PCI9054 的中斷被使能的情況下,如果本地邏輯向PCI9054芯片輸出本地中斷信號(hào),PCI9054芯片將生成PCI中斷信號(hào)。需要特別注意的是:PCI9054芯片生成的PCI中斷信號(hào)是電平信號(hào),而非脈沖信號(hào),因此當(dāng)該P(yáng)CI中斷被PCI主機(jī)響應(yīng)后需要在中斷服務(wù)程序的入口處手動(dòng)禁止PCI中斷,否則會(huì)導(dǎo)致多次觸發(fā)中斷的異常情況出現(xiàn)。同時(shí)由于在中斷服務(wù)程序出口處重新打開(kāi)了PCI中斷,因此須在中斷服務(wù)程序執(zhí)行期間撤銷本地中斷源以避免中斷服務(wù)程序一旦結(jié)束就將再次觸發(fā)中斷的異常情況出現(xiàn)。 基于以上分析,本地中斷處理邏輯需要實(shí)現(xiàn)兩

8、點(diǎn)功能要求: 當(dāng)觸發(fā)條件滿足時(shí),生成本地中斷輸入信號(hào)LINT#。 在中斷服務(wù)程序執(zhí)行期間,撤銷本地中斷輸入信號(hào)LINT#。對(duì)于第一點(diǎn)要求,采用的方法是用減計(jì)數(shù)器的溢出信號(hào)來(lái)作為本地中斷輸入信號(hào),該計(jì)數(shù)器的初值可以由應(yīng)用程序根據(jù)被測(cè)器件和測(cè)量模式來(lái)靈活設(shè)置。對(duì)于第二個(gè)功能要求,在開(kāi)發(fā)實(shí)踐中采用了一種效率更高、移植性更好的本地中斷信號(hào)撤銷機(jī)制。其關(guān)鍵點(diǎn)在于將撤銷本地中斷信號(hào)的控制權(quán)由本地邏輯轉(zhuǎn)移到中斷服務(wù)程序中。具體方法是:在本地端設(shè)計(jì)一個(gè)中斷處理觸發(fā)器。該中斷處理觸發(fā)器的clear端口連接的是數(shù)據(jù)總線的最低位與譯碼器輸出信號(hào)相與后的信號(hào),D端口置1,clk端口連接上述減計(jì)數(shù)器的溢出信號(hào),q端口上

9、輸出信號(hào)經(jīng)過(guò)非門作為L(zhǎng)INT#信號(hào)輸出。當(dāng)FIFO中的數(shù)據(jù)量達(dá)到預(yù)先設(shè)定值時(shí),減計(jì)數(shù)器溢出,觸發(fā)器q端輸出高電平,經(jīng)過(guò)反相器即產(chǎn)生低有效的本地中斷輸入信號(hào)。當(dāng)主機(jī)響應(yīng)中斷,并進(jìn)入中斷服務(wù)程序后,執(zhí)行一次對(duì)該觸發(fā)器置1的操作,這樣連接clear端口的與門的兩個(gè)輸入端都為高電平,進(jìn)而將該觸發(fā)器的q端輸出置0,經(jīng)過(guò)反相后,LINT#信號(hào)變?yōu)楦唠娖剑闯蜂N本地中斷信號(hào)。 3結(jié)論 本文討論分析PCI9054接口控制器的本地總線操作過(guò)程,并在此基礎(chǔ)上研究與設(shè)計(jì)了數(shù)據(jù)采集接口邏輯。該數(shù)據(jù)采集接口邏輯是PCI9054芯片與數(shù)據(jù)FIFO進(jìn)行信息交互的橋梁。該設(shè)計(jì)已用Verilog硬件描述語(yǔ)言進(jìn)行了功能描述,并仿真驗(yàn)證和綜合。設(shè)計(jì)方案已經(jīng)應(yīng)用在某晶體管特征曲線圖示儀產(chǎn)品開(kāi)發(fā)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論