基于ADSP-BF537的無線視頻傳輸方案
2.1 硬件平臺
ADSP是ADI(Analog Device Inc.)公司推出的一系列高性能低功耗DSP芯片,而基于Blackfin處理器的ADSP-BF537具有接口豐富,性能優良,價格低廉等特點,并具有強大的多媒體數據處理能力。Blackfin處理器集成了一個由ADI公司和Intel公司聯合開發的基于MSA(Micro Signal Architecture)的16/32位嵌入式處理器,支持32位RISC指令集,采用10級流水線,集成了兩個16位乘法加速器,內核主頻最高可以達到600 MHz。ADSF-BF537總線有一個以DMA控制器為中心的高速自主數據通道。DMA總線可以在存儲器之間、存儲器和外部接口之間快速地傳遞數據,并且可以和內核并行操作。ADSP的集成開發環境Visual DSP++中嵌入了實時操作系統內核VDK,適合多任務多線程的嵌入式操作。ADI還提供了一個用于Blackfin系列嵌入式處理器的輕量級TCP/IP(LwIP)協議棧端口,可以快速將一個獨立的嵌入式應用聯網。
2.2 硬件系統架構
DSP與視頻服務器采用輕量級TCP/IP(LwIP)交互數據,這里不過多介紹。主要介紹DSP與FPGA連接。由于FPGA基于SRAM工藝,掉電后數據會丟失。采用的方法是將作用于FPGA的通信基帶算法文件存儲在DSP的FLASH中。一般調試時,DSP及FPGA都需要從PC機通過JTAG口進行程序的下載。但當系統程序已經調試完畢,當需要到戶外進行測試或作為產品使用時,針對系統調試的方便性,采用DSP自啟動及配置FPGA部分。
ADI公司的ADSP-BF537上電后啟動方式一共有7種。本設計中采用的DSP上電從16位FLASH啟動,啟動程序采用Analog公司提供的燒寫啟動FLASH的程序。第一次上電時,利用JTAG,結合ADSP自帶工具“FLASH Programmer”將寫好的DSP程序燒入FLASH中。并且將FPGA的配置文件(.bit格式)讀到緩存,通過DSP燒寫到FLASH的Bankl和Bank2中,把Bank0用來做DSP自啟動。斷電復位后,啟動過程如下:
(1)BF537從FLASH引導啟動,完成DSP板級初始化。
(2)FPGA的配置文件動態加載到FPGA中。
(3)用DSP的GPIO端口對FPGA的時鐘和數據配置專用引腳進行模擬時序,即完成對FPGA的動態配置。
在啟動過程完成后,DSP與視頻服務器進行Sock-et連接,接收壓縮的視頻碼流,并送到FPGA進行基帶部分的處理。DSP與FPGA的接口部分如圖2所示。
圖2中DSP通過自身的外部總線與FPGA相連,FPGA內部實現了兩個2 KB的異步存儲器SRAM0,SRAM1,對存儲器的訪問滿足DSP外部總線的時序要求。圖2中接口連線含義如表1所示。
評論