999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32和CPLD的TFT-LCD顯示控制器設計

2015-05-10 01:45:58尤衛衛冒建亮
液晶與顯示 2015年3期
關鍵詞:指令設計

尤衛衛,冒建亮,葉 樺

(東南大學 自動化學院,江蘇 南京 210096)

1 引 言

液晶顯示器由于其輕薄、便攜、高分辨率等優點已被廣泛應用到生活、工業、軍事等各種場合。TFT-LCD顯示器作為液晶顯示器中一類重要的代表,具有體積小,功耗低,顯示品質優良等諸多優勢,已經成為當前桌面顯示的主流。雖然TFT-LCD顯示效果極佳,但由于控制時序相對復雜,其控制一直是大家研究的重點[1-2]。目前對TFT-LCD的控制方式主要有3種:

(1)使用專用控制芯片,但此方式易受器件斷檔影響,并且不利用技術移植;

(2)使用內置TFT-LCD控制器的STM32,如ARM9等,此方式適用于高端顯示領域,成本較高;

(3)使用FPGA或CPLD進行 TFT-LCD的控制器設計,利用此方式設計靈活性強、可移植性高,且器件性價比高。

比較3種方案,本文選擇靈活性強、可移植性高,且器件性價比高的第三種方案來設計控制器[3]。

2 TFT-LCD顯示控制器的整體架構

圖1為液晶屏顯示系統的系統框圖。其中,主控芯片STM32[4]內部制定了與CPLD間的通訊協議,主要用于實現在LCD上的各類寫操作指令,通過Intel8080總線將待顯示信息傳送給CPLD。作為控制器的核心元件,CPLD主要實現三個模塊的功能[5]:

(1)協議解析模塊:CPLD接收控制器STM32發出的控制指令,實現對8080總線通訊協議的解析,主要包括待寫數據模式,待寫數據坐標以及待寫數據RGB顏色。

(2)SRAM 讀寫控制模塊:CPLD 在 TFTLCD屏顯消隱區間,根據提出的數據坐標及RGB顏色,將相應值寫入SRAM相應地址。在TFTLCD屏顯有效區間時,將上述數據按照時序依次讀出,完成TFT-LCD的顯示驅動。

(3)LCD時序驅動模塊:根據LCD顯示時序,實現液晶屏的顯示驅動。

3 TFT-LCD顯示控制器的設計

3.1 STM32與CPLD間通信協議

STM32內部實現了底層接口函數及上層界面函數,底層接口函數主要實現通訊協議的制定,包括用于界面顯示的各類函數的實現。主要包括:單點寫、多點寫、8點帶背景寫與8點不帶背景寫命令。各命令具體操作如下:

(1)單點寫

單點寫主要是為了實現一些不易繪制的圖形,如圓、三角形等,也可用于顯示完整的圖片。STM32內部根據指定的時序規則,依次發送指令:選擇單點寫模式→待顯示像素點行、列地址→待顯示像素點顏色。

(2)多點寫

多點寫主要用于繪制直線、矩形等,也可用于局部圖形的填充。STM32內部根據指定的時序規則,依次發送指令:選擇多點寫模式→待顯示圖形起始點行、列地址→待顯示圖形長度→待顯示圖形顏色。

(3)8點帶背景寫

主要用于字符的覆蓋顯示,可繪制任意像素為8N×8N的字符。STM32內部根據指定的時序規則,依次發送指令:選擇8點帶背景寫模式→待顯示字符起始行、列地址→待顯示字符前景色→待顯示字符背景色。

(4)8點不帶背景寫

主要用于字符的層疊顯示,可繪制任意像素為8N×8N的字符。STM32內部根據指定的時序規則,依次發送指令:選擇8點不帶背景寫模式→待顯示字符起始行、列地址→待顯示字符前景色。

根據上述4種操作,STM32可以便捷地進行各類圖文的繪制,并將相應的指令傳送給CPLD對通訊數據進行解析,實現TFT-LCD的顯示驅動。

3.2 TFT-LCD顯示驅動設計[6-8]

顯示器的驅動主要由CPLD實現,包括LCD時序驅動、通訊協議解析和SRAM讀寫控制,如圖2所示。CPLD接收控制器STM32發出的控制指令,提取待顯示點的坐標與RGB數據,并在TFT-LCD屏顯消隱區間,將相應數據寫入SRAM相應地址。在TFT-LCD屏顯有效區間時,將相應數據按照時序依次讀出,完成TFTLCD的顯示驅動。

