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