採用CPLD或者FPGA顯示TFT液晶屏
一般帶顯示控制器的MCU價格比較高,且驅動較大顯示解析度的液晶屏需要的視訊記憶體較大,所以很多人採用CPLD(FPGA)+SDRAM用來取代顯示控制器,從而MCU的選擇範圍可以更大。本文介紹了此種設計的部分內容。
圖1 硬體設計框圖
首先最重要的介面是LCD介面,需要嚴格按照LCD操作時序輸出行場掃描,資料使能訊號。
圖2 液晶顯示屏資料和使能時序圖
圖3 液晶顯示屏行場掃描時序圖
接下來是要設計SDRAM控制器,用於儲存需要顯示的畫面。SDRAM控制器網路上很多文章專門介紹如何設計。一般設計包括兩部分,分別是SDRAM的初始化和SDRAM正常操作部分兩個狀態機。
SDRAM初始化操作包括不小於6次的自重新整理,然後載入配置暫存器。SDRAM正常操作包括對讀寫請求的執行,以及定期的自重新整理操作。一般設計的時候需要下載SDRAM模擬模型,用於驗證操作時序是否符合要求。
圖4 模擬SDRAM初始化操作列印結果
另外還要設計與MCU的介面,MCU介面大部分採用英特爾8080模式和摩托羅拉6800模式,其中8080模式採用資料匯流排(DB)、資料/指令選擇(D/I)、片選(CS)、讀使能(WR)、寫使能(RD);6800模式採用用資料匯流排(DB)、資料/指令選擇(D/I)、片選(CS)、讀寫選擇(RD/WR)。
根據以上分析,得出視訊記憶體控制晶片內部程式設計結構框圖如圖5所示。
圖5 顯示控制器內部設計框圖
本人已經實現了採用CPLD和FPGA兩種方案的顯示控制器程式設計,驅動屏解析度可調,有意向需要購買原始碼或者IP網表的,可以與本人聯絡,請發郵件至[email protected]
圖6 採用STM32+CPLD+SDRAM的實際板卡
採用此設計方案的最終效能:
1、MCU介面寫速率:要求兩次寫畫素之間間隔不小於300ns,最大支援寫速率6.66MByte/s;
2、支援多屏頁儲存顯示,可以在寫一屏顯示內容時,顯示其它頁顯示儲存內容;
3、支援定點寫入畫素,可在指定任意畫素寫入顯示值;
4、支援螢幕x方向遞增和y方向自動遞增,在設定一次x、y座標後,後面僅寫入畫素資料即可。
5、當前TFT顯示解析度為480*272,可根據要求支援更大解析度,CPLD方案支援液晶解析度最大不超過800*480。
歡迎轉發,謝謝!