基于TMS320LF2407A控制的SED1335液晶顯示方案
0 引言
本文引用地址:http://m.butianyuan.cn/article/21243.htm隨著電子產(chǎn)品向智能化,小型化方向的發(fā)展,lcd(液晶顯示器)模塊逐漸被廣泛應(yīng)用于對體積和顯示模塊功耗有較高要求的各種便攜式智能型儀器儀表領(lǐng)域。dsp(數(shù)字信號處理器)以其優(yōu)化的硬件結(jié)果、高效的指令系統(tǒng)、靈活的編程能力等優(yōu)點,使其在高速實時系統(tǒng)中得到了廣泛的應(yīng)用。本文以信利(truly)公司生產(chǎn)的采用sd1335控制芯片lcd模塊msp-g320240為例,給出了一種使用dsp取代傳統(tǒng)的單片機實現(xiàn)與sed1335的接口應(yīng)用及軟硬件設(shè)計方案。
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的中心或邊緣校正,當(dāng)外部引腳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所示。
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模塊需要負(fù)電壓驅(qū)動才能工作,所以必須有負(fù)壓產(chǎn)生電路,常用的負(fù)電源產(chǎn)生方法有以下2種,一種是采用79系列三端集成穩(wěn)壓器,可產(chǎn)生-18v(7918)、-24v(7924)等電源,另一種是再生dc/dc模塊或采用dc/dc集成電路制造負(fù)電源。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指令確定。
評論