新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于PCI9054的數(shù)據(jù)轉(zhuǎn)換模塊設(shè)計

基于PCI9054的數(shù)據(jù)轉(zhuǎn)換模塊設(shè)計

作者: 時間:2011-03-17 來源:網(wǎng)絡(luò) 收藏

信號線連接主要包括:LHOLD(申請使用本地總線,輸出信號)、LHOLDA(對LHOLD應(yīng)答,輸入信號)、ADS#(新的總線訪問有效地址的開始,在總線訪問first clock設(shè)置時輸出信號)、BLAST#(表示為總線訪問的last transfer,輸出信號)、LW/R#(高電平表示讀操作,低電平表示寫操作,輸出信號)、LA[31:2](地址線)、LD[31:0](數(shù)據(jù)線)、READY#(表示總線上讀數(shù)據(jù)有效或?qū)憯?shù)據(jù)完成,用以連接等待狀態(tài)產(chǎn)生器,輸入信號)。
2.1.3 與EEPROM接口
在加電啟動時,需要從外部EEPROM讀取初始化數(shù)據(jù)來配置PCI9054的內(nèi)部寄存器,而且依賴于硬件板卡的硬件資源要求,以及選擇正確的PCI9054工作模式。PCI9054提供4個管腳與串行EEPROM相連接,它們分別是EEDI、EEDO、EESK和EECS。本文選擇的串行EEPROM是93L-C56,因此對應(yīng)于93LC56的DI、DO、SK、CS這4個管腳。
在計算機加電自檢期間,PCI總線的RST#信號復(fù)位。PCI9054內(nèi)部寄存器的默認(rèn)值作為回應(yīng)。PCI9054出本地LRESET#信號并檢測串行EEP-ROM,若串行EEPROM中的前33個bit不全為1,那么PCI9054確定串行EEPROM非空,用戶可通過向9054的寄存器CNTRL的29位寫1來加載EEPROM的內(nèi)容到PCI9054的內(nèi)部寄存器。配置的信息可在P1xSdk中的PLXMON下對EEPROM進行配置。
EEPROM配置信息主要包括以下兩部分:1)PCI配置寄存器,填寫生產(chǎn)商ID號、器件ID號、類碼子系統(tǒng)ID號和子系統(tǒng)生產(chǎn)商ID號。對于PCI-9054,其生廠商ID號為1OB5,器件ID號為9054,子系統(tǒng)號為9054,子系統(tǒng)ID號為10B5,類碼號為0680,表示其為橋設(shè)備中的其他橋設(shè)備類。 2)本地配置寄存器的配置,即對本地地址空間及其本地總線屬性的配置。這些配置要根據(jù)實際開發(fā)的硬件板卡的硬件資源進行配置。設(shè)備人員配置寄存器的任務(wù)就是要把某一段本地地址映射為PCI地址,也就是當(dāng)主機CPU要訪問本地地址空間時,要知道其對應(yīng)的PCI總線地址。
2.2 數(shù)據(jù)緩存器設(shè)計
數(shù)據(jù)緩存器由兩組SRAM組成,在模擬數(shù)據(jù)時,主機從磁盤陣列上讀取要模擬的數(shù)據(jù),通過PCI總線的DMA傳輸給FPGA,首先存到SRAM-A里,SRAM-A存儲滿時,開始以一定的速率讀SRAM-A里的數(shù)據(jù),并串轉(zhuǎn)換成串行數(shù)據(jù),用LVDS信號形式發(fā)送,在讀的同時主機啟動第二次DMA傳輸數(shù)據(jù)給FPGA,再存到SRAM-B,SRAM-A讀完、SRAM-B寫滿就開始以一定的速率讀SRAM-B的數(shù)據(jù),并串轉(zhuǎn)換成串行數(shù)據(jù),用LVDS信號形式發(fā)送,這樣輪番交替形成“乒乓機制”,有效克服了數(shù)據(jù)流不連續(xù)的現(xiàn)象,解決了形成不間斷數(shù)據(jù)流和兩次DMA傳輸之間的數(shù)據(jù)間斷問題。

本文引用地址:http://www.butianyuan.cn/article/191304.htm

3 工作流程
在設(shè)計中,PCI端的數(shù)據(jù)傳輸主要是利用PCI9054的BLOCK DMA模式。PCI9054集成了2個相互獨立的DMA通道,每個通道都支持Block DMA和Scatter/Gather DMA,通道0還支持Demand DMA傳輸方式。
Block DMA要求PCI主機或Loeal主機提供PCI和Local的起始地址、傳輸字節(jié)數(shù)、傳輸方向。主機設(shè)定DMA開始位啟動DMA數(shù)據(jù)傳輸,一旦傳輸完成,PCI9054設(shè)定DMA“傳輸結(jié)束位”結(jié)束DMA。如果啟動中斷允許位,在傳輸結(jié)束時PCI9054將向主機(PCI主機或LOCAL主機)產(chǎn)生中斷。在DMA傳輸中,PCI9054既是PCI總線的主控器又是Loeal總線的主控器。
Scatter/Gather DMA要求主機在PCI空間或Local空間設(shè)定Descriptor模塊,模塊包括PCI和Local的起始地址、傳輸字節(jié)數(shù)、傳輸方向和下一個Descriptor模塊的地址。PCI9054載人第1個Descriptor模塊并發(fā)起傳輸,連續(xù)加載下一個模塊,直到它偵測到“鏈結(jié)束位”有效,PCI 9054設(shè)置“傳輸結(jié)束位”,或者申請PCI或Local中斷。這種模式下,PCI9054也可以在每個模塊加載時有效中斷信號,結(jié)束DMA傳輸。若Desc-riptor模塊在本地存儲空間,可以編程使DMA控制器在每次DMA傳輸結(jié)束后清除傳輸字節(jié)數(shù)。具體工作流程如圖3所示。

3.JPG



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