基于TMS320F2812的人机接口设计_第1页
基于TMS320F2812的人机接口设计_第2页
基于TMS320F2812的人机接口设计_第3页
基于TMS320F2812的人机接口设计_第4页
基于TMS320F2812的人机接口设计_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于tms320f2812的人机接口设计摘要本课题主要介绍了基于tms320f2812芯片的键盘输入和lcd显示输出的软硬件实现方案,对tms320f2812硬件资源和相应外设进行了详细的介绍。同时以实际事例分析了dsp与液晶、键盘的接口技术,以及软件的编程方法。程序采用c语言进行设计,充分显示了tms320f2812对于外设的强大控制能力。关键字:dsp;接口;lcd显示;键盘human-machine interface design based on tms320f2812abstractthe hardware based on tms320f2812 and software sys

2、tem about the keyboard input and lcd display was introduced in this paper, the hardware resourses and corresponding perpherals were introduced detailedly. simultaneously, the interface technology of dsp was introduced, such as: liquid crystal display technology, keyboard input technology. the softwa

3、re was designed by c language, fully demonstrated the powerful controllability of tms320f2812.keywords: dsp; interface; lcd display; keyboard目录1.绪论11.1引言11.2液晶显示及其控制驱动与接口概述21.3人机接口的发展前景42.系统概述62.1tms320f281x处理器功能概述62.2seed-dps2812m简介72.3lcd液晶显示接口资源详细介绍7 2.3.1点阵液晶显示接口信号82.3.2t6963c的特点及资源93.系统功能框图183.

4、1seed-dps2812m开发模板系统功能框图183.2显示系统的组成194.键盘输入与显示输出的软件实现204.1ccs编程环境介绍204.1.1 ccs介绍204.1.2 ccs软件设置214.1.3 ccs软件设置错误排查214.1.4 ccs组件234.1.5硬件仿真和实时数据交换234.2键盘输入的软件实现244.3液晶显示的软件实现265.结论295.1键盘输入测试305.1.1键盘输入主流程图305.1.2键盘扫描流程图315.1.3程序运行结果315.2液晶显示输出测试335.2.1液晶显示主流程图335.2.2汉字显示程序流程图345.2.3液晶显示程序结果356.总结37

5、7.致谢388.主要参考文献399.附录4010.外文资料翻译601.绪论1.1引言传统的信号处理或控制系统采用模拟技术进行设计和分析,处理设备和控制器采用模拟器件实现。自20世纪60年代以来,数字信号处理器(digital signal processing, dsp)日渐成为一项成熟的技术,并在多项应用领域逐渐替代了传统模拟信号处理系统。随着信息化技术的发展和数字化产品的普及,从消费电器到工业设备,从民用产品到军用器材,嵌入式系统被应用到网络、手持通信设备、国防军事、消费电子和自动化控制等各个领域,作为数字信号处理领域的嵌入式处理器得到了广泛应用,与模拟信号处理系统相比,数字信号处理技术及

6、设备具有灵活、精确、抗干扰能力强、设备尺寸小、速度快、性能稳定和易于升级等优点,所以目前大多设备采用数字技术设计实现,这已成为当前的发展趋势。大多数数字信号处理系统离不开人机交互,系统在运行时需要操作者的干预(对系统进行输入)以及系统对干预作出响应(系统输出)。数字信号处理的实现是以数字信号处理理论和电子计算机技术为基础的,利用计算机或专用的处理设备,以数值计算的方式对信号进行采集、变换、综合、估计与识别等加工处理,从而达到提取信息和便于应用的目的。在实际应用中,所有的信号都是模拟信号,为实现数字信号处理,用户必须将模拟信号转换成数字信号。模拟信号是连续的变量,它包括声音强度、压力、光强度等。

7、如果需要使用计算机或其他的处理器实现对语音信号的数字处理,必须对其进行数字化。因为dsp具有快速计算的特点,所以具有广泛的应用潜力。在电视会议系统里,大量应用dsp器件,视听机器也都应用dsp。随着科学技术的发展,将会出现许许多多的dsp新利用领域。1.2液晶显示及其控制驱动与接口概述液晶显示lcd(liquid crystal display),是利用液晶材料在电场作用下发生位置变化而遮蔽/通透光线的性能制作成的一种重要平板显示器件。通常使用的lcd器件有tn型(twist nematic,扭曲向列型液晶)、stn型(super tn,超扭曲向列型液晶)和tft型(thin film tra

8、nsistor,薄膜晶体管型液晶)。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设计主要是

