在當前圖像傳感器市場,CMOS傳感器以其低廉的價格得到越來越多消費者的青睞。在目前的應用中,多數(shù)采用軟件進行數(shù)據的讀取,但是這樣無疑會浪費指令周期,并且對于高速器件,采用軟件讀取在程序設計上、在時間配合上有一定的難度。因此,為了采集數(shù)據量大的圖像信號,本文設計一個以CPLD為核心的圖像采集系統(tǒng),實現(xiàn)了對OV7110CMOS圖像傳感器的高速讀取,其讀取速率可達8 Mb/s。 1、硬件電路方案 圖1為基于CPLD的OV7110CMOS圖像傳感器的高速數(shù)據采集系統(tǒng)原理框圖,他主要由2個部分組成:OV7110的參數(shù)設置電路和圖像采樣電路。 1.1 OV7110的參數(shù)設置電路 系統(tǒng)在上電后需要對CMOS采樣芯片進行初始化,以 確定其工作模式、窗口大小、掃描方式、輸出數(shù)據格式等。這些參數(shù)是通過OV7110芯片上的SCCB接口進行的。 SCCB是OmnVision公司開發(fā)的一種雙向三線的同步串行總線,引線接口有使能線SCCB_E,時鐘線SIO_C,數(shù)據線SIO_D。其中SCCB_E低電平有效,如果將其接地,那么SIO_C,SIO_D的工作方式十分類似于I2C總線。OV7110工作模式、窗口大小、掃描方式、輸出數(shù)據格式均可以通過相應的寄存器來設置,本系統(tǒng)把AT89C51作為主設備(MasterDevice),OV7110作為從設備(Slave Device),采用AT89C51的P1.2和P1.3口用軟件模擬SCCB總線,把其參數(shù)寫入其內部對應的寄存器。與I2C總線一樣,在SCCB總線中主設備發(fā)送一個字節(jié)后,從設備需要將數(shù)據線SIO_D拉低作為應答信號(ACK)返回給主設備,才能表示發(fā)送成功。值得注意的是由于CMOS器件所能承受的灌電流很低,所以接至時鐘線SIO_C、數(shù)據線SIO_D的上拉電阻阻值應在3~5 kΩ之間,并且對于主設備AT89C51發(fā)送參數(shù)完畢后,需立即釋放數(shù)據線SIO_D以保證其處于懸空狀態(tài),即AT89C51在送完一個字節(jié)后立即執(zhí)行一條指令,使數(shù)據線SIO_D發(fā)出讀取信號的操作。 1.2 圖像采樣電路 本系統(tǒng)設置的工作模式為黑白,分辨率取到了最大640×480。CMOS芯片的數(shù)據輸出波形如圖2所示(為了便于分析,該圖只是示意圖)。圖中VSYNC為垂直場同步信號,其下降沿表示一幀圖像的開始。HSYNC為水平行同步信號,其上升沿表示一行信號開始。HREF為水平窗素時鐘信號,即數(shù)據輸出同步時鐘信號,其下降沿更新數(shù)據,上升沿數(shù)據是穩(wěn)定時期,可以讀取數(shù)據,其數(shù)據按行輸出。Y為圖像灰度數(shù)據。 下面介紹CPLD如何控制CMOS芯片的數(shù)據讀取。 首先按順序檢測VSYNC和CHSYNC信號是否有效,應該注意的是要防止毛刺信號干擾。由于毛刺信號時間很短,故在本設計中采用了設標志位的方法,即當檢測信號有效沿后(對于VSYNC是上升沿,而對于CHSYNC是下降沿),在等待一定時間后再次檢測信號,看其是否仍然有效,如果有效,則說明信號是正確的。其源程序如下: 由于象素數(shù)據按照PCLK時鐘輸出,所以用來存儲圖像的RAM的使能信號RCE和寫信號RWE、讀信號RRE以及地址信號ADDRESS都是由CPLD用他來產生。其中,讀信號RRE在CPLD寫操作中置“1”即可。由于在數(shù)據輸出時,PCLK上升沿信號穩(wěn)定,而RAM是在WR上升沿將數(shù)據寫入,因此可以在HREF有效后(HREF=1)采用PCLK作為寫信號RWE。同時設計一個二進制計數(shù)器,在HREF有效后,以PCLK的下降沿為觸發(fā)沿對PCLK做計數(shù),并取其輸出作為RAM的地址信號ADDRESS。這樣在PCLK的下降沿更新地址信號,接著在上升沿存貯數(shù)據。源程序如下: 設置往RAM寫信號RWE 由于圖像象素點個數(shù)已知,即數(shù)據個數(shù)已知,故在計數(shù)完畢后CPLD發(fā)出計數(shù)完畢信號R,同時把指向RAM地址線ADDRESS和讀寫信號RWE、RRE切換連至AT89C51的地址線和讀寫信號WR、RD。AT89C51接受到中止信號R后開始讀取RAM中的數(shù)據,并通過RS232串口上傳至PC機。需要注意的是RAM地址達到512 k,而單片機最大尋址空間只有64 k,所以在讀取RAM時采用分頁讀取,每次讀64 k,即從P1口中抽取3根線作為RAM的最高的三位地址和P0和P2口共同組成AT89C51的地址線。 2、結語 采用CPLD對CMOS圖像傳感器進行數(shù)據采集的方法,可以把CMOS的主動器件通過CPLD變?yōu)榭煽刂频姆绞剑瑢崿F(xiàn)了對CMOS圖像傳感器的高速數(shù)據讀取,按照該方法制作的系統(tǒng),經過實驗驗證效果良好。這種信號讀取的方法還可以在其他諸多需要高速圖像數(shù)據采集的場合應用 |