《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于DSP和CPLD的液晶模塊的設計
基于DSP和CPLD的液晶模塊的設計
薛紅娟,江海河,張飛軍
摘要: 以 DSP為核心處理器,利用 CPLD來進行邏輯轉換和控制,實現高速CPU處理器和低速外設接口的時序匹配,同時采用了移植性能和可讀性能高的 C程序設計,無需插入等待周期,在實際的嵌入式系統中成功運行,為快速處理器與慢速外設的接口設計提供了一種借鑒的方法。
關鍵詞: DSP 液晶模塊 CPLD
Abstract:
Key words :

引言
    DSP芯片具有高速的信息處理能力、較好的系統支持、硬件配置強等優良技術和較低的價格特性。嵌入式系統的實時性好、占用資源少、功能強、可靠性高、模塊化結構、便于移植和定制的特點。基于 DSP平臺的嵌入式系統具備上述兩者的優點,特別適用于一些帶各種便攜式系統終端 LCD且需要大量數據要處理的系統。
    近年來,DSP已經越來越多地被應用于數據采集、語音處理、圖像分析與處理等領域中,并且日益顯示出巨大的優越性。而液晶顯示屏更以其顯示直觀、功耗低、便于操作的特點被用作各種便攜式的顯示前端。本文介紹了一種基于DSP 和 CPLD液晶模塊的設計與實現方法,解決快速處理器與慢速外設的匹配問題。 1系統總體設計
    該顯示系統主要由DSP、CPLD、電平轉換和 LCD模塊四部分組成,如圖 1所示,
 

    該系統中,DSP采用 TI公司的 TMS320F2812處理器。采用高性能靜態的 CMOS技術,使得供電電壓降為 3.3V,降低了控制器的功耗;150MIPS的執行速度使得指令周期縮短為6.67ns,從而提高了控制器的實時控制能力;可以進行 16×16和 32×32的乘加操作,可以方便的進行FFT、FIR濾波等數字信號處理算法;具有多達 56個通用、雙向數字 I/O引腳,能方便的實現各種 I/O操作。
    CPLD 采用 Altera公司 MAX7000系列的 EPM7128SQC100,3.3V供電,不存在 DSP及 LCD電平兼容的問題,采用 CMOS E2PROM工藝,傳輸延遲僅為5ns;具有 68個用戶可編程的 IO 口,為系統定義輸入、輸出和雙向口提供了極大的方便; EPM7128同時還提供了 JTAG接口,可進行 ISP編程,極大地方便了用戶。本文采用CPLD 的主要目的是:對于 LCD顯示,將 DSP中的數據發送到CPLD,然后 DSP去做其它的事情,而后續的顯示任務由 CPLD完成,CPLD 將在 LCD允許的速度下對其進行操作即可達到顯示的目的。

    LCD 模塊采用成都飛宇達的 FYD12864-0402B,內置 ST7920液晶控制器。它是一種具有 4位/8位并行、 2線或 3線串行多種接口方式,內含中文字庫的點陣圖形液晶顯示模塊。其顯示分辨率為 128*64,內置 8192個 16*16點漢字和 128個 16*8點 ASCII字符集,強大的字庫省去了很多自行編碼的麻煩;可以顯示中文字型、數字符號、英文字母以及圖形等,利用該模塊靈活的接口方式和簡單方便的操作指令,可構成友好的中文人機交互界面。