9、lcd的控制/驱动和与外界的接口设计。控制主要是通过接口与外界通信、管理内/外显示ram,控制驱动器,分配显示数据;驱动主要是根据控制器要求,驱动lcd进行显示。控制器还常含有内部ascii 字符库,或可外扩的大容量汉字库。小规模lcd设计,常选用一体化控制/驱动器;中大规模的lcd设计,常选用若干个控制器、驱动器,并外扩适当的显示 ram、自制字符ram或rom字库。控制与驱动器大多采用低压微功耗器件。与外界的接口主要用于lcd控制,通常是可连接单片机mcu的8/16位ppi并口或若干控制线的spi串口。显示ram 除部分samsung器件需用自刷新动态sd- ram外,大多公司器件都用静态

10、sram。嵌入式人机界面中常用的lcd类型及其典型控制/驱动器件与接口如下:段式lcd,如ht1621(控/驱)、128点显示、4线spi接口;字符型lcd,如hd44780u(控/驱)、2行8字符显示、4/8位ppi接口;单色点阵lcd,如sed1520(控/驱)、61段16行点阵显示、8位ppi接口,又如t6963c(控)+t6a39(列驱)+t6a40(行驱)、64064点双屏显示、8位ppi接口;灰度点阵lcd,如 hd66421(控/驱)、160100点单色4级灰度显示、8位ppi接口;伪彩点阵lcd,如ssd1780(控/驱)、104rgb80点显示、8位ppi或3/4线spi接口

11、;真彩点阵lcd,如hd66772(控/源驱)+hd66774(栅驱)、176rgb240点显示、8/9/16/18位ppi接口、6/16/18动画接口、同步串行接口;视频变换lcd,如 hd66840(crt-rgbcd-rgb)、720512点显示、单色/8级灰度/8级彩色、4位ppi接口。控制驱动器件的供电电路、驱动的偏压电路、背光电路、振荡电路等构成 lcd控制驱动的基本电路。它是lcd显示的基础。lcd与其控制驱动、接口、基本电路一起构成lcm(liquid crystalmodule,lcd模块)。常规嵌入式系统设计,多使用现成的lcm做人机界面;现代嵌入式系统设计,常把lcd及其

12、控制驱动器件、基本电路直接做入系统。整体考虑,既结构紧凑,又降低成本,并且有利于减少功耗、实现产品小型化。控制lcd显示,常采用单片机mcu,通过lcd部分的ppi或spi接口,按照lcd控制器的若干条的协议指令执行。mcu的lcd程序一般包括初始化程序、管理程序和数据传输程序。大多数lcd控制驱动器厂商都随器件提供有汇编或c语言的例程资料,十分方便程序编制。1.3人机接口的发展前景随着数字化进程的加速,更多的数字消费类产品中都采用了dsp。在激光影音产品中涉及到音、视频的编码和多制式的解码技术领域的,大量采用dsp技术。基于dsp的数字相机,mpeg4类数字播放器新产品,将掀起新的消费高潮。

13、即便是在传统白色家电中,dsp应用也在深入进行,如数字变频应用已由空调延伸到冰箱和洗衣机。通信仍然是dsp最大的应用市场。在无线通信应用中,手机终端无疑都有dsp核心,而2.5g和3g终端的发展将仰赖dsp平台,其中包括智能手机。同时,无线基础设施亦离不开高性能dsp,新一带无线交换机和基站将会因采用更低功耗的dsp而缩小空间易于装备。在宽带网络应用上,从局端到接入端设备,dsp无处不在。 虽然在计算机中cpu仍是主角,但在一些嵌入式应用中dsp已经在发挥作用,比如作为影像加速器、实时媒体编解码器、嵌入式调制解调器等。在某些场合的应用中,集成有risc处理器的dsp平台已经可以胜任主处理器的工

14、作,体现出通信与计算机应用的融合。dsp推动了嵌入式指纹识别的应用,并已取得了长足进展。dsp平台的持续创新及所表现出的高性能和低功耗特色,是这一技术应用于市场历经十多年而发展不衰的源泉。dsp在数字控制中的应用也有很大发展。在工业变频器中,dsp所占比例在逐年增加。更多的dsp微控制项目不但会围绕工业应用,而且将拓展到健身器材,医疗器械,电子识别等新的市场。展望未来,dsp技术将在公共场所和企事业应用中、嵌入式应用、日常生活领域中占有更广阔的发展空间。不难想象,随着dsp技术的高速发展,诸如网络相机,全数字化家电,便携式数字监控产品将可以进入家庭。语音识别、人脸识别、虹膜识别,车载移动电话设

