基于ADSP-BF537的無線視頻傳輸方案
對DSP而言,DSP通過外部總線連接到SRAM0和SRAM1,這就相當于外擴了兩個外部RAM,DSP可以自由地訪問它們。圖2中的SRAM0,SRAM1分別用于DSP發(fā)送數據和接收數據。SRAM0和SRAM1本身是雙口RAM,可以供DSP和FPGA訪問,就是通過這種共享存儲器的方式完成數據交互。
2.3 軟件系統(tǒng)結構
相關程序是用含有VDK(Visual DSP Kernel)的DSP軟件開發(fā)工具Visual DSP開發(fā)的。VDK是一種帶有API函數庫的實時操作系統(tǒng)內核,它具有任務調度和任務管理功能,一共支持32個任務。VDK是整個軟件的基礎,所有其他的程序都運行在該Kernel上。程序流程圖如圖3所示。
上電或復位后,DSP自啟動后VDK啟動線程lwip_sysboot_threadtype開始運行。在線程lwip_sysboot_threadtype中進行板級初始化和Lwip協(xié)議棧和網口初始化,其中板級初始化包括FPGA初始化,EBIU初始化,MDMA初始化,FLAG初始化。接下來創(chuàng)建下面幾個線程:
(1)數據傳輸:視頻數據傳輸。用于從編碼器獲取編碼后的視頻數據流,并存儲到緩沖區(qū)中。
(2)FPGA中斷:視頻數據發(fā)送中斷;MDMA中斷。
DSP首先通過Socket與視頻服務器連接,從視頻服務器獲取視頻數據,并將數據緩存后按照特定的格式打包,等待FPGA觸發(fā)視頻數據發(fā)送中斷。中斷觸發(fā)后,DSP啟動MDMA將一幀大小的數據發(fā)送給FPGA發(fā)送緩沖區(qū)。當MDMA操作完成后,觸發(fā)MDMA中斷,將幀頭寫入FPGA發(fā)送緩沖區(qū)的頭兩個字節(jié)。FPGA將接收的數據進行基帶算法處理后再將數據發(fā)送給射頻部分,之后FPGA再觸發(fā)視頻數據發(fā)送中斷,告訴DSP可以下一幀的發(fā)送,于是又啟動MDMA,如此循環(huán)。
3 實驗結果和分析
對系統(tǒng)在不同的信噪比的環(huán)境中傳輸的誤碼率進行了測試。測試方法如下:將發(fā)射機的輸出端口通過數據排線與邏輯分析儀相連,邏輯分析儀將采集到的一幀發(fā)射信號送到PC中用Matlab軟件對其加上噪聲,得到信噪比固定的信號。將這個信號導人信號源中進行不間斷循環(huán)發(fā)送給接收端的輸入端口。接收機接收信號進行解調并將解調出的數據傳給PC以統(tǒng)計誤碼率。測試結果如表2所示。
4 結 語
設計了一種無線視頻傳輸系統(tǒng)的方案,并對其中發(fā)射部分的數據通信過程做了詳細闡述。從硬件架構和軟件設計兩方面說明了數據在視頻服務器、DSP和FP-GA之間的傳遞過程。其中ADSP-BF537作控制器,成功完成了動態(tài)配置FPGA和通過網口傳送視頻數據的功能。該方案很好地滿足了大數據量,實時性的數據處理和結構靈活,模塊化設計相結合的要求。同時DSP+FPGA的數字硬件系統(tǒng)開發(fā)周期較短,系統(tǒng)容易維護和擴展,適合實時信號處理,使方案有更廣泛的應用。
評論