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