硬件接口設計
    由于 DSP屬于高速器件, LCD為慢速外設,DSP對讀寫周期較慢的 LCD進行訪問,可采用以下兩種方式來解決 DSP與 LCD的時序匹配問題:直接訪問和間接訪問。直接訪問是將 DSP的讀寫信號與 LCD接口的讀寫信號直接相連,將 LCD的 8位數據線與 DSP的低 8位數據線相連(在 CPLD內部硬件編程完成),時序由 DSP內部讀寫邏輯控制。由于 LCD的讀寫周期較 DSP慢,要使兩者的時序匹配,還必須進行一些時序方面的處理。間接訪問用 DSP的 I/O口間接控制慢速設備,可以通過軟件控制 DSP的 I/O口來實現與慢速外設的時序匹配。該方法無需通過硬件擴展即可實現與任意慢速外設的時序匹配。在該顯示系統中,由于 CPLD的可在線硬件編程能力,這 2 種方法均可實現。這里采用第一種接法。 DSP與 LCD的硬件接口電路圖如圖 2所示。
 

    LCD 各引腳說明如下:RS為高電平時,DB7—DB0顯示數據;RS為低電平時,DB7—DB0顯示指令數。R/W為高電平時,數據被讀到DB7—DB0; R/W為低電平時,DB7—DB0的數據被寫到IR或 DR。E為使能信號線。當 E為高電平時,配合 R進行讀數據或指令,當 E為低電平時,配合/W進行寫數據或指令。PSB為高電平時,表示 8位或四位并口方式;PSB為低電平時,表示串口方式。RESET為復位信號輸入端,低電平有效。DB7—DB0為三態數據線。 其中 RS與 R/W配合決定控制界面的四種模式:

    另外,由于 FYD12864用 5V供電,所以液晶的 8位數據線不能直接與 DSP的外部擴展數據總線相連。本系統中采用 74ALVC16245來進行電平轉換, 74ALVC16245是 16位的電源 轉換芯片,采用 3.3V供電,該芯片有兩個方向控制引腳( DIR1和 DIR2),DIR1由 CPLD的 I/O引腳供給,當 DSP從液晶讀取數據時,DIR1為低電平,數據的傳輸方向是從液晶到 DSP;當 DSP往液晶寫數據時,DIR1為高電平,數據傳輸方向是從 DSP到液晶。DIR2與 VCC相連,由 CPLD的 I/O引腳控制 LCD。 3 軟件編程及實例
本系統中,CPLD部分采用 VHDL進行編程,主程序采用 C語言進行編程,便于程序的移植,并使其具有較高的可讀性。首先解決 DSP與 LCD的時序匹配問題,時序匹配是 DSP控制 LCD最關鍵的問題,其實質是如何編寫程序對 LCD的指令寄存器和數據寄存器進行讀寫操作,接口時序如圖 3和圖 4所示,
 


 
    使用該顯示模塊時應注意以下幾點:(1)欲在某一個位置顯示中文字符時,應先設定顯示字符位置,即先設定顯示地址,再寫入中文字母編碼。(2)顯示 ASCII字符過程與顯示中文字符過程相同。不過在顯示連續字符時,只須設定一次顯示地址,由模塊自動對地址加 1指向下一個字符位置,否則,顯示的字符中將會有一個空 ASCII字符位置。(3)當字符編碼為兩字節時,應先寫入高位字節,再寫入低位字節。(4)模塊在接收指令前,處理器必須先確認模塊內部處于非忙狀態,則讀取BF標志,BF需為“0”,方可接收新的指令。如果在送出一個指令前不檢查 BF標志,則在前一個指令和這個指令中間必須延遲一段較長的時間,即等待前一個指令確定執行完成。
    通過初始化液晶顯示屏以及調用字庫顯示漢字和字符來具體說明 DSP控制液晶顯示屏的設計思想。系統硬件上電復位后,首先完成 DSP的初始化,然后根據用戶系統的需要對控制器的各項指令代碼及其參數進行設置,以完成液晶模塊的參數以及顯示方式等一系列過程的初始化。液晶模塊具體編程如下:
#include "DSP28_Device.h"

unsigned int * LcdComL = (unsigned int *) 0x5100;//命令寄存器低地址

unsigned int * LcdComH = (unsigned int *) 0x5200;//命令寄存器高地址

unsigned int * LcdDatL = (unsigned int *) 0x5300;//數據寄存器低地址

unsigned int * LcdDatH = (unsigned int *) 0x5400;//數據寄存器高地址

void WriteLcdCom(unsigned char c);//寫命令

void WriteLcdDat(unsigned char d);//寫數據

void delay(unsigned int t);//延時

void main(void)//主程序

