- 相關(guān)推薦
利用USB2.0單片機(jī)實(shí)現(xiàn)全數(shù)字圖像的實(shí)時(shí)采集
摘要:主要論述利用USB2.0單片機(jī)接口技術(shù)實(shí)現(xiàn)高分辨率(640×480點(diǎn)陣以上)、快速(24幀/s以上)全數(shù)字圖像的實(shí)時(shí)采集、傳輸?shù)脑怼⒎椒ê拖到y(tǒng)實(shí)現(xiàn),以及相應(yīng)的固件程序設(shè)計(jì)。關(guān)鍵詞:USB2.0接口技術(shù)數(shù)字圖像單片機(jī)
引言
傳統(tǒng)的方法是用視頻采集卡(如1394)對(duì)視頻信號(hào)進(jìn)行采集,利用相應(yīng)的軟件傳給PC機(jī),既不方便,也不經(jīng)濟(jì)。本文介紹一種利用Cypress公司2002年發(fā)布的世界上第一塊帶有USB2.0接口的芯片CY7C68013與PC機(jī)(主板為支持USB2.0的華碩主板PB533)實(shí)現(xiàn)了高分辨率(640×480點(diǎn)陣以上)、快速(24幀/s以上)、全數(shù)字圖像的實(shí)時(shí)采集系統(tǒng)。
1數(shù)字圖像的實(shí)時(shí)采集原理
數(shù)字圖像的實(shí)時(shí)采集原理如圖1所示。在圖1中,以O(shè)mnivisiontechnologies公司的OV7620/7120芯片作為圖像采集芯片,其主要特點(diǎn)是該芯片可提供0.5——30幀/s,640×480像素點(diǎn)陣CMOS的彩色或黑白數(shù)字圖像,工作頻率為27MHz,像素時(shí)鐘為27MHz;以Cypress公司的CY7C68013作為CPU控制和USB2.0接口芯片,該芯片的主要特點(diǎn)是在一塊芯片上集成了USB2.0內(nèi)核和引擎、一個(gè)增強(qiáng)型51系列的微處理器,及可編程外圍接口的芯片,提供了高效率的時(shí)序解決方案,在這種有獨(dú)創(chuàng)性的結(jié)構(gòu)下,仍然使用低價(jià)位的51系列的微處理器,其數(shù)據(jù)傳輸速度可以達(dá)到56MB/s,可以提供USB2.0的最大帶寬。因此在圖1中,CPU控制和USB2.0接口芯片選擇了上述芯片。圖像芯片(OV7620/7120)所采集的圖像數(shù)據(jù)按設(shè)定的頻率(0.5——30幀/s),在CY7C68013內(nèi)部51CPU的控制下,直接將其送到CY7C68013的FIFO緩沖區(qū),再由其內(nèi)部的USB2.0接口通過(guò)USB電纜將其圖像數(shù)據(jù)傳輸?shù)接?jì)算機(jī)。
2數(shù)字圖像的實(shí)時(shí)傳輸
為了實(shí)現(xiàn)數(shù)字圖像的實(shí)時(shí)傳輸,必須解決影響實(shí)時(shí)傳輸?shù)膸状笠蛩兀阂皇菆D像芯片采集速度;二是圖像芯片與CY7C68013的FIFO緩沖區(qū)之間的傳輸速度;三是CY7C68013內(nèi)部的USB2.0與帶有USB2.0接口計(jì)算機(jī)之間的傳輸速度;四是計(jì)算機(jī)中應(yīng)用軟件的接收?qǐng)D像、處理圖像速度。以下將分別加以具體說(shuō)明。
(1)圖像芯片采集速度
圖像芯片采集速度是選擇圖像芯片的關(guān)鍵指標(biāo),在該指標(biāo)滿足的前提下,選取圖像分辨率相對(duì)較高的圖像芯片。如可以選取Photobit公司的PB-0300或Omnivision公司的OV7620以及Philips公司的SAA7111等高分辨率圖像采集及處理芯片。
。2)圖像芯片與CY7C68013的傳輸速度
一般的,對(duì)于大多數(shù)CMOS數(shù)字圖像采集和處理芯片,其數(shù)據(jù)傳輸速度為其像素時(shí)鐘,與其工作頻率基本一致,其周期小于40ns;而當(dāng)CY7C68013工作在主頻48MHz時(shí),其內(nèi)部的通用編程接口可以將外部5——48MHz的數(shù)據(jù)傳輸?shù)絻?nèi)部FIFO緩沖區(qū)?梢(jiàn),應(yīng)選取像素?cái)?shù)據(jù)傳輸速度合適的圖像采集及處理芯片。
。3)CY7C68013與計(jì)算機(jī)之間的傳輸速度
在USB1.0和USB1.1接口中,只支持低速和全速兩種傳輸方式。在低速方式下其最大傳輸速度為1.5Mbps;在全速方式下其最大傳輸速度為12Mbps.顯然,在這兩種方式下要完成高分辨率(640×480像素點(diǎn)陣以上)的數(shù)字圖像實(shí)時(shí)傳輸(24幀/s以上)是不可能的。而USB2.0接口,除支持低速和全速兩種傳輸方式外,還支持高速傳輸方式。在高速傳輸方式下,其最大傳輸速度為480Mbps.因此選取帶有USB2.0內(nèi)核的CY7C68013芯片作為USB2.0接口芯片及帶有USB2.0接口的計(jì)算機(jī),滿足數(shù)字圖像的實(shí)時(shí)傳輸速度要求。
。4)計(jì)算機(jī)中應(yīng)用軟件的處理速度
計(jì)算機(jī)中,應(yīng)用軟件的接收?qǐng)D像、處理圖像速度,也是完成高分辨率數(shù)字圖像實(shí)時(shí)傳輸所面臨的一個(gè)很大挑戰(zhàn)。特別是在Windows多任務(wù)作業(yè)下的延遲,更是如此。
此外,USB總線的帶寬、操作系統(tǒng)等也會(huì)影響數(shù)字圖像的實(shí)時(shí)傳輸。
3系統(tǒng)實(shí)現(xiàn)及固件程序設(shè)計(jì)
。1)系統(tǒng)實(shí)現(xiàn)
本系統(tǒng)的具體和詳細(xì)設(shè)計(jì)如圖2所示的數(shù)據(jù)采集邏輯原理圖。在圖2中,圖像采集處理芯片用OV7620/7120,時(shí)鐘頻率為27MHz,像素時(shí)鐘為27MHz;CPU控制和USB2.0接口芯片用CY7C68013,時(shí)鐘頻率為24MHz,通過(guò)對(duì)CY7C68013內(nèi)部的CPUCS寄存器進(jìn)行修改,使其工作在48MHz方式下。根據(jù)芯片OV7620/7120及CY7C68013內(nèi)部的FIFO、通用編程接口等特點(diǎn),其具體接法是:將OV7620/7120的像素時(shí)鐘PCLK接到CY7C68013的IFCLK上;
OV7620/7120的HREF、VSYNC分別接到CY7C68013的RDY0、RDY1上;同時(shí)將OV7620/7120的VSYNC、CHSYNC分別接到CY7C68013的INT0、INT1上。將CY7C68013的PE0、PE1接在OV7620/7120的I2CBUS上。
圖2
。2)固件程序設(shè)計(jì)
按照?qǐng)D2數(shù)據(jù)采集邏輯原理圖,其固件程序設(shè)計(jì)主要由以下幾部分組成。
、賃SB2.0接口的初始化程序設(shè)計(jì)。本段程序主要通過(guò)對(duì)CY7C68013的CPUCS寄存器進(jìn)行設(shè)定,使CY7C68013重枚舉后工作在頻率48MHz下;通過(guò)對(duì)CY7C68013的USBCS寄存器設(shè)定,使其USB內(nèi)核工作在USB2.0方式下,由固件程序應(yīng)答USB的傳輸,而不是由USB內(nèi)核應(yīng)答;同時(shí)通過(guò)對(duì)CY7C68013的IFCONFIG寄存器設(shè)定,使其CY7C68013工作在通用編程接口方式下。
、趫D像芯片的初始化程序設(shè)計(jì)。本段程序主要通過(guò)CY7C68013的PE0、PE1模擬I2CBUS的時(shí)序,完成對(duì)圖像芯片的初始化、顯示窗口大小、數(shù)據(jù)格式、顯示幀數(shù)等工作。
③通用編程接口(GPIF)程序設(shè)計(jì)。本接口程序設(shè)計(jì)主要完成對(duì)CY7C68013通用編程接口的初始化以及控制信號(hào)RDYx和CTLx(本設(shè)計(jì)中未用)、數(shù)據(jù)寬度(8位)、FIFO緩沖區(qū)、計(jì)數(shù)器等的編程設(shè)計(jì),并對(duì)OV7620/7120的輸入信號(hào)HREF、VSYNC等進(jìn)行邏輯控制,即當(dāng)HREF為高電平、VSYNC為底時(shí),數(shù)據(jù)開(kāi)始傳輸。
④USB2.0等時(shí)傳輸程序設(shè)計(jì)。本段程序主要完成USB2.0的等時(shí)傳輸功能。要實(shí)時(shí)采樣數(shù)據(jù),必須使用USB2.0的等時(shí)傳輸技術(shù)及中斷技術(shù)。
⑤主程序設(shè)計(jì)。在主程序中,除要完成①——④中斷論述的功能外,還要給出USB控制傳輸?shù)墓碳?yīng)答程序及相應(yīng)的中斷初始化和中斷服務(wù)程序,其完整程序見(jiàn)本刊網(wǎng)站。
4結(jié)論
本系統(tǒng)在工業(yè)在線檢測(cè)、無(wú)人駕駛汽車(chē)等領(lǐng)域得到了很好的應(yīng)用,滿足了應(yīng)用的需求。
【利用USB2.0單片機(jī)實(shí)現(xiàn)全數(shù)字圖像的實(shí)時(shí)采集】相關(guān)文章:
基于USB總線的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)08-06
利用ColdFire uClinux實(shí)現(xiàn)數(shù)據(jù)采集和傳輸08-06
基于凌陽(yáng)單片機(jī)的語(yǔ)音信號(hào)實(shí)時(shí)采集08-06
實(shí)時(shí)混音的實(shí)現(xiàn)?08-06
基于LabVIEW的USB實(shí)時(shí)數(shù)據(jù)采集處理系統(tǒng)的實(shí)現(xiàn)08-06
利用VB實(shí)現(xiàn)PC機(jī)與多單片機(jī)通訊08-06
高保真實(shí)時(shí)準(zhǔn)動(dòng)態(tài)圖像采集壓縮和遠(yuǎn)程傳輸平臺(tái)的研究與實(shí)現(xiàn)08-06