《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 基于FIFO的DDC與DSP高速數(shù)據(jù)傳輸實(shí)現(xiàn)

基于FIFO的DDC與DSP高速數(shù)據(jù)傳輸實(shí)現(xiàn)

2008-12-03
作者:吳 杰,周 剛

  摘 要: 基于DDC和DSP的軟件無線電" title="軟件無線電">軟件無線電中頻信號(hào)處理方案,。詳細(xì)闡述了利用FIFO實(shí)現(xiàn)的DDC與DSP間數(shù)據(jù)傳輸?shù)碾娐方Y(jié)構(gòu),;分析了數(shù)據(jù)傳輸方式,F(xiàn)IFO數(shù)據(jù)的讀寫時(shí)序以及DSP EMIF的具體設(shè)置,;根據(jù)硬件結(jié)構(gòu)特點(diǎn)提出了設(shè)計(jì)中需要注意的問題,。
  關(guān)鍵詞: FIFO;DDC,;DSP

?

  軟件無線電數(shù)字中頻接收機(jī)通常采用可編程數(shù)字下變頻器DDC和DSP的實(shí)現(xiàn)方案,。中頻模擬信號(hào)通過A/D數(shù)字化,送入DDC混頻,、抽取濾波處理,,DSP接收到的是DDC輸出的低速零中頻" title="零中頻">零中頻信號(hào),其后的解調(diào),、譯碼,、信號(hào)識(shí)別等算法都可以用DSP來實(shí)現(xiàn)。
1 系統(tǒng)器件的選用
  高速DSP具有精度高,、靈活性大,可以采用多種性能優(yōu)良的數(shù)字信號(hào)處理算法,,其強(qiáng)大的數(shù)據(jù)處理能力" title="處理能力">處理能力適用于高速,、重復(fù)性和數(shù)值運(yùn)算密集型的實(shí)時(shí)處理。本設(shè)計(jì)選用TI公司的TMS320C6201 DSP,,其時(shí)鐘頻率200MHz,、最高1 600MIPS的數(shù)據(jù)處理能力,,可以滿足軟件無線電的零中頻信號(hào)處理要求。
  由于ADC的高數(shù)據(jù)率輸出,,用DSP進(jìn)行實(shí)時(shí)處理會(huì)有很大壓力,。在DSP進(jìn)行運(yùn)算之前,需要進(jìn)行數(shù)字下變頻以降低數(shù)據(jù)率,。設(shè)計(jì)選用Harris公司的HSP50214B數(shù)字下變頻器件,, HSP50214B輸入數(shù)據(jù)為14位,最大輸入速率為65MS/s,,支持偏移碼和2的補(bǔ)碼兩種輸入格式,。最大抽取因子為2,具備多種輸出格式,,包括I/Q通道數(shù)據(jù),、幅度、相位和頻率輸出等,,能夠直接解調(diào)AM,、FM和QASK等信號(hào),內(nèi)部有256個(gè)控制字,,用戶可以由此設(shè)置載波中心頻率,、抽取因子、輸出格式與方式等參數(shù),。內(nèi)部結(jié)構(gòu)如圖1所示,。

?


  HSP50214B的輸出方式有三種模式:直接并行輸出、緩沖模式輸出和串行輸出,。本設(shè)計(jì)HSP50214B采用并行直接輸出模式,,此模式下,HSP50214B輸出兩組16位的實(shí)時(shí)數(shù)據(jù):AOUT(15:0)和BOUT(15:0),,AOUT端口可以輸出數(shù)據(jù)I,、幅度和頻率。BOUT端口可以輸出數(shù)據(jù)Q,、相位和幅度,。