圖2 TFT-LCD顯示驅動框圖Fig.2 Driving chart of TFT-LCD display

3.2.1 通訊協議解析模塊

CPLD對STM32的通訊協議解析,按照先取指令后取數據的方式進行。當STM32發送控制指令時,控制線RS為0,發送數據指令時,控制線RS為1,每發送完對應的指令,發送相應的數據。因此,通過判斷RS由0到1的上升邊沿,此時總線上數據狀態穩定,即可讀取指令至CPLD中的寄存器;同理,當檢測到RS由1到0的下降邊沿時,可以根據接收到的控制指令,將相應的數據存放入對應的寄存器中,進而在TFT-LCD數據寫有效時,進行相應的寫屏操作。

寫屏操作具體指STM32用于圖文繪制的單點寫、多點寫、8點帶背景寫與8點不帶背景寫的驅動程序,采用有限狀態機模式,主要分為兩大類:第一類是輸出只和狀態有關,與輸入無關,即Moore型狀態機;第二類是輸出和輸入、狀態有關,且次態也與輸入和當前狀態有關,即 Mealy型狀態機。本設計中采用的是Mealy型狀態機,各部分對應狀態操作如下:

(1)清屏操作

設定狀態S1:寄存器清零操作;S2:清屏操作。狀態圖如圖3所示。其中,WAddCnt為寫屏操作完成標志。

圖3 清屏操作狀態圖Fig.3 State chart of screen clearing operation

(2)單點寫

設定狀態S1:等待數據穩定;S2:寫單點操作,S3:寄存器清零操作。狀態圖如圖4所示。

圖4 單點寫操作狀態圖Fig.4 State chart of single point writing operation

(3)多點寫

設定狀態S1:等待數據穩定;S2:寫起始點操作;S3:寫剩余長度點操作。狀態圖如圖5所示。其中,MulPotWrCnt為寫計數器,MulPotLength為多點寫長度。

圖5 多點寫操作狀態圖Fig.5 State chart of multipoint writing operation

(4)8點帶背景寫

設定狀態S1:等待數據穩定;S2:寫起始點操作;S3:寫其余7點操作。狀態圖如圖6所示。其中,MulPotWrCnt為寫計數器;狀態S2和狀態S3中,對字模數據的操作為:0寫背景色,1寫前景色。

圖6 8點帶背景寫狀態圖Fig.6 State chart of 8points with background writing operation

(5)8點不帶背景寫

設定狀態S1:等待數據穩定;S2:寫起始有效點操作;S3:無效點計數清零操作;S4:寫其余有效點操作。狀態圖如圖7所示。其中,8Addr[7]為字模最高位,每個時鐘周期左移1位;8AddrCnt為單字模中兩有效點間無效點計數器;MulPotWrCnt為寫計數器,8AddrWrCnt為單字模中無效點總計數器。對字模數據的操作為:0為無效點,1為有效點,此時寫背景色。

圖7 8點不帶背景寫狀態圖Fig.7 State chart of 8points without background writing operation

3.2.2 SRAM 讀寫控制模塊

外部緩存SRAM的主要作用是將STM32發送的圖文數據進行緩存,以便在TFT-LCD顯示有效區間,CPLD可按照一定的時序從SRAM中依次讀出。對于SRAM,通過設定與的高低,將芯片的16位數據線分高8位和低8位存儲RGB顏色數據,以滿足存儲像素點640×480的需求,即將整屏數據分為上半屏(0~239行)、下半屏(240~479行)存儲,每半屏地址一樣,地址數為640×240。當接收到顯示像素點為上半屏數據時,設定=0=1,數據存儲于低8位,當接收到顯示像素點為下半屏數據時,設定=1=0,數據存儲于高8位。

3.2.3 LCD時序驅動模塊

LCD驅動程序流程圖如圖8所示。通過行、場計數器,產生TFT-LCD控制所需的行、場同步信號、像素時鐘,同時產生RGB數據讀寫有效位,即在RGB數據讀有效時,按照時序依次從SRAM中讀取存儲的數值,在RGB數據寫有效時,CPLD根據數據傳輸指令協議,接收并解析STM32給定的TFT-LCD上各坐標點待顯示的圖像數據。

