關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于CMOS圖像傳感器OV7720的網(wǎng)絡(luò)攝像機(jī)設(shè)計(jì)

基于CMOS圖像傳感器OV7720的網(wǎng)絡(luò)攝像機(jī)設(shè)計(jì)

作者: 時(shí)間:2011-04-08 來源:網(wǎng)絡(luò) 收藏


2 系統(tǒng)總體
2.1 系統(tǒng)組成

系統(tǒng)總體分為硬件和軟件設(shè)計(jì)兩個(gè)部分。硬件設(shè)計(jì)模塊主要包括微控制器模塊、接口模塊和相機(jī)控制模塊三部分。微控制器模塊主要由主控芯片、DATAFLASH和SDRAM組成,其中主控芯片是整個(gè)系統(tǒng)的核心,負(fù)責(zé)整個(gè)系統(tǒng)的調(diào)度工作。DATAFASH里固化了嵌入式Linux內(nèi)核及其文件系統(tǒng)、應(yīng)用軟件和系統(tǒng)配置文件。SDRAM作為內(nèi)存供系統(tǒng)運(yùn)行使用。接口模塊主要是配合主控芯片傳送MPEG-4碼流。相機(jī)的控制模塊主要是由OV529和芯片組成,通過SCCB(Serial Camera Control Bus)將的視頻流傳送到OV529;OV529通過控制將視頻流轉(zhuǎn)化成MEPG-4碼流,并完成轉(zhuǎn)發(fā)控制相機(jī)命令的功能。當(dāng)系統(tǒng)啟動(dòng)時(shí),微控制器通過SPI將Linux內(nèi)核轉(zhuǎn)入SDRAM中,系統(tǒng)從SDRAM中啟動(dòng)。
軟件設(shè)計(jì)部分主要包括嵌入式Linux移植、CGI控制程序和MEPG-4解碼程序三個(gè)部分。嵌入式Linux系統(tǒng)存放到由AT91SAM7X256控制的DAT-AFLASH中,它負(fù)責(zé)整個(gè)系統(tǒng)軟件的調(diào)度工作。CGI控制程序主要負(fù)責(zé)對(duì)的控制和對(duì)MPEG-4視頻流的相關(guān)設(shè)置。MEPG-4解碼程序主要負(fù)責(zé)對(duì)通過得到的MPEG-4數(shù)據(jù)流的解碼工作。
2.2 SCCB通信規(guī)范
SCCB(Serial Camera Control Bus)是OminiVision公司定義的主從模式串行通信協(xié)議,用于控制該公司系列芯片的內(nèi)部寄存器。該協(xié)議有通信使能信號(hào)SIO_E、時(shí)鐘信號(hào)SIO_C和數(shù)據(jù)信號(hào)SIO_D,在簡(jiǎn)化引腳的封裝中不再提供SIO_E引腳,協(xié)議也變成了兩線串行通信。協(xié)議支持的最高串行通信速率是400 Kb/s,規(guī)定在通信中只能作為SLAVE工作。一SCCBMASTER可以控制1~8個(gè)SLAVE工作,由不同的ID來識(shí)別,在只有一個(gè)SLAVE時(shí)固定SLAVE的ID為42H(寫)和43H(讀)。該協(xié)議符合網(wǎng)絡(luò)CPU的I2C口時(shí)序子集,設(shè)計(jì)中OV529作為SCCB的MASTER,并且只帶1個(gè)SLAVE 。協(xié)議要求數(shù)據(jù)線必須在時(shí)鐘信號(hào)高電平期間穩(wěn)定,在低電平時(shí)更新。協(xié)議支持3字節(jié)寫、2字節(jié)寫和2字節(jié)讀三種傳輸模式。傳輸數(shù)據(jù)時(shí)每個(gè)字節(jié)包括9位串行數(shù)據(jù)位,除了8位數(shù)據(jù),還有第9位不相關(guān)位或NA位,用在有多個(gè)SLAVE的系統(tǒng)來標(biāo)識(shí)通信是否完成。SLAVE可以用兩種方式應(yīng)答該位,一種是正在被寫的SLAVE在收到數(shù)據(jù)后驅(qū)動(dòng)該位為0表示成功;另一種是SLAVE不應(yīng)答該位,這種情況下所有SLAVE的第9位保持懸空。在3字節(jié)寫周期MASTER必須提供子地址,即芯片中寄存器的地址,第3字節(jié)為所寫數(shù)據(jù)。讀周期不提供子地址,但必須由MASTER把數(shù)據(jù)后的NA位(第9位)驅(qū)動(dòng)為高電平。所以在每個(gè)讀周期前必須有3字節(jié)或2字節(jié)寫操作,使SLAVE獲得寄存器地址,其中的2字節(jié)寫周期并沒有寫數(shù)據(jù),它的用途是在讀操作前提供給SLAVE子地址。

