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