新聞中心

        EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 數(shù)字無線實(shí)時(shí)視頻通信和拍攝系統(tǒng)

        數(shù)字無線實(shí)時(shí)視頻通信和拍攝系統(tǒng)

        作者: 時(shí)間:2010-09-03 來源:網(wǎng)絡(luò) 收藏

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

          2 DSP的接口設(shè)計(jì)

          2.1 DSP與OV9640的接口設(shè)計(jì)

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

          

          值得注意的是:

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

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

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

          ④FREX為連續(xù)幀模式的允許/禁止信號(hào),但默認(rèn)為禁止。應(yīng)配置DSP的HD4引腳,將其電平拉高,然后再用HD3將EXPSTB引腳置高以實(shí)現(xiàn)連續(xù)幀的數(shù)據(jù)輸出;將FREX置低即可返回到(單幀)模式。

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

          160×120×8=153600位/幀

          如果以nRF24L01最大的發(fā)送速度2Mbps計(jì)算,則每秒可發(fā)送

          2000000/153600≈13幀

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

          ⑥輸出數(shù)據(jù)的并一串轉(zhuǎn)換。

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

          2.2 DSP與nRF24L01的接口設(shè)計(jì)

          2.2.1 設(shè)計(jì)要點(diǎn)

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

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

          變,即每次執(zhí)行指令后,都要將CSN置高才能繼續(xù)發(fā)送下一條指令。

          ②nRF24L01的SPI為下降沿鎖存數(shù)據(jù),故應(yīng)將McBSPl配置成“有延時(shí)的下降沿”。

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

          ④若發(fā)送端需要接收應(yīng)答,則應(yīng)當(dāng)配置數(shù)據(jù)通道O來接收應(yīng)答信號(hào),且接收地址(RX_ADDR_PO)應(yīng)當(dāng)與發(fā)送地址(TX_ADDR)一致。

          ⑤芯片必須經(jīng)過Standby模式才能進(jìn)入TX或RX模式,故在TX和RX模式之間切換時(shí)應(yīng)先將CE拉低以進(jìn)入Standby模式。

          ⑥寫寄存器的指令只能在Powerdown或Standby模式下執(zhí)行,故在修改寄存器值前也應(yīng)當(dāng)將CE拉低。

          ⑦以下的2.2.2和2.2.3均未開啟AACK和ART功能。因?yàn)?a class="contentlabel" href="http://www.104case.com/news/listbylabel/label/系統(tǒng)">系統(tǒng)在連續(xù)視頻流方式運(yùn)行時(shí),只要求得到高數(shù)據(jù)傳輸率以滿足性,而并不需要糾錯(cuò)重發(fā)。但在方式下,則應(yīng)該打開這兩項(xiàng)功能,以確保圖像數(shù)據(jù)的完整性。

          2.2.2 ESB發(fā)送數(shù)據(jù)

          ①將配置位PRIM_RX置低;

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

          ③將CE置高,開啟數(shù)據(jù)發(fā)送;

          ④數(shù)據(jù)發(fā)送完畢,產(chǎn)生TX_DS中斷;

          ⑤CE置低,可進(jìn)入Standby模式。

          2.2.3 ESB接收數(shù)據(jù)

          ①配置位PRIM_RX置高,CE置高,則130μs后,nRF24L01開始監(jiān)聽空中信號(hào);

          ②收到合法的數(shù)據(jù)包后RX_DR產(chǎn)生中斷;

          ③狀態(tài)寄存器中的RX_P_NO記錄所接收的數(shù)據(jù)通道;

          ④CE置低可進(jìn)入Standby模式;

          ⑤MCU通過SPI得到數(shù)據(jù)。

          2.2.4 部分程序示例

          (1)寫nRF24L01寄存器

          

        無線實(shí)時(shí)的QQVGA視頻和拍攝系統(tǒng)設(shè)計(jì)

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 周至县| 宁化县| 稻城县| 多伦县| 武定县| 大洼县| 井冈山市| 无锡市| 阿荣旗| 错那县| 泰兴市| 武宣县| 合山市| 尉氏县| 富宁县| 马公市| 青川县| 保山市| 揭阳市| 舒城县| 阿荣旗| 西乡县| 南昌市| 吉安市| 巍山| 伊通| 佛山市| 济源市| 洪洞县| 平谷区| 玉环县| 江口县| 高淳县| 茌平县| 西和县| 横山县| 西城区| 锡林郭勒盟| 淳化县| 庄浪县| 金沙县|