3 硬件系統(tǒng)實(shí)現(xiàn)
3.1 微控制器模塊
微控制器模塊是該系統(tǒng)的核心部件,采用Atmel公司的ARM7芯片AT91SAM7X256作為系統(tǒng)的主控芯片。它是一款A(yù)tmel 32位ARM RISC處理器小引腳數(shù)FLASH微處理器,主頻為55 MHz,處理速度快,功能強(qiáng),性價(jià)比高,能很好地滿足嵌入式Linux系統(tǒng)的需求。它在系統(tǒng)中的主要作用是在系統(tǒng)上電時(shí)配置其他芯片的功能寄存器,在正常工作狀態(tài)下調(diào)度整個(gè)系統(tǒng)工作,通過片內(nèi)以太網(wǎng)控制器控制物理層芯片發(fā)送碼流,并通過片內(nèi)的SPI總線實(shí)現(xiàn)對(duì)外圍DATAFLASH和SDRAM的控制。
3.2 網(wǎng)絡(luò)模塊
AT91SAM7X256的在片以太網(wǎng)卡端口與網(wǎng)絡(luò)物理層芯片DM9161E的MII接口通信。發(fā)送數(shù)據(jù)時(shí)首先置發(fā)送使能信號(hào)ETXEN有效。數(shù)據(jù)發(fā)送端ETX0~ETX1與DM9161E的ETX0~ETX1引腳對(duì)應(yīng)連接,作為數(shù)據(jù)發(fā)送通道,以DM9161E的時(shí)鐘信號(hào)REF_CLK發(fā)送數(shù)據(jù)。數(shù)據(jù)接收端ERX0~ERX1與DM9161E的RXD0~RXD1引腳對(duì)應(yīng)連接,作為數(shù)據(jù)接收通道。管理時(shí)鐘信號(hào)EMDC和管理數(shù)據(jù)輸入/輸出信號(hào)EMDIO用于芯片控制參數(shù)的寫入和讀取。DM9161E的MDINTR端用來產(chǎn)生中斷信號(hào)。片內(nèi)以太網(wǎng)卡通過DMA通道進(jìn)行數(shù)據(jù)發(fā)送,不影響AT91SAM7X256的正常運(yùn)行。首先正確設(shè)置傳送控制寄存器和傳送地址寄存器的傳送數(shù)據(jù)塊字節(jié)數(shù)、數(shù)據(jù)塊存儲(chǔ)首地址等參數(shù),隨后依次從指定數(shù)據(jù)存儲(chǔ)區(qū)地址讀取數(shù)據(jù),送入內(nèi)部發(fā)送緩沖器中,由MAC對(duì)數(shù)據(jù)進(jìn)行封裝發(fā)送,同時(shí)記錄已傳送字節(jié)數(shù),直到數(shù)據(jù)塊發(fā)送完畢。當(dāng)發(fā)送完一組數(shù)據(jù)后,發(fā)出DMA中斷請(qǐng)求,由AT91SAM-7X256進(jìn)行相應(yīng)的處理。整個(gè)網(wǎng)絡(luò)子系統(tǒng)電路由AT91SAM7X256控制和調(diào)度。


評(píng)論


相關(guān)推薦

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

關(guān)閉