2 FIFO雙向接口設(shè)計(jì)
  工作過程:ADC輸出的14bit中頻信號(hào)經(jīng)鎖存器輸入到HSP50214B,在HSP50214B中經(jīng)程控的NCO驅(qū)動(dòng)混頻器后,,混頻得到更低的中頻信號(hào)或零中頻信號(hào),,該信號(hào)經(jīng)積分梳狀濾波器(CIC)和有限沖激響應(yīng)濾波器(FIR)抽取濾波,最后將得到的信號(hào)以所需格式輸出送DSP處理,。
  如果DDC直接與DSP的外部存儲(chǔ)器接口(EMIF)連接傳輸數(shù)據(jù),,由于DSP需擴(kuò)展外部存儲(chǔ)器,與采樣數(shù)據(jù)" title="采樣數(shù)據(jù)">采樣數(shù)據(jù)輸入共用僅有的一條外部總線,,CPU要進(jìn)行外部存儲(chǔ)器的訪問,,不允許數(shù)據(jù)采集始終占用外部總線,。另外,如果存儲(chǔ)控制系統(tǒng)不能及時(shí)接收數(shù)據(jù),,上次采樣的數(shù)據(jù)會(huì)馬上被下次的數(shù)據(jù)更新,,造成數(shù)據(jù)丟失。因此DDC與DSP之間需采用高速緩存,。
  目前常用的緩存有FIFO,、SRAM及雙口RAM等。雙口RAM和SRAM存儲(chǔ)量較大,,但必須配以復(fù)雜的地址發(fā)生器,。本設(shè)計(jì)只需要單向的數(shù)據(jù)傳輸,對于FIFO芯片,,數(shù)據(jù)順序進(jìn)出,,且允許數(shù)據(jù)以不同的速率寫入和讀出,外圍電路簡單,,所以選用TI公司SN74ACT7804 FIFO作為數(shù)據(jù)緩存,,在HSP50214B與DSP之間將兩片F(xiàn)IFO并列,分別緩存HSP50214B輸出的AOUT和BOUT兩路16bit的數(shù)據(jù),。
  TI公司的SN74ACT7804是512×18bit的觸發(fā)式FIOF存儲(chǔ)器,,單向數(shù)據(jù)傳輸,有空(/EMPTY),、滿(/FULL),、半滿(Half-Full)狀態(tài)標(biāo)志引腳,還有可編程的近滿/近空(Almost-FulL/Almost-Empty)狀態(tài)標(biāo)志,,處理數(shù)據(jù)的速度可達(dá)到50MHz,。
2.1 FIFO與DDC接口設(shè)計(jì)
  在設(shè)計(jì)DDC與FIFO接口時(shí),應(yīng)仔細(xì)考慮DDC及所選中間邏輯器件的時(shí)序和延時(shí)特性,,以保證數(shù)據(jù)的有效傳輸,。HSP50214B采用并行直接輸出模式,HSP50214B輸出兩組16位的數(shù)據(jù):AOUT(15:0)和BOUT(15:0),,信號(hào)直接與兩FIFO低16位輸入數(shù)據(jù)線連接,,F(xiàn)IFO輸入時(shí)鐘信號(hào)LDCK由HSP50214B的/DATARDY信號(hào)提供。當(dāng)HSP-50214B中的數(shù)據(jù)在并行數(shù)據(jù)總線上準(zhǔn)備輸出時(shí),,/DATARDY引腳會(huì)在PROCCLK時(shí)鐘的第一個(gè)下降沿產(chǎn)生一個(gè)下降沿的電平跳變,,并會(huì)持續(xù)一個(gè)PROCCLK時(shí)鐘周期的低電平。同時(shí),,可用此低電平來控制并行輸出使能/OEAL,、/OEAH、/OEBL和/OEBH。由于FIFO的信號(hào)輸入時(shí)鐘LDCK在上升沿" title="上升沿">上升沿時(shí)有效,,所以需要將/DATARDY信號(hào)反向后供給。
