新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 設計基于TMS320LF2407的低功耗中文人機界面

        設計基于TMS320LF2407的低功耗中文人機界面

        作者: 時間:2006-07-03 來源:網絡 收藏

        引言
        在現代智能儀器設備中,能顯示漢字的圖形點陣液晶和可以輸入信息的小鍵盤已成為智能設備的中必不可少的組成部分。同時低特性也貫穿于始終。近年來,隨著低價格、高性能DSP芯片的出現,DSP已越來越多地被應用于數字化電機控制、高速信號采集、語音處理、圖像分析處理等領域中,并且日益顯示其巨大的優越性。而液晶顯示屏更以其顯示直觀、便于操作的特點被用作各種便攜式系統的顯示前端。傳統的液晶顯示往往采用單片機控制。但在系統有大量高速實時數據的情況下,單片機由于受到處理速度的限制就顯得力不從心。為了解決這些問題,本文提出了一種高速低的DSP芯片控制的液晶顯示屏的,有效地解決以上所遇到的問題。

          中,筆者采用作為系統的控制芯片,通過選擇合適的液晶顯示模塊在3V電平構建了一個低。此人機顯示界面是以為核心的運動控制系統中的重要組成部分。

        一、TMS320LF2407 DSP
        TMS320LF2407是德州儀器公司(TI)推出的16位定點DSP。它具有TMS320系列DSP的基本功能,還具有以下一些特點:

          1、用高性能靜態CMOS技術,使得供電電壓降為3.3V,減少了控制器的功耗。

          2、內有高達32K16位的Flash程序存儲器,高達2.5K16位的數據/程序RAM,54416位雙端口RAM(DARAM),2K16位的單口RAM(SARAM)。

          3、2個事件管理模塊EVA和EAB,事件管理模塊適用于控制交流感應電機、無刷直流電機、開關磁阻電機、步進電機、多級電機和逆變器。

          4、可擴展的外部存儲器總共192K16位,其中程序存儲器空間、數據存儲器空間、 I/O尋址空間各為64K16位。

          5、內有看門狗定時器(WDT)、10位ADC轉換器、控制器區域網模塊CAN2.0 B、串行通信接口模塊(SCI)、16位串行外部設備接口模塊(SPI)、鎖相環的時鐘發生器。

          6、5個外部中斷(兩個電機驅動保護、復位和兩個可屏蔽中斷);3種低功耗電源管理模式,能獨立地將外設器件轉入低功耗工作模式。

          此外,該芯片有多達41個可單獨編程或復用的通用I/O腳(GPIO),用戶可根據自己的需求進行軟件設置,使之在應用中具有極大的靈活性。概括來說,TMS320LF2407具有極低的功耗、強大的處理能力、豐富的片上外圍模塊、方便高效的開發方式。

        二、液晶顯示模塊與接口電路
        為實現友好的中文人機顯示界面,液晶模塊選用信利公司的MG-12232。該模塊的供電電壓典型值為3V,工作電流典型值為0.3μA,其顯示范圍為12232點陣。其控制器是兩片SED1520F0A,SED1520F0A可以在3.3V電壓下正常工作,因而避免了與TMS320LF2407邏輯電平不匹配的問題。

          一個SED1520F0A能控制8016點陣的顯示,其顯示RAM共16行,分2頁,每頁8行,每一頁的數據寄存器分別對應液晶屏幕上的8行點,當設置頁地址和列地址后就確定了顯示RAM的某一單元。屏幕上的每一列對應一個顯示RAM的字節內容,且每一列最下面一位為最高位,最上面一位為LSB,即該RAM單元字節數據由低位到高位和各個數據位對應于顯示屏上某一列的由高到低的8個數據位。對顯示RAM的一個字節單元賦值就是對當前列的8行(一頁)像素點是否顯示進行控制,數據位為“1”時顯示,為“0”時不顯示。

          SED1520F0A與TMS320LF2407的接口信號有(采用M6800時序):

          DB0~DB7:數據總線;A0:數據/指令選擇信號,A0=1表示數據總線上出現的是數據,A0=0表示數據總線上出現的是指令或讀出的狀態; :接口時序類型選擇, =1為M6800時序,其操作信號是E、R/W, =0為Intel8080時序。在M6800時序時,R/W=1為讀、R/W=0為寫。E1=1時,選中E1塊,即LCD模塊左半屏工作,E2=1時選中E2塊,即LCD模塊右半屏工作。

          TMS320LF2407與MG-12232模塊的接口電路如圖1所示。TMS320LF2407相應的控制引腳都設為I/O端口方式,用軟件來模擬M6800操作時序。在圖1中,V0是LCD需要的負電壓驅動電源輸入端,其外接電阻應先用可調電阻調試,以免驅動電壓不合適,造成顯示不可見。

        三、鍵盤接口
        對系統低功耗要求的考慮,鍵盤輸入響應程序應設計為中斷方式運行的。即有鍵按下時,使DSP外部中斷1(XINT1)產生中斷(可以從休眠狀態喚醒),并啟動定時20ms的定時器消抖動去干擾,隨后DSP進入休眠狀態。當20ms的定時器產生中斷時再次將DSP從休眠狀態喚醒,此時掃描鍵盤,確定是否有鍵按下,若有鍵按下,則從IOPB0~IOPB7讀入鍵值,并執行該鍵值對應的功能程序。執行完該程序后,DSP可再次進入休眠,處于低功耗狀態。


        四、軟件設計
        主程序流程圖如圖2所示


        在液晶模塊顯示信息之前,必須先對液晶模塊進行初始化,其初始化的流程圖如圖3所示。

          下面給出了DSP系統初始化程序以及鍵掃描程序。

        DSP系統初始化程序:

        SYS:SETC INTM ;禁止可屏蔽中斷

        CLRC CNF   ;B0被配置為數據存儲空間

        SPLK? #81FEH,SCSR1  ; 時鐘4倍頻

        ;CLKIN=6MHZ,CLKOUT=24MHZ

        SPLK #0E8H, ;不使能看門狗

        LDP? #0

        SPLK? #0001H,IMR?。皇鼓苤袛嗟?級INT1

        SPLK #0FFFFH,IFR  ;清全部中斷標志

        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樣 ?。籌OPA[4~7]=0

        SACL PADATDIR

        LDP #5H

        SPLK #00E2H,LCDCMD;復位命令E2H

        CALL COMWE

        SPLK #0A4H,LCDCMD;正常顯示驅動命令A4H

        CALL COMWE

        SPLK #0A9H,LCDCMD ;占空比為1/32

        CALL COMWE

        SPLK #0A0H,LCDCMD;

        CALL COMWE

        SPLK #0C0H,LCDCMD ;顯示起始行

        CALL COMWE

        CALL CLEAR

        SPLK #0AFH,LCDCMD ;開顯示命令AFH

        CALL COMWE

        RET

          外部中斷1響應以及20ms定時器中斷消抖動后,讀鍵值子程序:

        LDP #0E1H ??;DP(7080H~70FFH)

        LACL PBDATDIR ;取出鍵值

        SACL KEYDATA ;將鍵值送入KEYDATA保存

        RET

        五 、結束語
        本系統利用TMS320LF2407 DSP、MG-12232圖形點陣液晶模塊和鍵盤構建了基于3V電平的低電壓、低功耗的中文人機界面。實際試驗中,此中文人機界面消耗電流不足1mA,這種設計方案取得了很好的低功耗效果。

        參考文獻
        1. TMS320LF240X DSP結構、原理及應用,劉和平,等. 北京航空航天大學出版社,2002.
        2. 液晶顯示應用技術,李維提,郭強. 電子工業出版社,2000.
        3. DSP控制器原理及其在運動控制系統中的應用,韓安太,等. 清華大學出版,2003.




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 黑水县| 大安市| 贵溪市| 眉山市| 天门市| 开远市| 邹城市| 黄龙县| 龙泉市| 石门县| 琼海市| 贡觉县| 镇远县| 大新县| 岳阳县| 建德市| 买车| 前郭尔| 楚雄市| 永兴县| 永嘉县| 酉阳| 白玉县| 梨树县| 敦煌市| 京山县| 英吉沙县| 自治县| 奈曼旗| 恩平市| 黄大仙区| 崇仁县| 正宁县| 土默特左旗| 大姚县| 称多县| 高台县| 白沙| 巩留县| 临西县| 永济市|