點(diǎn)擊上方藍(lán)字關(guān)注我們
本文提出了一種新的包括PCI9054單周期讀、寫(xiě)和存儲(chǔ)器映射傳輸?shù)脑O(shè)計(jì),并討論了通用PCI總線高速數(shù)據(jù)采集卡的實(shí)現(xiàn)方案。
PCI總線(Peripheral Component Interconnect)是Intel公司推出的一種高性能32/64位局部總線,最大數(shù)據(jù)傳輸速率為132~264MB/s,是目前使用較為廣泛的一種總線。在高速信號(hào)的實(shí)時(shí)處理中,利用PCI總線將采集數(shù)據(jù)直接傳送到微機(jī)系統(tǒng)內(nèi)存,可有效解決數(shù)據(jù)的實(shí)時(shí)傳輸和存儲(chǔ),為信號(hào)的實(shí)時(shí)處理提供方便。利用PCI總線進(jìn)行高速數(shù)據(jù)采集,可以簡(jiǎn)化電路設(shè)計(jì),而且這種高速數(shù)據(jù)采集接口模塊可以在多次設(shè)計(jì)中重復(fù)使用,縮短產(chǎn)品的研發(fā)周期。在此通過(guò)對(duì)專(zhuān)用接口芯片PCI9054的性能分析,特別是對(duì)單周期讀、寫(xiě)和存儲(chǔ)器映射傳輸操作的時(shí)序進(jìn)行了分析,提出了一種新的包括PCI9054單周期讀、寫(xiě)和存儲(chǔ)器映射傳輸?shù)脑O(shè)計(jì),并討論了通用PCI總線高速數(shù)據(jù)采集卡的實(shí)現(xiàn)方案。
1 PCI9054性能簡(jiǎn)介
PCI9054是PLX公司推出的一種32位33 MHz的PCI總線控制器。它采用多種先進(jìn)技術(shù).可以將復(fù)雜的PCI接口應(yīng)用設(shè)計(jì)變得簡(jiǎn)單。利用PCI9054靈活的局部總線可以方便地連接多種存儲(chǔ)器、I/O外圍設(shè)備和CPU,其中包括與Motorola公司的MPC860和Intel公司的960和IBM公司的PPC401等處理器之間的直接連接。PCI9054可廣泛應(yīng)用于Motorola公司的MPC 860適配器設(shè)計(jì)、Compact PCI熱交換適配器設(shè)計(jì)、PCI總線主控適配器和嵌入式主機(jī)等設(shè)計(jì)系統(tǒng)中。PCI9054的本地總線時(shí)鐘可與PCI總線時(shí)鐘異步,本地總線有三種工作模式:M模式、C模式和J模式,可方便地與多種微處理器連接。其中,在C模式下,本地總線(Local Bus)為非復(fù)用的32 b地址與數(shù)據(jù)總線,時(shí)序與控制比較簡(jiǎn)單。PCI9054還有三種數(shù)據(jù)傳送方式,即PCI主發(fā)起、PCI從目標(biāo)、DMA方式。PCI從目標(biāo)即PCI9054作為PCI總線的從設(shè)備,由總線上的其他主設(shè)備向它傳送數(shù)據(jù);在PCI9054的本地總線端,PCI9054又作為主設(shè)備,向本地的存儲(chǔ)空間和I/O空間傳送數(shù)據(jù)。在設(shè)計(jì)本地總線的數(shù)據(jù)傳送接口時(shí),主要有兩項(xiàng)工作,一是需要對(duì)PCI空間到本地空間,或本地空間到PCI空間的地址映射,進(jìn)行相應(yīng)的存儲(chǔ)器配置;二是根據(jù)PCI9054提供的本地總線控制信號(hào)設(shè)計(jì)本地總線的邏輯控制功能,實(shí)現(xiàn)相應(yīng)的數(shù)據(jù)傳送時(shí)序。
2 數(shù)據(jù)采集卡PCI接口電路設(shè)計(jì)
PCI總線規(guī)范定義了嚴(yán)格的電氣特性和時(shí)序要求,它要求在接口卡和終端設(shè)備之間有一個(gè)總線接口控制器,采用某些公司提供的專(zhuān)用接口芯片,如PLX公司的PCI9080,PCI9054和AMCC公司的S5933,S5920等。使用它只需要設(shè)計(jì)用戶(hù)接口邏輯和配置電路。大大減少了開(kāi)發(fā)人員的工作量,且功能強(qiáng),使用靈活。
該設(shè)計(jì)采用PCI9054+FPGA實(shí)現(xiàn)高速數(shù)據(jù)傳輸接口。PCI9054能實(shí)現(xiàn)復(fù)雜的PCI總線規(guī)范2.2版,支持重要產(chǎn)品數(shù)據(jù)(VPD)配置,支持雙地址周期,可編程中斷生成,可編程突發(fā)管理,存儲(chǔ)器映射傳輸,具有可選的串行E2PROM接口,并支持Compact PCI和熱交換功能,性能卓越,使用方便。FPGA用來(lái)配合PCI9054的Local總線控制信號(hào),實(shí)現(xiàn)Local總線端的數(shù)據(jù)傳送。E2PROM接口直接連接一個(gè)E2PROM來(lái)初始化配置PCI9054。整個(gè)板卡的邏輯結(jié)構(gòu)框圖如圖1所示。
2.1 FPGA內(nèi)部控制
采樣控制電路主要完成視頻信號(hào)和動(dòng)目標(biāo)信號(hào)采樣,并對(duì)采樣值進(jìn)行處理。設(shè)計(jì)的FPGA采用Altera公司的FLEX系列中的EPF1OK20芯片,并采用該公司與之配套的配置設(shè)備EPC2芯片來(lái)完成采樣后的數(shù)據(jù)處理。在FPGA內(nèi)部,根據(jù)由網(wǎng)絡(luò)傳過(guò)來(lái)高低、方位及自定義的差分信號(hào)傳送時(shí)鐘、串行幀同步、串行數(shù)據(jù)、模式字,對(duì)采樣數(shù)據(jù)進(jìn)行相關(guān)處理和小目標(biāo)的放大。當(dāng)信號(hào)小于一定值,則認(rèn)為沒(méi)有信號(hào);信號(hào)值落在某一區(qū)間,為了觀察方便要將其放大。FPGA同時(shí)完成各種自檢信號(hào)的產(chǎn)生、A/D的控制信號(hào)、以及各種讀寫(xiě)時(shí)序。Local總線與外部的I/O部分,用鎖存器(如74F574)接口數(shù)據(jù)通路,用雙向通路(如74LS245)接口控制信號(hào)線。具體框圖如圖2所示。
2.2 存儲(chǔ)器映射傳輸
基于PCI9054的存儲(chǔ)器映射傳輸是核心部分。根據(jù)配置寄存器配置的Local總線三個(gè)空間的大小以及三個(gè)空間的基地址,把數(shù)據(jù)寫(xiě)到相應(yīng)的存儲(chǔ)空間。計(jì)算機(jī)操作系統(tǒng)識(shí)別板卡正確后,自動(dòng)分配存儲(chǔ)空間給本卡,應(yīng)用軟件應(yīng)用計(jì)算機(jī)自動(dòng)分配的存儲(chǔ)空間進(jìn)行編程,完成所需要的功能。REQ,GNT,LHOLD,LHOL-DA為PCI BUS和LocaI BUS的仲裁信號(hào),IRDY和TRDY分別為主設(shè)備準(zhǔn)備好信號(hào)和從設(shè)備準(zhǔn)備好信號(hào),當(dāng)兩者同時(shí)有效時(shí),才能真正進(jìn)行數(shù)據(jù)傳輸。板卡復(fù)位或上電時(shí),PCI9054自動(dòng)裝載E2PROM中的配置信息,同時(shí)EPC2自動(dòng)配置EPF10K20,即裝載程序入FP-GA。芯片PCI9054已經(jīng)整合了PCI協(xié)議,實(shí)現(xiàn)了PCI總線的接口。整個(gè)板卡設(shè)計(jì)的關(guān)鍵工作就在于FPGA程序的設(shè)計(jì)、PCI9054的配置和板卡驅(qū)動(dòng)程序的編寫(xiě)。PCI9054的正確配置是其正常工作的關(guān)鍵,PC操作系統(tǒng)在開(kāi)機(jī)掃描總線時(shí),正確的配置信息使操作系統(tǒng)正確識(shí)別板卡,并提示安裝驅(qū)動(dòng)程序。如果配置不正確或不完整,則操作系統(tǒng)將找不到板卡,并且可能死機(jī)。單靠硬件無(wú)法將數(shù)據(jù)送到內(nèi)存供顯示讀數(shù)設(shè)備所用,設(shè)備驅(qū)動(dòng)程序是連接到板卡的軟件接口。該設(shè)計(jì)中,設(shè)備驅(qū)動(dòng)程序的基本功能就是完成設(shè)備的初始化,對(duì)端口的讀寫(xiě)操作,對(duì)中斷的設(shè)置、響應(yīng)和調(diào)用,以及對(duì)內(nèi)存和接口設(shè)備存儲(chǔ)器空間的直接讀寫(xiě)。這里選用的驅(qū)動(dòng)程序開(kāi)發(fā)工具是Windrive。Windrive與DDK和VtoolsD相比,適應(yīng)面比較窄,但是它主要針對(duì)ISA/PCI插卡,還包含一個(gè)代碼生成器Windrive Wizward和針對(duì)于PCI9054的函數(shù),所以開(kāi)發(fā)比較簡(jiǎn)單,周期比較短。文獻(xiàn)[4,5]在設(shè)計(jì)驅(qū)動(dòng)程序之前,對(duì)欲控制的硬件設(shè)備進(jìn)行了細(xì)致的分析,詳細(xì)了解硬件設(shè)備的特性。硬件設(shè)備的特性對(duì)驅(qū)動(dòng)程序設(shè)計(jì)會(huì)產(chǎn)生重大的影響。需要了解的最主要特性有:
設(shè)備的總線結(jié)構(gòu),該設(shè)計(jì)中即PCI總線;
寄存器,該設(shè)計(jì)中即配置的PCI9054寄存器的值;
設(shè)備的錯(cuò)誤和狀態(tài),了解如何判斷設(shè)備的狀態(tài)和錯(cuò)誤信號(hào),通過(guò)驅(qū)動(dòng)程序返回給用戶(hù)程序;
中斷行為,了解設(shè)備產(chǎn)生中斷的條件和使用中斷的數(shù)量;
數(shù)據(jù)傳輸機(jī)制,是I/O傳輸、DMA傳輸,還是存儲(chǔ)器映射傳輸;
設(shè)備內(nèi)存,RAM的容量,與系統(tǒng)總線(PCI)對(duì)應(yīng)的基地址和范圍。
3 寄存器配置
設(shè)計(jì)好接口連接,接口設(shè)計(jì)工作只完成了50%。由于PCI9054是通用PCI接口功能芯片,它的功能還不一定能夠滿足用戶(hù)的需求,所以還要進(jìn)行功能寄存器設(shè)置,以使接口電路具有特定的功能。寄存器的配置包括E2PROM初始化,以及Local功能寄存器和PCI配置寄存器的配置。
3.1 E2PROM初始化
在計(jì)算機(jī)的加電自檢期間,PCI總線的RST信號(hào)復(fù)位,PCI9054內(nèi)部寄存器的默認(rèn)值作為回應(yīng)。PCI9054輸出本地LRESET信號(hào)并檢測(cè)串行E2PROM。如果串行E2PROM中的前33個(gè)比特不全為1,那么PCI9054確定串行E2PROM為非空,用戶(hù)可通過(guò)向9054的寄存器CNTRL的CNTRL29位寫(xiě)1來(lái)加載E2PROM的內(nèi)容到PCI9054的內(nèi)部寄存器,配置的信息(設(shè)備識(shí)別號(hào),供應(yīng)商代碼號(hào),Local總線三個(gè)空間的大小以及三個(gè)空間的基地址等)事先要利用編程寫(xiě)入配置寄存器中。
3.2 PCI配置寄存器的配置
配置PCI配置寄存器比較簡(jiǎn)單。主要是填寫(xiě)生產(chǎn)商ID號(hào)、器件ID號(hào)、類(lèi)碼子系統(tǒng)ID號(hào)和子系統(tǒng)生產(chǎn)商ID號(hào)。對(duì)于PCI9054,其生產(chǎn)商ID號(hào)為10B5,器件ID號(hào)為9054,子系統(tǒng)號(hào)ID為9054,子系統(tǒng)ID號(hào)為10B5,類(lèi)碼號(hào)為0680,表示其為橋設(shè)備中的其他橋設(shè)備類(lèi)。
3.3 本地配置寄存器的配置
對(duì)于本地配置寄存器的配置就是對(duì)本地地址空間及其本地總線屬性的配置。這些配置是根據(jù)實(shí)際開(kāi)發(fā)的硬件板卡的硬件資源進(jìn)行配置。設(shè)備人員配置寄存器的任務(wù)就是要把某一段本地地址應(yīng)設(shè)為PCI地址。也就是當(dāng)主機(jī)CPU要訪問(wèn)本地地址空間時(shí),要知道其對(duì)應(yīng)的PCI總線地址。
4 電路板實(shí)現(xiàn)與測(cè)試
PCI規(guī)范對(duì)擴(kuò)展板的機(jī)械和電氣方面都有一系列的規(guī)范要求。在布板和繪圖的過(guò)程中需要特別注意一些技術(shù)要求,布出來(lái)的板子工作起來(lái)才會(huì)穩(wěn)定可靠。如:除了PCI協(xié)議中的信號(hào)線外,連接器本身的信號(hào)引腳值得注意,如板卡存在信號(hào)PRSNT1和PRSNT2;電源的退耦、PCI協(xié)議信號(hào)線的走線長(zhǎng)度限制和擴(kuò)展板上信號(hào)線的負(fù)載要求等都是在布板過(guò)程中特別應(yīng)該重視的,都要滿足PCI電氣規(guī)范的要求。
該設(shè)計(jì)中嚴(yán)格按照規(guī)范要求設(shè)計(jì),PCI連接器上的PRSNT1而開(kāi)路,PRSNT2接地,表示本板卡的最大功耗為15 W。元件的退耦電容采用0.1μF,電源的濾波電容采用10μF的電解電容。采用存儲(chǔ)器映射的傳輸方式,本地時(shí)鐘采用20 MHz時(shí),通過(guò)測(cè)試,傳輸速率能夠達(dá)到20 MB/s以上,提高本地時(shí)鐘的頻率,數(shù)據(jù)傳輸率還能夠更高。
5 結(jié) 語(yǔ)
這里實(shí)現(xiàn)的PCI數(shù)據(jù)傳輸接口,有效地解決了系統(tǒng)的數(shù)據(jù)傳輸問(wèn)題,有利于數(shù)據(jù)的實(shí)時(shí)處理,獲得了比較滿意的效果。隨著信號(hào)處理技術(shù)的發(fā)展,這種基于PCI的數(shù)據(jù)傳輸接口有著十分廣闊的應(yīng)用前景。
歡迎加入至芯科技FPGA微信學(xué)習(xí)交流群,這里有一群優(yōu)秀的FPGA工程師、學(xué)生、老師、這里FPGA技術(shù)交流學(xué)習(xí)氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!
點(diǎn)個(gè)在看你最好看
原文標(biāo)題:基于PCI總線的雷達(dá)視頻高速數(shù)據(jù)采集接口設(shè)計(jì)?
文章出處:【微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21738瀏覽量
603459
原文標(biāo)題:基于PCI總線的雷達(dá)視頻高速數(shù)據(jù)采集接口設(shè)計(jì)?
文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論