圖8 LCD驅動模塊流程圖Fig.8 Flow chart of LCD driving module

4 仿真結果討論

本節利用 Quartus II[9]軟件仿真功能,對LCD時序和SRAM讀寫功能進行仿真。

4.1 LCD時序驅動仿真

如圖9為LCD時序仿真圖,其中,LCD_HS是行同步信號,LCD_VS是場同步信號,可以看出,當場計數器Vcnt達到524時,意味著一場掃描完,LCD_VS發生反轉,進入場消隱,同時新的一場同步信號隨后到來。

圖9 LCD時序仿真圖Fig.9 Simulation chart of LCD timing

4.2 SRAM 讀寫仿真[10]

SRAM讀寫控制信號由TFT-LCD顯示有效與消隱區間決定,設定RCnt和 WCnt分別為SRAM讀、寫狀態的地址、數據判斷標志位。

圖10 SRAM讀時序仿真圖Fig.10 Simulation chart of SRAM reading

如圖11,當WE為低時,SRAM進行寫操作。此時,在WCnt為高電平時,給定待寫像素點地址,WCnt為低電平時,同樣經過20ns時延后寫相應地址數據。同時,在SRAM在讀操作時,行地址從0~639,當讀操作結束并轉入寫操作時,行地址清0,場地址加1,可見仿真結果的正確性。

圖11 SRAM寫時序仿真圖Fig.11 Simulation chart of SRAM writing

圖12是對TFT-LCD半場信號掃描仿真的結果。在TFT-LCD的行掃描中,有一段消隱區間與有效區間;在消隱區間,可以對SRAM進行數據寫操作,在有效區間,按照行地址計數0~639依次輸出信號。每行掃描結束后,場地址加1,當場地址到達239時,即TFT-LCD半場掃描結束,接下來以同樣的地址進行下半場的掃描。

圖12 半場掃描完仿真圖Fig.12 Simulation chart of half-court scanning finished

4.3 實現結果

通過采用本文設計方法,實現的設計實物效果如圖13所示。

圖13 設計實物圖Fig.13 Chart of design entity

5 結 論

本文介紹了基于STM32和CPLD的TFTLCD顯示控制器的設計方法。TFT-LCD模塊采用的是不帶LCD控制器的群創AT056TN52-5.6in(1in=2.54cm)TFTLCD。在設計控制器時,采用的是Altera公司的 MAX II系列的 CPLD(EPM570)作為核心部件,以ISSI公司的IS61LV25616大容量SRAM作為顯示緩沖存儲器。測試結果表明,本文設計的控制器相對市場上TFT-LCD的專用控制芯片工作穩定可靠,性價比高。在很多場合具有一定的實用價值。

[1] 徐婧婧.彩色有源LCD顯示屏外圍驅動電路的研究與設計[D].長春:吉林大學,2007.Xu J J.The research and design on the peripheral driving circuit of color AM-LCD [D].Changchun:Jilin University,2007.(in Chinese)

[2] Lin J T,Wang F K,Lo S L,et al.Analysis of the supply and demand in the TFT-LCD market[J].Technological Forecasting and Social Change,2006,73(4):422-435.

[3] 李輝祥,黃光明.基于 CPLD 的 TFT-LCD控制器的設計[J].電子設計工程,2011,19(23):128-130.Li H X,Huang G M.Design of TFT-LCD controller based on CPLD [J].Electronic Design Engineering,2011,19(23):128-130.(in Chinese)

[4] 李寧.基于MDK的STM32處理器開發應用[M].北京:北京航空航天大學出版社,2008.Li N.Application of STM32 Processor Development Based on MDK [M].Beijing:Beihang University Press,2008.(in Chinese)

[5] 胡健生,羅衛兵,錢淵.嵌入式TFT-LCD控制器設計[J].計算機工程,2010,5:088.Hu J S,Luo W B,Qian Y.Design of embedded TFT-LCD controller[J].Computer Engineering,2010,5:088.(in Chinese)