{  InitSysCtrl();//初始化系統
 DINT;// 關中斷

IER = 0x0000;

IFR = 0x0000;

InitPieCtrl();//初始化

PIE InitPieVectTable(); //初始化

PIE中斷矢量表

InitPeripherals();//初始化外設
  LcdComL = 0x00;//初始化命令寄存器
 LcdDatL = 0x00;//初始化數據寄存器

WriteLcdCom(0x01);//清除顯示屏

WriteLcdCom(0x0e);//顯示狀態打開

WriteLcdCom(0x30);//LCD選擇為 8位并行數據傳輸方式

比如要在顯示屏第一行顯示“檢測物質:Theanol”

WriteLcdCom(0x80);  //寫第一個字符的地址

WriteLcdDat(0xbc);  //第一個漢字“檢”的高字節

WriteLcdDat(0xec);//“檢”的低字節

WriteLcdDat(0xb2);//漢字“測”高字節

WriteLcdDat(0xe2);//“測”低字節

WriteLcdDat(0xce);//漢字“物”高字節

WriteLcdDat(0xef);//漢字“物”低字節

WriteLcdDat(0xd6);//漢字“質”高字節

WriteLcdDat(0xca);“質”低字節

WriteLcdDat(0x3a);//冒號“: ”

WriteLcdDat(0x45);//字符“ T”

WriteLcdDat(0x74);//字符“ h”

 … for(;;);

} void WriteLcdCom(unsigned char c) { * LcdComH = c;
* LcdComL=c;
delay(5000); } void WriteLcdDat(unsigned char d) { * LcdDatH = d;
* LcdDatL = d;
delay(5000); } void delay(unsigned int t) { while(t>0)
t--; }
    以上程序均在 DSP集成開發環境 CCS中調試通過,LCD顯示屏上可以正常顯示連續的漢字、字符以及圖形等,在實際的嵌入式數據采集系統中得以應用。通過移植本文的程序,修改其中一些命令,可以完成更加復雜的功能,并且具有縮短產品開發周期,加快產品上市等優點,因此非常適合便攜式設備的界面顯示系統。

