基于MPEG-4編碼的近距離無線視頻傳輸系統(tǒng)
3 初始化配置及工作流程
(1)初始化配置方式。
1)OV7620配置。OV7620的控制采用SCCB(Serial Camera Control Bus)協(xié)議。它是簡化的I2C協(xié)議,SIO-1是串行時鐘輸入線,SIO-0是串行雙向數(shù)據(jù)線,分別相當于I2C協(xié)議的SCL和SDA。SCCB的總線時序與I2C基本相同。OV7620功能寄存器的地址為0x00~0x7C。通過設(shè)置相應(yīng)的寄存器,可以使OV7620工作于不同模式。
2)ML86410配置。對ML86410進行配置需要對其寄存器進行配置,通過地址生成器產(chǎn)生地址XA0~9,然后通過數(shù)據(jù)總線XD0~15對相應(yīng)寄存器進行寫值。由于無線速率最高為2 Mbit·s-1,所以一定要對Bits Rate Setting Register(0x18C)進行設(shè)置,有可變速率壓縮和固定速率壓縮兩種方式。
3)nRF24L01配置。對nRF24L01進行配置通過對其內(nèi)部的寄存器進行寫值完成,通過SPI總線完成數(shù)據(jù)的寫入。其需要用戶配置的寄存器地址為00~17,共18個8 bit寄存器,當要進行發(fā)送和接收的切換時,同樣要寫入相應(yīng)的寄存器值。
(2)工作流程。
1)開機配置:首先測試無線連接,連接成功后由PC端下傳參數(shù)模式配置命令;下位機接到命令后,由配置參數(shù)配置邏輯解析到參數(shù)模式后,通過控制邏輯對ML86410和OV7620進行初始化配置,成功后即開始視頻采集,失敗發(fā)送錯誤到PC端。
2)視頻無線發(fā)送:視頻采集開始后,視頻流在ML86410的控制下有序進入FPGA緩沖,緩沖采用乒乓緩沖操作,然后數(shù)據(jù)經(jīng)過并串轉(zhuǎn)換,再通過SPI口送入nRF24L01無線發(fā)送。
3)視頻無線接收:nRF24LU1+接收到視頻流后,經(jīng)過緩沖,即送入USB2.0協(xié)議槽通過USB接口傳入PC進行顯示。
4)視頻顯示:PC采用VC++編寫程序調(diào)用Windows自帶的視頻播放器,同時調(diào)入MPEG-4視頻流,解碼后顯示。
4 上位機軟件設(shè)計
上位機采用VC++編寫成熟的視頻監(jiān)控軟件,和通用的視頻監(jiān)控軟件相同,接收來自USB端口的數(shù)據(jù)進行解壓縮顯示即可。效果圖如圖9所示。
5 結(jié)束語
采用具有可靠邏輯功能的FPGA協(xié)調(diào)MPEG-4視頻流到無線數(shù)據(jù)流的轉(zhuǎn)換和發(fā)送,可以保證無線視頻傳輸?shù)男阅?;同時在終端采用帶有無線功能和USB2.0協(xié)議的SOC芯片來實現(xiàn)與PC連接,不僅保證了無線傳輸?shù)目煽啃?,還使得電路小型化,方便使用。測試表明,無線速率低于2 Mbit·s-1時,可以實現(xiàn)無線視頻的可靠傳輸。
評論