基于FPGA的LCoS驅動(dòng)和圖像處理系統設計
1.2 PLL及系統復位模塊
采用Altera的鎖相環(huán)IP核,外部輸入時(shí)鐘為20 MHz,經(jīng)倍頻后得到其他各模塊的驅動(dòng)時(shí)鐘,以及LCoS的驅動(dòng)時(shí)鐘信號。為防止系統異步復位時(shí)寄存器出現亞穩態(tài),設計了PLL的前級和后級D觸發(fā)器。因為鎖相環(huán)的locked引腳在鎖相環(huán)穩定輸出后才會(huì )跳變?yōu)楦唠娖?,所以為保證其他模塊得到穩定的時(shí)鐘信號,將locked引腳和外部輸入復位信號rst_n相與后作為整個(gè)系統的復位信號。
1.3 單口ROM模塊
利用FPGA內部的M9K存儲器資源實(shí)現的單口ROM作為源圖像的數據存儲器。將分辨率為176×144(QCIF)的256階灰度位圖圖像初始化到單口ROM里,所需數據深度為25 344 B。當異步FIFO沒(méi)寫(xiě)滿(mǎn)時(shí),單口ROM將按圖像存儲地址依次輸出圖像數據給FFT核做快速傅里葉變換。經(jīng)過(guò)處理的圖像數據暫存到FIFO)里,等待行場(chǎng)時(shí)序控制器模塊取用。
1.4 異步FIFO模塊
按其數據地址最高2位分為4個(gè)區間,讀/寫(xiě)指針?lè )謩e對某一區間操作,當讀/寫(xiě)指針相等時(shí)通過(guò)譯碼器產(chǎn)生FIFO已讀空或者已寫(xiě)滿(mǎn)標志信號。為避免地址信號變化時(shí)出現冒險競爭現象,寫(xiě)地址和讀地址指針都采用格雷碼編碼。在讀空比較子模塊和寫(xiě)滿(mǎn)比較子模塊里加入了FI-FO“將空”和“將滿(mǎn)”檢驗機制,有效地保證了FIFO正確無(wú)誤的工作。在寫(xiě)時(shí)鐘wrclk的上升沿,異步FIFO每個(gè)地址對應的存儲單元里被寫(xiě)入8bits數據,在讀時(shí)鐘rdclk的上升沿,FIFO四塊連續地址上的32bits數據輸出,即讀FIFO的速率相當于寫(xiě)FIFO速率的4倍速。
1.5 I2C狀態(tài)機模塊
沒(méi)有滿(mǎn)足I2C配置條件時(shí),狀態(tài)機處于空閑狀態(tài),當滿(mǎn)足I2C配置條件時(shí),狀態(tài)機在狀態(tài)標志位的控制下依次輸出配置地址和配置數據。當數據配置結束時(shí),狀態(tài)機產(chǎn)生停止信號,并拉高輸出引腳iic_config,通知行場(chǎng)時(shí)序控制器模塊開(kāi)始工作,這樣保證了LCoS屏能在正確配置下工作。狀態(tài)機工作原理如圖2所示。本文引用地址:http://dyxdggzs.com/article/191137.htm
1.6 行場(chǎng)時(shí)序控制器模塊
內設水平計數器hcnt和垂直計數器vcnt。由于顯示屏每個(gè)時(shí)鐘周期鎖存8個(gè)像素值,所以顯示1 024個(gè)像素值所需行周期為128個(gè)Tclk(行時(shí)鐘周期)。當hcnt計數器值為HBP時(shí)表示行有效顯示區域開(kāi)始,hcnt計數器值為HBP+128時(shí)表示行有效顯示區域結束,hent計數器值為HSYN-Ccycle時(shí),完成一行顯示,vcnt計數器加1。當vcnt計數器值為VBP時(shí),垂直有效顯示區域開(kāi)始,當vcnt計數器值為VBP+768時(shí),垂直有效顯示區域結束,當vcnt計數器值為VSYNC cycle時(shí),完成一幀圖像顯示。行場(chǎng)時(shí)序關(guān)系如圖3所示。
評論