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