15、备等新兴dsp嵌入技术将更快、更好的用于工业领域。dsp技术将会进入到一个更为迅速发展的新时代。在人机设备控制中,目前最常用的就是ti公司的tms320f281x,得益于其强大的功能与适中的价格,281x成为在工业控制中的首选dsp,比如在电力公司的项目中,281x就占据了主导地位。除此之外,就像上面所述的那样,在各种数码产品中甚至也会出现dsp的影子,目前已知了在一些品牌的mp3播放器中就以经理用到了dsp的相关技术。基于此,人机交互就变得更加重要,人机界面逐渐体现出它必要的一方面,从某种意义上讲,甚至能够左右人们对设备的操作习惯,因此一个好的人机接口设计,对任何设备、产品来说都是不无裨益的

16、。相信在未来的嵌入式领域、控制领域中,dsp和人机接口技术所占的地位与比重将会越来越大。2.系统概述2.1tms320f281x处理器功能概述tms320f281x系列dsp(数字信号处理器)是ti公司最新推出的数字信号处理器,该系列处理器是基于tms320c2xx内核的顶点数字信号处理器,是目前控制领域最先进的处理器之一。其频率高达150mhz,大大提高了控制系统的控制精度和芯片处理能力。与f24x系列数字信号处理器相比,f281x系列数字信号处理器提高了运算的精度(32位)和系统的处理能力(达到150mips)。该系列数字信号处理器还集成了128kb的flash存储器,4kb的引导rom,

17、数学运算表以及2kb的otp rom,从而大大改善了引用的灵活性。整合平台的高性能dsp内核、flash存储器、高精确度模拟外设、数字控制及通信外设等,为用户提供了高性能控制的解决方案。tms320f2812芯片基于c/c+高效32位tms320c28x dsp内核,并提供浮点数学函数库,从而可以在定点处理器上方便地实现浮点运算。在高精度伺服控制、可变频电源、ups电源等领域广泛应用,同时是电机等数字化控制产品升级的最佳选择。tms320f2812 dsp集成的128kb的闪存,可用于开发及对现场软件进行升级时的简单再编程。优化过的事件管理器包括脉冲宽度调制(pwm)产生器、可编程通用计时器,

18、以及捕捉译码器接口等;该器件还包括12位模数转换器(adc),吞吐量每秒可达16.7mb的采样,其双采样装置可实现控制环路的同步采样。片上标准通信端口可为主机、测试设备、显示器及其他组件提供简便的通信端口,为电机及其他运动控制领域应用的实现提供了良好的平台。此外代码和指令与f24x系列数字信号处理器完全兼容,从而保证了项目或产品设计的可延续性,简化了产品升级工作。2.2seed-dps2812m简介seed-dps2812m是在seed-dps2812基础上,根据用户的要求,专为电力监控而设计、开发的高性能低成本dsp电力应用系统解决方案,并照顾发展的需要,在保证各种应用性的基础上,还兼具良好

19、的扩展性。其上包括:高性能的32位定点dsp:tms320f2812,128k16-位高速flash(具有加密功能,更好地保护开发者的知识产权),18k16位0等待sram,2路异步串口,1路can总线,及多达56个通用i/o引脚。外扩有:存储器:最大 512k16-位的高速 sram;参数存储:带56字节nvram 的实时时钟、spi 接口的 eeprom(最大 128k8-位);输入/输出:12-路10v/5v(可选)模拟输入、4-路10v/5v(可选)模拟输出、48 路 i/o及功能扩展口线、12864lcd 接口、44 键盘、8位数据及 3位地址总线扩展;接口通信接口:10m以太网接口

20、、保留的i/o口线可使用户方便的实现rs485/rs232/can/spi等多种形式的通讯;seed-dps2812m结构紧凑,布局合理,外部接口信号根据信号特点合理划分,提高了模板的稳定性、及抗干扰的能力。在 seed-dps2812m中主要集成了dsp、sram、片外d/a、片外a/d、uart、串行eeprom、rtc实时时钟、工业以太网等外设。这样使其能够应用在电力系统继电保护和电力测量方面。2.3lcd液晶显示接口资源详细介绍在seed-dps2812模板上提供一个点阵液晶显示接口,用于与带t6963c控制器的240128点阵的lcd接口,以显示图形和字符等信息。2.3.1点阵液晶显

