1、目录目 录.1第一章 实验平台说明.21.1 基本参数.31.2 使用方法.5第二章算 法实验.62.1 基础实验.62.2 卷积计算.82.3 相关运算.102.4 快速傅里叶变换(FFT)实现.122.6 有限冲击响应滤波器(FIR)实现.162.7 无限冲击响应滤波器(IIR)实现.222.8 自适应滤波器(LMS)实现.24第三章外 设接口实验.273.1 数码管控制实验.273.2 交通灯控制实验.293.3 液晶显示屏(LCD)实验.313.4 矩阵键盘扫描实验.333.5 通用异步串行接口(UART)实验.343.6 通用串行总线(USB)接口实验.363.7 内置A/D转换实验
2、393.8 高速A/D转换实验.413.9 高速D/A转换实验.433.10 直流电机控制实验.453.11 步进电机控制实验.463.12 以太网卡与TCP/IP协议实验.483.13 CAN总线实验.53第一章实验平台说明随着科学技术的飞速发展,人们对控制模型、控制算法要求越来越高,传统意义上的处理器很难满足 发展的需求,而数字信号处理器DSP经历了 20多年的发展与普及,应用领域几乎涵盖了所有的行业:通 信、信息处理、自动控制、雷达、航空航天、医疗、日常消费品等。德州仪器(TI)占据了整个DSP市 场的50%左右,很多高校、研究所、公司大量采用TI的方案与芯片进行开发与研究。DSP是一
3、门理论与实践并重的技术,在成功掌握了理论知识的同时再配合做一些经典的DSP实验,从而加深对DSP软、硬件的理解与掌握,为今后从事独立的开发打下扎实的基础。目前很多高校都已经 开设了数字信号处理的课程,对普及与推广DSP做出了巨大的贡献。本DSP开发平台,采用核心开发板+10扩展底板+高级外设扩展板的逻辑架构。以TI公司的 TMS320VC5509A和TMS320F2812两种DSP芯片为中心,附加开发了多个功能模块,可以使实验者方便 有效地完成各种常用的DSP开发实验。2812开发板基于TI公司的处理器TMS320F2812设计而成。TMS320F2812采用TI公司的最新281X 系列的处理
4、器核,内部带有ROM、FLASH、大容量的RAM和丰富的外部接口,具有体积小、速度快、使用简单、功能强大、功耗低、性能稳定、编程简单的特点,非常适合在工业控制场合使用。5509开发板基于TI公司的处理器TMS320VC5509A设计而成。TMS320VC5509A采用TI公司的最新 的55X系列的处理器核,内部带有大容量的RAM和USB、SD接口等丰富的外设,具有功耗低,体积小、速度快、使用简单、功能强大、功耗低、性能稳定、编程简单的特点,并可用于进行图像处理。非常适合 在算法、多媒体处理、消费电子设备使用。底板上外扩了很多通用接口如(串口、网路接口、RS485、和电机输出接口),为了方便用户
5、用最快的 时间掌握DSP的使用技巧,在硬件上使用了多种总线接口和多种外部通讯方式的并配备了,LED、工业用 LCD显示屏,并通过扩展插槽可以扩展图像处理,数字信号源等多种进阶外设,这样就使用户以最快的速 度,试验、学习、设计,并把这些处理技巧熟练的嵌入到产品中,使用户迅速的成为硬件的设计高手,我 们在硬件设计中以工业现场的硬件要求来提供方案,除电源部分在工业现场需要加入保护措施外,对于板 级信号,我们使用了信号完整性分析技术、电磁兼容技术,在关键位置使用了电感、电容等电磁兼容器件,这样就能更容易把我们的经验使用到每一个用户的产品中。在软件上,提供了通用的软件的模块,并在此基础上编写了各种接口的
6、软件试验程序。注释详尽,有 利于初学者入门,除了已设计好的实验之外,实验者还可以发挥创造性,充分利用实验箱的资源进行其它 实验。对于DSP高手来说也具备很大的发挥余地。最后真诚的欢迎您使用迪阳正泰科技发展公司产品并提出宝贵意见。由于任务重、时间紧,作者水平 有限,书中难免存在一些小的错误,恳请广大师生批评指正。1.1基本参数 TMS320F2812:32位DSP2000 系列内核,工作频率 150M。片上存储器:FLASH 128K X 16位SRAM 18Kxi6位BOOT ROM 4Kxi6 位OPT ROM IK X 16位 片上外设:PWM 12路QEP 6通道ADC 2 X 8通道,
7、12位,80ns转换时间,03V输入量程SCI异步串口 2通道MCBPS同步串口 1通道CAN 1通道SPI同步串口 1通道 外扩SRAM,最大容量512K X 16位,基本配置64K X 16位 外扩FLASH,最大容量512 X 16位,基本配置256 X 16位 外扩CPLD,为Xilinx9500系列,可以选配95XL36或95XL72 外扩以太网10M接口,兼容NE2000 外扩20M以上的视频高速AD和高速DA 外扩图形LCD接口 外扩直流电机,步进电机各一个 外扩4义4矩阵键盘 外扩双路函数信号发生器 外扩八段数码管,交通灯,蜂鸣器 外扩USB接口,主从方式可以自由转换。外扩1路
8、RS232接口,1路RS485接口 提供上电复位、手动复位、电源检测、看门狗,系统可靠,稳定 标准的JTAG接口,方便调试 标准化的扩展总线 1.2 使用方法1.电源本实验箱内部自带变压器,使用时不需另配低压电源,可直接用普通三相插头接入220V电源。接上 电源后,由电源模块输出12V,+5V,3.3V,分别送至实验箱的各个模块。另外为方便单独使用,两 个主控板上都设有独立的电源输入端口,可以接入5V的直流电源。2.仿真器接口在做实验时,需要一个DSP仿真器,把在计算机上编译并生成的执行代码下载到5509或2812芯片 o仿真器有两端接口,其中一端与计算机的并行口或USB 口相连,这取决于仿真
9、器的类型;另一端与 DSP芯片的JTAG接口相连,这是一个14针的接口,在两块主控板上都可以找到。仿真器连接好后才能 对主控板上的DSP芯片进行读写控制。4.计算机的配置DSP实验中的代码编写,下载仿真和程序调试都必须在计算机上完成。计算机上需要安装DSP集成 开发环境软件CCS(使用2.2或3.1版本)。计算机应具备最少32M内存,100M硬盘空间和奔腾处理器,显示器分辨率不能低于800*600。另外,部分模块的实验还要求计算机配有标准的USB接口,DB9串行 接口以及RJ-45网卡接口。5.其它配件包括USB连接线,串行口连接线,网线,排线等。第二章算法实验 2.1 基础实验一、实验目的I
10、掌握CCS实验环境的使用;2.掌握用C语言编写DSP程序的方法。二、实验设备1.2.一台装有CCS软件的计算机;TMS320F2812 主控板;3.DSP硬件仿真器。三、实验原理浮点数的表达和计算是进行数字信号处理的基本知识;产生正弦信号是数字信号处理中经常用到的运 算;C语言是现代数字信号处理表达的基础语言和通用语言。写实现程序时需要注意两点:(1)浮点数的 范围及存储格式;(2)DSP的C语言与ANSIC语言的区别。四、实验步骤I.打开CCS并熟悉其界面;2.在CCS环境中打开本实验的工程(Example)ASe.pjt),编译并重建.out输出文件,然后通过仿 真器把执行代码下载到DS
11、P芯片中;3.把X0,Y0和Z0添加到Watch窗口中作为观察对象(选中变量名,单击鼠标右键,在弹出菜单中选择“4.选择 view-graph-time/frequency.设置对话框中的参数:其中Start Address 设为“sin_value,“Acquisition buffer size”和 Display Data size”都设为100”,并且把“DSP Data Type”设 为“32-bit floating point”,3 Craph Prope3uHTog区|Display Type|Single TimeGraph TitleGraphical DisplaySta
12、rt Addresssin_valuePageDataAcquisition Buffer Size100Index Increment1Display Data Size100DSP Data Type32-bit floating pointSampling Rate(Hz)1Plot Data FromLeft to RightLeft-shifted Data DisplayYesAutoscaleOnDC Value0Axes DisplayOnTime Display UnitsStatus Bar DisplayOn0K|Cancel|Help设置好后观察信号序列的波形(sin函
13、数,如图);5.单击运行;6.观察三个变量从初始化到运算结束整个过程中的变化;观察正弦波形从初始化到运算结束整个过程中的变化;7.修改输入序列的长度或初始值,重复上述过程。五、思考题1.试用C语言编写实现其他数学运算的程序;2.考虑如何实现其他波形信号的产生。2.2 卷积计算一、实验目的1.掌握卷积运算的基本原理;2.掌握用C语言编写DSP程序的方法。二、实验设备I.一台装有CCS软件的计算机;2.DSP实验箱的TMS320F2812主控板;3.DSP硬件仿真器。三、实验原理卷积是数字信号处理中经常用到的运算。其基本的表达式为:ny(n)=Z h(m)x(n m)m=0写实现程序时需要注意两点
14、1)序列数组长度的分配,尤其是输出数组y(n)要有足够的长度;(2)循 环体中变量的位置,即n和m的关系。四、实验步骤1.复习卷积的基本原理;2.在CCS环境中打开本实验的工程(Example_convolve.pjt),编译并重建.out输出文件,然后通 过仿真器把执行代码下载到DSP芯片中;3.单击运行;4.观察三个数组从初始化到卷积运算结束整个过程中的变化(可单击变量名前的“+”号把数组展却;Watch WindowNameValueTypeR.田含X_0 x0206float 20hex田软h0 x022Efloat20hex日分y0 x0256float 20hex 00.0fl
15、oatflo:11.0floatflo:93.0floatflo:96.0floatflo:9 410.0floatflo:15.0floatflo:621.0floatflo:928.0floatflo:836.0floatflo:45.0floatflo:。10L45.0floatflo:9 1144.0floatflo:a ri9i42 nfl catFl n:鼎 lOJatch Locals 此 Watch 14.修改输入序列的长度或初始值,重复上述过程,观察卷积结果。五、思考题1.试用汇编语言编写实现卷积运算的程序;2.考虑如何实现复数的卷积运算。2.3 相关运算一、实验目的1.掌握
16、相关系数的估计方法;2.掌握用C语言编写DSP程序的方法。二、实验设备1.一台装有CCS软件的计算机;2.TMS320F2812 主控板;3.DSP硬件仿真器。三、实验原理相关系数是数字信号处理中的一个重要概念,包括自相关系数和互相关系数。它们的定义是:外.(左)=/上卜卜+左),k为相关系数的阶数;和 八=耳)*+左)。根据相关系数的定义,需要求输入信号的期望值,这在实际上是不可能实现的。因此,通常只根据一 定长度的已知输入信号求相关系数的一个估计,这时采用以下的公式:(设N为已知信号的长度)。以%)=,瞪的%(+%)N n=0和 九(%)=上+%)N n=0既然是估计值,那么就存在一致性和
17、有效性的问题,可以证明上面两式的估计是有偏估计,而以下的则是 无偏估计:心)=Jr n岂x(n)x(n+左)(无偏估计),N-k n=0九(k)=N 岂 xnyn+k)(无偏估计)N-k n=0本实验在上面公式的基础上实现各阶相关系数的估计。四、实验步骤1.在CCS环境中打开本实验的工程(Example_about.pjt),编译并重建.out输出文件,然后通过仿 真器把执行代码下载到DSP芯片中;2.在Watch窗口中添加相关系数数组r作为观察对象;3.运行程序,观察数据值的变化;Watch WindowNameValueType三夕r0 x02C8float 50h9 019.5float
18、9 119.0float9 218.5float0 318.0float。417.5float_9 517.0float_。616.5float_ 716.0float 815.5float 915.0float。100.0float9 110.0float.一-1息,皿atch Locals 舟 Hatch 14.修改估计模式mode,重复上述过程,观察有偏估计与无偏估计的差别;5.修改输入数组x口和y口的初始赋值函数、参与估计的数组长度、输出数组的长度等参数,重复上 述过程,观察运行结果;五、思考题1.试证明上面给出的第二组相关系数估计公式的无偏性;2.在本实验程序的基础上,修改代码,实现
19、自相关系数的估计;3.分析阶数对相关系数的影响。2.4 快速傅里叶变换(FFT)实现一、实验目的1.掌握FFT算法的基本原理;2.掌握用C语言编写DSP程序的方法。二、实验设备1.一台装有CCS软件的计算机;2.TMS320F2812 主控板;3.DSP硬件仿真器。三、实验原理傅里叶变换是一种将信号从时域变换到频域的变换形式,是信号处理的重要分析工具。离散傅里叶变 换(DFT)是傅里叶变换在离散系统中的表示形式。但是DFT的计算量非常大,FFT就是DFT的一种快 速算法,FFT将DFT的N2步运算减少至(N/2)log2N步。离散信号x(n)的傅里叶变换可以表示为x(k)=,WN=e-j27r
20、NN=0式中的Wn称为蝶形因子,利用它的对称性和周期性可以减少运算量。一般而言,FFT算法分为时间抽取(DIT)和频率抽取(DIF)两大类。两者的区别是蝶形因子出现的位置不同,前者中蝶形因子出现在输入 端,后者中出现在输出端。本实验以时间抽取方法为例。时间抽取FFT是将N点输入序列x(n)按照偶数项和奇数项分解为偶序列和奇序列。偶序列为:x(0),x(2),x(4),.,x(N-2);奇序列为:x(l),x(3),x(5),,x(N-l)。这样 x(n)的 N 点 DFT 可写成:X(k)=E+Z-x(2n+lXJ2n=0 n=0考虑到Wn的性质,即W=e-J/Nf=ej2N/2)=WN/2
21、因此有:x(k)=X x(22+graph-time/frequency。设置对话框中的参数:其中“Start Address”设为 x_re”,“Acquisition buffer size”和Display Data size都设为64,并由巴DSP Data Type”设为“32-bit floating point女图),2 Graph Property Dialog2dDisplay TypeSingle TimeGraph TitleGraphical Di splayStart Addressx_rePageDataAcquisition Buffer Size64Index
22、Increment1Di splay Data Size64I DSP Data Type|32-bit floating point画|Sampling Rate Qiz)1二J设置好后观察输入信号序列的波形(单边指数函数,如图);同样方法观察经DFT变换后的输出序列“y_re”的波形,“Start Address”改为“y_re”,其余参数不变(如 图;5.在 Watch 窗口 中添加 i,j,k,m,n,a,b,c 等变量,在 Debug 菜单中先“Restart”然后“Go main”,单步运行程序,跟踪FFT算法的过程;(可以跳过程序开始部分对各个数组的赋值代码,方法是在雷德算 法的
23、第一行代码前设置断点,然后先单击运行,待程序停在该断点后再单步执行后面的代码,见下图。)/*用雷德算法对输入信号序列进行倒序重排”j=0;for(i=0;igraph-time/frequency。设置对话框中的参数:其中“Start Address 设为hd”,a Acquisition buffer size”和 Display Data size”都设为21”(因为源程序中 n=21),共3E“DSP Data Type”设为“32-bit floating point”,设置好后观察理想冲击响应序列的波形示意图,可与公式对照分析;5.观察其它序列的波形示意图,包括所用窗函数w,加窗后响
24、应序列h和输出对数幅频响应db的图 形,这时的Start Address应分别设为 7 和“h”和“db”,其中观察前两者时数据块大小设为“21”(同n值),观察“db”时数据块大小设为“300”(同/值),所观察到的图形应大致如下面五组图所示;m=1 时:矩形窗函数(w)加窗后序列(h)m=2 时:加窗后的幅频响应db三角窗函数(w)加窗后序列(h)加窗后的幅频响应dbm=3 时:汉宁窗函数w加窗后序列h加窗后的幅频响应dbm=4 时:汉明窗函数wm=5 时:布莱克曼窗函数w加窗后序列h加窗后的幅频响应db7.从15依次修改m的值,按上面步骤观察各图形。五、思考题1.总结窗函数法的设计步骤和
25、关键问题。2.7 无限冲击响应滤波器(IIR)实现一、实验目的1.掌握IIR滤波器的原理与设计方法;2.掌握用C语言编写DSP程序的方法。二、实验设备1.一台装有CCS软件的计算机;2.TMS320F2812 主控板;3.DSP硬件仿真器。三、实验原理数字滤波器的输入xk和输出yk之间的关系可以用如下常系数线性差分方程及其z变换描述:N Myk=S qx左 一+Wbtyk iz=0 i=l系统的转移函数为:堂b-kk=11+S akk=O设计一个hr滤波器就是要根据所给定的指标确定上式中的分子和分母系数。设计hr数字滤波器可以先设计一个合适的模拟滤波器,然后变换成满足给定指标的数字滤波器。这
26、种方法很简便,因为模拟滤波器有多种设计方法,如巴特沃思型滤波器、切比雪夫型滤波器、椭圆函数型 滤波器等,并且已经具有很多简单而又现成的设计公式。采用这种方法需要把s平面映射到Z平面,使模 拟系统函数H(s)变换成所需的数字滤波器的系统函数H(z)。映射方法主要有冲激响应不变法、阶跃响应不 变法和双线性变换法。前两种方法会因为多值映射关系产生混叠失真,双线性变换法克服了这一缺点。双 线性变换法的映射关系式是:1-Z-1 S=C-7-1+Z-1本实验采用的是巴特沃思型滤波器,并用双线性变换法转换成数字滤波器。四、实验步骤1.在CCS环境中打开本实验的工程(Example_iir.pjt),编译并重
27、建.out输出文件,然后通过仿真 器把执行代码下载到DSP芯片中;2.运行程序;3.在Watch窗口观察系统函数H(z)的分子和分母系数ptr_b,ptr_ao写出该滤波器的系统函数。4.选择view-graph-time/frequency。设置对话框中的参数:其中“Start Address”设为 hwdb,Acquisition buffer size”和 Display Data size”者修 为“50”,并且把“DSP Data Type 32-bitfloating point”,观察幅频响应的波形(如图);5.修改滤波器的设计参量fp,fr,fs,ap,ar等,重复上述过程,观
28、察设计结果。(其参数值均在编写的程序中请注意按程序修改)五、思考题1.总结巴特沃思型滤波器的设计方法。2.8 自适应滤波器(LMS)实现一、实验目的1.掌握自适应滤波器的原理;2.掌握LMS算法的原理;3.掌握用C语言编写DSP程序的方法。二、实验设备1.一台装有CCS软件的计算机;2.TMS320F2812 主控板;3.DSP硬件仿真器。三、实验原理输入信号x(k)标准信号 id/k)误差信号*)&(k)=d(k)-y(k)y(k)=FilterMk),w(初3)=W-”哪松刈)图1(图1)为自适应滤波器结构的一般形式,图中x(k)为输入信号,通过参数可调的数字滤波器后产生输 出信号y(k)
29、将输出信号y(k)与标准信号(或者为期望信号)d(k)进行比较,得到误差信号e(k)。e(k)和x(k)通过自适应算法对滤波器的参数进行调整,调整的目的是使误差信号e(口最小。反复进行上面过 程,使滤波器逐渐掌握了输入信号和噪声的统计规律,并以此为根据自动调整自己的参数,从而达到最佳 的滤波效果。一旦输入信号的统计规律发生了变化,滤波器能够自动跟上输入信号的变化,自动调整滤波 器的参数,这就是自适应滤波的原理。自适应滤波器的结构可以采用FIR型或IIR型,由于IIR滤波器存在稳定性问题,因此一般采用FIR 滤波器作为自适应滤波器的结构。自适应FIR滤波器结构又可分为三种结构类型:横向型结构(
30、Transversal Structure对称横向型结构(SymmetricTransversal Structure)、格型结构(Lattice Structure)。本实验所采 用的是自适应滤波器设计中最常用的FIR横向型结构。设w为横向滤波器的一组系数,滤波器的输出与 输入信号间的关系可以表示为:N-1y(n)=WT(n)X(n)=2%()%(一,)z=0自适应滤波器除了包括一个按照某种结构设计的滤波器,还有一套自适应的算法。滤波器的参数就是 依照这种自适应算法来自动调整的,最常用的自适应算法是最小均方误差算法,即LMS魁(LeAStMean Square)o LMS算法的目标是通过调整
31、系数,使输出误差序列e(n)=d(n)-y(n)的均方值最小化,并且根据 这个判据来修改权系数。当均方误差达到最小时,得到最佳系数w*。为了较快地求得近似的最佳系数,可以采用最快下降法,也叫梯度算法,这是一种迭代运算。在采用种种近似和代替后,最后可以导出如下 公式:W(n+1)=W(n)+2ue(n)X(n)式中的U是由系统稳定性和迭代运算收敛速度决定的自适应步长,U越小,则收敛越慢,但是U太大则会 导致系统的不稳定性。本实验就是以这个公式为基础实现自适应滤波器的。关于算法的详细推导过程及参 数的选择原则,请读者参考数字信号处理的有关资料。四、实验步骤1.在CCS环境中打开本实验的工程(Exa
32、mplems.pjt),编译从而生成.out输出文件,然后通过仿 真器把执行代码下载到DSP芯片中;2.运行程序;3.选择 view-graph-time/frequency.。设置对话框中的参数:其中“Start Address设为x”,“Acquisition buffer size”和“Display Data size”者“500”,并日肥、“DSP Data Type “32-bit floatingpoint”,观察输入信号的波形(如图2);同样方法观察输出波形“y”(如图3)和输出误差%”(如图4)的 波形;体会“自适应”的过程。(图2)(图3)(图4)4.修改信号长度L、滤波器
33、级数N、自适应步长u、输入信号函数x等内容,重复上述过程,观察 程序运行结果。五、思考题1.试推导梯度算法的公式;2.自适应步长u对自适应滤波过程有何影响,应如何决定u的值?第三章外设接口实验 3.1 数码管控制实验、实验目的1.熟悉2812的指令系统;2.熟悉74HC573的使用方法。3.熟悉DSP的10操作使用方法。二、实验设备1.一台装有CCS2000软件的计算机;2.DSP实验台;3.DSP硬件仿真器。三、实验原理此模块由数码管和四个锁存器组成。数码管为共阴极型的。数据由2812模块的低八位输入,锁存器 的控制信号由2812模块输出,但经由CPLD模块译码后再控制对应的八个锁存器。DS
34、56三O三2 22 23Ch DODS6DPY7Bo esseeeesn?474HC57:J23RRMgRSWS 74HC57:二 bjRRVgRMW以偏C57。I IJ66AS1117-L5V IIDP _WEUDS8DPY7Oj DO工三藐扇藐函版573Bo esseeses四、实验步骤1.在CCS2000环境中打开本实验的工程编译Example_7segled.pij,生成输出文件,通过仿真器把执 行代码下载到DSP芯片;2.运行程序;数码管会显示18的数字。3.参考源代码自行修改程序改变显示样式。3.2 交通灯控制实验一、实验目的1.熟悉2812的指令系统;2.熟悉74HC573的使用
35、方法。3.熟悉DSP的10操作使用方法。二、实验设备1.一台装有CCS2000软件的计算机;2.DSP实验台;3.DSP硬件仿真器。实验原理此模块由发光二极管和一个锁存器组成。数据由2812模块的低八位输入,锁存器的控制信号由2812模块输出,但经由CPLD模块译码后再控 制锁存器。j-|VCC3.3V12SPKC0NTR0Z E 寸口 9 Z 00四、实验步骤1.把2812模块小板插到大板上;2.在CCS2000环境中打开本实验的工程编译Example_crossled.pij,生成输出文件,通过仿真器把执 行代码下载到DSP芯片;3.运行程序,发光二极管按交通灯方式点亮熄灭。4.参考源代码
36、自行修改程序,实现不同的交通灯控制方式。3.3 液晶显示屏(LCD)实验一、实验目的1.掌握液晶的使用方法;2.掌握液晶信号之间时序的正确识别和引入。二、实验设备1.一台装有CCS2000软件的计算机;2.DSP实验台;3.DSP硬件仿真器。三、实验原理本实验箱采用的液晶接口在DSP的数据总线上,由于DSP是十六位总线,液晶是八位总线,所以DSP 的高八位总线悬空。液晶的结构框图如下,cs RESAO WR(R/W)RD(e)DBO DB1 DB2 DB3 DB4 DB5DB6(SCLK)DB7(SCI)vdd vssVOUT CAP3+CAP1-CAP1+CAP2+CAP2-四、实验步骤1
37、把2812模块小板插到大板上;打开液晶模块的电源开关;2.在CCS2000环境中打开本实验的工程编译Examplejcd.pq,生成输出文件,通过仿真器把执 行代码下载到DSP芯片;3.运行程序;液晶上会循环显示预定内容。3.4 矩阵键盘扫描实验一、实验目的1.掌握键盘信号的输入,DSPI/O 口的使用;3.掌握键盘信号之间时序的正确识别和引入。二、实验设备1.一台装有CCS2000软件的计算机;2.DSP实验台;3.DSP硬件仿真器。三、实验原理实验箱上提供一个4x4的行列式键盘。2812的8个I/O 口与之相连,这里按键的识别方法是扫描法。键被按下时,与此键相连的行线电平将由与此键相连的
38、列线电平决定,而行线的电平在无按键按下时 处于高电平状态。如果让所有的列线也处于高电平,那么键按下与否不会引起行线电平的状态变化,始终 为高电平。所以,让所有的列线处于高电平是无法识别出按键的。现在反过来,让所有的列线处于低电平,很明显,按键所在的行电平将被拉成低电平。根据此行电平的变化,便能判断此行一定有按键被按下,但 还不能确定是哪个键被按下。假如是5键按下,为了进一步判定是哪一列的键被按下,可在某一时刻只让 一条列线处于低电平,而其余列线处于高电平。那么,按下键的那列电平就会拉成低电平,判断出哪列为 低电平就可以判断出按键号码。四、实验步骤1.把2812模块小板插到大板上;打开液晶模块的
39、电源开关;2.在CCS2000环境中打开本实验的工程编译Example_key.pj生成输出文件,通过仿真器把执行代 码下载到DSP芯片;3.运行;按下键盘按键,液晶会显示所按键的号码。3.5 通用异步串行接口(UART)实验一、实验目的1.掌握异步串行通信协议;2.掌握2812异步收发器模块的应用。二、实验设备1.一台装有CCS软件的计算机;2.DSP实验台;3.DSP硬件仿真器。三、实验原理1.异步串行通信协议在传输数据前,数据线处于高电平状态,这称为标识态。传输开始后,数据线由高电平转为低电平状 态,这称为起始位;起始位后面接着58个信息位;信息位后面是校验位;校验位后是停止位“1”。传
40、输 完毕后,可以立即开始下一个字符的传输;否则,数据线再次进入标识态。上面提到的信息位的位数(5-8位)、停止位的位数(1位、1.5位或2位)、校验的方式(奇校验、偶校验或不校验)等参数都可以根据不同 需要进行设置,但对于同一个传输系统中的收发两端来说,这些参数必须保持一致。异步串行通信方式中另一个重要的参数是波特率。在一般的“0”/“1”系统中,波特率就是每秒钟传 输的位数。国际上规定了一个标准波特率系列,它们是最常用的波特率。标准波特率系列为110、300、600、1200、1800、2400、4800、9600和19200。发送端和接收端必须设置统一的波特率,否则无法正确接收数 据。2.
41、电平转换RS-232-C标准中规定-5V-15V为逻辑“1,+5V-+15V为逻辑“0”,因此要用专门的芯片完成TTL 电平与RS-232电平的转换,如MAX3232。3.串口调试助手该计算机端程序可以监测计算机串口接收和发送数据的情况。本实验中需要用该程序帮助观察实验结 果。四、实验步骤1.用串口线连接实验箱的UART模块与计算机串行口;2.在CCS环境中打开本实验的工程Example_sci.pjt,编译,生成输出文件(.out文件),通过仿真 器把执行代码下载到DSP芯片;3.在计算机上运行串口调试助手程序,设置串口为Coml,波特率为9600,校验为None,停止位 为1位,十六进制显
42、示,以待观察从DSP往PC串口发送的数据;4.运行程序;5.在串口调试助手程序中,在接收窗口中观察是否能正确接收到0X00OXFF的数据。3.6 通用串行总线(USB)接口实验一、实验目的1.熟悉USB基本概念和相关协议;2.掌握将USB模块设置为Host或Device的软硬件配置;3.掌握外插USB全速或低速设备的识别程序;4.了解设备枚举的基本流程;5.了解Bulk-Only传输协议与MASs Storage类SCSI传输指令;二、实验设备I.一台装有CCS软件的计算机;2.DSP实验箱;3.DSP硬件仿真器。4.USB延长线5.U盘6.示波器三、实验原理很多数码产品以及单片机系统都需要存
43、储器,当前,U盘(含闪盘、USB闪存盘、USB移动硬盘等,下同)已经成为很常用的移动存储设备,其价格仅比相同容量的闪存略高,而远比闪存易于采购和易于携 带,并且U盘的规格通用,具有多种容量可供选用。所以,数码产品以及单片机系统可以直接采用U盘 作为大容量的移动存储器。CH375是USB总线的HOST主机及DEVICE设备双用接口芯片,单片机可以通过CH375读写U盘中的 数据,由于很多产品最终会与使用WINDOWS操作系统的个人计算机交换数据,所以为了方便数据交换,U盘中的数据应该符合WINDOWS的文件系统格式。CH375提供了U盘文件级子程序库,单片机可以直接调用子程序读写U盘中的文件数据
44、硬件上只 需要在原单片机系统中增加一个CH375芯片,综合成本较低。CH375的U盘文件级子程序库支持常用的 FAT12、FAT16和FAT32文件系统,支持U盘最大容量100GB。USB设备枚举过程外设接入已上电的USB端口时,开始进行设备枚举。过程如下:1)设备所连接的HUB将设备接入事件通知Host;此时,USB设备处于上电状态(Powered),其连接的HUB 端口也处于Disabled状态;2)Host询问HUB,以获知精确的端口(port)状态改变情况;3)Host获知设备所接入的端口(port)后,就等待100ms以便设备完成插入过程并使得设备电源变得稳定;接着,Host针对此
45、端口发布一个端口(port)使能和复位命令;4)HUB保持此端口上的复位信号并持续10ms。复位信号释放以后,该端口就被Enabled,USB设备现在 就进入Default状态,并只能从VBUS吸取100mA的电流;设备上所有的寄存器和状态已被复位,应答默 认地址;5)Host为设备指派一个唯一的地址,设备进入Address状态;6)在设备接收到被指派的地址之前,利用default地址仍然可以访问default control通道(Pipe);Host读取设 备描述符以决定设备的默认通道能够使用的最大净数据包大小;7)Host从设备读取配置信息;8)基于配置信息以及设备将如何被运用,Host为
46、设备指派一个配置值,设备现在就进入Configured状态,所有的端点(EP)就可以正常工作了;设备现在就可以从VBUS中吸取配置信息中规定的电流,并开 始正常工作。3.Bulk-Only传输协议与MASs Storage类SCSI传输指令设备插入到USB后,USB即对设备进行搜索,并要求设备提供相应的描述符。在USB Host得到上述描 述符后,即完成了设备的配置,识别出为BulkOnly的MASs Storage设备,然后即进入BulkOnly传输 方式。在此方式下,USB与设备间的所有数据均通过BulkIn和BulkOut来进行传输,不再通过控制端 点传输任何数据。在这种传输方式下,有三
47、种类型的数据在USB和设备之间传送,CBW、CSW和普通 数据。CBW(Command Block Wrapper,即命令块包)是从USB Host发送到设备的命令,命令格式遵从 接口中的blnterfaceSubQASs所指定的命令块,这里为SCSI传输命令集。USB设备需要将SCSI命令从 CBW中提取出来,执行相应的命令,完成以后,向Host发出反映当前命令执行状态的CSW(Command Status Wrapper),Host根据CSW来决定是否继续发送下一个CBW或是数据。Host要求USB设备执行 的命令可能为发送数据,则此时需要将特定数据传送出去,完毕后发出CSW,以使Host
48、进行下一步的操 作。命令块描述符:XBit ByteX765-432100Operation Code(12h)1Logical Unit NumberReservedEVPD2Page Code3Reserved4Allocation Length5Reserved6Reserved7Reserved8Reserved9Reserved10Reserved11Reserved返回数据格式:查看数据BitByte765-432100ReservedPeripheral Device Type1RMBReserved2ISO VersionECMA VersionANSI Version(OOh
49、)3ReservedResponse Data Format4Allocation Length(31)5Reserved78Vendor Information1516Product Identification3132Product Revision Leveln.nn35四、实验步骤1.连接好DSP开发系统;2.运行CCS,打开本实验工程文件(Example_usbhost.prj),编译.3.下载程序到DSP4.运行程序5.插入U盘,USB枚举成功以后会检测到设备,并在U盘根目录下建立文件。3.7 内置A/D转换实验一、实验目的1.熟悉2812DSP的内置A/D的使用;2.掌握2812
50、 A/D的寄存器设置;3.掌握2812事件管理器的寄存器设置;二、实验设备1.一台装有CCS软件的计算机;2.DSP实验台;3.DSP硬件仿真器;三、实验原理TMS320F2812片上有1个12-位A/D转换器,其前端为2个8选1多路切换器和2路同时采样/保持器,构成16个模拟输入通道,模拟通道的切换由硬件自动控制,并将各模拟通道的转换结果顺序 存入16个结果寄存器中。ADC模块如下图所示:内置ADC的特点是:带2个8选1多路切换器和双采样/保持器的12-位的ADC,共有16个模拟输入通道;模拟量输入范围:0.0V-3.0V;转换率:在25MHz的ADC时钟下为80ns;自动排序功能可 以提供






