基于TMS320LF2407A控制的SED1335液晶顯示方案
0 引言
本文引用地址:http://m.butianyuan.cn/article/21243.htm隨著電子產(chǎn)品向智能化,小型化方向的發(fā)展,lcd(液晶顯示器)模塊逐漸被廣泛應(yīng)用于對(duì)體積和顯示模塊功耗有較高要求的各種便攜式智能型儀器儀表領(lǐng)域。dsp(數(shù)字信號(hào)處理器)以其優(yōu)化的硬件結(jié)果、高效的指令系統(tǒng)、靈活的編程能力等優(yōu)點(diǎn),使其在高速實(shí)時(shí)系統(tǒng)中得到了廣泛的應(yīng)用。本文以信利(truly)公司生產(chǎn)的采用sd1335控制芯片lcd模塊msp-g320240為例,給出了一種使用dsp取代傳統(tǒng)的單片機(jī)實(shí)現(xiàn)與sed1335的接口應(yīng)用及軟硬件設(shè)計(jì)方案。
1 硬件設(shè)計(jì)
1.1 tms320lf2407a的特點(diǎn)
tms320lf2407a芯片作為dsp控制器24x系列的新成員,是tms320c2000平臺(tái)下的一種定點(diǎn)dsp芯片,也是目前tmsc2000家族中集成度高,性能最強(qiáng)的芯片[1],它與現(xiàn)存的24xdsp控制器芯片代碼兼容,但是資源更加豐富、功能更強(qiáng),其特點(diǎn)是:采用高性能靜態(tài)cmos技術(shù),使得供電電壓將為3.3v,減小了控制器的功耗,40mips(百萬條指令每秒)的執(zhí)行速度使得指令周期縮短到25ns,從而提高了控制器的實(shí)時(shí)控制能力,片內(nèi)有32kb的flash程序存儲(chǔ)器,高達(dá)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(看門狗)定時(shí)器模塊,基于pll(鎖相環(huán))的時(shí)鐘發(fā)生器,高達(dá)41個(gè)可單獨(dú)編程和復(fù)用的gpio(通用輸入/輸出)引腳,5個(gè)外部中斷(2個(gè)驅(qū)動(dòng)保護(hù)、復(fù)位和2個(gè)可屏蔽中斷),電源管理具有3種低功耗模式等。并且,tms320lf2407a具有2個(gè)事件管理器模塊eva和evb,每個(gè)事件管理器包括:2個(gè)16位通用定時(shí)器,8個(gè)16位pwm(脈寬調(diào)制)通道,可以實(shí)現(xiàn)三相反相器控制、pwm的中心或邊緣校正,當(dāng)外部引腳pdpintx出現(xiàn)低電平時(shí)快速關(guān)閉pwm通道,防止擊穿故障的可編程的pwm死區(qū)控制,對(duì)外部事件進(jìn)行定時(shí)捕捉的3個(gè)捕獲單元,片內(nèi)光電編碼器接口電路,如此功能強(qiáng)大使得tms320lf2407a大大簡(jiǎn)化了外部硬件電路的設(shè)計(jì)。
1.2 sed1335的性能特點(diǎn)
sed1335是seikdepson公司出品的lcd控制器,具有較強(qiáng)功能的i/o緩沖器,指令功能豐富,4位數(shù)據(jù)并行發(fā)送,在同類產(chǎn)品中是功能最強(qiáng)大的,sed1335硬件結(jié)構(gòu)可分為mpu接口、控制部分和驅(qū)動(dòng)lcm部分,結(jié)構(gòu)如圖1所示。
sed1335的軟件功能非常強(qiáng),共有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控制部擁有一個(gè)內(nèi)部字符發(fā)生器,具有160種5×7點(diǎn)陣字體的字符,控制部能分區(qū)管理64kb的顯示存儲(chǔ)器,可以同時(shí)管理3個(gè)或4個(gè)顯示區(qū),并同時(shí)管理自定義字符發(fā)生器。
1.3 硬件接口電路
sed1335控制部是sed1335的核心,主要作用是接收主機(jī)的指令和數(shù)據(jù),產(chǎn)生相應(yīng)的時(shí)序及數(shù)據(jù)來控制lcd模塊,tms320lf2407a與sed1335的接口電路如圖2所示,其中d0-d7為數(shù)據(jù)中線,wr為寫選通信號(hào),rd為讀選通信號(hào),cs為器件選通信號(hào),rst為復(fù)位信號(hào),a0決定是數(shù)據(jù)還是指令,vo為lcd驅(qū)動(dòng)電壓,tms320lf2407a是3.3v電源器件,而mspg320240是5v電源供電,所以它們不能直接相連。
由于在顯示過程中,tms320lf2407a需要將數(shù)據(jù)寫入控制器,有時(shí)又要從控制器中讀數(shù)據(jù),因此數(shù)據(jù)總線上的信號(hào)流是雙向的,如果把兩者直接相連,數(shù)據(jù)的流向可能會(huì)對(duì)tms320lf2407a造成損害,所以在設(shè)計(jì)中采用74lvc4245進(jìn)行總線電平轉(zhuǎn)換,為解決此問題,也可以使用兼容3.3v和5v的cpld(復(fù)雜可編程邏輯器件),例如max7000,通過它來連接sed1335與tms320lf2407a,同時(shí)為了提高tms320lf2407對(duì)控制器的驅(qū)動(dòng)能力,且適合電平要求,sed1335的5個(gè)控制端口通過非門74hc04分別與tms320lf2407a的輸入/輸出端口a相連,通過對(duì)這個(gè)控制口不同的信號(hào)組合可以實(shí)現(xiàn)寫指令代碼、 寫參數(shù)、讀參數(shù)及顯示數(shù)據(jù)等,由于lcd模塊需要負(fù)電壓驅(qū)動(dòng)才能工作,所以必須有負(fù)壓產(chǎn)生電路,常用的負(fù)電源產(chǎn)生方法有以下2種,一種是采用79系列三端集成穩(wěn)壓器,可產(chǎn)生-18v(7918)、-24v(7924)等電源,另一種是再生dc/dc模塊或采用dc/dc集成電路制造負(fù)電源。sd1335有時(shí)需要配有ccfl(冷陰極發(fā)光)器件,有背光燈管,在點(diǎn)背光時(shí)需要逆變器,型號(hào)為cax l10a或qpy-l10a,逆變器供點(diǎn)為5v直流電源,輸出交流電壓在驅(qū)動(dòng)背景光,輸出管腳out1、out2中任選一腳與out gnd組成兩端接至lcd的背光引腳。2 軟件設(shè)計(jì)
2.1 訪問i/o空間的方法
由于tms320lf2407a的速度最高可達(dá)到40mips,而seed1335的晶振頻率在1m赫茲到10m赫茲之間,所以dsp全速訪問sed1335是不可行的,解決的方法有2種:一種是可以設(shè)置dsp中的等待狀態(tài)寄存器wsgr,通用增加等待狀態(tài)的方法解決2個(gè)器件的速度匹配問題,另一種是在每一條指令間加入一定的延時(shí),一般為1μs為以上,把sed1335地址放在tms320lf2407a的i/o空間,所以必須知道如何訪問它訪問dsp的i/o空間為匯編語言中有專門的指令,從程序的可移植性和通用性方面考慮,選用c語言編程有極大的優(yōu)越性,這里介紹如何在c語言編譯環(huán)境ccs2.2(c2000)中訪問dsp的i/o空間,在ti公司針對(duì)24xx系列dsp的優(yōu)化c語言中有一個(gè)關(guān)鍵字ioport,可以在c語言環(huán)境中方便訪問i/o空間,具體定義如下:
2.2 初始化sed1335
初始化的作為是根據(jù)lcd結(jié)構(gòu)對(duì)lcd模塊進(jìn)行參數(shù)設(shè)置,因?yàn)閰?shù)設(shè)置是根據(jù)lcd模塊的結(jié)構(gòu)來決定的,所以同一種類lcd模塊的參數(shù)設(shè)置基本上大同小異[3]。對(duì)于msp――g320240,下面給出它的system set和scroll參數(shù),system set指令是sed1335的軟件初始化指令,該指令有8個(gè)參數(shù);scroll指令用來設(shè)置顯示ram區(qū)的起始地址及所占有的顯示行數(shù),該指令有10個(gè)參數(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ū)別,但是實(shí)質(zhì)上是一樣的,都是對(duì)lcd屏上特定的區(qū)域?qū)懭胂嚓P(guān)的數(shù)據(jù),這些數(shù)據(jù)以數(shù)組的形式事先建立在程序的開頭處,在現(xiàn)實(shí)這些漢字、字符與圖形時(shí)把數(shù)據(jù)寫入顯示ram中,軟件流程見圖3,具體顯示特性和顯示合成方式通過設(shè)置ovlay指令確定。
評(píng)論