21、示接口信号点阵液晶显示接口包含下列信号:db7:0数据总线,8位。ce:片选信号。c/d:命令/数据选择信号。rd:读信号。we:写信号。reset:复位信号。a:背光,发光二极管阳极。接+5vk:背光,发光二极管阴极。fs:字符显示方式选择:1:68点阵模式,0:88点阵模式。接地vee:lcd偏置电压vcc:电源,+5vgnd:地lcd背光采用发光二极管,a为阳极,k为阴极,seed-dps2812中,a直接接+5v电源k则由xf控制达林顿三极管来实现对地的通/断,从而达到控制lcd背光灯的亮灭。对于点阵lcd液晶显示接口来说,对其的读/写访问通过1个8位的命令口和1个8位的数据口进行。在

22、seed-dps2812中,将lcd液晶显示接口分配在f2812的zone0空间中,占用2个地址单元:0x00,2a00,lcd液晶显示接口的数据口:0x00,2a01,lcd液晶显示接口的命令口。2.3.2t6963c的特点及资源t6963c的特点:n t6963c是点阵式液晶图形显示控制器;n t6963c的字符字体由硬件设置,在seed-dps2812中固定使用88字体;n t6963c的占空比可从1/16到1/128;n t6963c可以图形方式、文本方式及图形和文本合成方式进行显示,以及文本方式下的特征显示,还可以实现图形拷贝操作等等;n t6963c具有内部字符发生器

23、cgrom,共有128个字符t6963c可管理64k显示缓冲区及字符发生器cgrom。t6963c的指令集t6963c 的指令可带1个、2个参数或无参数。每条指令的执行都是先送入参数,再送入指令代码。每次操作之前最好先进行状态字检测。t6963c状态字如下所示:sta7sta6sta5sta4sta3sta2sta1sta0sta0:指令读写状态1 准备好0忙sta1:数据读写状态1准备好0忙sta2:数据自动读状态1准备好0忙sta3:数据自动写状态1准备好0忙sta4:未用sta5:控制器运行检测可能性1可能0不能sta6:读屏/拷贝出错状态1出错0正确sta7:闪烁状态检测

24、1正常显示0关显示由于状态位的作用不一样,因此执行不同指令必须检测不同状态位。在 dsp一次读、写指令和数据时,sta0和sta1要同时有效,即处于“准备好”状态。当dsp读、写数组时,判断sta2或sta3状态。屏读、屏拷贝指令使用sta6。sta5和sta7反映t6963c内部运行状态。.1指针设置指令指针设置指令格式如下:d1d200 100n2 n1n0d1、d2为第一和第二个参数,后一个字节为指令代码,根据 n0,n1,n2的取值,该指令有三种含义(n0,n1,n2不能有两个同时为1)d1d2指令代码 功能水平位置(低7位有效)地址(低5位有效)低字节垂直位置(低5位有

25、效)00h高字节21h(n0=1) 光标指针设置22h(n1=1) cgram 偏置地址设置24h(n2=1) 地址指针位置n 光标指针设置d1表示光标在实际液晶屏上离左上角的横向距离(字符数),d2表示纵向距离(字符行)。n cgram偏执地址寄存器设置设置了cgram在显示64k ram内的高5位地址。n 地址指针设置设置将要进行操作的显示缓冲区(ram)的一个单元地址,d1、d2为该单元地址的低位和高位地址。.2显示区域设定指令显示区域设定指令格式如下:d1d201 0000 n1n0根据n1,n0的不同取值,该指令有四种指令功能形式:n1 n0d1d2指令代码功能00低字

26、节高字节40h文本区首址01字节数00h41h文本区宽度(字节数/行)10低字节高字节42h图形区首址11字节数00h43h图形区宽度(字节数/行)文本区和图形区首地址对应显示屏上左上角字符位或字节位,修改该地址可以产生卷动效果。d1,d2分别为该地址的低位和高位字节。文本区宽度(字节数行)设置和图形区宽度(字节数行)设置用于调整一行显示所占显示ram的字节数,从而确定显示屏与显示ram单元的对应关系。t6963c硬件设置的显示窗口宽度是指t6963c扫描驱动的有效列数。需说明的是当硬件设置68字体时,图形显示区单元的低6位有效,对应显示屏上61显示位。.3显示方式设置指令显示方

