国产亚洲精品久久久久久豆腐,国产精品久久久久久精品电影,国产午睡沙发,国产成人免费av片在线观看,国产精品,午夜福利

基于協(xié)議轉(zhuǎn)換芯片PCI9054與FPGA實(shí)現(xiàn)PCI通信接口的設(shè)計

文章圖片

1 引言

PCI,外設(shè)組件互連標(biāo)準(zhǔn)(Peripheral Component Interconnection)是一種由Intel公司1991年推出的用于定義局部總線的標(biāo)準(zhǔn),自規(guī)范推出,得到網(wǎng)絡(luò)通信,數(shù)據(jù)采集處理,工業(yè)控制等多行業(yè)的廣泛應(yīng)用,并出現(xiàn)PCI-E。CPCI,PXI等多個擴(kuò)展改良版本。PCI總線支持其即插即用,中斷共享,高速數(shù)據(jù)傳輸?shù)裙δ?,有著廣闊的市場前景。

本文介紹了目前使用美國PLX公司生產(chǎn)的協(xié)議轉(zhuǎn)換芯片PCI9054,用verilog?HDL在FPGA中產(chǎn)生相應(yīng)的控制信號.完成對數(shù)據(jù)的快速讀寫,從而實(shí)現(xiàn)了與PCI總線的高速數(shù)據(jù)通訊。本系統(tǒng)可擴(kuò)展,適用于其他PCI設(shè)備系統(tǒng),具有實(shí)用價值。

2 系統(tǒng)實(shí)現(xiàn)

本系統(tǒng)主要由PCI9054FPGA構(gòu)成,系統(tǒng)結(jié)構(gòu)圖以及信號連接如圖1所示??梢愿鶕?jù)實(shí)際需要,利用FPGA的可編程性,實(shí)現(xiàn)預(yù)定功能,如與單片機(jī),DSP等處理器的不同速率間接高速通信等。協(xié)議轉(zhuǎn)換芯片PCI9054作用就是為本地處理器和主機(jī)之間架起一座通信的橋梁。

2-1.gif

圖1 系統(tǒng)總體結(jié)構(gòu)

1) PCI9054硬件實(shí)現(xiàn)

PCI9054是美國PCI公司生產(chǎn)的先進(jìn)的PCI總線接口芯片,它滿足PCI V2.2協(xié)議,支持32位33MHz時鐘PCI總線,特別適用于PCI總線外設(shè)產(chǎn)品的開發(fā)。PCI9054局部總線有三種工作模式:M模式、C模式和J模式,可方便地與多種微處理器連接。PCI9054的工作方式可利用模式選擇引腳(MODEO,MODE 1)加以選擇。

2) PCI9054硬件連接電路(如圖2所示):

2-2.gif

圖2 PCI9054硬件連接電路圖

3) PCI9054與PCI插槽信號連接

PCI9054與PCI插槽間的連接信號線,這些信號線包括地址數(shù)據(jù)復(fù)用信號AD[31:0],總線命令信號C/BE[3:0]和PCI協(xié)議控制信號PAR,F(xiàn)RAME#,IRDY#,TRDY#,STOP#,IDSEL,DEVSEL#等,電路連接中將彼此對應(yīng)的信號線連接在一起即可。在PCI總線信號中.除了RST#。INTA#-INTD#之外,其他所有的信號都在始終上升沿被采樣。每個信號都

有相對于時鐘前沿建立和保持時間。在此期間,不允許有信號的跳動。該時間一過,信號的變化就無關(guān)緊要了。這種建立和保持時間對于不同的信號其情形是不同的。對于AD[31:0],PAR和IDSEL來說,只有在一定的十種邊沿上才有上述時間的要求。對于LOCK#,IRDY#,TRDY#.FRAME#,DEVSEL#,STOP#,ⅢeQ#,GNT#,SERR#和PERR#這些信號在每個時鐘前沿都有建立和保持時間。對于C/BE[3:0]#在傳輸總線命令是,要在FRAME#第一次建立時對應(yīng)的時鐘邊沿上遵守建立和保持時間的關(guān)系。若傳輸字節(jié)使能信號時,要在完成一個地址期或數(shù)據(jù)期之后的每一個時鐘邊沿保證相應(yīng)的建立和保持時間。

4) PCI9054與EEPROM接口

各種接口芯片都需要外接串行EEPROM芯片來加載配置數(shù)據(jù).對于串行EEPROM芯片,需要根據(jù)接口芯片數(shù)據(jù)手冊中給出的生產(chǎn)廠家及型號選擇。這里選擇FM93LC56。PCI9054提供4個管腳與串行EEPROM相連接,他們分別是EEDI,EEDO,EESK,EECS,對應(yīng)于FM93LC56的DI,DO,SkCS這四個管腳,這4對管腳直接相連就可以,另外93Lc56的VCC管腳需要接+5V電源,GND接地。因?yàn)樾枰獙Υ蠩EPROM進(jìn)行寫操作,串行EEPROM應(yīng)處于可編程而且非保護(hù)狀態(tài),所以PE接高電平而PRE接低電平。FM93LC56的技術(shù)手冊規(guī)定兩個管腳上拉和下拉的電阻應(yīng)為10K左右。

5) PCI9054與LOCAL Bus端連接

