摘 要: 介紹了一種采用SoPC技術,適用于光照度不夠均勻造成圖像灰度過于集中環(huán)境下的視頻處理與顯示設計。該系統(tǒng)基于FPGA技術,通過將NiosⅡ軟核處理器、用戶自定義邏輯模塊、存儲器、I/O等集成到單塊低成本的FPGA上,實現(xiàn)對解碼芯片SAA7113H的初始化及配置、視頻圖像灰度信號直方圖統(tǒng)計以及灰度均衡化的實時處理與顯示。其設計靈活、可靠性高,并且降低了成本和功耗。
關鍵詞: SoPC;I2C;灰度直方圖統(tǒng)計;灰度均衡化
當前基于軟核處理器的圖像系統(tǒng)已成為研究的熱點,使用FPGA來構建基于片上可編程系統(tǒng)(SoPC)的圖像處理系統(tǒng),已成為一種趨勢[1]。因此,本文采用SoPC技術,在Altera公司單片Cyclone系列FPGA上使用IP資源復用技術集成了NiosII軟核處理器及各種輸入輸出接口,完成了對視頻圖像的采集、預處理、存儲和顯示幾大功能。本系統(tǒng)對圖像進行了灰度均衡化處理,使系統(tǒng)應用更廣。由于直方圖均衡能直接從已知的圖像中提取信息,不需要額外的參數(shù)說明,所以在軍用、航空、商業(yè)等領域,特別是紅外圖像增強領域[2]有實際的意義。SoPC是Altera公司提出來的一種靈活、高效的柔性設計,不需要修改硬件[3],就可方便地擴展和修改嵌入式視頻采集功能。同時,由于融入眾多的IP核,保證了設計的高效、快速。
1 系統(tǒng)總體結構及工作原理
系統(tǒng)框圖如圖1所示。系統(tǒng)上電后,Nios II軟核中的I2C控制總線對視頻采集模塊SAA7113H進行配置,F(xiàn)PGA依靠像素時鐘和行、場信號同步采集SAA7113H芯片輸出的視頻信號中的灰度視頻數(shù)據(jù),把采集到的灰度數(shù)據(jù)進行灰度直方圖統(tǒng)計和灰度分布均衡化處理。Nios II軟核外部加一個延遲模塊,與灰度轉換模塊輸出的信號同步之后,視頻輸入模塊開始工作,通過存儲控制、DMA控制器傳輸視頻信號,LCD顯示控制等模塊顯示所采集的信號。所有處理都采用流水線操作,大大節(jié)省了系統(tǒng)的處理時間。
2 系統(tǒng)硬件設計
2.1 視頻解碼芯片SAA7113H初始化
本系統(tǒng)中視頻解碼器的初始化配置由Nios II軟核處理器通過I2C總線完成,主要包括對視頻解碼器的工作模式,輸出行、場同步參考信號的時序關系以及輸出數(shù)字信號的格式等進行設置。I2C總線是由Philips公司開發(fā)的一種兩線制總線,由一條串行數(shù)據(jù)線SDA和一條串行時鐘線SCL組成,可以實現(xiàn)數(shù)據(jù)通信,完成芯片配置。首先,I2C總線控制器發(fā)出一個數(shù)據(jù)傳輸?shù)钠鹗紬l件:SCL信號保持高電平、而SDA信號由高電平變?yōu)榈碗娖綍r,開始傳輸?shù)刂窋?shù)據(jù)流。起始條件滿足后,發(fā)出一個8 bit的設備從地址,所有的外圍設備開始響應起始條件并轉換下一個8 bit寄存器地址(7 bit地址+1 bit讀寫位),由高位到低位依次傳輸。外圍設備識別出傳輸?shù)刂泛螅诘?個時鐘脈沖(確認位)把數(shù)據(jù)線變?yōu)榈碗娖?,然后開始將8 bit數(shù)據(jù)寫入或者讀出寄存器(讀寫位決定了數(shù)據(jù)的傳輸方向)。當時鐘線SCLK為高電平、而數(shù)據(jù)線SDA由低電平變?yōu)楦唠娖綍r,表示一次數(shù)據(jù)傳輸完成,停止I2C總線,等待下一次的傳輸開始。圖2為I2C總線的數(shù)據(jù)傳輸時序圖。