摘要:介紹了PCI接口的基本功能和特點(diǎn);利用PLX9054接口芯片,結(jié)合雙口RAM和EPLD邏輯電路,實(shí)現(xiàn)了TMS320C6701與PCI總線間的雙向高速實(shí)時(shí)數(shù)據(jù)交換;分析了DSP與SBSRAM接口信號(hào)的完整性,對(duì)PCB設(shè)計(jì)作了仿真分析。
關(guān)鍵詞:PCI DSP 數(shù)字信號(hào)處理
隨著數(shù)字信號(hào)處理器(DSP)及其外圍支持芯片性能的提高,軟件無(wú)線電已經(jīng)得到廣泛應(yīng)用,大大增強(qiáng)了實(shí)時(shí)信號(hào)處理系統(tǒng)的整體性能。但另一方面,隨著ADC和DAC向射頻方向前移,信號(hào)的采樣頻率也相應(yīng)地提高,使得DSP系統(tǒng)數(shù)據(jù)交換的帶寬成倍增長(zhǎng)。傳統(tǒng)數(shù)據(jù)交換接口的瓶頸效應(yīng)日趨明顯,因而相應(yīng)地誕生了一批新的接口標(biāo)準(zhǔn)。PCI接口從1993年提出至今,得到了眾多計(jì)算機(jī)設(shè)備廠商的支持,已經(jīng)在PC機(jī)、工業(yè)控制等相關(guān)領(lǐng)域得到了廣泛的應(yīng)用。
圖1 數(shù)字信號(hào)處理板卡的原理框圖 點(diǎn)擊放大
無(wú)源雷達(dá)是利用非合作的外輻射源發(fā)出的信號(hào)作為探測(cè)信號(hào)(如廣播信號(hào)、電視信號(hào)、GSM手機(jī)基站信號(hào)等),從接收目標(biāo)反射的回波信號(hào)中提取目標(biāo)的方位、速度等參數(shù)的設(shè)備。與傳統(tǒng)的雷達(dá)相比,它是被動(dòng)接收的,因此隱蔽性強(qiáng)。在隱身飛機(jī)出現(xiàn)后,無(wú)源雷達(dá)技術(shù)得到了廣泛的關(guān)注。由于隱身飛機(jī)引入特殊的微波吸收材料,并采用了特別的外形設(shè)計(jì),因而傳統(tǒng)的單基地毫米波雷達(dá)很難發(fā)現(xiàn)它。而無(wú)源雷達(dá)采用的探測(cè)信號(hào)是廣播電視號(hào),由于廣播電視信號(hào)波長(zhǎng)在米波范圍內(nèi),從而使針對(duì)毫米波波長(zhǎng)設(shè)計(jì)的微波吸收材料失去作用;另外,在收發(fā)站的配置上,由于無(wú)源雷達(dá)設(shè)計(jì)為雙站或多站系統(tǒng)工作,因此也破壞了隱身飛機(jī)對(duì)收發(fā)同方向消隱發(fā)射電磁波信號(hào)的設(shè)計(jì)思路;因而無(wú)源雷達(dá)正成為對(duì)抗隱身飛機(jī)的有力武器。本文針對(duì)無(wú)源定位雷達(dá)信號(hào)處理機(jī)的應(yīng)用,利用PCI接口實(shí)現(xiàn)了將DSP處理結(jié)果快速實(shí)時(shí)地傳輸給PC機(jī),由PC機(jī)完成數(shù)據(jù)融合與顯示記錄等功能。
1 基于PCI接口的高速信號(hào)處理板卡的設(shè)計(jì)
圖1是該板卡的原理框圖。無(wú)源雷達(dá)接收機(jī)輸出的中頻(30MHz)窄帶(帶寬為30MHz)窄帶(帶寬為200kHz)正交信號(hào)經(jīng)過(guò)緩沖、濾波后送入A/D變換器AD9051進(jìn)行高速模數(shù)轉(zhuǎn)換。由于采用直接中頻帶通采樣,不但降低了接收機(jī)的復(fù)雜度,而且減小了接收機(jī)的輸出噪聲電平,有利于提高接收機(jī)的靈敏度和動(dòng)態(tài)范圍。采用30MHz的采樣頻率,數(shù)據(jù)流首先進(jìn)入FIFO存儲(chǔ)器IDT72V255中緩存。當(dāng)FIFO充滿時(shí),EPLD(EMP7128)給TMS3206701 DSP一個(gè)外中斷信號(hào),啟動(dòng)DSP的DMA傳輸,將FIFO中的數(shù)據(jù)快速地傳輸?shù)紻SP片外的同步突發(fā)靜態(tài)存儲(chǔ)器(samsung K7A163601M)中。DMA傳輸結(jié)束后,DSP對(duì)采樣的數(shù)據(jù)作時(shí)-空二維相關(guān)處理[1],處理的結(jié)果首先寫(xiě)入雙口RAM(IDT70V25)中。PCI總線與雙口RAM的數(shù)據(jù)交換,采用了郵箱寄存器(Mail Box)的方式進(jìn)行。具體實(shí)現(xiàn)如下:先在雙口RAM中的某一固定的地址定義一個(gè)存儲(chǔ)單元作為雙方通信的“郵箱”,該存儲(chǔ)單元被答作郵箱寄存器。數(shù)據(jù)通信的發(fā)起方先檢查郵箱寄存器是否為空,如果郵箱寄存器是空的,則將數(shù)據(jù)寫(xiě)入雙口RAM中;否則就等待郵箱寄存器為空。數(shù)據(jù)的接收方不斷地查詢郵箱寄存器,如果發(fā)現(xiàn)郵箱寄存器的值為非空,則將雙口RAM中的數(shù)據(jù)讀入,同時(shí)將郵相寄存器置為空值。利用這種方法的優(yōu)點(diǎn)是無(wú)需外加數(shù)據(jù)通信握手信號(hào)和邏輯,就可以直接完成雙向數(shù)據(jù)流的交換,對(duì)通信重復(fù)間隔長(zhǎng)、數(shù)據(jù)塊大的傳輸十分適用。
圖2 EPLD時(shí)序控制的仿真結(jié)果
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è)地址起讀寫(xiě)大量數(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ù)膸捯銐蚋,PCI接口非常適合將高速信號(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 沒(méi)有端接電阻時(shí)的仿真波形 點(diǎn)擊放大
3 EPLD控制時(shí)序的實(shí)現(xiàn)
EPLD選用Altera公司的EMP7128S,用它來(lái)完成ADC采樣控制、FIFO的讀寫(xiě)控制、采樣結(jié)束中斷的產(chǎn)生等功能。采用Altera提供的MAXPLUS II集成開(kāi)發(fā)環(huán)境軟件,它支持VHDL、Verilog HDL和AHDL語(yǔ)言,此外它還支持直接輸入原理圖的方式。本文采用AHDL語(yǔ)言編寫(xiě)。圖2是仿真的時(shí)序圖,其中CLK是輸入的外時(shí)鐘信號(hào),WR是FIFO的寫(xiě)信號(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ù)起才開(kāi)始將A/D變換的結(jié)果存入FIFO中。
圖4 采用正確串行電阻端接時(shí)的仿真波形 點(diǎn)擊放大
4 SBSRAM接口設(shè)計(jì)
SBSRAM即同步突發(fā)靜態(tài)存儲(chǔ)器,其最大的優(yōu)點(diǎn)是讀寫(xiě)速度高、不需要刷新。在步突發(fā)模式下,只要外部器件給出首次訪問(wèn)地址,則在同步時(shí)鐘的上跳沿,
就可以在內(nèi)部產(chǎn)生訪問(wèn)數(shù)據(jù)單元的突發(fā)地址,協(xié)助那些不能快速提供存取地址的控制器加快數(shù)據(jù)訪問(wèn)的速度。由于TMS320C6701的EMIF(擴(kuò)展存儲(chǔ)器接口)可以按SBSRAM的速度提供地址,所以應(yīng)當(dāng)將SBSRAM的突發(fā)模式禁止(/ADV接高電平)。但這一點(diǎn)并不意味著降低讀寫(xiě)性能。事實(shí)上由于DSP在每個(gè)數(shù)據(jù)訪問(wèn)周期都可以連續(xù)地輸出新的地址和控制命令,仍然能實(shí)現(xiàn)突發(fā)模式下的峰值讀寫(xiě)速度。由于對(duì)SBSRAM存取訪問(wèn)的同步時(shí)鐘頻率在80MHz,所以高速數(shù)字信號(hào)在線路板上傳輸?shù)馁|(zhì)量特別重要[2]。