普通PCI接口的高速數(shù)字信號(hào)處理板卡設(shè)計(jì)
2 PCI接口設(shè)計(jì)
1991年下半年,Intel公司首先提出了PCI總線的概念,并聯(lián)合IBM、Compaq、AST、HP、DEC等100多家公司,于1993年推出了PC局部總線標(biāo)準(zhǔn)――PCI總線。PCI是一套整體的系統(tǒng)解決方案,較其它只為加速圖形或視頻操作的局部總線優(yōu)越。PCI局部總線采用32位或64位數(shù)據(jù)總線,以33MHz或66MHz的時(shí)鐘頻率操作,可支持多組外圍部件及附加卡。在33MHz情況下,其數(shù)據(jù)傳送率高達(dá)132MB/s;在66MHz情況下,其數(shù)據(jù)傳送率翻倍。另外,它支持線性突發(fā)的數(shù)據(jù)傳輸模式,可確??偩€不斷滿載數(shù)據(jù)。外圍設(shè)備一般會(huì)由內(nèi)存某個(gè)地址順序接收數(shù)據(jù),這意味著可以由一個(gè)地址起讀寫大量數(shù)據(jù),然后每次只需將地址自動(dòng)加1,便可接收數(shù)據(jù)流下一個(gè)字節(jié)的數(shù)據(jù)。線性突發(fā)傳輸能夠更有效地利用總線的帶寬傳送數(shù)據(jù),以減少無(wú)謂的地址操作。在雷達(dá)信號(hào)處理中,對(duì)信號(hào)的實(shí)時(shí)性要求很高,這就要求信號(hào)傳輸?shù)膸捯銐蚋撸琍CI接口非常適合將高速信號(hào)處理模塊和計(jì)算機(jī)橋接在一起。目前PCI接口的設(shè)計(jì)一般采用兩種方法:其一是采用通用接口芯片完成。常用的芯片有:AMCC公司的S5933,PLX公司的PLX9054等。其二是采用EPLD或FPGA實(shí)現(xiàn)。這種方法可以針對(duì)自身的需要定制一定的功能,因而設(shè)計(jì)靈活性大,但必須嚴(yán)格遵循PCI總線的規(guī)范。采用通用接口芯片完成的好處是設(shè)計(jì)時(shí)可以不用關(guān)心PCI總線操作,只要處理好本地總線接口即可。設(shè)計(jì)簡(jiǎn)單省時(shí)。本文采用PLX9054的C模式完成PCI接口功能。PLX9054有著獨(dú)立的本地總線(Local Bus),由它負(fù)責(zé)對(duì)雙口RAM進(jìn)行訪問(wèn)控制。
3 EPLD控制時(shí)序的實(shí)現(xiàn)
EPLD選用Altera公司的EMP7128S,用它來(lái)完成ADC采樣控制、FIFO的讀寫控制、采樣結(jié)束中斷的產(chǎn)生等功能。采用Altera提供的MAXPLUS II集成開發(fā)環(huán)境軟件,它支持VHDL、Verilog HDL和AHDL語(yǔ)言,此外它還支持直接輸入原理圖的方式。本文采用AHDL語(yǔ)言編寫。圖2是仿真的時(shí)序圖,其中CLK是輸入的外時(shí)鐘信號(hào),WR是FIFO的寫信號(hào),ENCODE是ADC的采樣時(shí)鐘信號(hào),TR是采樣觸發(fā)信號(hào),INT是輸出的中斷信號(hào)。COUNT是數(shù)據(jù)采樣長(zhǎng)度計(jì)數(shù)器,雖然FIFO可以提供全滿、半滿的標(biāo)志位,但僅以此作為中斷的產(chǎn)生條件,就限制了采樣長(zhǎng)度的靈活性。為在應(yīng)用中自定義采樣長(zhǎng)度,實(shí)現(xiàn)對(duì)任意大小的數(shù)據(jù)(最大不超過(guò)FIFO的存儲(chǔ)深度)進(jìn)行采樣,設(shè)計(jì)中引入了采樣長(zhǎng)度計(jì)數(shù)器。只要恰當(dāng)設(shè)置COUNT的計(jì)數(shù)初值(大小為采樣長(zhǎng)度的補(bǔ)碼),使計(jì)數(shù)器溢出時(shí)給出INT中斷信號(hào),就可以實(shí)現(xiàn)此項(xiàng)功能。ADC采用的是AD9051,它采用5級(jí)流水線(Pipeline)結(jié)構(gòu)輸出數(shù)據(jù),所剛啟動(dòng)采樣時(shí),由于流水線未被充滿,前面輸出的5個(gè)數(shù)據(jù)是無(wú)效的,自第6個(gè)數(shù)據(jù)起才開始將A/D變換的結(jié)果存入FIFO中。
評(píng)論