軟件無(wú)線(xiàn)電數字中頻接收機通常采用可編程數字下變頻器DDC和DSP的實(shí)現方案。中頻模擬信號通過(guò)A/D數字化,送入DDC混頻、抽取濾波處理,DSP接收到的是DDC輸出的低速零中頻信號,其后的解調、譯碼、信號識別等算法都可以用DSP來(lái)實(shí)現。 1 系統器件的選用 高速DSP具有精度高、靈活性大,可以采用多種性能優(yōu)良的數字信號處理算法,其強大的數據處理能力適用于高速、重復性和數值運算密集型的實(shí)時(shí)處理。本設計選用TI公司的TMS320C6201 DSP,其時(shí)鐘頻率200MHz、最高1 600MIPS的數據處理能力,可以滿(mǎn)足軟件無(wú)線(xiàn)電的零中頻信號處理要求。 由于ADC的高數據率輸出,用DSP進(jìn)行實(shí)時(shí)處理會(huì )有很大壓力。在DSP進(jìn)行運算之前,需要進(jìn)行數字下變頻以降低數據率。設計選用Harris公司的HSP50214B數字下變頻器件, HSP50214B輸入數據為14位,最大輸入速率為65MS/s,支持偏移碼和2的補碼兩種輸入格式。最大抽取因子為2,具備多種輸出格式,包括I/Q通道數據、幅度、相位和頻率輸出等,能夠直接解調AM、FM和QASK等信號,內部有256個(gè)控制字,用戶(hù)可以由此設置載波中心頻率、抽取因子、輸出格式與方式等參數。內部結構如圖1所示。 HSP50214B的輸出方式有三種模式:直接并行輸出、緩沖模式輸出和串行輸出。本設計HSP50214B采用并行直接輸出模式,此模式下,HSP50214B輸出兩組16位的實(shí)時(shí)數據:AOUT(15:0)和BOUT(15:0),AOUT端口可以輸出數據I、幅度和頻率。BOUT端口可以輸出數據Q、相位和幅度。 2 FIFO雙向接口設計 工作過(guò)程:ADC輸出的14bit中頻信號經(jīng)鎖存器輸入到HSP50214B,在HSP50214B中經(jīng)程控的NCO驅動(dòng)混頻器后,混頻得到更低的中頻信號或零中頻信號,該信號經(jīng)積分梳狀濾波器(CIC)和有限沖激響應濾波器(FIR)抽取濾波,最后將得到的信號以所需格式輸出送DSP處理。 如果DDC直接與DSP的外部存儲器接口(EMIF)連接傳輸數據,由于DSP需擴展外部存儲器,與采樣數據輸入共用僅有的一條外部總線(xiàn),CPU要進(jìn)行外部存儲器的訪(fǎng)問(wèn),不允許數據采集始終占用外部總線(xiàn)。另外,如果存儲控制系統不能及時(shí)接收數據,上次采樣的數據會(huì )馬上被下次的數據更新,造成數據丟失。因此DDC與DSP之間需采用高速緩存。 目前常用的緩存有FIFO、SRAM及雙口RAM等。雙口RAM和SRAM存儲量較大,但必須配以復雜的地址發(fā)生器。本設計只需要單向的數據傳輸,對于FIFO芯片,數據順序進(jìn)出,且允許數據以不同的速率寫(xiě)入和讀出,外圍電路簡(jiǎn)單,所以選用TI公司SN74ACT7804 FIFO作為數據緩存,在HSP50214B與DSP之間將兩片FIFO并列,分別緩存HSP50214B輸出的AOUT和BOUT兩路16bit的數據。 TI公司的SN74ACT7804是512×18bit的觸發(fā)式FIOF存儲器,單向數據傳輸,有空(/EMPTY)、滿(mǎn)(/FULL)、半滿(mǎn)(Half-Full)狀態(tài)標志引腳,還有可編程的近滿(mǎn)/近空(Almost-FulL/Almost-Empty)狀態(tài)標志,處理數據的速度可達到50MHz。 2.1 FIFO與DDC接口設計 在設計DDC與FIFO接口時(shí),應仔細考慮DDC及所選中間邏輯器件的時(shí)序和延時(shí)特性,以保證數據的有效傳輸。HSP50214B采用并行直接輸出模式,HSP50214B輸出兩組16位的數據:AOUT(15:0)和BOUT(15:0),信號直接與兩FIFO低16位輸入數據線(xiàn)連接,FIFO輸入時(shí)鐘信號LDCK由HSP50214B的/DATARDY信號提供。當HSP-50214B中的數據在并行數據總線(xiàn)上準備輸出時(shí),/DATARDY引腳會(huì )在PROCCLK時(shí)鐘的第一個(gè)下降沿產(chǎn)生一個(gè)下降沿的電平跳變,并會(huì )持續一個(gè)PROCCLK時(shí)鐘周期的低電平。同時(shí),可用此低電平來(lái)控制并行輸出使能/OEAL、/OEAH、/OEBL和/OEBH。由于FIFO的信號輸入時(shí)鐘LDCK在上升沿時(shí)有效,所以需要將/DATARDY信號反向后供給。 2.2 FIFO與DSP EMIF接口 TMS320C6201的外部存儲器接口(EMIF)是32位接口,HSP50214B的AOUT和BOUT兩路16位分別經(jīng)兩FIFO的低16位與EMIF的 32位接口連接,DSP同時(shí)讀取AOUT和BOUT兩路數據存放于內部存儲器,數據在存儲器中奇偶分離,可以采用32位或16位的訪(fǎng)問(wèn)方式存取數據,這樣充分利用DSP的硬件資源,保證了數據的高速傳輸。由于TMS320C6201只有一個(gè)外部總線(xiàn)接口,FIFO與DSP通過(guò)EMIF相連接,所以必須注意數據采集與連接到外部總線(xiàn)上的其他外部設備或存儲器對使用總線(xiàn)的沖突,要保證沒(méi)有其他外圍設備長(cháng)時(shí)間占用外部總線(xiàn),否則發(fā)生總線(xiàn)使用沖突時(shí)將導致采集數據丟失。 對于讀FIFO的讀操作,這里用到EMIF異步存儲器控制信號:輸出使能(/AOE)和讀使能(/ARE)以及外部空間選擇信號(/CE0)。DDC、FIFO、DSP間的接口電路如圖2所示。從圖2中邏輯關(guān)系可看出,當/AOE與/CEn都有效時(shí),OE有效,片選使能兩個(gè)FIFO。當/CEn和/ARE同時(shí)低電平有效時(shí),UNCK無(wú)效,待讀出的數據在此時(shí)進(jìn)行初始化,隨后ARE會(huì )跳變?yōu)檎娖,使UNCK產(chǎn)生上升沿,FIFO中數據被讀出。圖2中兩個(gè)FIFO的半滿(mǎn)信號HF經(jīng)過(guò)一個(gè)“與”門(mén)連接至DSP外部中斷引腳EXT-INT5。當兩個(gè)FIFO皆達到半滿(mǎn)時(shí)“與”門(mén)輸出由低變高,上升沿觸發(fā)DSP外部中斷EXT-INT5,DSP啟動(dòng)DMA(直接存儲器存。┮酝话l(fā)的方式讀取FIFO數據。FIFO1中數據作為低16位,FIFO2中數據作為高16位,合并為32位數據讀入DSP內部存儲空間。 3 接口時(shí)序 設計中,FIFO采用半滿(mǎn)信號。若FIFO使用滿(mǎn)(/FULL)狀態(tài)信號,則滿(mǎn)(/FULL)狀態(tài)位有效時(shí),觸發(fā)DMA開(kāi)始數據傳輸;如在滿(mǎn)信號和DMA傳輸之間仍有數據出現在數據線(xiàn)上,則因為此時(shí)LDCK對FIFO無(wú)效,待DMA開(kāi)始數據傳輸時(shí)才允許數據寫(xiě)入,所以可能丟失采集數據。本設計中采用半滿(mǎn)(HF)信號作為標志位,在半滿(mǎn)時(shí),開(kāi)始DMA傳輸,不中斷數據寫(xiě)入FIFO。由于A(yíng)DC數據寫(xiě)入FIFO速度小于EMIF讀出速度,所以后續數據不會(huì )覆蓋原來(lái)的有效數據,采樣數據不會(huì )丟失。 EMIF讀FIFO邏輯關(guān)系如下:UNCK=/CE+/ARE,LDCK=/CE+/AWE,OE=/CE+/AOE,讀FIFO時(shí)序如圖3所示。 本設計利用雙FIFO結構實(shí)現DDC與DSP間的32位數據緩沖,保證了數據的高速有效傳輸。FIFO與DSP采用32位的接口方式,DSP EMIF讀取FIFO采用DMA的數據傳輸方式,充分利用了DSP的硬件資源以提高系統實(shí)時(shí)處理能力,能夠滿(mǎn)足軟件無(wú)線(xiàn)電的中頻數字信號處理要求。 |