摘要:通過在現(xiàn)場可編程門陣列器件中構(gòu)建軟核處理器(NIOSⅡ)來代替專用集成電路,并在NIOSⅡ中嵌入C程序,根據(jù)給定的規(guī)模,自動實現(xiàn)了在不同規(guī)模下的各種設(shè)計參數(shù)的計算。實現(xiàn)了只需要輸入系統(tǒng)參數(shù),就能適用于不同規(guī)模LCOS控制器的設(shè)計,并且結(jié)合μSB芯片和特定的程序流程,提高了LCOS控制器的適用性和可靠性,降低了器件的成本。
1 引 言
校正器作為自適應(yīng)光學系統(tǒng)的核心部件,在很大程度上決定著自適應(yīng)技術(shù)發(fā)展的方向。目前在自適應(yīng)光學系統(tǒng)使用較多的是變形鏡校正器。
隨著自適應(yīng)技術(shù)在眼底觀測方向的使用,傳統(tǒng)變形鏡校正器顯露出其固有的缺點,由于受校正單元少的限制,變形鏡校正器很難對存在高階像差的眼底成像。因此,校正單元多的液晶校正器開始在眼底觀測領(lǐng)域廣泛使用。與玻璃基板液晶顯示器相比,采用硅基板的液晶顯示器(LCOS)由于具有尺寸小、分辨率高、光效利用率高等優(yōu)點,成為目前的最佳選擇。作為LCOS驅(qū)動電路的核心———為液晶模塊(LCM)提供顯示數(shù)據(jù)和時序信號的LCOS控制器通常都是由專用集成電路(ASIC)組成。在實際工程應(yīng)用中,需要各種分辨率的LCOS,由于每一種LCOS都需要專門的顯示控制器,因此LCOS的設(shè)計和使用都比較繁瑣。
本設(shè)計采用現(xiàn)場可編程門陣列(FPGA)器件來代替ASIC,利用可編程片上系統(tǒng)(SOPC)實現(xiàn)通用LCOS顯示控制器的設(shè)計。在使用中只需通過對軟件參數(shù)進行修改,即可完成對不同分辨率 LCOS的控制。由于液晶自適應(yīng)系統(tǒng)需要傳輸?shù)臄?shù)據(jù)量很大,所以為了保證系統(tǒng)的實時性,采用μSB2.0協(xié)議進行數(shù)據(jù)傳輸。本文使用了NXP公司的PDIμSBD12的μSB芯片、ALTERA公司的EP1C6Q240C8器件,采用C++語言設(shè)計了μSB驅(qū)動程序和固件程序,利用VHDL硬件描述語言設(shè)計了通用LCOS控制器并在實際應(yīng)用中通過測試,基本上實現(xiàn)了通用LCOS控制器的預(yù)期目標。
2 系統(tǒng)原理
LCOS的顯示采用逐行掃描方式,即當一行被選通以后,這一行中的各列信號同時加到列上,并維持一個掃描行的時間,當這一時間結(jié)束后選通下一行,各列電極施加下一行的顯示電壓。
目前普通的液晶控制器都是由存儲器和控制器組成,由一塊MCμ 接收上位機發(fā)送過來的顯示數(shù)據(jù),并由該MCμ分配存儲地址,生成時序信號,把數(shù)據(jù)存入存儲器中,而后由液晶顯示模塊讀取存儲器中的數(shù)據(jù)。存儲器的存取速度較慢,在讀寫大批量數(shù)據(jù)時很費時,很難匹配LCOS的響應(yīng)速度,并且當更換不同分辨率的LCOS顯示模塊后還需要有新的控制器,存在成本太高且過程煩瑣的缺點。
有鑒于此,本文提出了基于SOPC 設(shè)計LCOS控制器的思路,即在FPGA 內(nèi)構(gòu)建一個NIOSⅡ軟核處理器和SRAM 存儲器,把SRAM映射到LCOS顯示模塊的數(shù)據(jù)緩沖區(qū),將NIOSⅡ與PDIμSBD12以DMA 的方式連接,將NIOSⅡ與上位機以串口的方式連接,通過設(shè)置LCOS參數(shù)和存儲器規(guī)模參數(shù)在內(nèi)的各種參數(shù),適應(yīng)不同分辨率的LCOS;通過DMA方式節(jié)省傳輸時間;通過把SRAM 映射到顯示數(shù)據(jù)緩沖區(qū)節(jié)省存儲器的存取時間。如圖1所示。
LCOS系統(tǒng)原理圖
3 系統(tǒng)設(shè)計
3.1 系統(tǒng)引腳信號時序分析
一般來說,LCM 引腳都具有如表1所示的功能描述。
表1 LCM 引腳信號功能
LCM 引腳信號功能
每個CP移位脈沖信號都是通過一系列CP脈沖,把完整的一行顯示數(shù)據(jù)(D0~D7)存入移位寄存器中。移位寄存器與鎖存器并口相接,當完整的一行顯示數(shù)據(jù)被存入移位寄存器后,在鎖存信號LP的作用下,該行數(shù)據(jù)被鎖存到鎖存器內(nèi),并輸出給列電極。因此LP的周期應(yīng)為一個行周期。當一幀圖像的最后一行顯示數(shù)據(jù)存入移位寄存器后,F(xiàn)LM 幀掃描信號變成高電平,其脈寬維持超過一個LP脈寬。因此FLM 的周期應(yīng)為一幀圖像的時間,即各行LP的周期和。M 是液晶顯示模塊的交流驅(qū)動信號,每一幀時間改變一次波形的極性,可以防止液晶顯示的單方向扭曲變形。更為詳細的引腳信號時序關(guān)系如圖2和圖3所示。
引腳信號的時序關(guān)系1
圖2 引腳信號的時序關(guān)系1
圖3 引腳信號的時序關(guān)系2
3.2 參數(shù)確定
在設(shè)計通用分辨率的LCOS控制器之前,先要確定某些參數(shù)。這些參數(shù)包括LCOS的分辨率M×n,LCOS的灰度級2μ(一般情況下LCOS的灰度為256),LCOS顯示器的刷新頻率a Hz,信號CP的頻率b MHz等。這些參數(shù)由上位機通過串口發(fā)送到NIOSⅡ處理器中。根據(jù)這些參數(shù),由NIOSⅡ計算得到如下關(guān)系:每一幀的周期為 103/a(ms);每一行的周期為106a-1 n-1(μs);將一行顯示數(shù)據(jù)寫入寄存器的時間為M/b (μs);每一行的空時間[106a-1n-1]-[m/b]μs),這一項應(yīng)當不小于0。依據(jù)計算后的數(shù)據(jù)和圖2、圖3所示的信號關(guān)系,使用定時器和脈寬調(diào)制器(PWM)生成LCOS的邏輯控制信號。同樣在NIOSⅡ中還要完成SRAM 內(nèi)存的設(shè)計,內(nèi)存的實現(xiàn)是依靠FPGA 中的邏輯門陣列來實現(xiàn)的。設(shè)計所遵循的原則是SRAM 的容量能至少裝下完整的2幀數(shù)據(jù),即2M×n×2μ,一幀數(shù)據(jù)存儲區(qū)用于當前顯示,另一幀數(shù)據(jù)存儲區(qū)同時接收下一幀要顯示的數(shù)據(jù),這樣的策略雖然耗費了大量的邏輯門數(shù)量,卻可以使低速的存儲器和高速的LCOS顯示器相匹配,同時更好地發(fā)揮μSB的速度優(yōu)勢。
4 實例設(shè)計
在實際應(yīng)用中,以256×256分辨率、256灰度級的LCOS為例來設(shè)計LCOS控制器。
首先根據(jù)已有的LCOS計算各種參數(shù)。對于256×256的LCOS,其刷新頻率為200Hz,時鐘信號CLKb的頻率為20MHz。因此,每一幀的周期為5Ms,每一行的周期為19.53μs(相當于391個CLKb時鐘周期時間),將一行顯示數(shù)據(jù)寫入寄存器的時間為12.8μs(相當于256個CLKb時鐘周期時間),每一行的空時間為6.73μs(相當于135個CLKb時鐘周期時間)。如果設(shè)計時發(fā)現(xiàn)每一行的空時間小于0,則要提高時鐘信號CLKb的頻率。
接下來是設(shè)計SRAM 存儲器,SRAM 容量的設(shè)計原則是能裝下完整的2幀數(shù)據(jù),即2×256×256×256就能裝下完整的2幀數(shù)據(jù),但為了便于CPμ還可以完成其他計算的需要,內(nèi)存的設(shè)計要比2幀數(shù)據(jù)大一些,這里取3幀數(shù)據(jù)容量,同時設(shè)定固定的區(qū)域為顯示緩沖區(qū)。
將μSB的數(shù)據(jù)輸入緩沖區(qū)同樣設(shè)在該顯示緩沖區(qū)域,這樣通過μSB端口輸入的待顯示數(shù)據(jù)直接存儲在顯示緩沖區(qū)域。
然后是將外部的LCOS顯示器的數(shù)據(jù)輸入端口作為NIOSⅡ處理器的I/O映射地址,通過DMA處理,使NIOSⅡ內(nèi)存的顯示緩沖區(qū)以DMA的方式通過aHb總線與LCOS顯示器的數(shù)據(jù)輸入端口直接輸入。使用DMA和總線的好處是既簡便快速,傳輸又很穩(wěn)定。
在QμartμsⅡ6.0環(huán)境下對NIOSⅡ控制器進行功能仿真測試,仿真的波形如圖4所示。該控制器的時序信號符合設(shè)計要求。完成功能仿真后,經(jīng)過綜合生成門級網(wǎng)表,下載到ALTERA公司CyCLonE系列EP1C6Q240C8器件中。
NIOSⅡ控制器的功能仿真波形
圖4 NIOSⅡ控制器的功能仿真波形
5 結(jié) 論
利用SOPC和μSB設(shè)計了一種LCOS通用控制器。通常LCOS的價格較高且不能通用,利用本文的方法可以最大限度地降低材料成本和設(shè)計成本,并且可以根據(jù)應(yīng)用的需要,通過發(fā)送不同的參數(shù)適應(yīng)于不同的LCOS顯示器。由于采用軟核處理器,系統(tǒng)的穩(wěn)定性稍差一些,并且PDIμSBD12的速度僅為12Mb/s。為了提高系統(tǒng)的穩(wěn)定性,可以使用aRM9 處理器;為了發(fā)揮μSB2.0 的全速480 Mb/s,可以使用新一代CH375μSB控制器。這樣就可以使LCOS通用控制器擁有更優(yōu)秀的性能。
來源:維庫