27、式设置指令格式如下:无参数10 00n3n2 n1n0n3字符发生器选择位1选择cgram,字符代码为00hffh。0选择cgrom,由于cgrom字符代码为00h7fh。因此选用80hffh字符代码时,将自动选择cgram。n2:0:合成显示方式控制位,其组合功能如下表:000逻辑“或”合成001逻辑“异或”合成011逻辑“与”合成100文本特征当设置文本方式和图形方式均打开时,上述合成显示方式设置才有效。其中的文本特征方式是指将图形区改为文本特征区。该区大小与文本区相同。每个字节作为对应文本区的每个字符显示的特征,包括字符显示与不显示,字符闪烁及字符的“反白”显示。通过这种方式,t6963

28、c可以控制每个字符的文本特征。文本特征区内,字符的文本特征码由一个字节的低4位组成,即:d7 d6d5d4d3d2 d1 d0 t3t2 t1 t0d3:字符闪烁控制位1闪烁0不闪烁d2:0:显示效果选择000正常显示101反白显示011禁止显示,空白启用文本特征方式时可在原有图形区和文本区外用图形区域设置指令另开一区作为文本特征区,以保持原图形区的数据。显示缓冲区可划分如下:单屏结构:图形显示区文本特征区文本显示区cgram(2k).4显示开关指令显示开关指令格式如下:无参数10 01n3n2 n1n0n3:图形显示控制1图形显示启用0图形显示禁止n2:文本显示控制1文本显示启

29、用0文本显示禁止n1:光标控制1光标显示启用0光标显示禁止n0:光标闪烁控制1光标闪烁启用0光标闪烁禁止.5光标形状选择指令光标形状选择指令格式如下:无参数10 100n2 n1n0光标形状为8点(列)n行,n的值为07。.6数据自动读/写方式设置指令数据自动读写方式设置指令格式如下:无参数10 1100 n1n0该指令执行后,mpu可以连续的读写显示缓冲ram的数据,每读写一次,地址指针自动增1。自动读写结束时,后须写入自动结束命令以使 t6963c退出自动读写状态,开始接受其它指令。n1、n0组合功能如下:n1 n0 指令代码功能 00 b0h自动写设置 01

30、b1h自动读设置 1* b2h/b3h自动读、写结束.7数据单次读/写方式指令数据单次读/写格式如下:d11 100 0n2 n1n0d1为需要写的数据,读时无此数据。n2 n1 n0指令代码 功能000c0h 数据写,地址加1001c1h 数据读,地址加1010c2h 数据写,地址减1011c3h 数据读,地址减1100c4h 数据写,地址不变101c5h 数据读,地址不变.8屏读指令屏读指令格式如下:无参数1 110 00 00该指令将屏上地址指针处文本与图形合成后显示的一字节内容数据送到 t6963c的数据帧内,等待mpu读出。地址指针应为图形区内设置。2.3

31、.2.2.9屏拷贝指令屏拷贝指令格式如下:无参数1 110 10 00该指令将屏上当前地址指针(图形区内)处开始的一行合成显示内容拷贝到相对应的图形显示区的一组单元内,该指令不能用于文本特征方式下或双屏结构液晶显示器的应用上。.10位操作指令位操作指令格式如下:无参数1 111 n3n2 n1n0该指令可将显示缓冲区某单元的某一位清零或置 1,该单元地址当前地址指针提供。n3=1置1,n3=0清零。n2n0:操作位,对应该单元的d0d7位。3.系统功能框图3.1seed-dps2812m开发模板系统功能框图图3.1 dps2812m系统框图seed-dps2812m系统主要包含两

32、部分,如图3.1所示,分别为seed-dps2812m的硬件系统与相应的测试软件。相应的测试软件包括以下几个部分:dsp 对片外 sram 的操作示例;n 外部 d/a 的操作示例;n 外部 a/d 的操作示例;n dsp 片内外设 sci 的操作示例;n dsp 片内外设 can 的操作示例;n eeprom 的操作示例;n rtc 的操作示例;n 以太网的操作示例;n dido 的操作示例;n lcd 的操作示例;n 键盘的操作示例;n flash 的操作示例;3.2显示系统的组成显示系统由dsp控制器、lcd控制器和lcd显示屏组成,如下图所示:dsp控制器lcd控制器lcd显示屏图3.

