在通信、雷達等數字信號處理系統的設計中,信號模擬器發揮著至關重要的作用。模擬器用來模擬實際工作過程中信號處理系統的各種輸入信號,從而方便了系統調試。可以利用現有儀器模擬這些信號,也可以設計專門的模擬器。這兩種方法各有特點:儀器模擬省去了模擬器的設計和調試過程,比較方便;但有時現有儀器并不能完全滿足系統測試的要求,另外有些儀器的價格相當昂貴(專用的信道仿真設備一般在24000到500000美元之間)。因此,在信號模擬的方法上應視實際情況而定:對于ADC這樣輸入信號比較簡單的的系統,可以利用任意波形發生器這些測試儀器進行測試;而對需要多輸入或輸入信號種類比較多的系統一般需要設計專用的模擬器。一般來說,能用容易得到儀器完成的信號模擬不需要設計專用模擬器。 近年來,隨著電子技術的飛速發展,DSP、FPGA的性能得到很大提高的同時,其價格也在下降。因而,使DSP、FPGA得到了廣泛的應用。另外,支持即插即用的USB總線技術,可以方便地完成與計算機的連接。本文利用DSP、FPGA完成了一個基于USB總線的可編程信號模擬器,該模擬器可以應用到雷達、通信等領域,尤其是無線個人網(WPAN)方面。 本文首先介紹模擬器所能完成的功能;接下來將對該模擬器的系統結構進行介紹;在第三部分,詳細介紹各部分硬件的功能;在第四部分,介紹各部分軟件結構;最后各該模擬系統的性能指標,以及模擬WPAN信號的方法。 1 模擬器的系統結構和功能 本模擬器的核心處理芯片采用TI的TMS320VC5402,該芯片是一款性價比較高的16bits定點DSP處理器。系統結構如圖1所示。 該模擬器由4個外部接口:USB接口、雙路模擬輸出接口、數字量輸出接口、用戶可編程輸出接口等。其中USB接口負責模擬器與計算機之間的通信,接收PC發送來的命令,向PC發送模擬器狀態等;雙路模擬/數字量輸出接口以不同的方式將模擬結果送出系統;用戶可根據自己的需要編程產生一些自定義數字量/PWM等信號經過用戶可編程接口輸出。該模擬器可以由PC機控制,產生I/Q兩路信號進行模擬和數字量輸出。預留有用戶可編程接口,方便用戶和其它系統進行無縫連接,如:RF模塊等。 2 模擬器硬件組成 2.1 DSP處理器 該模擬器用到2個DSP處理器(TMS320VC5402),其處理能力可達100MIPS。其中DSP1負責控制USB接口芯片,與PC進行通信。并將接收到的數據和命令進行處理后,經FIFO或多緩沖同步串口(McBSP)與DSP2進行通信。DSP2進行最后的處理,產生相應的波形送給FIFO;同時向FPGA發送相應命令。FPGA根據命令控制DAC、及各輸出接口,將波形數據輸出。從而實時產生模擬數據和波形。 TMS320VC5402片內有16Kⅹ16bitsDARAM可以滿足一般系統的處理要求,但考慮到系統擴展,在本系統中預留有外部RAM。該外部RAM可以分配為數據空間或程序空間,進行不同空間的大小擴展。 從系統結構圖中可以看出,模擬器的數據流是單向的。DSP的數據總線為16bits寬,利用兩片8bits異步單向FIFO(IDT72v01)進行寬度擴展,組成一個16bits的單向FIFO進行數據傳輸。可以將數據從DSP1傳送到DSP2,由DSP2傳送到各輸出接口。另外,我們利用兩個DSP的McBSP進行一些關鍵參數、及需要進行雙向傳輸的數據進行通信傳輸。FIFO通信時,將其空/滿標志經過譯碼連接到對應DSP的READY信號上。這樣DSP在進行FIFO讀寫時,不會出現空讀、和漏讀現象。從而可以保證數據傳輸的可靠性和實時性。 2.2 USB總線接口 USB總線是一種通用的計算機串行接口總線標準,可以連接多個設備。USB總線標準目前有:1.0、1.1和2.0多個標準。其中:1.0、1.1標準最高提供12Mbps的傳輸速率;2.0標準最高提供480Mbps的傳輸速率。在該模擬器中,采用1.1標準的USB接口芯片USBN9602/3。 USBN9602/3是美國國家半導體公司生產的一款支持USB1.1標準的接口芯片。該芯片提供多種數據接口方式(8bits并口、并口復用、和MICROWIRE/PLUS),方便與控制器進行連接。相對來說,8bits并口訪問方式,訪問簡單讀取速度比較快。該模擬器利用DSP對USBN9602/3進行控制,其數據線和地址線訪問比較方便,因此采用8bits并口訪問方式。USBN9602/3中斷信號通知DSP進行時間處理。 2.3 可編程邏輯器件 本模擬器中兩個DSP的外圍器件的譯碼由一片CPLD完成。該CPLD根據DSP的PS、DS、IS、MSTROB、IOSTROB、WR、以及地址線譯碼得到外圍器件(USBN9602/3、FIFO、RAM)的片選、讀寫等信號。 輸出接口部分的FPGA負責完成對DAC、及FIFO的控制,產生他們需要的片選、讀寫、時鐘等信號。模擬器中采用alteral公司的FPGA,在該器件中設計了多個PWM輸出控制器、多個數字量輸出控制寄存器。DSP2可以按照訪問USBN9602/3的方式訪問FPGA,對FPGA內部的寄存器進行操作。從而進行PWM和數字量輸出。此外用和還可以根據自己的要求設計相應的功能,以滿足不同用戶的要求。alteral公司的FPGA由多種在線可編程方式,為了方便用戶升級,我們采用8位并行加載方式。用戶生成的下載文件經USB口傳送給DSP1,由DSP1經過其總線下載 導FPGA中。從而減少了利用EPROM、JTAG等其他方式加載時,對硬件進行的EPROM燒寫、插拔等其他操作。對編程時FPGA和模擬器正常使用時一樣,無需對硬件進行操作,做到了完全在線編程。 2.4 DAC模擬輸出 本模擬器采用AD公司的8-Bit雙路發射機用DAC AD9709作為數模轉換芯片。該芯片的最大轉換速率可達125MSPS,可以應用到通信、基站、數字合成、三維超聲等領域。AD9709的數字輸入端有雙路并行、交織輸入兩種模式。我們采用能充分利用數據帶寬的雙路并行輸入方式。AD9709模擬輸出為兩路差分信號,運放AD8041完成差分轉單端。其功能框圖如下: 3 軟件結構 本模擬器的軟件包括DSP和FPGA兩部分。DSP1軟件包括:USB控制,數據接收、處理、傳輸,FPGA配置,DSP2的引導等工作。DSP2軟件相對較少,DSP1送來的數據進行處理,將處理后的數據送到各接口處,并控制各接口的工作狀態。FPGA完成數字、模擬各接口的具體控制。圖3為兩個DSP的程序流程。 圖3 兩個DSP的程序流程 系統引導方式(Bootloader)。TMS320VC5402本身提供多種引導方式:HPI、串行EEPROM、并口、標準串口(McBSP0、McBSP1)、及IO引導方式等。該系統的程序存放在FLASH中,該FLASH由DSP1訪問。因此,DSP1采用并口引導,DSP2采用McBSP0引導。在系統啟動時,首先DSP1從并口將FLASH中的對應程序引導到DSP1的程序存儲空間中,并執行相應程序。接著,DSP1從FLASH中讀取DSP2的程序,將該數據經McBSP口傳送給DSP2的McBSP0,對DSP2進行引導。在兩片DSP引導、及運行過程中,利用BIO和XF引腳進行握手,從而對整個系統的運行進行同步和協調。 DSP1的處理流程如圖3中左圖所示,DSP1完成除了完成上面提到的兩個DSP的引導外。還要完成USB控制、控制FPGA、處理數據、向DSP2傳輸數據。DSP1根據USBN9602/3的中斷信號,讀取USB的狀態,判斷,進行相應的控制(其中自然包括USB的枚舉過程)。兩個DSP之間由BIO和XF引腳進行握手,是并行系統的握手信號,對整個程序的協調執行進行同步。 DSP2根據DSP1發送的命令,對數據進行相應處理,并向FPGA發送控制字,調整FPGA的狀態。由FPGA控制DAC、數字、PWM等接口的工作。 4 應用 綜上所述,該模擬器具有數字模擬輸出接口,可以方便地和PC及進行連接控制。其性能較高,最高輸出帶寬可達50MHz。該模擬器經編程可以滿足雷達、通信等領域應用的要求。下面以其在信道實時仿真中的應用,說明其應用過程。 信道仿真在通信系統設計中必不可少的,因此設計一個WPAN信道實時仿真系統具有一定的實用價值。WPAN有著廣闊的前景,目前802.15.4標準尚未確定,商用設備沒有出現。尚處于開發研制階段,而對于系統性能的調試、測試來說,信道實時仿真至關重要。我們知道,WPAN的數據率一般不大,在Kbps量級,也就是說信道仿真系統的數據吞吐率和數據處理量將不會太大。 該模擬器DSP1通過USB接收PC機發送來的MAC數據,DSP1種的發射機程序完成對數據的編碼調制,產生相應的波形數據;該數據經過FIFO傳送到DSP2,DSP2的信道模型程序模擬WSSUS信道處理數據,并向FPGA發送控制字,調整DAC的工作狀態,經FIFO將波形數據送到模擬和數字輸出接口。另外,用戶自定義接口,模擬用戶的特定的信號,可以和一些其他電路模塊進行連接,以滿足其他需要。例如,連接上RF模塊就可以將波形數據發送到對應的無線信道等等。 5 結論 利用DSP+FPGA完成的模擬器具有良好的實用性和可編程性,適合雷達、通信等不同領域的應用。USB接口,可以利用PC機方便地進行通信和數據分析。多種輸出接口模擬、數字、用戶自定義接口更加擴展了應用領域。 |