LHOLD:申請使用本地總線,輸出信號;LHOLDA:對LHOLD應(yīng)答,輸入信號;ADS:新的總線訪問有效地址的開始,在總線訪問first clock設(shè)置時,輸出信號;BLAST:表示為總線訪問的last transfer,輸出信號;LW/R#:高電平表示讀操作,低電平表示寫操作,輸出信號;LA:地址線;LD:數(shù)據(jù)線;READY:表示總線上讀數(shù)據(jù)有效或?qū)憯?shù)據(jù)完成,用以連接PCI9054等待狀態(tài)產(chǎn)生器,輸入信號。

3 VeHiog HDL軟件實(shí)現(xiàn)

FPGA內(nèi)部在PCI9054本地總線LOCAL Bus基礎(chǔ)之上進(jìn)行設(shè)計;FPGA片內(nèi)RAM或FIFO可以在QUARTUSII環(huán)境下利用利用工具M(jìn)egaWizard Plug_In Manager調(diào)用功能模塊生成。單雙口、存儲容量、數(shù)據(jù)總線的寬度以及同步或異步自行定制。為與MCU或DSP等處理器通信,要設(shè)計RAM訪問仲裁模塊。決定某一時刻對RAM訪問的主方;PCI9054支持單周期、突發(fā)和DMA傳輸,在FPGA內(nèi)部要設(shè)計本地端總線控制模塊,實(shí)現(xiàn)局部總線的狀態(tài)控制,同時產(chǎn)生FPGA片內(nèi)RAM的讀寫時序及地址信號。

PCI9054支持單周期、突發(fā)傳輸和DMA傳輸,因此在狀態(tài)機(jī)設(shè)計中不僅要滿足單周期傳輸?shù)臅r序。還要兼顧突發(fā)和DMA傳輸時序。依據(jù)FCl9054的datasheet以及PCI總線協(xié)議,其狀態(tài)轉(zhuǎn)換圖如圖3所示:

2-3.gif

圖3 PCI9054狀態(tài)轉(zhuǎn)換圖

狀態(tài)機(jī)是控制單元的主體,接受外部信號以及數(shù)據(jù)單元產(chǎn)生的信號,產(chǎn)生控制信號序列。狀態(tài)機(jī)的關(guān)鍵是如何把一個實(shí)際的時序邏輯關(guān)系,抽象成一個時序邏輯函數(shù)。根據(jù)狀態(tài)轉(zhuǎn)換圖.采用3個always語句.即對應(yīng)三個進(jìn)程來完成Moore狀態(tài)機(jī)。一個用于狀態(tài)機(jī)的同步時序部分,在本地時鐘clk的上升沿到來時.將nextstate狀態(tài)賦給currentstate;個用于描述狀態(tài)轉(zhuǎn)換;另一個用于描述輸出的組合邏輯。在這里重點(diǎn)闡述狀態(tài)轉(zhuǎn)換進(jìn)程,其Verilog HDL代碼簡略如下所示:

always @ (lads,lblast)
begin case(currentstate)
S0:if(! lads)
nextstate《=S1;
else
nexbtate《=S0;
S1:if(! lblast)
nextstate《=S2;
else
nextstate《=S4;
S2: nextstate《=S3:
S3:if(! lads)
nextstate《=Sl;
else
nextstate《=S0;
S4:nextatate《=S5;
S5:if(blast)
nextstate《=S5;
else
nextstate《=S6;
S6:if(! lads)
nextstate《=S1;
else
nexmmte《=S0;
endcase
end

輸出組合邏輯進(jìn)程如下所示:

always @(currentstate)
case(currentstate)
SO:begin lready《=1‘b1;
ram_wr《=1’b0:
ram_rd《=1‘b0;
end
。..。..
endcase

2-4.gif

圖4 利用QUARTUSⅡ仿真生成的State Machine圖(可與圖3對應(yīng))

2-5.gif

圖5 PCI9054 LOCAL Bus單周期傳輸時序圖

4 結(jié)論

利用DriverStdio開發(fā)PCI9054的驅(qū)動程序,實(shí)現(xiàn)主機(jī)對FPGA內(nèi)部RAM的讀寫,利用示波器檢測ads,blast信號,在8位數(shù)據(jù)總線的情況下,實(shí)現(xiàn)數(shù)據(jù)傳輸率可以達(dá)到26.8Mbyte/s,接近PCI的極限傳輸速率(圖4、5所示)。本設(shè)計已經(jīng)應(yīng)用,經(jīng)實(shí)際運(yùn)行,傳輸速度快,數(shù)據(jù)正確,穩(wěn)定可靠,經(jīng)過擴(kuò)展,同時可應(yīng)用于其它需要與PCI數(shù)據(jù)總線接口的設(shè)備當(dāng)中,可縮短PCI設(shè)備的開發(fā)周期,提高工作效率。

本文創(chuàng)新點(diǎn):利用PCI9054設(shè)計的PCI高速通信接口,采用了FPGA內(nèi)部RAM間接緩沖技術(shù),可以與DSP,MCU等微處理器高速通信,擴(kuò)展性強(qiáng),適用于可應(yīng)用于其它需要與PCI數(shù)據(jù)總線接口的設(shè)備當(dāng)中。

相關(guān)文章

發(fā)表評論

評論

    暫無評論

?Copyright 2013-2025 億配芯城(深圳)電子科技有限公司 粵ICP備17008354號

Scroll