基于PCI9054的數據轉換模塊設計
摘要:為了實現把軟件仿真的數據通過PCI總線DMA傳輸、處理后轉換成高速視頻串行數據流(LVDS數據流),設計出了基于PCI9054的數據轉換模塊。通過介紹PCI總線接口協議芯片PCI9054的性能、特點,分析了windows的WDM驅動程序的特點,在軟硬件設計中采用把數據緩存器設置為兩組SRAM的結構,兩組SRAM交替進行數據存取的方式,有效克服了數據流不連續的現象,解決了形成不間斷數據流和兩次DMA傳輸之間的數據間斷問題。應用結果表明,該設計可滿足數字視頻帶寬20 MHz以內的LVDS數據流的轉換與傳輸。
關鍵詞:數據轉換;PCI9054;DMA數據傳輸;LVDS數據流;寄存器
外圍部件互連總線PCI(Peripheral Component Interconnect)總線,是一種先進的高性能32/64位地址數據復用局部總線,可同時支持多組外圍設備,并且不受制于處理器,為中央處理器與高速外圍設備提供了一座溝通的橋梁,提高了數據吞吐量(32位時最大可達132 MB/s),是現在PC領域中流行的總線。PCI總線具有嚴格的總線規范,這就保證了它具有良好的兼容性,符合PCI總線規范的擴展卡可以插入任何PCI系統可靠地工作。
1 PLX-PCI9054的結構和性能
PCI9054是PLX公司生產的PCI總線通用接口芯片,采用先進的PLX數據管道結構技術,符合PCIV2.1和V2.2規范。提供2個獨立的可編程DMA控制器,每個通道均支持塊和分散/集中的DMA方式,在PCI總線端支持32位/33 MHz,本地端可以編程實現8、16、32位的數據寬度,傳輸速率最高可達132 MB/s,本地總線端時鐘最高可達50 MHz支持復用/非復用的32位地址數據。
PCI9054提供了PCI、EEPROM、LOCAL總線3個接口。PCI9054作為一種橋接芯片在PCI總線和LOCAL總線之間提供傳遞消息,既可以作為兩個總線的主控設備去控制總線,也可以作為兩個總線的目標設備去響應總線。PCI9054有6個零等待可編程FIFO存儲器,它們分別完成PCI發起讀、寫操作,PCI目標讀、寫操作和DMA讀、寫操作。由于FIFO存儲器的存在,數據可以大量突發傳輸而不丟失。這樣不僅滿足實時性要求,同時可根據用戶的需要采用與PCI時鐘異步的本地頻率。串行EEPROM是用來在開機時初始化配置內部寄存器的。內部寄存器(ItnternalRegis-ters)標識地址映射關系以及PCI端和本地端工作狀態,包括PCI配置寄存器組、Local配置寄存器組、Runtime寄存器組、DMA寄存器組、I2O消息寄存器組。FIFO和內部寄存器在計算機主機或者本地端都是統一編址的,用戶可以從兩端通過編程訪問它們的每一個字節。
2 數據轉換模塊設計實現
數據轉換模塊主要是為了把軟件仿真的數據通過PCI總線DMA傳輸,經緩存、解碼、編碼、驅動等處理轉換成高速串行數據流(LNDS數據流)。本設計中,數據轉換模塊的硬件組成包括:PCI接口芯片PCI9054、FIGA、EEPROM和SRAM。數據轉換模塊設計原理框圖如圖1所示。
評論