劉同壯++桑運(yùn)曉++賈超偉
[摘 要]設(shè)計(jì)了基于FPGA的圖像采集顯示系統(tǒng)。實(shí)現(xiàn)了圖像采集模塊,F(xiàn)PGA核心控制模塊以及實(shí)時(shí)顯示模塊的設(shè)計(jì)。CMOS圖像傳感器把采集到的圖像傳送到FPGA核心控制模塊進(jìn)行處理與分析。完成對圖像處理后,把采集到的數(shù)據(jù)傳送到TFT-LCD進(jìn)行實(shí)時(shí)顯示。實(shí)驗(yàn)證明該系統(tǒng)設(shè)計(jì)能夠準(zhǔn)確、快速地完成圖像采集及顯示。該系統(tǒng)設(shè)計(jì)具有很好的移植性,可以應(yīng)用到工業(yè)機(jī)器視覺識(shí)別系統(tǒng)、醫(yī)療影像等領(lǐng)域中。
[關(guān)鍵詞]FPGA;CMOS圖像傳感器;薄膜晶體管液晶顯示屏(TFT-LCD)
中圖分類號(hào):TU625 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-914X(2017)37-0335-01
1 IIC接口配置模塊設(shè)計(jì)
IIC總線是一種兩線式雙向串行傳輸總線,是電子電氣技術(shù)、微電子技術(shù)領(lǐng)域廣泛采用的通信標(biāo)準(zhǔn)。SCCB總線也是一種雙向二線制串行總線,是簡化了的IIC總線,因此在本設(shè)計(jì)中采用IIC總線對CMOS圖像傳感器進(jìn)行初始化配置[4]。IIC總線由串行時(shí)鐘線SCL和串行數(shù)據(jù)線SDA組成,連接到總線的每個(gè)器件都有自己唯一的地址標(biāo)識(shí)碼,根據(jù)各器件的功能,可以選擇該器件是作為發(fā)送器還是接收器。在標(biāo)準(zhǔn)模式下,IIC總線上的數(shù)據(jù)傳輸速率為100KB/S;在快速模式下,數(shù)據(jù)傳輸速率為400KB/S;在高速模式下,數(shù)據(jù)傳輸速率為3MB/S。IIC總線的起始、停止條件取決于數(shù)據(jù)線SDA和時(shí)鐘線SCL的變化狀態(tài),當(dāng)時(shí)鐘總線SCL保持高電平時(shí),數(shù)據(jù)線SDA由高電平轉(zhuǎn)換為低電平時(shí)表示起始條件;當(dāng)數(shù)據(jù)線SDA由低電平轉(zhuǎn)換為高電平時(shí)表示停止條件。主機(jī)發(fā)送起始條件后,總線處于“忙”狀態(tài),主機(jī)可以往總線上發(fā)送相應(yīng)的數(shù)據(jù),首先需要發(fā)送的是從機(jī)地址,地址為7位,第8位為數(shù)據(jù)方向位,若為“1”表示請求數(shù)據(jù)讀,若為“0”表示請求數(shù)據(jù)寫。從機(jī)根據(jù)7位的地址決定是否被尋址,如果被尋址,從機(jī)發(fā)送應(yīng)答信號(hào),同時(shí)根據(jù)數(shù)據(jù)的方向位決定接收數(shù)據(jù)還是發(fā)送數(shù)據(jù)。
圖像采集過程中IIC總線時(shí)序仿真圖,采樣深度為32MHZ,采樣率為125MHZ,采樣時(shí)間為256ms。通過硬件邏輯設(shè)計(jì)和仿真波形可以看出,初始狀況下,時(shí)鐘線SCCB_SCL和數(shù)據(jù)線SCCB_SDA都為高電平,SCCB_SDA由高電平轉(zhuǎn)換為低電平,標(biāo)志著IIC通信傳輸開始,主機(jī)開始發(fā)送從機(jī)地址,待1Byte數(shù)據(jù)傳送完成后,從機(jī)發(fā)出應(yīng)答信號(hào),發(fā)送從機(jī)寄存器地址,等待應(yīng)答,接著傳輸寄存器的數(shù)據(jù),數(shù)據(jù)傳送完成進(jìn)行短暫延時(shí)[8],由主機(jī)發(fā)送停止信號(hào),時(shí)鐘線SCCB_SCL為高電平,數(shù)據(jù)線SCCB_SDA從低電平變到高電平,標(biāo)志此次IIC總線傳輸數(shù)據(jù)結(jié)束。
2 圖像數(shù)據(jù)緩存模塊
由于FPGA片內(nèi)存儲(chǔ)空間有限,該設(shè)計(jì)系統(tǒng)選用美光公司型號(hào)為MT48LC16M16A2的SDRAM存儲(chǔ)芯片,具有13根地址線和16位數(shù)據(jù)線,總?cè)萘繛?56Mb。SDRAM具有多種工作模式,內(nèi)部操作是一個(gè)復(fù)雜的狀態(tài)機(jī),能夠快速有效的存取二維圖像數(shù)據(jù),F(xiàn)PGA通過SDRAM控制器來完成對SDRAM的初始化、讀寫和刷新等操作。SDRAM的時(shí)鐘頻率較高,不同模塊之間的時(shí)鐘信號(hào)不同步,為了保證SDRAM能在高頻下正常工作,對視頻數(shù)據(jù)進(jìn)行快速緩存,CMOS圖像傳感器采集到的數(shù)據(jù)經(jīng)過FPGA芯片捕獲和解碼后,通過FPGA芯片內(nèi)部的FIFO模塊送入SDRAM進(jìn)行數(shù)據(jù)緩存。CMOS圖像傳感器的HREF與fifio_wren(寫使能)相連,當(dāng)HREF信號(hào)有效時(shí)開始寫FIFO,當(dāng)fifo_empty為低電平時(shí)表示FIFO中已存入數(shù)據(jù),F(xiàn)PGA控制SDRAM開始從FIFO中讀取視頻數(shù)據(jù),通過對FIFO模塊的讀寫完成了不同時(shí)鐘之間的數(shù)據(jù)傳輸,從而保證視頻數(shù)據(jù)流的連續(xù)性,為時(shí)鐘不同步而造成的圖像傳輸交錯(cuò)現(xiàn)象,該設(shè)計(jì)解決了在嵌入式系統(tǒng)中圖像采集出現(xiàn)卡屏的情況,保證了圖像能夠穩(wěn)定的實(shí)時(shí)顯示。
3 液晶顯示模塊
液晶顯示模塊主要負(fù)責(zé)把緩存到SDRAM中的圖像數(shù)據(jù)實(shí)時(shí)地讀到顯示屏上,NiosII嵌入式內(nèi)核處理器將CMOS圖像傳感器采集到的數(shù)據(jù)送入SDRAM緩存,為保證采集圖像與顯示圖像的一致性,液晶控制器通過時(shí)序控制模塊對SDRAM中的數(shù)據(jù)進(jìn)行讀取,并根據(jù)實(shí)際情況去除行、場消隱數(shù)據(jù),產(chǎn)生相應(yīng)的RGB數(shù)據(jù)與行、場同步信號(hào),從而避免顯示圖像錯(cuò)位以及亂碼等情況。通過邏輯分析儀對CMOS圖像傳感器采集到的數(shù)據(jù)進(jìn)行觀測,由圖中可以看出,在像素時(shí)鐘PCLK控制下,每場都有一個(gè)場同步信號(hào),每行有800個(gè)像素時(shí)鐘,每行都有一個(gè)行同步信號(hào),場頻為60.79Hz,行頻為525x60.79即31914.75Hz,需要的點(diǎn)時(shí)鐘頻率為525x800x60.79約為25MHz。
4 測試結(jié)果分析
通過實(shí)驗(yàn)測試可得,圖像采集顯示系統(tǒng)設(shè)計(jì)充分利用了FPGA快速并行處理數(shù)據(jù)的特性,增加了設(shè)計(jì)的靈活性和系統(tǒng)的可靠性,充分展示了圖像采集、存儲(chǔ)以及顯示等各個(gè)功能特性,使得FPGA能夠快速、準(zhǔn)確地讀取圖像數(shù)據(jù),達(dá)到了圖像采集并實(shí)時(shí)顯示的目的,為后期機(jī)器視覺、智能視頻監(jiān)控、醫(yī)療影像等領(lǐng)域的開發(fā)移植帶來了方便。
參考文獻(xiàn)
[1] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2003.
[2] 吳厚航.FPGA設(shè)計(jì)實(shí)戰(zhàn)演練(邏輯篇)[M].北京:清華大學(xué)出版社,2015.
[3] 李光春,蘇沛東,杜世通,柯杰,劉世昌.基于FPGA的視頻采集及實(shí)時(shí)顯示系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2015,23(11):3810-3815.
[4] 魏麗玲,朱平,石永亮.基于FPGA的圖像采集與存儲(chǔ)系統(tǒng)設(shè)計(jì)[J].測控技術(shù)與儀器儀表,2015,41(11):73-75.endprint