33、2 显示系统组成4.键盘输入与显示输出的软件实现4.1ccs编程环境介绍4.1.1ccs介绍可编程dsp芯片的开发需要一整套完整的软、硬件开发工具。通常,dsp芯片的开发工具可以外为代码生成具和代码调试工具两大类。代码生成工具的作用是将用c语言、代数语言、汇编语言或两者的混合语言编写的dsp程序编译、汇编并链接成为可执行的dsp程序,代码生成工具主要包括:c编译器、汇编器和链接器等。此外,还有一些辅助厂具程序,如文件格式转换程序、库生成和文档管理程序等。1999年,ti推出了code composer studio,即ccs集成开发环境.ccs的出现是dsp开发软件的一次革命性的变化。ccs集

34、成的源代码编辑环境,使程序的调试与修改更为方便;ccs集成的代码生成工具,使开发设计人员不必在dos窗口键入大量的命令及参数;ccs集成的调试工具,使程序调试一目了然,大量的观察窗口使程序调试与修改得心应手。更为重要的是,ccs加速和增强了实时、嵌入信号处理的开发过程,提供了配置、构造、调试、跟踪和分析程序的工具,在基本代码产个工具的基础上增加了调试和实时分析的功能。开发设计人员可在不中断程序运行的情况下查看算法的对错,实现对硬件的实时跟踪调试,从而大大缩短了程序的开发时间。设计编辑原文件生成代码调试分析图4.1 ccs软件调试流程4.1.2ccs软件设置在安装ccs软件之后运行ccs软件之前

35、。需首先运行ccs设置程序。ccs设置程序用于建立ccs集成开发环境与目标板或simulator之间的通信接口。ccs软件集成了ti公司的simulator和emulator的驱动程序,用户可以直接使用ti的仿真器进行开发调试。如果用户使用的不是ti的仿真器,则要安装相应仿真器的驱动程序。ccs是一个开放的环境,通过设置不同的驱动完成对不同环境的支持。4.1.3ccs软件设置错误排查当ccs设置程序设置不正确时,ccs将不能正常运行。以下是两种可能出现的错误提示:1 .you are attempting to start code composer with no boards. pleas

36、e enter the setup program and select appropriate hardware.运行code composer stepu程序,system configuration栏中将发现my system下提示“system needs a board”,这是因为在系统配置中需要一个以上的目标板和处理器。如果有硬件仿真器,则将仿真器安装到系统中。这样,就可以使用ccs的软件仿真功能了。2 .can not initialize target dsp. target initialization failed.check target power and jtag c

37、onnection. i/o point=出现这种情况可能有以下一些原因:(1)目标dsp的i/o设置有误n 目标dsp被设置到一个无效的i/o地址,应确保目标板上的dip跳线设置与ccs设置程序设置的i/o地址一致。n 目标板上的i/o地址有冲突,确保计算机中没有其他硬件占用此i/o端口。使用windows控制而板可以查看是否存在此类冲突。(2)ccs设置程序设置有误n ccs设置程序中设置的驱动程序不正确,应确保ccs设置程序中选择的驱动程序就是所使用仿真器的驱动程序。n 多处理器配置不正确,请查看设置程序的在线帮助。n ccs设置程序与ccs执行程序不在同个目录下 应确保二者位于同日录下

38、。(3)目标dsp设置有误n 应确保dsp芯片不处于“hold”或“reset”状态并被正确加电。n 目标处理器应处于“ready”状态以执行调试程序。如果在“ready”状态出现硬件故障,可尝试让处理器处于微计算机模式并重新运行调试程序。在微计算机模式下,所有的存储器存取均在片内进行且“ready”信号线不起作用。n 目标处理器的hold引脚应处于释放状态。n 为保证在仿真器和目标dsp之间提供高质量的信号,仿真头和处理器之间。n 距离不应超过6英寸(1英寸254cm),否则应加缓冲。n 在电路和时钟模式下检查处理器的时钟,处理器应接收和产生正确的时钟信号。n emu0/1引脚通过上拉电阻置

