基于TMS320LF2407A控制SED1335液晶顯示方案
1 硬件設(shè)計
1.1 TMS320LF2407A的特點
TMS320LF2407A芯片作為DSP控制器24x系列的新成員,是TMS320C2000平臺下的一種定點DSP芯片,也是目前TMSC2000家族中集成度高,性能最強的芯片[1],它與現(xiàn)存的24xDSP控制器芯片代碼兼容,但是資源更加豐富、功能更強,其特點是:采用高性能靜態(tài)CMOS技術(shù),使得供電電壓將為3.3V,減小了控制器的功耗,40MIPS(百萬條指令每秒)的執(zhí)行速度使得指令周期縮短到25ns,從而提高了控制器的實時控制能力,片內(nèi)有32KB的Flash程序存儲器,高達1.5KB的數(shù)據(jù)/程序RAM,544B雙口RAM(DRAM)和2KB的單口RAM(SARAM)。TMS320LF2407A芯片集成了16通道10位500ns的高性A/D轉(zhuǎn)換器;CAN2.0模塊;串行通信接口(SCI)模塊,16位SPI(串行外部設(shè)備接口)模塊,WD(看門狗)定時器模塊,基于PLL(鎖相環(huán))的時鐘發(fā)生器,高達41個可單獨編程和復(fù)用的GPIO(通用輸入/輸出)引腳,5個外部中斷(2個驅(qū)動保護、復(fù)位和2個可屏蔽中斷),電源管理具有3種低功耗模式等。并且,TMS320LF2407A具有2個事件管理器模塊EVA和EVB,每個事件管理器包括:2個16位通用定時器,8個16位PWM(脈寬調(diào)制)通道,可以實現(xiàn)三相反相器控制、PWM的中心或邊緣校正,當外部引腳PDPINTX出現(xiàn)低電平時快速關(guān)閉PWM通道,防止擊穿故障的可編程的PWM死區(qū)控制,對外部事件進行定時捕捉的3個捕獲單元,片內(nèi)光電編碼器接口電路,如此功能強大使得TMS320LF2407A大大簡化了外部硬件電路的設(shè)計。
1.2 SED1335的性能特點
SED1335是SEIKDEPSON公司出品的LCD控制器,具有較強功能的I/O緩沖器,指令功能豐富,4位數(shù)據(jù)并行發(fā)送,在同類產(chǎn)品中是功能最強大的,SED1335硬件結(jié)構(gòu)可分為MPU接口、控制部分和驅(qū)動LCM部分,結(jié)構(gòu)如圖1所示。
DSP或單片機可以隨時訪問SED1335而不需要判別其當前的工作狀態(tài),SED1335及時地把DSP送來的指令代碼和參數(shù)或顯示數(shù)據(jù)到位,或把顯示數(shù)據(jù)送到系統(tǒng)的數(shù)據(jù)總線供DSP讀取,SD3335的忙標志寄存器僅有1位"忙"標志位BF,當BF=1時,表示SED1335正在向LCD模塊傳送有效顯示數(shù)據(jù),在傳送完一行有效顯示數(shù)據(jù)到下一行傳送開始之間的間歇時間內(nèi)BF=0,在向SED1335進行大數(shù)據(jù)量傳輸時,還需要加入判忙狀態(tài)位BF的檢測,否則有可能使顯示出現(xiàn)"雪花"現(xiàn)象。
SED1335的軟件功能非常強,共有14條指令,且多數(shù)指令都帶有若干參數(shù),參數(shù)值由使用者根據(jù)需要設(shè)置[2],DSP訪問SED1335首先將指令代碼寫入指令緩沖器(A=1),隨后將該指令所需參數(shù)按順序通過數(shù)據(jù)輸入緩沖器(A=0)寫入相應(yīng)的功能寄存器內(nèi)。SED1335指令代碼既可設(shè)置功能位、又是參數(shù)寄存器的選通碼。除了SLEEP IN指令,CSRDIR指令,CSRR指令和MREAD指令外,所有的指令執(zhí)行都將在其參數(shù)的輸入完成后。SED1335控制部擁有一個內(nèi)部字符發(fā)生器,具有160種5×7點陣字體的字符,控制部能分區(qū)管理64KB的顯示存儲器,可以同時管理3個或4個顯示區(qū),并同時管理自定義字符發(fā)生器。
1.3 硬件接口電路
SED1335控制部是SED1335的核心,主要作用是接收主機的指令和數(shù)據(jù),產(chǎn)生相應(yīng)的時序及數(shù)據(jù)來控制LCD模塊,TMS320LF2407A與SED1335的接口電路如圖2所示,其中D0-D7為數(shù)據(jù)中線,WR為寫選通信號,RD為讀選通信號,CS為器件選通信號,RST為復(fù)位信號,A0決定是數(shù)據(jù)還是指令,VO為LCD驅(qū)動電壓,TMS320LF2407A是3.3V電源器件,而MSPG320240是5V電源供電,所以它們不能直接相連。
由于在顯示過程中,TMS320LF2407A需要將數(shù)據(jù)寫入控制器,有時又要從控制器中讀數(shù)據(jù),因此數(shù)據(jù)總線上的信號流是雙向的,如果把兩者直接相連,數(shù)據(jù)的流向可能會對TMS320LF2407A造成損害,所以在設(shè)計中采用74LVC4245進行總線電平轉(zhuǎn)換,為解決此問題,也可以使用兼容3.3V和5V的CPLD(復(fù)雜可編程邏輯器件),例如MAX7000,通過它來連接SED1335與TMS320LF2407A,同時為了提高TMS320LF2407對控制器的驅(qū)動能力,且適合電平要求,SED1335的5個控制端口通過非門74HC04分別與TMS320LF2407A的輸入/輸出端口A相連,通過對這個控制口不同的信號組合可以實現(xiàn)寫指令代碼、 寫參數(shù)、讀參數(shù)及顯示數(shù)據(jù)等,由于LCD模塊需要負電壓驅(qū)動才能工作,所以必須有負壓產(chǎn)生電路,常用的負電源產(chǎn)生方法有以下2種,一種是采用79系列三端集成穩(wěn)壓器,可產(chǎn)生-18V(7918)、-24V(7924)等電源,另一種是再生DC/DC模塊或采用DC/DC集成電路制造負電源。SD1335有時需要配有CCFL(冷陰極發(fā)光)器件,有背光燈管,在點背光時需要逆變器,型號為CAX L10A或QPY-L10A,逆變器供點為5V直流電源,輸出交流電壓在驅(qū)動背景光,輸出管腳OUT1、OUT2中任選一腳與OUT GND組成兩端接至LCD的背光引腳。
2 軟件設(shè)計
2.1 訪問I/O空間的方法
由于TMS320LF2407A的速度最高可達到40MIPS,而SEED1335的晶振頻率在1M赫茲到10M赫茲之間,所以DSP全速訪問SED1335是不可行的,解決的方法有2種:一種是可以設(shè)置DSP中的等待狀態(tài)寄存器WSGR,通用增加等待狀態(tài)的方法解決2個器件的速度匹配問題,另一種是在每一條指令間加入一定的延時,一般為1μs為以上,把SED1335地址放在TMS320LF2407A的I/O空間,所以必須知道如何訪問它訪問DSP的I/O空間為匯編語言中有專門的指令,從程序的可移植性和通用性方面考慮,選用C語言編程有極大的優(yōu)越性,這里介紹如何在C語言編譯環(huán)境CCS2.2(C2000)中訪問DSP的I/O空間,在TI公司針對24XX系列DSP的優(yōu)化C語言中有一個關(guān)鍵字ioport,可以在C語言環(huán)境中方便訪問I/O空間,具體定義如下:
2.2 初始化SED1335
初始化的作為是根據(jù)LCD結(jié)構(gòu)對LCD模塊進行參數(shù)設(shè)置,因為參數(shù)設(shè)置是根據(jù)LCD模塊的結(jié)構(gòu)來決定的,所以同一種類LCD模塊的參數(shù)設(shè)置基本上大同小異[3]。對于MSP――G320240,下面給出它的SYSTEM SET和SCROLL參數(shù),SYSTEM SET指令是SED1335的軟件初始化指令,該指令有8個參數(shù);SCROLL指令用來設(shè)置顯示RAM區(qū)的起始地址及所占有的顯示行數(shù),該指令有10個參數(shù),這2條指令參數(shù)設(shè)定值為:SYSTEM SET:0x30,0x87,0x07,0x28,0x2f,0x0f0,0x28,0x00;SCROLL:0x00,0x00,0x0f0,0x00,0x40,0x0f0,0x00,0x80,0x00,0x00。
2.3 液晶顯示方案
SED1335可顯示文本、圖形和字符。顯示特性有些區(qū)別,但是實質(zhì)上是一樣的,都是對LCD屏上特定的區(qū)域?qū)懭胂嚓P(guān)的數(shù)據(jù),這些數(shù)據(jù)以數(shù)組的形式事先建立在程序的開頭處,在現(xiàn)實這些漢字、字符與圖形時把數(shù)據(jù)寫入顯示RAM中,軟件流程見圖3,具體顯示特性和顯示合成方式通過設(shè)置OVLAY指令確定。
不失一般性,下面給出顯示漢字和字符的子程序:
在子程序中x,y為顯示字符在LCD屏上的位置坐標,以LCD屏左上角為原點,左邊正方向為向左、向下,codeno為字符代碼號,從0x80-0xbf,每個漢字占用4個序號,如0x80所表示的漢字占用x80,0x81,0x82,0x83這4個序號,0x80-0x9f序號共有8個漢字,字模占用1335中用戶自定義字庫一區(qū),0xa0-0xbf序號共有8個漢字,字模占用1335中用戶自定義字庫二區(qū),Return為返回值。PSystemSet[6]為SYSTEM SET指令的第7個參數(shù)值,表示顯示屏一行作占顯示緩沖區(qū)的低位字節(jié)數(shù)。
4 結(jié)束語
本文以TMS320LF2407A為處理機,發(fā)送指令和數(shù)據(jù)給LCD模塊的控制器,該模塊由程序存儲器、數(shù)據(jù)存儲器和其他外圍芯片構(gòu)成,主要介紹二者的硬件組成和接口設(shè)計,如何通過軟件在LCD屏上顯示本文、圖形和字符等方面的應(yīng)用,本文設(shè)計的系統(tǒng)具有成本低、硬件簡單、運行穩(wěn)定可靠、傳輸速度快、開發(fā)周期短的優(yōu)點。適用于短距離無線傳輸和數(shù)據(jù)采集領(lǐng)域,有著廣泛的應(yīng)用前景,特別是在智能家電等設(shè)備上。