2.2 FIFO與DSP EMIF接口
  TMS320C6201的外部存儲(chǔ)器接口(EMIF)是32位接口,,HSP50214B的AOUT和BOUT兩路16位分別經(jīng)兩FIFO的低16位與EMIF的 32位接口連接,,DSP同時(shí)讀取AOUT和BOUT兩路數(shù)據(jù)存放于內(nèi)部存儲(chǔ)器,數(shù)據(jù)在存儲(chǔ)器中奇偶分離,,可以采用32位或16位的訪問方式存取數(shù)據(jù),,這樣充分利用DSP的硬件資源,保證了數(shù)據(jù)的高速傳輸,。由于TMS320C6201只有一個(gè)外部總線接口,,F(xiàn)IFO與DSP通過EMIF相連接,所以必須注意數(shù)據(jù)采集與連接到外部總線上的其他外部設(shè)備或存儲(chǔ)器對使用總線的沖突,,要保證沒有其他外圍設(shè)備長時(shí)間占用外部總線,,否則發(fā)生總線使用沖突時(shí)將導(dǎo)致采集數(shù)據(jù)丟失。
  對于讀FIFO的讀操作,,這里用到EMIF異步存儲(chǔ)器控制信號(hào):輸出使能(/AOE)和讀使能(/ARE)以及外部空間選擇信號(hào)(/CE0),。DDC、FIFO,、DSP間的接口電路如圖2所示,。從圖2中邏輯關(guān)系可看出,當(dāng)/AOE與/CEn都有效時(shí),,OE有效,,片選使能兩個(gè)FIFO。當(dāng)/CEn和/ARE同時(shí)低電平有效時(shí),,UNCK無效,,待讀出的數(shù)據(jù)在此時(shí)進(jìn)行初始化,隨后ARE會(huì)跳變?yōu)檎娖?,使UNCK產(chǎn)生上升沿,,F(xiàn)IFO中數(shù)據(jù)被讀出。圖2中兩個(gè)FIFO的半滿信號(hào)HF經(jīng)過一個(gè)“與”門連接至DSP外部中斷引腳EXT-INT5,。當(dāng)兩個(gè)FIFO皆達(dá)到半滿時(shí)“與”門輸出由低變高,,上升沿觸發(fā)DSP外部中斷EXT-INT5,DSP啟動(dòng)DMA(直接存儲(chǔ)器存?。┮酝话l(fā)的方式讀取FIFO數(shù)據(jù),。FIFO1中數(shù)據(jù)作為低16位,F(xiàn)IFO2中數(shù)據(jù)作為高16位,,合并為32位數(shù)據(jù)讀入DSP內(nèi)部存儲(chǔ)空間,。

?


3 接口時(shí)序
  設(shè)計(jì)中,F(xiàn)IFO采用半滿信號(hào)。若FIFO使用滿(/FULL)狀態(tài)信號(hào),,則滿(/FULL)狀態(tài)位有效時(shí),,觸發(fā)DMA開始數(shù)據(jù)傳輸;如在滿信號(hào)和DMA傳輸之間仍有數(shù)據(jù)出現(xiàn)在數(shù)據(jù)線上,,則因?yàn)榇藭r(shí)LDCK對FIFO無效,,待DMA開始數(shù)據(jù)傳輸時(shí)才允許數(shù)據(jù)寫入,所以可能丟失采集數(shù)據(jù)。本設(shè)計(jì)中采用半滿(HF)信號(hào)作為標(biāo)志位,,在半滿時(shí),,開始DMA傳輸,不中斷數(shù)據(jù)寫入FIFO,。由于ADC數(shù)據(jù)寫入FIFO速度小于EMIF讀出速度,,所以后續(xù)數(shù)據(jù)不會(huì)覆蓋原來的有效數(shù)據(jù),采樣數(shù)據(jù)不會(huì)丟失,。
  EMIF讀FIFO邏輯關(guān)系如下:UNCK=/CE+/ARE,,LDCK=/CE+/AWE,OE=/CE+/AOE,,讀FIFO時(shí)序如圖3所示,。

?


  本設(shè)計(jì)利用雙FIFO結(jié)構(gòu)實(shí)現(xiàn)DDC與DSP間的32位數(shù)據(jù)緩沖,保證了數(shù)據(jù)的高速有效傳輸,。FIFO與DSP采用32位的接口方式,,DSP EMIF讀取FIFO采用DMA的數(shù)據(jù)傳輸方式,充分利用了DSP的硬件資源以提高系統(tǒng)實(shí)時(shí)處理能力,,能夠滿足軟件無線電的中頻數(shù)字信號(hào)處理要求,。


參考文獻(xiàn)
[1] 胡延平.軍用軟件無線電偵聽接收機(jī)設(shè)計(jì)與實(shí)現(xiàn)及其關(guān)鍵技術(shù)研究[D].長沙:國防科技大學(xué),2001.
[2] 成建暉.未來移動(dòng)通信的軟件無線電實(shí)現(xiàn)的研究[D].浙江:浙江大學(xué),,2002.
[3] 孫海善.基于DSP的雷達(dá)視頻信號(hào)數(shù)字采集與檢測[J].單片機(jī)與嵌入式系統(tǒng),,2005,(6):17-20.
[4] 軟件無線電設(shè)計(jì)ASIC,、FPGA和DSP的選擇策略.http://www.lekocorp.com/SDR.htm.
[5] 李方慧,,王飛,何佩琨.TMS320C6000系列DSP原理與應(yīng)用[M].[第二版] .北京:電子工業(yè)出版社,,2003.
[6] 李瑞娥.基于軟件無線電的中頻欠采樣接收系統(tǒng)設(shè)計(jì)[D].四川:西南科技大學(xué),,2005.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]