基于高速率射頻芯片的視頻通信系統介紹
2 DSP的接口設計本文引用地址:http://dyxdggzs.com/article/154687.htm
2.1 DSP與OV9640的接口設計
該芯片使用OmniVision公司自主開(kāi)發(fā)的SCCB總線(xiàn)進(jìn)行控制,使用三線(xiàn)連接。其中SCCB_E為串口允許/禁止信號線(xiàn),SIO_C和SIO_D分別為串口時(shí)鐘線(xiàn)和數據線(xiàn)。系統中僅對OV9640進(jìn)行控制而不需要獲知其狀態(tài),采用DSP的McBSPO端口進(jìn)行連接,其中HD3用于打開(kāi)串口,BCLKX0和HDX0分別用于發(fā)送時(shí)鐘信號和控制數據。具體的硬件連線(xiàn)如圖3所示。

值得注意的是:
?、偈褂肈SP的HPI接口連接OV9640時(shí),為了獲得場(chǎng)頻、行頻和8位視頻輸出等信號,DSP的HPIENA引腳必須下拉,使得HD[7:0]能配置為通用I/o接口,才能實(shí)現對OV9640的啟?;蚬ぷ髂J娇刂?。
?、谕ㄟ^(guò)修改OV9640的寄存器COMC,將輸出大小設定為1280×960或者QQVGA。
?、坌薷募拇嫫鰿OMH,將輸出格式設定為8位的RGB格式,并設定為Master方式。
?、蹻REX為連續幀模式的允許/禁止信號,但默認為禁止。應配置DSP的HD4引腳,將其電平拉高,然后再用HD3將EXPSTB引腳置高以實(shí)現連續幀的數據輸出;將FREX置低即可返回到(單幀)拍攝模式。
?、萦嬎銛祿鬏斅?。該芯片輸出并行8位圖像信號以及場(chǎng)頻、行頻同步信號,視頻中的l幀圖像(160×120)的大小是:
160×120×8=153600位/幀
如果以nRF24L01最大的發(fā)送速度2Mbps計算,則每秒可發(fā)送
2000000/153600≈13幀
即本系統能以160×120(@13 fps)的速度傳輸視頻信號。
?、掭敵鰯祿牟⒁淮D換。
OV9640輸出8位并行數據,而nRF24L01為串行接口,因而需要將并行數據串行化。8位并行數據格式為HREF、Bll、G2l、B22、G12……,HREF、G21、R22、G23、R24……。通過(guò)編程約定發(fā)送端與接收端的時(shí)序,可將從HD[2:0]得到的PCLK、HREF和VSYNC信號略去而無(wú)須計入無(wú)線(xiàn)傳輸之列。所以串行化時(shí),將每次從D[7:O]讀入的8位數據由高位到低位依次按順序放進(jìn)SDRAM緩沖中,再傳給nRF24LOl發(fā)送出去即可。
2.2 DSP與nRF24L01的接口設計
2.2.1 設計要點(diǎn)
DSP使用McBSPl與該芯片直接連接。其中CSN為SPI片選引腳,低電平有效,用DSP的XF引腳與CSN引腳連接;CE為收發(fā)模式選擇引腳,用HD7進(jìn)行高低電平控制。其他引腳的連線(xiàn)如圖3所示。在編程時(shí)需要注意:
?、倜看瓮ㄟ^(guò)SPI向nRF24L01發(fā)送指令前,必須使CSN得到一次由高到低的電平跳
變,即每次執行指令后,都要將CSN置高才能繼續發(fā)送下一條指令。
?、趎RF24L01的SPI為下降沿鎖存數據,故應將McBSPl配置成“有延時(shí)的下降沿”。
?、跧RQ引腳為低電平有效,每次產(chǎn)生到DSP的中斷必須寫(xiě)“l”來(lái)清除。
?、苋舭l(fā)送端需要接收應答,則應當配置數據通道O來(lái)接收應答信號,且接收地址(RX_ADDR_PO)應當與發(fā)送地址(TX_ADDR)一致。
?、菪酒仨毥?jīng)過(guò)Standby模式才能進(jìn)入TX或RX模式,故在TX和RX模式之間切換時(shí)應先將CE拉低以進(jìn)入Standby模式。
?、迣?xiě)寄存器的指令只能在Powerdown或Standby模式下執行,故在修改寄存器值前也應當將CE拉低。
?、咭韵碌?.2.2和2.2.3均未開(kāi)啟AACK和ART功能。因為系統在連續視頻流方式運行時(shí),只要求得到高數據傳輸率以滿(mǎn)足實(shí)時(shí)性,而并不需要糾錯重發(fā)。但在拍攝方式下,則應該打開(kāi)這兩項功能,以確保圖像數據的完整性。
2.2.2 ESB發(fā)送數據
?、賹⑴渲梦籔RIM_RX置低;
?、诒3諧SN為低電平,送入接收端的地址(TX_ADDR)和數據(TX_PLD);
?、蹖E置高,開(kāi)啟數據發(fā)送;
?、軘祿l(fā)送完畢,產(chǎn)生TX_DS中斷;
?、軨E置低,可進(jìn)入Standby模式。
2.2.3 ESB接收數據
?、倥渲梦籔RIM_RX置高,CE置高,則130μs后,nRF24L01開(kāi)始監聽(tīng)空中信號;
?、谑盏胶戏ǖ臄祿驲X_DR產(chǎn)生中斷;
?、蹱顟B(tài)寄存器中的RX_P_NO記錄所接收的數據通道;
?、蹸E置低可進(jìn)入Standby模式;
?、軲CU通過(guò)SPI得到數據。
2.2.4 部分程序示例
(1)寫(xiě)nRF24L01寄存器

評論