SEP3203與偽彩LCD驅動SSD1770的接口設計
ssd1770是晶門科技公司于2005年推出的一款用于點陣顯示系統(tǒng)的單片cmos彩色stn lcd驅動控制器。目前,ssd1770已經應用于傳統(tǒng)的工控機領域8080系列微控制器的連接,而在32位嵌入式系統(tǒng)領域內的應用還很少,本文主要研究lcd控制器ssd1770與arm7tdmi內核的嵌入式微處理器sep3203之間的系數(shù)連接及底層、上層軟件開發(fā),并最終在產品中得到應用。
1 系統(tǒng)介紹
1.1 系統(tǒng)構成
系統(tǒng)主要由sep3203處理器和偽彩點陣型圖形lcd控制器ssd1770組成,系統(tǒng)接口示意圖如圖1所示。
1.2 sep3203概述
sep3203是由東南大學國家專用集成電路(asic)與系統(tǒng)工程技術研究中心設計的一款基于arm7tdmi內核的16/32位risc微控制器,面向低成本手持設備和其他通用嵌入式設備,它集成了支持黑白、灰度、彩色的lcd控制器,sep3203中的彩色lcd控制器主要用于tft真彩顯示,不能直接控制cstn(偽彩)顯示,須通過外接偽彩控制器來實現(xiàn)偽彩顯示。
sep3203處理器內嵌20kb零等待的靜態(tài)存儲器sram,提供sdram控制器,可擴展支持各種sram接口的設備,提供可自由控制的gpio口,同時具有多種控制器接口。
1.3 ssd1770概述
ssd1770是一個單片高度集成的偽彩點陣型lcd控制驅動器件,它內含312×81×4位的圖形數(shù)據(jù)顯存gddram和477khz的振蕩電路,集成偏壓電路和dc-dc電路,具有8位ppi接口(可直接連接80/68xx
mcu)、3/4線spi串行接口和36條控制/傳輸指令。外加幾個電容器件,ssd1770就可控制驅動104rgb×81點彩色stn型lcd,4096種顏色。
1.4 電壓匹配
ssd1770 cmos電源提供電壓為1.8-3.6v,而sep3203輸入/輸出電壓最小為2.7v,最大為3.6v,前者的輸出可以直接作為后者的輸入,無須進行電平轉換。
2 硬件設計
sep3203接口協(xié)議如圖2所示。
ssd1770同時有4種信號接口協(xié)議:1)8位8080系列mpu接口協(xié)議;2)8位6800系列mpu接口協(xié)議;3)三線串行外設接口協(xié)議;4)四線串行外設接口協(xié)議。不同的接口協(xié)議可通過ps0、ps1引腳的設置來實現(xiàn),如表1所列。
由于本設計中傳輸距離不需要過長,且考慮到速度問題,所以選擇并行接口協(xié)議,ssd1770支持2種并口模式:一種是6800系列mpu接口協(xié)議,如圖3所示,另一種是8080系列mpu接口協(xié)議,如圖4所示。
將sep3203接口協(xié)議與這兩種mpu接口協(xié)議相比,可知sep3203的接口協(xié)議屬于8080系列mpu接口協(xié)議,因此,采用8080接口實現(xiàn)ssd1770與sep3203的連接。
sep3203所用的接口引腳是外部存儲接口模塊(external memory interface,簡稱emi)中的8位數(shù)據(jù)總線、輸出使能、寫使能、地址總線、nand
flash準備就緒/忙和控制時鐘中低電平有效的reset,emi的功能即提供對外部存儲器的讀/寫接口。
sep3203的主要引腳定義如下:
noe:讀使能信號,表示當前周期執(zhí)行讀操作。
nwe:寫使能信號,表示當前周期執(zhí)行寫操作。
lcd_ncsf:片選信號。
data:外部數(shù)據(jù)總線。
addr:外部地址總線。
ssd1770的主要引腳定義如下。
d0-d7:并行接口方式,雙向數(shù)據(jù)總線。
res:復位信號輸入,低電平有效。
d/c:數(shù)據(jù)或命令選擇引腳,若為1,則數(shù)據(jù)總線上的信息當做顯示數(shù)據(jù),若為0,則數(shù)據(jù)總線上的信息發(fā)送到命令寄存器。
cs:片選信號輸入,低電平有效。
rd:與8080cpu接口時,為寫信號輸入,低電平有效。
wr:與8080cpu接,用于寫信號(低電平有效)。
與8080系列cpu并行接口,由8位雙向數(shù)據(jù)腳d0-d7、rd、wr、d/c、cs組成,根據(jù)8080cpu接口協(xié)議,ssd1770的d0-d7、rd、wr、res、d/c、cs引腳分別與sep3203的portb、noe、nwe、lcd_reset、addr2、lcd_ncsf引腳相連,如圖5所示。
cs信號直接由sep3203的lcd_ncsf控制。如果cs是低電平且rd為低,則rd輸入作為讀數(shù)據(jù)鎖存信號;無論是從gdrram讀顯示數(shù)據(jù)還是從狀態(tài)寄存器讀狀態(tài)都需要d/c腳的控制,如果cs是低電平且wr為低,則wr輸入作為寫數(shù)據(jù)鎖存信號,無論是寫顯示數(shù)據(jù)到gddram還是將命令寫入命令寄存器都需要d/c腳的控制,第一有效數(shù)據(jù)讀之前,需要一次虛擬讀。為了不產生錯誤操作,在ssd1770與sep3203控制信號之間使用cmos芯片,由圖5可知,控制信號d/c、cs、wr、rd都是單向的,所以使用1片單向的cmos八位鎖存74ls373控制;而d0-d7是雙向的,因此采用1片雙向的74ls245緩沖,具體電路連接如圖5所示。
3 軟件設計
3.1 軟件系統(tǒng)
lcd的軟件驅動程序是在嵌入式操作系統(tǒng)asix os上運行的。asix os系統(tǒng)是由國家asic系統(tǒng)工程技術研究中心開發(fā)的一種嵌入式操作系統(tǒng),具有設計簡潔、模塊化、易移植、功耗低等特點,它是基于uitron3.0的tkernel,由設備驅動、內核、文件系統(tǒng)、圖形用戶接口以及系統(tǒng)級服務5個模塊組成,結合lcd的具體運用,設計的asix
os框架如圖6所示。
3.2 lcd初始化
在asix os系統(tǒng)之上,lcd的驅動程序通過ssd1770的初始化流程,命令參數(shù)列表以及其他資料來編寫,ssd1770的訪問有2種,一種是根據(jù)寫入不同的命令來實現(xiàn)對ssd1770的控制而使用控制寄存器;另一種則是通過調用gddram內的地址來讀/寫顯示內容。
首先計算ssd1770的各端口地址。sep3203的片選信號lcd_ncsf所對應的基址為0x34000000,所以設定ssd1770的訪問地址為0x34000010,ram的訪問地址為0x34000018,軟件設計的流程圖如圖7所示。
初始化程序如下:
4 結論
本設計不僅是對晶門科技公司新推出的單片cmos彩色stn-lcd驅動控制器在嵌入式系統(tǒng)中應用的擴展,而且滿足了東南大學asic中心設計的嵌入式處理器sep3203外接偽彩顯示的需求。既實現(xiàn)了在具有友好界面的工控系統(tǒng)中的應用,又可以在更多想要具有友好界面的系統(tǒng)中得到推廣。
評論