[6] 蘇維嘉,張澎.基于FPGA的 TFT-LCD控制器的設計和實現[J].液晶與顯示,2010,25(1):75-78.Su W J,Zhang P.Design and implementation of TFT-LCD controller based on FPGA[J].Chinese Journal of Liquid Crystals and Displays,2010,(2511):75-78.(in Chinese)

[7] 唐徐立,黃君凱,劉明峰,等.基于FPGA的TFT-LCD控制器設計與實現[J].集成電路設計與開發,2010,35(11):1134-1137.Tang X L,Huang J K,Liu M F,et al.Design and realization of the TFT-LCD controller based on FPGA[J].Design and Development of IC,2010,35(11):1134-1137.(in Chinese)

[8] 黃杰勇.基于CPLD的 TFT-LCD控制器設計[J].現代計算機:上半月版,2013(2):62-64.Huang J Y.Design of TFT-LCD controller based on CPLD[J].Modern Computer:First Half Edition,2013(2):62-64.(in Chinese)

[9] 王冠,俞一鳴.面向CPLD/FPGA的Verilog設計 [M].北京:機械工業出版社,2007.Wang G,Yu Y M.Verilog Design for CPLD/FPGA [M].Beijing:Machinery Industry Press,2007.(in Chinese)

[10] 薛家祥,黃澤林,沈棟,等.TFT-LCD驅動中SDRAM 控制器的仲裁器設計[J].液晶與顯示,2013,28(6):877-882.Xue J X,Huang Z L,Shen D,et al.Design of SDRAM controller with arbiter for TFT-LCD driver[J].Chinese Journal of Liquid Crystals and Displays,2013,28(6):877-882.(in Chinese)

猜你喜歡
指令設計
聽我指令:大催眠術
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
一種基于滑窗的余度指令判別算法
主站蜘蛛池模板: jizz在线观看| 亚洲视屏在线观看| 日本高清成本人视频一区| 波多野结衣一区二区三视频| 97青草最新免费精品视频| 亚洲欧美日韩中文字幕一区二区三区| AV不卡国产在线观看| 国产在线拍偷自揄观看视频网站| 亚洲人成在线精品| 99人妻碰碰碰久久久久禁片| 97超爽成人免费视频在线播放| 久久动漫精品| 国产清纯在线一区二区WWW| 国产精品私拍99pans大尺度| 国产精品女同一区三区五区| 亚洲一区二区三区国产精华液| 四虎亚洲国产成人久久精品| 91成人精品视频| 一本大道无码高清| 91精品国产丝袜| 国产人成午夜免费看| 久久综合伊人 六十路| 波多野结衣的av一区二区三区| 中文字幕自拍偷拍| 国产97视频在线| 精品91视频| 精品久久久久无码| 精品91自产拍在线| 欧美精品亚洲精品日韩专区va| 精品无码日韩国产不卡av | 欧美不卡视频一区发布| 1769国产精品免费视频| 制服丝袜一区二区三区在线| 国产无人区一区二区三区| 久久精品人人做人人综合试看| 国产成人精品一区二区不卡| 伊人福利视频| 精品视频在线观看你懂的一区 | 国产成人福利在线| 久久99久久无码毛片一区二区| 日本在线国产| 国产视频一二三区| 国产视频久久久久| 亚洲成年网站在线观看| 国产成人综合网| 国产97视频在线| 色婷婷色丁香| 国产91蝌蚪窝| 日韩中文精品亚洲第三区| 久久综合丝袜长腿丝袜| AV熟女乱| 亚洲无限乱码| 亚洲成人一区二区| 亚洲日韩欧美在线观看| 色香蕉影院| 天天综合天天综合| 亚洲欧美国产高清va在线播放| 久久精品无码国产一区二区三区 | 九九九国产| 久久精品电影| 成人a免费α片在线视频网站| 亚洲视频影院| 久久精品国产精品青草app| 99在线小视频| 欧美午夜一区| 国产高清无码麻豆精品| 综合久久久久久久综合网| 在线观看免费国产| 午夜精品福利影院| 另类重口100页在线播放| 欧美性久久久久| 97精品久久久大香线焦| 丰满人妻中出白浆| 久久中文电影| 亚洲国产AV无码综合原创| 精品久久久久无码| 精品超清无码视频在线观看| 亚洲伊人天堂| 欧美精品成人一区二区在线观看| 免费国产在线精品一区| 久草国产在线观看| 欧美高清国产|