0 引 言
液晶顯示控制sed1335是epson公司為中解析度點陣液晶顯示器設計的字元和圖形顯示控制器,是一種專用積體電路晶元,可以和微處理器直接相連,在其內部時鐘週期內,以全速接應微處理器的訪問。所謂「雪花」現象是指在顯示器屏重新整理的過程中,螢幕上出現的閃爍不定的小亮點的過程,就好像螢幕上面下著許多雪花一樣。「雪花」現象的產生是由於當sed1335完成了初始化之後便根據顯示命令字不停地重新整理顯示器,如果在顯示重新整理的過程中cpu對sed1335進行讀、寫操作,這時sed1335便會及時響應cpu的操作,從而影響了顯示重新整理,導致了「雪花」現象的產生。這種現象直接影響到顯示的效果。當傳送大量資料時,「雪花」現象會導致整個顯示畫面不穩定。
作者分析了「雪花」現象產生的原因,提出幾種解決方法,並取得了良好的效果。
1 液晶顯示控制器sed1335的電路特性
液晶顯示控制器sed1335由控制部、驅動部和介面部等電路組成。
(1)sed1335控制部。sed1335的控制部由振盪電路、控制暫存器組、控制邏輯電路以及顯示儲存器和字元發生器的管理電路等組成。其主要作用是產生sed1335的工作時鐘,實現各種顯示特性及同 時管理多個顯示區。
(2)sed1335驅動部。sed1335的驅動部由若干個功能輸出端組成,具有顯示區合成顯示能力、傳輸資料的組織能力及產生液晶顯示驅動系統所需的控制時序脈衝訊號。其主要的功能輸出端有:
·xd3~xd0:4位顯示資料並行輸出端。
·yd:幀掃瞄起始脈衝訊號。它在每幀的最後一行有效,輸出高電平。
·lp:顯示資料鎖存訊號。在完成每顯示行的資料傳輸後輸出正脈衝,將該行資料從列驅動器的移位暫存器鎖入輸出資料鎖存器。
·xscl:顯示資料位移時鐘訊號。該訊號的下降沿將xd3~xd0上的資料鎖入列驅動器的移位暫存器。
(3)sed1335介面部。sed1335的介面部由介面控制電路、資料輸入緩衝器、資料輸出鎖存器、指令暫存器及譯解碼器、忙狀態觸發器以及時序控制電路等組成。微處理器和sed1335直接相連,可以隨時訪問它;sed1335即時地把微處理器送來的指令、引數、顯示資料就位,或把顯示資料即時地送上匯流排供微處理器讀取。
在微處理器對顯示儲存器進行大量的資料傳輸時與控制部向驅動部傳送顯示資料相衝突,就會在顯示屏上出現「雪花」現象,影響顯示效果。部分訊號的時序圖如圖1所示。在每行結束處的週期tm內(tm=ttc/r-tc/r),sed1335不從顯示儲存器內讀取資料。微處理器可以利用這段時間來更新顯示儲存器的資料,而不影響畫面。如果在tm以外的時間裡對sed1335的控制暫存器或顯示儲存器進行讀寫操作,則產生「雪花」現象。
2 「雪花」現象的2種解決方案
2.1 利用sed1335的狀態標誌位
sed1335有乙個狀態標誌位,其定義為
d6:sed1335的忙狀態bf值,反映顯示資料傳輸的工作狀態。
bf=1:表示顯示儲存器正在進行內部操作,此時控制部連續地從顯示儲存器內讀取一行顯示資料傳送給驅動部,由驅動部傳輸給液晶顯示驅動系統。 bf=0:表示顯示顯示儲存器處於間歇狀態,此時一行顯示資料傳輸完畢,在下一行顯示資料傳輸開始之前,驅動部要產生一些其他的脈衝控制訊號,控制部暫停為顯示驅動對顯示儲存器的讀取操作。
因此,就需要使用判忙狀態利用控制部的間歇時間來傳輸顯示資料以減少「雪花」。但是由於這個間歇時間很短,有時判別到bf=0,再進行顯示資料傳送時狀態已經變為bf=1,這樣仍不能完全避免「雪花」的產生。在對時間要求不是很高的系統中,可採用軟體判別狀態標誌位的方案解決「雪花」現象。在判別到bf=0時,先不對sed1335的控制暫存器或顯示儲存器進行讀、寫操作,而是軟體延時到下乙個bf=0時,再開始操作,即判別到bf從1變為0時,開始對sed1335的控制暫存器進行讀、寫操作。每次判別後可進行一次讀、寫操作;也可根據程式的讀、寫操作所占用的時間,計算出在tm時間內可進行讀、寫操作的次數,從而確定每次判別後所進行的讀、寫操作的最大次數,其軟體流程圖如圖2所示。
2.2 利用sed1335的輸出訊號
lp,產生狀態判別訊號方案
前面提到了利用忙狀態標誌位bf來作為寫sed1335顯示控制器判別依據。雖然此方法簡單而且還不用增加外圍的硬體電路,但是在使用上卻存在著侷限性。主要體現在當軟體判別到bf標誌位為低時需等到下乙個週期bf變化,也就是lp下降沿到來時才能對sed1335進行讀寫操作,而且每次讀寫操作的次數也固定為乙個週期一次,或者通過軟體記數來控制讀寫操作都落在tm時間。這樣做的後果顯然是系統的實時性會降低,而且顯示速度也會很慢。
從上面的圖1可以看到,在每乙個行顯示資料鎖存訊號lp的下降沿到來後
tm時間內cpu可以對sed1335進行讀、寫操作。針對這一現象,採用可程式設計邏輯器件xilinx的cpld(xc95144)對lp訊號進行判別處理,並產生乙個新的輸出訊號busy,如圖3所示。當cpu判別到busy訊號為低(即tidle)時間內,cpu可對sed1335進行讀、寫操作。用vhdl語言很容易實現該邏輯。程式如下:
輸入訊號量:clk為cpld時鐘訊號11.0592 mhz;
lp為顯示資料鎖存訊號。
輸出訊號量:free作為cpu讀、寫操作的判別依據,低有效。
另外值得注意的是tm的值會因為外圍電路及sed1335初始化的不同而不同,外圍電路主要是指提供給sed1335的時鐘頻率,該系統中提供給sed1335的工作頻率為5.5292mhz,而從在cpld程式中也可以算出tidle的值為:
因此,在不同的系統中,可以通過改變cpld程式中count的值來調整tudle的時間,使得「雪花」現象得以完全消除。
3 應用例項
在筆者所在公司生產的通訊裝置中,採取了上述第二種方案,解決了el顯示器顯示的「雪花」現象。系統採用160×120點陣的el顯示器,該顯示器可以在-40℃~+85℃的環境中工作,滿屏可以顯示70個16×16點陣漢字,也可以顯示任何西文字母、圖形,其接 口特性和液晶顯示器相同;微控制器採用philips的p89c51rd+,系統時鐘為11.0592mhz;顯示控制器為sed1335,工作時鐘為5.5292mhz,顯示儲存器為cy62256;可程式設計控制器件為xc95144,實現分頻、解碼、邏輯控制等功能。
總之,「雪花」現象的解決方案在多個系統中都得到了充分的驗證,只要對cpld軟體稍加改動該方案可以方便地移植到以x86或者是dsp為控制平台的系統中。
CF1335 簡要題解
草,賽時寫題解 分奇偶討論一下,可以知道方案數為 lfloor frac rfloor 首先可以隨便構造使得前 a 個字元中有 b 個不同字母。然後對於任意的 i in a 1,n 令 s i s 即可。設最大的組有 x 人,非空的組有 y 個,如果 x ne y 顯然答案可以取到 min x,y ...
csu 1335 高橋和低橋
description 有個腦筋急轉彎是這樣的 有距離很近的一高一低兩座橋,兩次洪水之後高橋被淹了兩次,低橋卻只被淹了一次,為什麼?答案是 因為低橋太低了,第一次洪水退去之後水位依然在低橋之上,所以不算 淹了兩次 舉例說明 假定高橋和低橋的高度分別是5和2,初始水位為1 第一次洪水 水位提高到6 兩...
高橋和低橋 CSU 1335
有個腦筋急轉彎是這樣的 有距離很近的一高一低兩座橋,兩次洪水之後高橋被淹了兩次,低橋卻只被淹了一次,為什麼?答案是 因為低橋太低了,第一次洪水退去之後水位依然在低橋之上,所以不算 淹了兩次 舉例說明 假定高橋和低橋的高度分別是5和2,初始水位為1 第一次洪水 水位提高到6 兩個橋都被淹 退到2 高橋...