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