39、为高电平。4.1.4ccs组件(1)代码产生工具。(2)ccs集成开发环境(integrated developing environment,ide)。(3)dspbios(basic input and output system)插件及api(application program interface)函数。(4)rtdx(real time data exchange)插件、主机(host)接口及api函数。4.1.5硬件仿真和实时数据交换ti dsp芯片提供片上仿真支持,使ccs能控制程序运行并实时监视程序活动。主机与目标dsp通信是通过个jtag接口来完成的,这种连接方式对dsp目

40、标系统的实时性能没有太大的影响。仿真器提供与主机通信的jtag接口,评估板则提供板上的jtag仿真接口。片上仿真硬件提供以下功能:n 运行、停止或复位dsp芯片;n 将代码和数据加载到dsp芯片;n 检查dsp中寄存器和存储器;n 检查硬件指令或数据相关的断点;n 各种计算功能,包括精确到指令周期的剖切(profiling)功能;n 提供主机和目标dsp间的实时数据交换。ccs软件支持这些片上仿真功能,而更为重要的是,ccs的rtdx功能使主机和dsp之间能双向实时通信。rtdx提供一个实时和连续的可视环境,使开发者能看到dsp应用程序工作的真实过程。rtdx允许系统开发者在不停止运行目标应用

41、程序的情况下在计算机和dsp芯片之间传输数据,同时还可在主机上利用对象链接嵌入(ole)技术分析和观察数据。这样可以提供给开发者一个真实的系统工作过程,从而缩短开发时间。4.2键盘输入的软件实现seed-dps2812模板上配备了4路键盘扫描输出和4路键盘扫描输入,可外接一个44键盘,测试板上采用45的薄膜开关用来测试键盘接口,测试中只需用到左上角的16个键即可。键盘的测试过程测试过程如下:1. 将keyboard目录拷贝到ccs集成开发环境下的myprojects目录下;2. 在ccs中调用projectopen命令,加载keyboard目录下seed-dps2812-keyboard.pj

42、t;3. 在ccs中用fileload gel.命令,加载keyboard目录下的f2812.gel;4. 在ccs中用fileload program.命令,加载keyboarddebug目录下的seed-dps2812-keyboard.out;5. 在ccs中用debuggo main命令,执行程序到c的main()函数处;6. 在ccs中用viewwatch window命令,打开变量视窗,点击watch1页面,输入save_keyvalue和a,save_keyvalue是一个数组,用来保存键值,a为输入键值的个数。7. 运行程序,输入键值,刷新watch window,观察数组sa

43、ve_keyvalue和变量a的变化。例如:输入1、5、6三个键值,然后刷新得如下结果。图4.2 键盘测试图例4.3液晶显示的软件实现lcd的测试f2812片上有1个lcd液晶显示接口,cpu为t6963c。lcd的测试过程lcd的测试过程如下:1. 将dps2812-lcd目录拷贝到ccs集成开发环境下的myprojects目录下;2. 在ccs中用projectopen.命令,加载dps2812-lcd目录下的dps2812-lcd.pjt;3. 在ccs中用fileload gel.命令,加载dps2812-lcd目录下的f2812.gel;4. 在ccs中用fileload progr

44、am.命令,加载dps2812-lcd目录下的dps2812-lcd.out;5. 在ccs中用debuggo main命令,将程序执行到c的入口函数main()处;6. 按下图设置断点,按f5运行程序,可以在lcd上看见“液晶”两个字。图4.3 液晶显示测试图例5.结论程序测试用到了上面介绍过的开发设备,这里给出全部测试平台图。从图中可以看到开发板分别连+5v、+26v和gnd,白色的盒子是仿真器,通过jtag接口和usb分别连接到板子和电脑上。连接完毕后接通电源,按上一章说明的步骤进行操作。图5.1 测试平台5.1键盘输入测试5.1.1键盘输入主流程图系统初始化中断初始化周期中断中定时扫描

45、用户代码设定,开周期中断i/o口初始化图5.2 键盘测试主流程图初始化系统包括:u 屏蔽看门狗u 配置pll和外设时钟u 寄存器设置u 设置i/o口初始化中断包括:u 屏蔽cpu中断,清cpu中断标识u 初始化pie中断控制u 初始化pie矢量表5.1.2键盘扫描流程图电源开延时扫描输入?显示输入有无图5.3 键盘扫描程序流程图5.1.3程序运行结果图5.4 键盘测试结果测试心得和遇到的问题及分析:其中利用到了扫描的特点来实现对外设输入的检测,cpu每隔20毫秒扫描一次是否有输入,没有则循环进行,有则将其显示。此外某些按键在程序运行中是无效的,就是说在实际运行过程中并不是用到了所有的按键,后来

