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