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