46、参考测试说明并经过多轮测试后得出,应该是软件程序中定义的只是一部分而已。测试说明中表明只需用到16个键即可,实际上或许并没有定义这么多,在查看器中能够观测到的也只有9个按键键值的变化。5.2液晶显示输出测试5.2.1液晶显示主流程图系统初始化开始pie控制寄存器初始化lcd初始化lcd清屏lcd写光标lcd清光标lcd汉字显示图5.5 主程序流程图示5.2.2 汉字显示程序流程图开始设置要显示汉字的点阵数据设置要显示汉字的行设置要显示汉字的列设置要显示汉字的行设置要显示汉字的位置写入汉字点阵修改汉字点阵在lcd中的位置结束图5.6汉字显示程序流程图5.2.3 液晶显示程序结果初始程序显示结果如

47、下:图5.7初始程序显示结果程序个性化修改后显示结果如下:图5.8 修改后显示结果液晶显示的一些调试心得:液晶调试程序很正常,达到了预期结果。在点阵式液晶显示器上显示汉字,一般按图形的方式来显示,汉字调用在字库中的编号进行显示。经过字模工具分解汉字,已成功在lcd上显示出“北方工业大学电气传动研究室”字样。6.总结本次实验好的经验在于它提供了一个良好的锻炼机会,对硬件的大致特性,系统运行的流程,软件实现原理以及各种分析方法等等都是一次很好的了解机会。更具体一点来说,设计时候对于资料的查询,知识的理解,问题的解决等能力都是一个磨练。不足之处在于对实验的创新方面不是很好,受制于能力所限并没有对实验

48、加以延伸,比如对程序稍作修改以增加功能等等。此外对现有手头所有的资料的理解还不完全透彻,所以在实际中还是可能会造成理解上的误差的。不过总的来说这次的实验是成功的,也达到了预期的目标,比如像程序运行结果也都进行得十分顺利,效果也比较好。7.致谢在整个毕业设计的过程中,首先我要感谢的是我的指导老师周京华老师,周老师在各方面都对我予以了很大的帮助,像在相关资料的查找和联系设备厂家上都花了不少时间,在此对周老师的帮助以诚挚的谢意!另外还要感谢乔森师兄,对我的论文的写作和注意要求等给予了专业性的讲解,在平时也都及时解决我提出的每一个问题,甚至占用了自己做实验的时间,这里也对师兄予以感谢!8.主要参考文献

49、1苏奎峰、吕强、耿庆锋、陈圣俭编著;tms320f2812原理与开发;北京:电子工业出版社;2006.32张雄伟;dsp芯片的原理与开发应用;北京:电子工业出版社;19973刘和平;tms320lf240x dsp结构、原理及应用;北京:北航出版社;20024何咏、马孝江、王永刚;基于dsp的人机接口技术;机床与液压;2004.no.11;p1101125朱宇翔、程明霄、李明;基于dsp的液晶显示器的软硬件设计及实现;微型机与应用;2005年第2期;p15176texas instruments. literature number. sp rs 174n april 2001 revised

50、 may 2006. tms320f2810, tms320f2811, tms320f2812, tms320c2810, tms320c2811, tms320c2812 digital signal processors data manual9.附录附录1:键盘测试主程序#include dsp28_device.hinterrupt void scan(void);void keyvalue(unsigned int k);unsigned int save_keyvalue9 = 0,0,0,0,0,0,0,0,0;unsigned int a,k,x;unsigned int f

51、lag9 = 0,0,0,0,0,0,0,0,0;void main(void)a = 0;x = 0;/初始化系统initsysctrl();/关中断dint;ier = 0x0000;ifr = 0x0000;/初始化pie initpiectrl(); /初始化pie中断矢量表initpievecttable();/初始化cputimerinitcputimers();/设置timer0中断入口地址 eallow; pievecttable.tint0 = &scan;edis;configurecputimer();setport(); /使能中断 piectrl.pieier1.bit.intx7 = 1;/*使能cputimer0中断*/ /启动cputimer0startcputimer0();/*开中断*/ier |= m_int1;eint; /使能intmertm;for(;)if(x != 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论