新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 數字無線實時視頻通信和拍攝系統

        數字無線實時視頻通信和拍攝系統

        作者: 時間:2010-09-03 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/157130.htm

          2 DSP的接口設計

          2.1 DSP與OV9640的接口設計

          該芯片使用OmniVision公司自主開發的SCCB總線進行控制,使用三線連接。其中SCCB_E為串口允許/禁止信號線,SIO_C和SIO_D分別為串口時鐘線和數據線。中僅對OV9640進行控制而不需要獲知其狀態,采用DSP的McBSPO端口進行連接,其中HD3用于打開串口,BCLKX0和HDX0分別用于發送時鐘信號和控制數據。具體的硬件連線如圖3所示。

          

          值得注意的是:

          ①使用DSP的HPI接口連接OV9640時,為了獲得場頻、行頻和8位輸出等信號,DSP的HPIENA引腳必須下拉,使得HD[7:0]能配置為通用I/o接口,才能實現對OV9640的啟停或工作模式控制。

          ②通過修改OV9640的寄存器COMC,將輸出大小設定為1280×960或者QQVGA。

          ③修改寄存器COMH,將輸出格式設定為8位的RGB格式,并設定為Master方式。

          ④FREX為連續幀模式的允許/禁止信號,但默認為禁止。應配置DSP的HD4引腳,將其電平拉高,然后再用HD3將EXPSTB引腳置高以實現連續幀的數據輸出;將FREX置低即可返回到(單幀)模式。

          ⑤計算數據傳輸率。該芯片輸出并行8位圖像信號以及場頻、行頻同步信號,中的l幀圖像(160×120)的大小是:

          160×120×8=153600位/幀

          如果以nRF24L01最大的發送速度2Mbps計算,則每秒可發送

          2000000/153600≈13幀

          即本能以160×120(@13 fps)的速度傳輸信號。

          ⑥輸出數據的并一串轉換。

          OV9640輸出8位并行數據,而nRF24L01為串行接口,因而需要將并行數據串行化。8位并行數據格式為HREF、Bll、G2l、B22、G12……,HREF、G21、R22、G23、R24……。通過編程約定發送端與接收端的時序,可將從HD[2:0]得到的PCLK、HREF和VSYNC信號略去而無須計入傳輸之列。所以串行化時,將每次從D[7:O]讀入的8位數據由高位到低位依次按順序放進SDRAM緩沖中,再傳給nRF24LOl發送出去即可。

          2.2 DSP與nRF24L01的接口設計

          2.2.1 設計要點

          DSP使用McBSPl與該芯片直接連接。其中CSN為SPI片選引腳,低電平有效,用DSP的XF引腳與CSN引腳連接;CE為收發模式選擇引腳,用HD7進行高低電平控制。其他引腳的連線如圖3所示。在編程時需要注意:

          ①每次通過SPI向nRF24L01發送指令前,必須使CSN得到一次由高到低的電平跳

          變,即每次執行指令后,都要將CSN置高才能繼續發送下一條指令。

          ②nRF24L01的SPI為下降沿鎖存數據,故應將McBSPl配置成“有延時的下降沿”。

          ③IRQ引腳為低電平有效,每次產生到DSP的中斷必須寫“l”來清除。

          ④若發送端需要接收應答,則應當配置數據通道O來接收應答信號,且接收地址(RX_ADDR_PO)應當與發送地址(TX_ADDR)一致。

          ⑤芯片必須經過Standby模式才能進入TX或RX模式,故在TX和RX模式之間切換時應先將CE拉低以進入Standby模式。

          ⑥寫寄存器的指令只能在Powerdown或Standby模式下執行,故在修改寄存器值前也應當將CE拉低。

          ⑦以下的2.2.2和2.2.3均未開啟AACK和ART功能。因為在連續視頻流方式運行時,只要求得到高數據傳輸率以滿足性,而并不需要糾錯重發。但在方式下,則應該打開這兩項功能,以確保圖像數據的完整性。

          2.2.2 ESB發送數據

          ①將配置位PRIM_RX置低;

          ②保持CSN為低電平,送入接收端的地址(TX_ADDR)和數據(TX_PLD);

          ③將CE置高,開啟數據發送;

          ④數據發送完畢,產生TX_DS中斷;

          ⑤CE置低,可進入Standby模式。

          2.2.3 ESB接收數據

          ①配置位PRIM_RX置高,CE置高,則130μs后,nRF24L01開始監聽空中信號;

          ②收到合法的數據包后RX_DR產生中斷;

          ③狀態寄存器中的RX_P_NO記錄所接收的數據通道;

          ④CE置低可進入Standby模式;

          ⑤MCU通過SPI得到數據。

          2.2.4 部分程序示例

          (1)寫nRF24L01寄存器

          

        無線實時的QQVGA視頻和拍攝系統設計

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 舟山市| 莱阳市| 黄大仙区| 武强县| 伽师县| 定南县| 临猗县| 广水市| 柘荣县| 宿迁市| 乡城县| 凤台县| 河北区| 三亚市| 丹寨县| 稻城县| 宜川县| 专栏| 即墨市| 扶风县| 泽库县| 黄龙县| 凯里市| 县级市| 大洼县| 玉树县| 阳西县| 霞浦县| 大厂| 廉江市| 玉田县| 蓝山县| 疏附县| 会同县| 苗栗市| 婺源县| 奉节县| 贵定县| 吐鲁番市| 嘉定区| 霍山县|