SOPC中NiosII的LCD顯示驅動(dòng)IP設計
摘要:針對SOPC Builder系統沒(méi)有提供128064液晶模塊驅動(dòng)的問(wèn)題,以CBGl28064液晶模塊為例,采用有限狀態(tài)機,用Verilog HDL語(yǔ)言設計了顯示驅動(dòng)IP核,并構建了基于NiosII嵌入式處理器的片上系統。通過(guò)把顯示驅動(dòng)IP核下載到Cyclone系列FPGA上,驗證了該設計的可行性。
關(guān)鍵詞:NiosII嵌入式處理器;顯示驅動(dòng);IP核
引言
NioslI嵌入式處理器是A1tera公司提出的SOPC解決方案,是一種用戶(hù)可隨意配置和構建的32位嵌入式處理器,結合豐富的外設可快速、靈活地構建功能強大的SOPC系統。Altera公司提供了一些通用的IP核,使得用戶(hù)可輕松集成屬于自己的專(zhuān)用功能;但對于一些特定的外設,沒(méi)有現成可用的IP核,如液晶模塊CBGl28064等。
用戶(hù)可通過(guò)自定義邏輯的方法在SOPC設計中添加自定義IP核。在實(shí)際應用中,LCD液晶顯示器憑借功耗低、體積小、輕薄及控制驅動(dòng)簡(jiǎn)單等特點(diǎn),在智能儀器、儀表和低功耗電子產(chǎn)品中得到了廣泛應用。本文以深圳秋田視佳實(shí)業(yè)有限公司的液晶顯示模塊CBGl28064為例,在基于NioslI的SOPC系統中設計了LCD顯示驅動(dòng)IP核,并下載到Cyclone系列的FPGA中,實(shí)現了對LCD的顯示驅動(dòng)。
1 CBGl28064液晶顯示模塊
CBG128064是一款以2片HD61202作為列驅動(dòng)器,1片HD61203作為行驅動(dòng)器的液晶模塊。HD61202是一種帶有驅動(dòng)輸出的圖形液晶顯示控制器,可直接與8位微處理器相連;而HD61203只需提供電源,就能產(chǎn)生行驅動(dòng)信號和各種同步信號。CBGl28064液晶顯示模塊內置顯示存儲器RAM,顯示屏上各像素點(diǎn)的顯示狀態(tài)與顯示存儲器RAM中的各位數據一一對應。顯示存儲器的數據直接作為圖形顯示的驅動(dòng)信號。外部處理器只需要通過(guò)其8位數據線(xiàn)和6條控制線(xiàn)來(lái)設置所需要的顯示方式,其他功能均由模塊自動(dòng)完成。HD61202提供7條簡(jiǎn)單的指令:顯示開(kāi)/關(guān)指令、顯示起始行(ROW)設置指令、頁(yè)(RAGE)設置指令、列地址(Y Address)設置指令、讀狀態(tài)指令、寫(xiě)數據指令、讀數據指令。
2 方案選擇
通常有兩種方式可以實(shí)現NiosII嵌入式處理器對LCD的顯示驅動(dòng):
一種是利用現成的并行輸入/輸出(PIO)內核。該內核提供了Avalon總線(xiàn)從控制器端口到通用I/O口間的存儲器映射接口,將LCD模塊的接口與NiosII嵌入式處理器的并行端口相連接,NiosII嵌入式處理器通過(guò)對其端口的操作來(lái)完成對LCD模塊的控制。這種方式類(lèi)似于單片機操作,時(shí)序簡(jiǎn)單,易于實(shí)現;但是在SOPC系統中硬件上需要設計與外設相連的I/O口,軟件上需要編寫(xiě)接口程序進(jìn)行讀寫(xiě)控制,增加了處理器的時(shí)間開(kāi)銷(xiāo),FPGA的并行處理能力沒(méi)有得到發(fā)揮。
另一種是采用自定義IP核方式。把LCD模塊看成是外部存儲器或I/O設備,作為從設備掛接到NiosII嵌入式處理器的Avalon總線(xiàn)上,處理器以訪(fǎng)問(wèn)I/O設備或讀寫(xiě)存儲器的方式對其進(jìn)行控制。這種方法需要寫(xiě)HDL模塊,自己定義控制、狀態(tài)、數據寄存器和控制位,可較為靈活地實(shí)現復雜的時(shí)序控制。一旦完成了設計,即可封裝為SOPC BLdldel可用的獨立元件,用戶(hù)可以像使用Altera公司提供的其他外設一樣來(lái)使用,并且可以提供給其他設計者使用。本文選用該方式實(shí)現。
3 LCD顯示驅動(dòng)設計
圖l為系統結構圖。設計的重點(diǎn)在于LCD顯示驅動(dòng)模塊的設計。按照模塊化、層次化的設計思想,顯示驅動(dòng)可分為3部分實(shí)現,即任務(wù)邏輯部分、寄存器組部分和Avalon總線(xiàn)接口部分。任務(wù)邏輯部分描述液晶模塊的讀寫(xiě)邏輯功能;寄存器文件部分提供了內部寄存器訪(fǎng)問(wèn)的通道;Avalon總線(xiàn)接口部分通過(guò)頂層接口模塊對寄存器進(jìn)行操作,從而實(shí)現對行為模塊的訪(fǎng)問(wèn)和控制。其中,DATA[7..0]為8位數據線(xiàn),CSl、CS2為片選信號,RS為指令/數據選擇信號,R/W為讀寫(xiě)選擇信號,RST為復位信號,E為讀寫(xiě)使能信號。
3.1 任務(wù)邏輯
任務(wù)邏輯是整個(gè)驅動(dòng)的核心部分。要實(shí)現對LCD的顯示控制,就要按照CBG128064驅動(dòng)控制器的規范及時(shí)序要求進(jìn)行設計。在時(shí)序邏輯電路中,數據信號和控制信號的配合比較復雜,但又十分重要,使用有限狀態(tài)機可以較為容易地設計出復雜的數字電路系統。
本文采用有限狀態(tài)機實(shí)現顯示驅動(dòng)的核心邏輯。根據驅動(dòng)控制器的讀寫(xiě)命令及讀寫(xiě)時(shí)序要求,本文設計了3個(gè)狀態(tài)機,分別為讀寫(xiě)控制狀態(tài)機、讀寫(xiě)狀態(tài)機和讀寫(xiě)時(shí)序狀態(tài)機。
如圖2所示,讀寫(xiě)控制狀態(tài)機用于當發(fā)生讀寫(xiě)請求時(shí)進(jìn)行忙狀態(tài)檢測及讀寫(xiě)操作控制,并在每個(gè)狀態(tài)給出時(shí)序狀態(tài)機讀寫(xiě)信號。
評論