基于TMS320LF2407的人機(jī)界面設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
筆者采用TMS320LF2407作為系統(tǒng)的控制芯片,通過(guò)選擇合適的液晶顯示模塊在3V電平構(gòu)建了一個(gè)低功耗的中文人機(jī)界面。此中文人機(jī)顯示界面是以TMS320LF2407為核心的運(yùn)動(dòng)控制系統(tǒng)中的重要組成部分。
一、TMS320LF2407 DSP
TMS320LF2407是德州儀器公司(TI)推出的16位定點(diǎn)DSP。它具有TMS320系列DSP的基本功能,還具有以下一些特點(diǎn):
1、用高性能靜態(tài)CMOS技術(shù),使得供電電壓降為3.3V,減少了控制器的功耗。
2、內(nèi)有高達(dá)32K×16位的Flash程序存儲(chǔ)器,高達(dá)2.5K×16位的數(shù)據(jù)/程序RAM,544×16位雙端口RAM(DARAM),2K×16位的單口RAM(SARAM)。
3、2個(gè)事件管理模塊EVA和EAB,事件管理模塊適用于控制交流感應(yīng)電機(jī)、無(wú)刷直流電機(jī)、開關(guān)磁阻電機(jī)、步進(jìn)電機(jī)、多級(jí)電機(jī)和逆變器。
4、可擴(kuò)展的外部存儲(chǔ)器總共192K×16位,其中程序存儲(chǔ)器空間、數(shù)據(jù)存儲(chǔ)器空間、 I/O尋址空間各為64K×16位。
5、內(nèi)有看門狗定時(shí)器(WDT)、10位ADC轉(zhuǎn)換器、控制器區(qū)域網(wǎng)模塊CAN2.0 B、串行通信接口模塊(SCI)、16位串行外部設(shè)備接口模塊(SPI)、基于鎖相環(huán)的時(shí)鐘發(fā)生器。
6、5個(gè)外部中斷(兩個(gè)電機(jī)驅(qū)動(dòng)保護(hù)、復(fù)位和兩個(gè)可屏蔽中斷);3種低功耗電源管理模式,能獨(dú)立地將外設(shè)器件轉(zhuǎn)入低功耗工作模式。
此外,該芯片有多達(dá)41個(gè)可單獨(dú)編程或復(fù)用的通用I/O腳(GPIO),用戶可根據(jù)自己的需求進(jìn)行軟件設(shè)置,使之在應(yīng)用中具有極大的靈活性。概括來(lái)說(shuō),TMS320LF2407具有極低的功耗、強(qiáng)大的處理能力、豐富的片上外圍模塊、方便高效的開發(fā)方式。
二、液晶顯示模塊與接口電路
為實(shí)現(xiàn)友好的中文人機(jī)顯示界面,液晶模塊選用信利公司的MG-12232。該模塊的供電電壓典型值為3V,工作電流典型值為0.3μA,其顯示范圍為122×32點(diǎn)陣。其控制器是兩片SED1520F0A,SED1520F0A可以在3.3V電壓下正常工作,因而避免了與TMS320LF2407邏輯電平不匹配的問(wèn)題。
一個(gè)SED1520F0A能控制80×16點(diǎn)陣的顯示,其顯示RAM共16行,分2頁(yè),每頁(yè)8行,每一頁(yè)的數(shù)據(jù)寄存器分別對(duì)應(yīng)液晶屏幕上的8行點(diǎn),當(dāng)設(shè)置頁(yè)地址和列地址后就確定了顯示RAM的某一單元。屏幕上的每一列對(duì)應(yīng)一個(gè)顯示RAM的字節(jié)內(nèi)容,且每一列最下面一位為最高位,最上面一位為L(zhǎng)SB,即該RAM單元字節(jié)數(shù)據(jù)由低位到高位和各個(gè)數(shù)據(jù)位對(duì)應(yīng)于顯示屏上某一列的由高到低的8個(gè)數(shù)據(jù)位。對(duì)顯示RAM的一個(gè)字節(jié)單元賦值就是對(duì)當(dāng)前列的8行(一頁(yè))像素點(diǎn)是否顯示進(jìn)行控制,數(shù)據(jù)位為“1”時(shí)顯示,為“0”時(shí)不顯示。
SED1520F0A與TMS320LF2407的接口信號(hào)有(采用M6800時(shí)序):
DB0~DB7:數(shù)據(jù)總線;A0:數(shù)據(jù)/指令選擇信號(hào),A0=1表示數(shù)據(jù)總線上出現(xiàn)的是數(shù)據(jù),A0=0表示數(shù)據(jù)總線上出現(xiàn)的是指令或讀出的狀態(tài); :接口時(shí)序類型選擇, =1為M6800時(shí)序,其操作信號(hào)是E、R/W, =0為Intel8080時(shí)序。在M6800時(shí)序時(shí),R/W=1為讀、R/W=0為寫。E1=1時(shí),選中E1塊,即LCD模塊左半屏工作,E2=1時(shí)選中E2塊,即LCD模塊右半屏工作。
TMS320LF2407與MG-12232模塊的接口電路如圖1所示。TMS320LF2407相應(yīng)的控制引腳都設(shè)為I/O端口方式,用軟件來(lái)模擬M6800操作時(shí)序。在圖1中,V0是LCD需要的負(fù)電壓驅(qū)動(dòng)電源輸入端,其外接電阻應(yīng)先用可調(diào)電阻調(diào)試,以免驅(qū)動(dòng)電壓不合適,造成顯示不可見。
三、鍵盤接口
基于對(duì)系統(tǒng)低功耗要求的考慮,鍵盤輸入響應(yīng)程序應(yīng)設(shè)計(jì)為中斷方式運(yùn)行的。即有鍵按下時(shí),使DSP外部中斷1(XINT1)產(chǎn)生中斷(可以從休眠狀態(tài)喚醒),并啟動(dòng)定時(shí)20ms的定時(shí)器消抖動(dòng)去干擾,隨后DSP進(jìn)入休眠狀態(tài)。當(dāng)20ms的定時(shí)器產(chǎn)生中斷時(shí)再次將DSP從休眠狀態(tài)喚醒,此時(shí)掃描鍵盤,確定是否有鍵按下,若有鍵按下,則從IOPB0~I(xiàn)OPB7讀入鍵值,并執(zhí)行該鍵值對(duì)應(yīng)的功能程序。執(zhí)行完該程序后,DSP可再次進(jìn)入休眠,處于低功耗狀態(tài)。
四、軟件設(shè)計(jì)
主程序流程圖如圖2所示。
在液晶模塊顯示信息之前,必須先對(duì)液晶模塊進(jìn)行初始化,其初始化的流程圖如圖3所示。
下面給出了DSP系統(tǒng)初始化程序以及鍵掃描程序。
DSP系統(tǒng)初始化程序:
SYS:SETC INTM ;禁止可屏蔽中斷
CLRC CNF ;B0被配置為數(shù)據(jù)存儲(chǔ)空間
SPLK #81FEH,SCSR1 ; 時(shí)鐘4倍頻
;CLKIN=6MHZ,CLKOUT=24MHZ
SPLK #0E8H,WDCR ;不使能看門狗
LDP #0
SPLK #0001H,IMR ;使能中斷第1級(jí)INT1
SPLK #0FFFFH,IFR ;清全部中斷標(biāo)志
CLRC INTM ;開中斷
RET
液晶初始化程序:
LDP #0E1H ;DP(7080H~70FFH)
LACL MCRA
AND #000FH ;配置IOPA[4~7],IOPB[0~7]為
;一般I/O口功能
SACL PADATDIR
OR #0F000H ;IOPA[4~7]為輸出方式
AND #0FF0FH樣 ;IOPA[4~7]=0
SACL PADATDIR
LDP #5H
SPLK #00E2H,LCDCMD;復(fù)位命令E2H
CALL COMWE
SPLK #0A4H,LCDCMD;正常顯示驅(qū)動(dòng)命令A(yù)4H
CALL COMWE
SPLK #0A9H,LCDCMD ;占空比為1/32
CALL COMWE
SPLK #0A0H,LCDCMD;
CALL COMWE
SPLK #0C0H,LCDCMD ;顯示起始行
CALL COMWE
CALL CLEAR
SPLK #0AFH,LCDCMD ;開顯示命令A(yù)FH
CALL COMWE
RET
外部中斷1響應(yīng)以及20ms定時(shí)器中斷消抖動(dòng)后,讀鍵值子程序:
LDP #0E1H ;DP(7080H~70FFH)
LACL PBDATDIR ;取出鍵值
SACL KEYDATA ;將鍵值送入KEYDATA保存
RET
五 、結(jié)束語(yǔ)
本系統(tǒng)利用TMS320LF2407 DSP、MG-12232圖形點(diǎn)陣液晶模塊和鍵盤構(gòu)建了基于3V電平的低電壓、低功耗的中文人機(jī)界面。實(shí)際試驗(yàn)中,此中文人機(jī)界面消耗電流不足1mA,這種設(shè)計(jì)方案取得了很好的低功耗效果。