基于SOPC適用于不同規(guī)格LCOS的控制器設(shè)計(jì)
圖3 引腳信號(hào)的時(shí)序關(guān)系2。
3.2 參數(shù)確定
在設(shè)計(jì)通用分辨率的LCOS控制器之前,先要確定某些參數(shù)。這些參數(shù)包括LCOS的分辨率m×n,LCOS的灰度級(jí)2u(一般情況下LCOS的灰度為256),LCOS顯示器的刷新頻率a Hz,信號(hào)CP的頻率b?。停龋?。這些參數(shù)由上位機(jī)通過(guò)串口發(fā)送到NIOSⅡ處理器中。根據(jù)這些參數(shù),由NIOSⅡ計(jì)算得到如下關(guān)系:每一幀的周期為 103/a(ms);每一行的周期為106a-1 n-1(us);將一行顯示數(shù)據(jù)寫(xiě)入寄存器的時(shí)間為m/b (μs);每一行的空時(shí)間[106a-1n-1]-[m/b]us),這一項(xiàng)應(yīng)當(dāng)不小于0。依據(jù)計(jì)算后的數(shù)據(jù)和圖2、圖3所示的信號(hào)關(guān)系,使用定時(shí)器和脈寬調(diào)制器(PWM)生成LCOS的邏輯控制信號(hào)。同樣在NIOSⅡ中還要完成SRAM 內(nèi)存的設(shè)計(jì),內(nèi)存的實(shí)現(xiàn)是依靠FPGA 中的邏輯門(mén)陣列來(lái)實(shí)現(xiàn)的。設(shè)計(jì)所遵循的原則是SRAM 的容量能至少裝下完整的2幀數(shù)據(jù),即2m×n×2u,一幀數(shù)據(jù)存儲(chǔ)區(qū)用于當(dāng)前顯示,另一幀數(shù)據(jù)存儲(chǔ)區(qū)同時(shí)接收下一幀要顯示的數(shù)據(jù),這樣的策略雖然耗費(fèi)了大量的邏輯門(mén)數(shù)量,卻可以使低速的存儲(chǔ)器和高速的LCOS顯示器相匹配,同時(shí)更好地發(fā)揮USB的速度優(yōu)勢(shì)。
4 實(shí)例設(shè)計(jì)
在實(shí)際應(yīng)用中,以256×256分辨率、256灰度級(jí)的LCOS為例來(lái)設(shè)計(jì)LCOS控制器。
首先根據(jù)已有的LCOS計(jì)算各種參數(shù)。對(duì)于256×256的LCOS,其刷新頻率為200Hz,時(shí)鐘信號(hào)CLKB的頻率為20MHz。因此,每一幀的周期為5ms,每一行的周期為19.53μs(相當(dāng)于391個(gè)CLKB時(shí)鐘周期時(shí)間),將一行顯示數(shù)據(jù)寫(xiě)入寄存器的時(shí)間為12.8μs(相當(dāng)于256個(gè)CLKB時(shí)鐘周期時(shí)間),每一行的空時(shí)間為6.73μs(相當(dāng)于135個(gè)CLKB時(shí)鐘周期時(shí)間)。如果設(shè)計(jì)時(shí)發(fā)現(xiàn)每一行的空時(shí)間小于0,則要提高時(shí)鐘信號(hào)CLKB的頻率。
接下來(lái)是設(shè)計(jì)SRAM 存儲(chǔ)器,SRAM 容量的設(shè)計(jì)原則是能裝下完整的2幀數(shù)據(jù),即2×256×256×256就能裝下完整的2幀數(shù)據(jù),但為了便于CPU還可以完成其他計(jì)算的需要,內(nèi)存的設(shè)計(jì)要比2幀數(shù)據(jù)大一些,這里?。硯瑪?shù)據(jù)容量,同時(shí)設(shè)定固定的區(qū)域?yàn)轱@示緩沖區(qū)。
將USB的數(shù)據(jù)輸入緩沖區(qū)同樣設(shè)在該顯示緩沖區(qū)域,這樣通過(guò)USB端口輸入的待顯示數(shù)據(jù)直接存儲(chǔ)在顯示緩沖區(qū)域。
然后是將外部的LCOS顯示器的數(shù)據(jù)輸入端口作為NIOSⅡ處理器的I/O 映射地址,通過(guò)DMA處理,使NIOSⅡ內(nèi)存的顯示緩沖區(qū)以DMA的方式通過(guò)AHB總線(xiàn)與LCOS顯示器的數(shù)據(jù)輸入端口直接輸入。使用DMA和總線(xiàn)的好處是既簡(jiǎn)便快速,傳輸又很穩(wěn)定。
在QuartusⅡ6.0環(huán)境下對(duì)NIOSⅡ控制器進(jìn)行功能仿真測(cè)試,仿真的波形如圖4所示。該控制器的時(shí)序信號(hào)符合設(shè)計(jì)要求。完成功能仿真后,經(jīng)過(guò)綜合生成門(mén)級(jí)網(wǎng)表,下載到ALTERA公司Cyclone系列EP1C6Q240C8器件中。
NIOSⅡ控制器的功能仿真波形
圖4 NIOSⅡ控制器的功能仿真波形。
5 結(jié) 論
利用SOPC和USB設(shè)計(jì)了一種LCOS通用控制器。通常LCOS的價(jià)格較高且不能通用,利用本文的方法可以最大限度地降低材料成本和設(shè)計(jì)成本,并且可以根據(jù)應(yīng)用的需要,通過(guò)發(fā)送不同的參數(shù)適應(yīng)于不同的LCOS顯示器。由于采用軟核處理器,系統(tǒng)的穩(wěn)定性稍差一些,并且PDIUSBD12的速度僅為12MB/s。為了提高系統(tǒng)的穩(wěn)定性,可以使用ARM9 處理器;為了發(fā)揮USB2.0 的全速480 MB/s,可以使用新一代CH375USB控制器。這樣就可以使LCOS通用控制器擁有更優(yōu)秀的性能。
評(píng)論