一種基于SOPC技術的內存映射型LCD控制器設計
2.2 寄存器模塊(register_bank)
本文引用地址:http://www.104case.com/article/248875.htm該模塊為Avalon總線從端口設備,可以通過NiosⅡ Processor設置和讀取顯存起始地址、顯示大小、顯示顏色位數及相關控制參數。
寄存器模塊中共定義了4個寄存器;顯存起始地址寄存器、顯示參數寄存器、控制寄存器和狀態寄存器。各寄存器的讀寫控制、定義及功能描述如表2所示。

其中,顯示參數寄存器(size)中“色數”標志位,值為1表示8位顏色顯示,值為0表示16位顏色顯示。狀態寄存器(status)大小為兩位,可與控制寄存器中的中斷位(Interrupt)配合使用,為保留位。控制器寄存器的定義如表3所示。

2.3 數據緩存模塊(line_buffer)
該模塊設計采用了雙口RAM,由MegaWizard Plug-In Manager生成,其存儲空間約為一行數據所占的空間,用于暫存顯示數據。由于DMA不是直接將顯存中的數據傳給時序發生器,而在中間使用了雙口RAM 做數據緩存,這樣DMA和時序發生器的讀、寫時序不必嚴格對應,簡化了結構設計。同時,用于16位彩色顯示時,可通過數據緩存模塊將總線32位的數據輸入變為16位的數據輸出給時序發生器;而在8位彩色顯示時,可通過數據緩存模塊將32位輸入變為8位輸出,實現了數據位數的轉化,方便的時序發生器內部的數據操作。
2.4 DMA模塊(image_dma)
該模塊為Avalon總線主端口設備,它負責向Avalon總線提供有效的地址、數據和寫請求信號,并在時鐘上升沿發起總線傳輸,讀取顯存中的數據;同時,DMA模塊產生寫數據緩存的地址和數據,將顯示數據正確地從顯存傳送到數據緩存。DMA模塊為三狀態的狀態機,包括空閑狀態、傳輸狀態、等待狀態,各狀態機邏輯關系如圖3所示。

2.5 時序發生器(LCD_driver)
時序發生器模塊主要有4個主要功能:
(1)產生驅動LCD的行掃描信號(hsync)、列掃描信號(vsync)、數據使能信號(blank_n);
(2)產生讀雙口R_AM緩存的地址信號;
(3)產生行、場消隱信號,控制DMA模塊啟動、停止數據傳輸;
(4)將顯示數據RGB按正確的時序、指定模式輸出。
常用的16位彩色顯示可分為555、565(即RGB信號分量所占位數)兩種顯示模式,控制器通過判斷控制寄存器中的模式設置位將RGB信號以不同的格式輸出。
2.6 實驗平臺的設計及內存映射型LCD控制器的驗證
為驗證該控制器,本文設計了以CycloneⅡ系列EP2C8Q208C8為主芯片的SOPC評估電路板。實驗平臺的TFT-LCD選用 SAMSUNG公司的LTA104S1-L01,該LCD大小為10.4英寸、分辨率為800×600,可實現16位真彩色顯示。由于LTA104S1- L01接口為LVDS,本文設計了以DS90CF363為主芯片外接的接口板,以實現RGB到LVDS信號的轉換實驗結果說明,本控制器能有效地解決顯存讀寫問題,設計完全符合預期要求。實驗平臺及顯示效果如圖4所示。

3 結束語
本文設計的內存映射型LCD控制器,能有效地解決顯存讀寫沖突。同時與文獻[8]中的控制器相比,由于使用自定義的DMA代替了原有的DMA IP Core,數據的傳輸不必由CPU產生中斷發起,而完全由控制器發起,從而減輕CPU的運行負擔。同時,該設計還具有占用邏輯單元少、適用范圍廣、靈活性強、實用性強、擴展性強等特點,可用于多種分辨率LCD的顯示控制,具有一定的實用價值。
LCD顯示屏相關文章:lcd顯示屏原理
lcd相關文章:lcd原理
評論