結論
    本文作者創新點:以 DSP為核心處理器,利用 CPLD來進行邏輯轉換和控制,實現高速CPU處理器和低速外設接口的時序匹配,同時采用了移植性能和可讀性能高的 C程序設計,無需插入等待周期,在實際的嵌入式系統中成功運行,為快速處理器與慢速外設的接口設計提供了一種借鑒的方法。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产欧美亚洲精品| 亚洲网站视频| 国产精品久久波多野结衣| 欧美a级理论片| 久久久人人人| 亚洲欧美日韩在线不卡| 在线亚洲欧美| 日韩午夜av电影| 亚洲动漫精品| 欧美在现视频| 欧美一区二区三区啪啪| 亚洲欧美日韩综合一区| 在线综合+亚洲+欧美中文字幕| 国产精品推荐精品| 国产精品jvid在线观看蜜臀 | 久久久久国产精品麻豆ai换脸| 中文日韩在线视频| 一本色道久久综合亚洲精品不| 久久精品国产久精国产爱| 久久国产欧美日韩精品| 欧美亚洲免费高清在线观看| 午夜免费电影一区在线观看| 欧美一级在线播放| 久久国产精品久久久久久久久久 | 最新成人av在线| 亚洲精品乱码久久久久久按摩观| 久久精品免费看| 欧美专区日韩专区| 久久精品2019中文字幕| 亚洲国产91| 亚洲人成人一区二区三区| 亚洲精品国产无天堂网2021| 日韩视频一区二区三区| 一区二区激情| 亚洲免费在线视频| 久久国产一二区| 久久天天狠狠| 欧美国产日韩一区二区三区| 欧美日韩精品在线| 国产精品久久久久久久久免费 | 亚洲在线播放| 久久不射电影网| 亚洲韩国青草视频| 亚洲毛片在线看| 亚洲一区二区三区激情| 小黄鸭精品aⅴ导航网站入口| 午夜精品久久久久久久99热浪潮 | 亚洲午夜极品| 午夜精品成人在线视频| 久久精品人人做人人综合| 久久夜色精品国产欧美乱| 欧美福利视频| 国产精品福利在线| 国产一区二区高清视频| 亚洲国产美国国产综合一区二区 | 在线看片成人| 日韩视频在线免费| 亚洲欧美电影在线观看| 久久xxxx精品视频| 艳女tv在线观看国产一区| 亚洲欧美日韩中文播放| 久久久久久亚洲精品不卡4k岛国| 巨乳诱惑日韩免费av| 欧美日韩和欧美的一区二区| 国产欧美69| 亚洲国产精品久久久久秋霞不卡| 99亚洲伊人久久精品影院红桃| 亚洲一区亚洲| 亚洲人成网站影音先锋播放| 亚洲欧美另类中文字幕| 美日韩精品免费| 国产精品女人网站| 亚洲电影第1页| 亚洲一区免费看| 亚洲日本无吗高清不卡| 性色av一区二区三区| 免费视频久久| 国产精品一区免费视频| 亚洲人成网在线播放| 欧美亚洲专区| 亚洲午夜精品一区二区| 蜜臀av性久久久久蜜臀aⅴ| 国产精品成人播放| 亚洲黄色在线看| 久久动漫亚洲| 性色av一区二区三区在线观看| 欧美xx视频| 国产视频久久| 一本高清dvd不卡在线观看| 亚洲第一级黄色片| 亚洲欧美日韩系列| 欧美黄色免费| 狠狠色狠狠色综合人人| 这里只有视频精品| 最近中文字幕日韩精品 | 国产精品久久久| 亚洲国产成人午夜在线一区 | 亚洲午夜精品一区二区三区他趣| 久久精品欧洲| 午夜在线电影亚洲一区| 欧美日韩国产123区| 尤物yw午夜国产精品视频| 午夜精品久久久久99热蜜桃导演| 99精品国产在热久久下载| 巨乳诱惑日韩免费av| 国产午夜精品美女视频明星a级| 亚洲精品国产系列| 亚洲动漫精品| 久久久国产视频91| 国产日产精品一区二区三区四区的观看方式 | 久久综合九色欧美综合狠狠| 欧美日韩国产小视频| 伊人春色精品| 欧美一区成人| 久久精品2019中文字幕| 国产精品国产三级国产普通话99 | 亚洲综合色婷婷| 亚洲免费视频一区二区| 欧美日产一区二区三区在线观看| 国内精品久久久久久久果冻传媒 | 国产精品一区二区三区成人| 亚洲私人黄色宅男| 亚洲视频视频在线| 欧美日韩午夜| 一本色道久久综合精品竹菊| av72成人在线| 欧美日韩一区在线播放| 99视频在线观看一区三区| 亚洲在线一区| 国产精品久久久久久久久免费樱桃 | 亚洲精品日本| 亚洲巨乳在线| 欧美日韩高清在线一区| 夜夜嗨一区二区三区| 亚洲综合国产精品| 国产精品乱码| 午夜在线视频观看日韩17c| 性欧美8khd高清极品| 国产欧美日韩三区| 久久精品人人做人人综合| 免费观看日韩| 亚洲精品综合精品自拍| 亚洲欧美日韩一区二区在线| 国产日韩在线看| 亚洲第一精品电影| 欧美高清在线视频| 99视频在线精品国自产拍免费观看| 亚洲午夜精品视频| 国产日韩欧美一区二区三区在线观看| 在线午夜精品自拍| 欧美在线观看视频在线 | 合欧美一区二区三区| 亚洲人成7777| 欧美日韩一区二区三区在线视频| 99亚洲一区二区| 欧美亚洲日本一区| 一区二区在线观看av| 一区二区免费在线观看| 国产精品入口福利| 亚洲二区精品| 欧美日韩中文字幕日韩欧美| 亚洲一区中文| 另类亚洲自拍| 亚洲视频在线一区| 久久午夜精品一区二区| 亚洲欧洲精品一区二区| 亚洲一区精彩视频| 国内精品久久久久影院薰衣草| 亚洲日本中文字幕| 国产精品一区一区三区| 亚洲欧洲一区| 国产精品爽爽ⅴa在线观看| 亚洲国产小视频| 国产精品久久二区二区| 亚洲黄色三级| 国产免费成人av| 亚洲精品一区二区网址| 国产精品视频网站| 日韩一级黄色大片| 国产一区二区三区高清| 在线亚洲美日韩| 精品成人国产| 亚洲欧美在线一区二区| 亚洲国产成人av| 欧美在线观看你懂的| 亚洲毛片在线观看| 久久久人成影片一区二区三区| 亚洲精品影院在线观看| 久久精品一区| 在线一区观看| 欧美极品影院| 久久福利视频导航| 国产精品乱子久久久久| 亚洲人线精品午夜| 国产亚洲视频在线| 亚洲在线一区二区三区| 亚洲人成7777| 美腿丝袜亚洲色图| 午夜激情久久久| 欧美日韩综合视频网址|