毕业设计基于TMS320F2812的人机接口设计.docx
《毕业设计基于TMS320F2812的人机接口设计.docx》由会员分享,可在线阅读,更多相关《毕业设计基于TMS320F2812的人机接口设计.docx(47页珍藏版)》请在冰豆网上搜索。
![毕业设计基于TMS320F2812的人机接口设计.docx](https://file1.bdocx.com/fileroot1/2023-6/26/a75e042d-8d5c-4caa-a005-8bd4217d1d71/a75e042d-8d5c-4caa-a005-8bd4217d1d711.gif)
毕业设计基于TMS320F2812的人机接口设计
基于TMS320F2812的人机接口设计
摘要
本课题主要介绍了基于TMS320F2812芯片的键盘输入和LCD显示输出的软硬件实现方案,对TMS320F2812硬件资源和相应外设进行了详细的介绍。
同时以实际事例分析了DSP与液晶、键盘的接口技术,以及软件的编程方法。
程序采用C语言进行设计,充分显示了TMS320F2812对于外设的强大控制能力。
关键字:
DSP;接口;LCD显示;键盘
Human-MachineInterfaceDesignBasedonTMS320F2812
ABSTRACT
ThehardwarebasedonTMS320F2812andsoftwaresystemaboutthekeyboardinputandLCDdisplaywasintroducedinthispaper,thehardwareresoursesandcorrespondingperpheralswereintroduceddetailedly.Simultaneously,theinterfacetechnologyofDSPwasintroduced,suchas:
liquidcrystaldisplaytechnology,keyboardinputtechnology.ThesoftwarewasdesignedbyClanguage,fullydemonstratedthepowerfulcontrollabilityofTMS320F2812.
Keywords:
DSP;Interface;LCDDisplay;Keyboard
1.绪论1
1.1引言1
1.2液晶显示及其控制驱动与接口概述2
1.3人机接口的发展前景4
2.系统概述6
2.1TMS320F281x处理器功能概述6
2.2SEED-DPS2812M简介7
2.3LCD液晶显示接口资源详细介绍7
2.3.1点阵液晶显示接口信号8
2.3.2T6963C的特点及资源9
3.系统功能框图18
3.1SEED-DPS2812M开发模板系统功能框图18
3.2显示系统的组成19
4.键盘输入与显示输出的软件实现20
4.1CCS编程环境介绍20
4.1.1CCS介绍20
4.1.2CCS软件设置21
4.1.3CCS软件设置错误排查21
4.1.4CCS组件23
4.1.5硬件仿真和实时数据交换23
4.2键盘输入的软件实现24
4.3液晶显示的软件实现26
5.结论29
5.1键盘输入测试30
5.1.1键盘输入主流程图30
5.1.2键盘扫描流程图31
5.1.3程序运行结果31
5.2液晶显示输出测试33
5.2.1液晶显示主流程图33
5.2.2汉字显示程序流程图34
5.2.3液晶显示程序结果35
6.总结37
7.致谢38
8.主要参考文献39
9.附录40
10.外文资料翻译60
1.绪论
1.1引言
传统的信号处理或控制系统采用模拟技术进行设计和分析,处理设备和控制器采用模拟器件实现。
自20世纪60年代以来,数字信号处理器(DigitalSignalProcessing,DSP)日渐成为一项成熟的技术,并在多项应用领域逐渐替代了传统模拟信号处理系统。
随着信息化技术的发展和数字化产品的普及,从消费电器到工业设备,从民用产品到军用器材,嵌入式系统被应用到网络、手持通信设备、国防军事、消费电子和自动化控制等各个领域,作为数字信号处理领域的嵌入式处理器得到了广泛应用,与模拟信号处理系统相比,数字信号处理技术及设备具有灵活、精确、抗干扰能力强、设备尺寸小、速度快、性能稳定和易于升级等优点,所以目前大多设备采用数字技术设计实现,这已成为当前的发展趋势。
大多数数字信号处理系统离不开人机交互,系统在运行时需要操作者的干预(对系统进行输入)以及系统对干预作出响应(系统输出)。
数字信号处理的实现是以数字信号处理理论和电子计算机技术为基础的,利用计算机或专用的处理设备,以数值计算的方式对信号进行采集、变换、综合、估计与识别等加工处理,从而达到提取信息和便于应用的目的。
在实际应用中,所有的信号都是模拟信号,为实现数字信号处理,用户必须将模拟信号转换成数字信号。
模拟信号是连续的变量,它包括声音强度、压力、光强度等。
如果需要使用计算机或其他的处理器实现对语音信号的数字处理,必须对其进行数字化。
因为DSP具有快速计算的特点,所以具有广泛的应用潜力。
在电视会议系统里,大量应用DSP器件,视听机器也都应用DSP。
随着科学技术的发展,将会出现许许多多的DSP新利用领域。
1.2液晶显示及其控制驱动与接口概述
液晶显示LCD(LiquidCrystalDisplay),是利用液晶材料在电场作用下发生位置变化而遮蔽/通透光线的性能制作成的一种重要平板显示器件。
通常使用的LCD器件有TN型(TwistNematic,扭曲向列型液晶)、STN型(SuperTN,超扭曲向列型液晶)和TFT型(ThinFilmTransistor,薄膜晶体管型液晶)。
TN、STN、TFT型液晶,性能依次增强,制作成本也随之增加。
TN和STN型常用作单色LCD。
STN型可以设计成单色多级灰度LCD和伪彩色LCD,TFT型常用作真彩色LCD。
TN和STN型LCD,不能做成大面积LCD,其颜色数在218种以下。
218种颜色以下的称为伪色彩,218种及其以上颜色的称为真彩色。
TFT型可以实现大面积LCD真彩显示,其像素点可以做成0.3mm左右。
TFT-LCD技术日趋成熟,长期困扰的难题己获解决:
视角达170°,亮度达500cd/m2(500尼特),显示器尺寸达101.6cm(40in),变化速度达60帧/s。
进行LCD设计主要是LCD的控制/驱动和与外界的接口设计。
控制主要是通过接口与外界通信、管理内/外显示RAM,控制驱动器,分配显示数据;驱动主要是根据控制器要求,驱动LCD进行显示。
控制器还常含有内部ASCII字符库,或可外扩的大容量汉字库。
小规模LCD设计,常选用一体化控制/驱动器;中大规模的LCD设计,常选用若干个控制器、驱动器,并外扩适当的显示RAM、自制字符RAM或ROM字库。
控制与驱动器大多采用低压微功耗器件。
与外界的接口主要用于LCD控制,通常是可连接单片机MCU的8/16位PPI并口或若干控制线的SPI串口。
显示RAM除部分Samsung器件需用自刷新动态SD-RAM外,大多公司器件都用静态SRAM。
嵌入式人机界面中常用的LCD类型及其典型控制/驱动器件与接口如下:
段式LCD,如HT1621(控/驱)、128点显示、4线SPI接口;
字符型LCD,如HD44780U(控/驱)、2行×8字符显示、4/8位PPI接口;
单色点阵LCD,如SED1520(控/驱)、61段×16行点阵显示、8位PPI接口,又如T6963C(控)+T6A39(列驱)+T6A40(行驱)、640×64点双屏显示、8位PPI接口;
灰度点阵LCD,如HD66421(控/驱)、160×100点单色4级灰度显示、8位PPI接口;
伪彩点阵LCD,如SSD1780(控/驱)、104RGB×80点显示、8位PPI或3/4线SPI接口;
真彩点阵LCD,如HD66772(控/源驱)+HD66774(栅驱)、176RGB×240点显示、8/9/16/18位PPI接口、6/16/18动画接口、同步串行接口;
视频变换LCD,如HD66840(CRT-RGB→CD-RGB)、720×512点显示、单色/8级灰度/8级彩色、4位PPI接口。
控制驱动器件的供电电路、驱动的偏压电路、背光电路、振荡电路等构成LCD控制驱动的基本电路。
它是LCD显示的基础。
LCD与其控制驱动、接口、基本电路一起构成LCM(LiquidCrystal Module,LCD模块)。
常规嵌入式系统设计,多使用现成的LCM做人机界面;现代嵌入式系统设计,常把LCD及其控制驱动器件、基本电路直接做入系统。
整体考虑,既结构紧凑,又降低成本,并且有利于减少功耗、实现产品小型化。
控制LCD显示,常采用单片机MCU,通过LCD部分的PPI或SPI接口,按照LCD控制器的若干条的协议指令执行。
MCU的LCD程序一般包括初始化程序、管理程序和数据传输程序。
大多数LCD控制驱动器厂商都随器件提供有汇编或C语言的例程资料,十分方便程序编制。
1.3人机接口的发展前景
随着数字化进程的加速,更多的数字消费类产品中都采用了DSP。
在激光影音产品中涉及到音、视频的编码和多制式的解码技术领域的,大量采用DSP技术。
基于DSP的数字相机,MPEG4类数字播放器新产品,将掀起新的消费高潮。
即便是在传统白色家电中,DSP应用也在深入进行,如数字变频应用已由空调延伸到冰箱和洗衣机。
通信仍然是DSP最大的应用市场。
在无线通信应用中,手机终端无疑都有DSP核心,而2.5G和3G终端的发展将仰赖DSP平台,其中包括智能手机。
同时,无线基础设施亦离不开高性能DSP,新一带无线交换机和基站将会因采用更低功耗的DSP而缩小空间易于装备。
在宽带网络应用上,从局端到接入端设备,DSP无处不在。
虽然在计算机中CPU仍是主角,但在一些嵌入式应用中DSP已经在发挥作用,比如作为影像加速器、实时媒体编解码器、嵌入式调制解调器等。
在某些场合的应用中,集成有RISC处理器的DSP平台已经可以胜任主处理器的工作,体现出通信与计算机应用的融合。
DSP推动了嵌入式指纹识别的应用,并已取得了长足进展。
DSP平台的持续创新及所表现出的高性能和低功耗特色,是这一技术应用于市场历经十多年而发展不衰的源泉。
DSP在数字控制中的应用也有很大发展。
在工业变频器中,DSP所占比例在逐年增加。
更多的DSP微控制项目不但会围绕工业应用,而且将拓展到健身器材,医疗器械,电子识别等新的市场。
展望未来,DSP技术将在公共场所和企事业应用中、嵌入式应用、日常生活领域中占有更广阔的发展空间。
不难想象,随着DSP技术的高速发展,诸如网络相机,全数字化家电,便携式数字监控产品将可以进入家庭。
语音识别、人脸识别、虹膜识别,车载移动电话设备等新兴DSP嵌入技术将更快、更好的用于工业领域。
DSP技术将会进入到一个更为迅速发展的新时代。
在人机设备控制中,目前最常用的就是TI公司的TMS320F281x,得益于其强大的功能与适中的价格,281x成为在工业控制中的首选DSP,比如在电力公司的项目中,281x就占据了主导地位。
除此之外,就像上面所述的那样,在各种数码产品中甚至也会出现DSP的影子,目前已知了在一些品牌的mp3播放器中就以经理用到了DSP的相关技术。
基于此,人机交互就变得更加重要,人机界面逐渐体现出它必要的一方面,从某种意义上讲,甚至能够左右人们对设备的操作习惯,因此一个好的人机接口设计,对任何设备、产品来说都是不无裨益的。
相信在未来的嵌入式领域、控制领域中,DSP和人机接口技术所占的地位与比重将会越来越大。
2.系统概述
2.1TMS320F281x处理器功能概述
TMS320F281x系列DSP(数字信号处理器)是TI公司最新推出的数字信号处理器,该系列处理器是基于TMS320C2xx内核的顶点数字信号处理器,是目前控制领域最先进的处理器之一。
其频率高达150MHz,大大提高了控制系统的控制精度和芯片处理能力。
与F24x系列数字信号处理器相比,F281x系列数字信号处理器提高了运算的精度(32位)和系统的处理能力(达到150MIPS)。
该系列数字信号处理器还集成了128KB的Flash存储器,4KB的引导ROM,数学运算表以及2KB的OTPROM,从而大大改善了引用的灵活性。
整合平台的高性能DSP内核、Flash存储器、高精确度模拟外设、数字控制及通信外设等,为用户提供了高性能控制的解决方案。
TMS320F2812芯片基于C/C++高效32位TMS320C28xDSP内核,并提供浮点数学函数库,从而可以在定点处理器上方便地实现浮点运算。
在高精度伺服控制、可变频电源、UPS电源等领域广泛应用,同时是电机等数字化控制产品升级的最佳选择。
TMS320F2812DSP集成的128KB的闪存,可用于开发及对现场软件进行升级时的简单再编程。
优化过的事件管理器包括脉冲宽度调制(PWM)产生器、可编程通用计时器,以及捕捉译码器接口等;该器件还包括12位模数转换器(ADC),吞吐量每秒可达16.7MB的采样,其双采样装置可实现控制环路的同步采样。
片上标准通信端口可为主机、测试设备、显示器及其他组件提供简便的通信端口,为电机及其他运动控制领域应用的实现提供了良好的平台。
此外代码和指令与F24x系列数字信号处理器完全兼容,从而保证了项目或产品设计的可延续性,简化了产品升级工作。
2.2SEED-DPS2812M简介
SEED-DPS2812M是在SEED-DPS2812基础上,根据用户的要求,专为电力监控而设计、开发的高性能低成本DSP电力应用系统解决方案,并照顾发展的需要,在保证各种应用性的基础上,还兼具良好的扩展性。
其上包括:
高性能的32位定点DSP:
TMS320F2812,128K×16-位高速Flash(具有加密功能,更好地保护开发者的知识产权),18K×16位0等待SRAM,2路异步串口,1路CAN总线,及多达56个通用I/O引脚。
外扩有:
存储器:
最大512K×16-位的高速SRAM;参数存储:
带56字节NvRAM的实时时钟、SPI接口的EEPROM(最大128K×8-位);输入/输出:
12-路±10V/±5V(可选)模拟输入、4-路±10V/±5V(可选)模拟输出、48路I/O及功能扩展口线、128×64LCD接口、4×4键盘、8位数据及3位地址总线扩展;接口通信接口:
10M以太网接口、保留的I/O口线可使用户方便的实现RS485/RS232/CAN/SPI等多种形式的通讯;SEED-DPS2812M结构紧凑,布局合理,外部接口信号根据信号特点合理划分,提高了模板的稳定性、及抗干扰的能力。
在SEED-DPS2812M中主要集成了DSP、SRAM、片外D/A、片外A/D、UART、串行EEPROM、RTC实时时钟、工业以太网等外设。
这样使其能够应用在电力系统继电保护和电力测量方面。
2.3LCD液晶显示接口资源详细介绍
在SEED-DPS2812模板上提供一个点阵液晶显示接口,用于与带T6963C控制器的240×128点阵的LCD接口,以显示图形和字符等信息。
2.3.1点阵液晶显示接口信号
点阵液晶显示接口包含下列信号:
DB[7:
0]数据总线,8位。
CE:
片选信号。
C/D:
命令/数据选择信号。
RD:
读信号。
WE:
写信号。
RESET:
复位信号。
A:
背光,发光二极管阳极。
接+5V
K:
背光,发光二极管阴极。
FS:
字符显示方式选择:
1:
6×8点阵模式,0:
8×8点阵模式。
接地
Vee:
LCD偏置电压
Vcc:
电源,+5V
GND:
地
LCD背光采用发光二极管,A为阳极,K为阴极,SEED-DPS2812中,A直接接+5V电源K则由XF控制达林顿三极管来实现对地的通/断,从而达到控制LCD背光灯的亮灭。
对于点阵LCD液晶显示接口来说,对其的读/写访问通过1个8位的命令口和1个8位的数据口进行。
在SEED-DPS2812中,将LCD液晶显示接口分配在’F2812的ZONE0空间中,占用2个地址单元:
0x00,2A00,LCD液晶显示接口的数据口:
0x00,2A01,LCD液晶显示接口的命令口。
2.3.2T6963C的特点及资源
2.3.2.1T6963C的特点:
⏹T6963C是点阵式液晶图形显示控制器;
⏹T6963C的字符字体由硬件设置,在SEED-DPS2812中固定使用8×8字体;
⏹T6963C的占空比可从1/16到1/128;
⏹T6963C可以图形方式、文本方式及图形和文本合成方式进行显示,以及文本方式下的特征显示,还可以实现图形拷贝操作等等;
⏹T6963C具有内部字符发生器CGROM,共有128个字符T6963C可管理64K显示缓冲区及字符发生器CGROM。
2.3.2.2T6963C的指令集
T6963C的指令可带1个、2个参数或无参数。
每条指令的执行都是先送入参数,再送入指令代码。
每次操作之前最好先进行状态字检测。
T6963C状态字如下所示:
STA7
STA6
STA5
STA4
STA3
STA2
STA1
STA0
STA0:
指令读写状态
1准备好
0忙
STA1:
数据读写状态
1准备好
0忙
STA2:
数据自动读状态
1准备好
0忙
STA3:
数据自动写状态
1准备好
0忙
STA4:
未用
STA5:
控制器运行检测可能性
1可能
0不能
STA6:
读屏/拷贝出错状态
1出错
0正确
STA7:
闪烁状态检测
1正常显示
0关显示
由于状态位的作用不一样,因此执行不同指令必须检测不同状态位。
在DSP一次读、写指令和数据时,STA0和STA1要同时有效,即处于“准备好”状态。
当DSP读、写数组时,判断STA2或STA3状态。
屏读、屏拷贝指令使用STA6。
STA5和STA7反映T6963C内部运行状态。
2.3.2.2.1指针设置指令
指针设置指令格式如下:
D1D2
0
01
0
0
N2N1
N0
D1、D2为第一和第二个参数,后一个字节为指令代码,根据N0,N1,N2的取值,该指令有三种含义(N0,N1,N2不能有两个同时为1)
D1
D2
指令代码功能
水平位置
(低7位有效)
地址(低5位有效)
低字节
垂直位置
(低5位有效)
00H
高字节
21H(N0=1)光标指针设置
22H(N1=1)CGRAM
偏置地址设置
24H(N2=1)地址指针位置
⏹光标指针设置
D1表示光标在实际液晶屏上离左上角的横向距离(字符数),D2表示纵向距离(字符行)。
⏹CGRAM偏执地址寄存器设置
设置了CGRAM在显示64KRAM内的高5位地址。
⏹地址指针设置
设置将要进行操作的显示缓冲区(RAM)的一个单元地址,D1、D2为该单元地址的低位和高位地址。
2.3.2.2.2显示区域设定指令
显示区域设定指令格式如下:
D1D2
0
10
0
0
0N1
N0
根据N1,N0的不同取值,该指令有四种指令功能形式:
N1N0
D1
D2
指令代码
功能
00
低字节
高字节
40H
文本区首址
01
字节数
00H
41H
文本区宽度(字节数/行)
10
低字节
高字节
42H
图形区首址
11
字节数
00H
43H
图形区宽度(字节数/行)
文本区和图形区首地址对应显示屏上左上角字符位或字节位,修改该地址可以产生卷动效果。
D1,D2分别为该地址的低位和高位字节。
文本区宽度(字节数/行)设置和图形区宽度(字节数/行)设置用于调整一行显示所占显示RAM的字节数,从而确定显示屏与显示RAM单元的对应关系。
T6963C硬件设置的显示窗口宽度是指T6963C扫描驱动的有效列数。
需说明的是当硬件设置6×8字体时,图形显示区单元的低6位有效,对应显示屏上6×1显示位。
2.3.2.2.3显示方式设置指令
显示方式设置指令格式如下:
无参数
1
00
0
N3
N2N1
N0
N3字符发生器选择位
1选择CGRAM,字符代码为00H~FFH。
0选择CGROM,由于CGROM字符代码为00H~7FH。
因此选用80H~FFH字符代码时,将自动选择CGRAM。
N[2:
0]:
合成显示方式控制位,其组合功能如下表:
000逻辑“或”合成
001逻辑“异或”合成
011逻辑“与”合成
100文本特征
当设置文本方式和图形方式均打开时,上述合成显示方式设置才有效。
其中的文本特征方式是指将图形区改为文本特征区。
该区大小与文本区相同。
每个字节作为对应文本区的每个字符显示的特征,包括字符显示与不显示,字符闪烁及字符的“反白”显示。
通过这种方式,T6963C可以控制每个字符的文本特征。
文本特征区内,字符的文本特征码由一个字节的低4位组成,即:
D7D6
D5
D4
D3
D2D1D0
××
×
×
T3
T2T1T0
D3:
字符闪烁控制位
1闪烁
0不闪烁
D[2:
0]:
显示效果选择
000正常显示
101反白显示
011禁止显示,空白
启用文本特征方式时可在原有图形区和文本区外用图形区域设置指令另开一区作为文本特征区,以保持原图形区的数据。
显示缓冲区可划分如下:
单屏结构:
图形显示区
文本特征区
文本显示区
CGRAM(2K)
2.3.2.2.4显示开关指令
显示开关指令格式如下:
无参数
1
00
1
N3
N2N1
N0
N3:
图形显示控制
1图形显示启用
0图形显示禁止
N2:
文本显示控制
1文本显示启用
0文本显示禁止
N1:
光标控制
1光标显示启用
0光标显示禁止
N0:
光标闪烁控制
1光标闪烁启用
0光标闪烁禁止
2.3.2.2.5光标形状选择指令
光标形状选择指令格式如下:
无参数
1
01
0
0
N2N1
N0
光标形状为8点(列)×N行,N的值为0~7。
2.3.2.2.6数据自动读/写方式设置指令
数据自动读/写方式设置指令格式如下:
无参数
1
01
1
0
0N1
N0
该指令执行后,MPU可以连续的读/写显示缓冲RAM的数据,每读/写一次,地址指针自动增1。
自动读/写结束时,后须写入自动结束命令以使T6963C退出自动读/写状态,开始接受其它指令。
N1、N0组合功能如下:
N1N0指令代码
功能
00B0H
自动写设置
01B1H
自动读设置
1*B2H/B3H
自动读、写结束
2.3.2.2.7数据单次读/写方式指令
数据单次读/写格式如下:
D1
11
0
00
N2N1
N0
D1为需要写的数据,读时无此数据。
N2N1N0
指令代码功能
000
C0H数据写,地址加1
001
C1H数据读,地址加1
010
C2H数据写,地址减1
011
C3H数据读,地址减1
100
C4H数据写,地址不变
101
C5H数据读,地址不变