DSP实验指导书最终版.docx
《DSP实验指导书最终版.docx》由会员分享,可在线阅读,更多相关《DSP实验指导书最终版.docx(22页珍藏版)》请在冰豆网上搜索。
DSP实验指导书最终版
高级微处理器(DSP技术)
实验指导书
电气工程系
实验1外设控制实验—发光二极管阵列显示实验(V61版)
一.实验目的
通过实验学习使用2812ADSP的扩展端口控制外围设备的方法,了解发光二极管的控制编程方法。
二.实验设备
计算机,ICETEK-F2812-EDU实验箱(或ICETEK仿真器+ICETEK-F2812-A系统板+相关连线及电源)。
三.实验原理
发光二极管的控制方法
图1实验1程序流程图
四.实验步骤
1.实验准备
(1)连接实验设备
(2)将ICETEK-CTR板的供电电源开关拨动到“开”的位置。
2.设置CodeComposerStudio3.3在硬件仿真(Emulator)方式下运行
3.启动CodeComposerStudio3.3
选择菜单Debug→ResetCPU。
4.打开工程文件
工程目录C:
\ICETEK\F2812\DSP281x_examples\lab0402-Ledarray\V61浏览ledarray.c文件的内容,理解各语句作用。
5.编译、下载程序。
6.运行程序观察结果
7.结束程序运行,退出CCS。
五.实验结果与分析
实验结果:
可以观察到发光二极管循环显示。
分析:
本程序使用循环延时的方法,如果想实现较为精确的定时,可使用通用计时器,在通用计时器中断中取得延时,改变显示内容。
六.问题与思考
试设计用定时器定时刷新的程序,并显示秒计数的最低位。
实验2液晶显示器控制显示(V61版)
一.实验目的
通过实验学习使用2812ADSP的扩展I/O端口控制外围设备的方法,了解液晶显示器的显示控制原理及编程方法。
二.实验设备
计算机,ICETEK-F2812-A实验箱(或ICETEK仿真器+ICETEK-F2812-A系统板+相关连线及电源)。
三.实验原理
1.EMIF接口
TMS320F2812DSP的扩展存储器接口(EMIF)用来与大多数外围设备进行连接,典型应用如连接片外扩展存储器等。
这一接口提供地址连线、数据连线和一组控制线。
ICETEK-F2812-A将这些扩展线引到了板上的扩展插座上供扩展使用。
2.液晶显示模块的访问、控制是由2812ADSP对扩展接口的操作完成。
控制口的寻址:
命令控制接口的地址为0x108001,数据控制接口的地址为0x108003和0x108004,辅助控制接口的地址为0x108002。
3.显示控制方法:
-液晶显示模块中有两片显示缓冲存储器,分别对应屏幕显示的象素,向其中写入数值将改变显示,写入“1”则显示一点,写入“0”则不显示。
其地址与象素的对应方式如下:
-发送控制命令:
向液晶显示模块发送控制命令的方法是通过向命令控制接口写入命令控制字,然后再向辅助控制接口写入0。
下面给出的是基本命令字、解释和C语言控制语句举例:
.显示开关:
0x3f打开显示;0x3e关闭显示;
.设置显示起始行:
0x0c0+起始行取值,其中起始行取值为0至63;.设置操作页:
0x0b8+页号,其中页号取值为0-7;
.设置操作列:
0x40+列号,其中列号为取值为0-63;
-写显示数据:
在使用命令控制字选择操作位置(页数、列数)之后,可以将待显示的数据
写入液晶显示模块的缓存。
将数据发送到相应数据控制I/O接口即可。
4.液晶显示器与DSP的连接:
5.数据信号的传送
由于液晶显示模块相对运行在150MHz主频下的DSP属于较为慢速设备,连接时需要考虑数据线上信号的等待问题;
电平转换:
由于DSP为3.3V设备,而液晶显示模块属于5V设备,所以在连接控制线、数据线时需要加电平隔离和转换设备,如:
ICETEK-CTR板上使用了74LS245。
6.实验程序流程图
四.实验步骤
1.实验准备
(1)连接实验设备
(2)将ICETEK-CTR板的供电电源开关拨动到“开”的位置。
2.设置CodeComposerStudio3.3在硬件仿真(Emulator)方式下运行
3.启动CodeComposerStudio3.3
选择菜单Debug→ResetCPU。
4.打开工程文件
工程目录:
C:
\ICETEK\F2812\DSP281x_examples\lab0403-lcd\V61浏览LCD.c文件的内容,理解各语句作用。
5.编译、下载程序。
6.运行程序观察结果
7.将内层循环中的“CTRLCDLCR=(nBW==0)?
(ledkey[nCount][i]):
(~ledkey[nCount][i]);”语句
改为“CTRLCDRCR=(nBW==0)?
(ledkey[nCount][i]):
(~ledkey[nCount][i]);”,重复步骤5-6,
实现在屏幕右侧显示。
8.更改程序中对页、列的设置,实现不同位置的显示。
9.自己设计一些控制语句,实现不同显示效果。
10.结束程序运行,退出CCS。
五.实验结果与分析
实验结果:
可以观察到液晶显示从0到9的计数。
分析:
灵活使用控制字,可以实现复杂多变的显示。
当使用点阵图形显示时需要在DSP内存中建立图形存储缓冲;适当更新显示可取得动画效果。
在实际生活中观察点阵显示的霓虹灯广告、交通指示牌、报站牌等领会这种控制的具体应用。
六.问题与思考
试设计程序在液晶显示屏上显示计时时钟,精确到秒,形式为“时时:
分分:
秒秒”。
实验3直流电机控制实验(V61版)
一.实验目的
1.学习用C语言编制中断程序,控制F2812DSP通用I/O管脚产生不同占空比的PWM信号。
2.学习F2812DSP的通用I/O管脚的控制方法。
3.学习直流电机的控制原理和控制方法。
二.实验设备
计算机,ICETEK-F2812-EDU实验箱(或ICETEK仿真器+ICETEK-F2812-A系统板+相关连线及电源)。
三.实验原理
1.TMS320F2812DSP的McBSP引脚
通过设置PWM11和PWM5的工作方式和状态,可以实现将它们当成通用I/O引脚使用。
2.直流电机控制
直流电动机是᳔早出现的电动机,也是᳔早能实现调速的电动机。
近年来,直流电动机的结构和控制方式都发生了很大的变化。
随着计算机进入控制领域,以及新型的电力电子功率元器件的不断出现,使采用全控型的开关功率元件进行脉宽调制(PulsWidthModulation,简称PWM)控制方式已成为绝对主流。
PWM调压调速原理
直流电动机转速n的表达式为:
其中,U为电枢端电压;I为电枢电流;R为电枢电路总电阻;Φ为每极磁通量;K为电动机结构参数。
所以直流电动机的转速控制方法可分为两类:
对励磁磁通进行控制的励磁控制法和对电枢电压进行控制的电枢控制法。
其中励磁控制法在低速时受磁极饱和的限制,在高速时受换向火花和换向器结构强度的限制,并且励磁线圈电感较大,动态响应较差,所以这种控制方法用得很少。
现在,大多数应用场合都使用电枢控制法。
绝大多数直流电机采用开关驱动方式。
开关驱动方式是使半导体功率器件工作在开关状态,通过脉宽调制PWM来控制电动机电枢电压,实现调速。
上图是利用开关管对直流电动机进行PWM调速控制的原理图和输入输出电压波形。
图中,当开关管MOSFET的栅极输入高电平时,开关管导通,直流电动机电枢绕组两端有电压Us。
t1秒后,栅极输入变为低电平,开关管截止,电动机电枢两端电压为0。
t2秒后,栅极输入重新变为高电平,开关管的动作重复前面的过程。
这样,对应着输入的电平高低,直流电动机电枢绕组两端的电压波形如图中所示。
电动机的电枢绕组两端的电压平均值Uo为
占空比α表示了在一个周期T里,开关管导通的时间与周期的比值。
α的变化范围为0≤α≤1。
由此式可知,当电源电压Us不变的情况下,电枢的端电压的平均值Uo取决于占空比α的大小,改变α值就可以改变端电压的平均值,从而达到调速的目的,这就是PWM
调速原理。
PWM调速方法:
在PWM调速时,占空比α是一个重要参数。
以下3种方法都可以改变占空比的值:
(1)定宽调频法:
这种方法是保持t1不变,只改变t2,这样使周期T(或频率)也随之改变。
(2)调宽调频法:
这种方法是保持t2不变,只改变t1,这样使周期T(或频率)也随之改变。
(3)定频调宽法:
这种方法是使周期T(或频率)保持不变,而改变t1和t2。
前两种方法由于在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系统的固有频率接近时,将会引起震荡,因此这两种方法用得很少。
目前,在直流电动机的控制中,主要使用定频调宽法。
3.ICETEK-CTR直流电机模块原理图
ICETEK-CTR即显示/控制模块上直流电机部分的原理图见下图。
ICETEK-CTR直流电机模块
图中PWM输入对应ICETEK-F2812-A评估板上P4外扩插座第26引脚的PWM11信号,DSP将在此引脚上给出PWM信号用来控制直流电机的转速;图中的DIR输入对应ICETEK-F2812-A评估板上P1外扩插座第6引脚的P4信号,DSP将在此引脚上给出高电平或低电平来控制直流电机的方向。
从DSP输出的PWM信号和转向信号先经过2个与门和1个非门再与各个开关管的栅极相连。
控制原理
当电动机要求正转时,PWM11给出高电平信号,该信号分成3路:
第1路接与门Y1的输入端,使与门Y1的输出由PWM决定,所以开关管V1栅极受PWM控制;第2路直接与开关管V4的栅极相连,使V4导通;第3路经非门F1连接到与门Y2的输入端,使与门Y2输出为0,这样使开关管V3截止;从非门F1输出的另一路与开关管V2的栅极相连,其低电平信号也使V2截止。
同样,当电动机要求反转时,PWM5给出低电平信号,经过2个与门和1个非门组成的逻辑电路后,使开关管V3受PWM信号控制,V2导通,V1、V4全部截止。
4.程序编制
程序中采用定时器中断产生固定频率的PWM波,在每个中断中根据当前占空比判断应输出波形的高低电平。
主程序用轮询方式读入键盘输入,得到转速和方向控制命令。
在改变电机方向时为减少电压和电流的波动采用先减速再反转的控制顺序。
5.实验程序流程图
四.实验步骤
1.实验准备
(1)连接实验设备
(2)将ICETEK-CTR板的供电电源开关拨动到“开”的位置。
注意:
只有2812的实验箱须在扩展模块上的“JP1”跳线设置为2,3连接方式,其他系列dsp板卡须设置为1,2连接状态。
2.设置CodeComposerStudio3.3在硬件仿真(Emulator)方式下运行
3.启动CodeComposerStudio3.3
选择菜单Debug→ResetCPU。
4.打开工程文件
工程目录:
C:
\ICETEK\F2812\DSP281x_examples\lab0406-Dcmotor\V61浏览dcmotor.c文件的内容,理解各语句作用。
5.编译并下载程序
6.运行并观察程序运行结果
开始运行程序后,电机以中等速度转动(占空比=60,转速=2)。
在键盘上按数字‘1’~‘6’键将分别控制电机从低速到高速转动(转速=1~5)。
在键盘上按‘7’或‘8’键切换电机的转动方向。
如果程序退出或中断时电机不停转动,可以将控制ICETEK-CTR模块的电源开关关闭再开启一次。
有时键盘控制不是非常灵敏,这是因为程序采用了轮询方式读键盘输入的结果,可以多按几次按键。
7.结束程序运行
在键盘上按‘9’键停止电机转动并退出程序。
8.退出CCS。
五.实验结果
通过实验可以发现,直流电机受控改变转速和方向。
六.问题与思考
电动机是一个电磁干扰源。
电动机的启停还会影响电网电压的波动,它周围的电器开关也会引发火花干扰。
因此,除了采用必要的隔离、屏蔽和电路板合理布线等措施外,看门狗的功能就会显得格外重要。
看门狗在工作时不断地监视程序运行的情况,一旦程序“跑飞”,会立刻使DSP复位。
实验4步进电机控制(V61版)
一.实验目的
通过实验学习使用2812DSP的扩展I/O端口控制外围设备信息的方法,掌握使用2812DSP通用计时器的控制原理及中断服务程序的编程方法;了解步进电机的控制方法。
二.实验设备
计算机,ICETEK-F2812-EDU实验箱(或ICETEK仿真器+ICETEK-F2812-A系统板+相关连线及电源)。
三.实验原理
1.EMIF接口
TMS320F2812DSP的扩展存储器接口(EMIF)用来与大多数外围设备进行连接,典型应用如连接片外扩展存储器等。
这一接口提供地址连线、数据连线和一组控制线。
ICETEKF2812-A将这些扩展线引到了板上的扩展插座上供扩展使用。
2.步进电机是由DSP通用I/O管脚输出直接控制。
步进电机的起动频率大于500PPS(拍每
秒),空载运行频率大于900PPS。
图1步进电机设计原理
3.实验程序流程图:
四.实验步骤
1.实验准备
(1)连接实验设备
(2)将ICETEK-CTR板的供电电源开关拨动到“开”的位置。
2.设置CodeComposerStudio3.3在硬件仿真(Emulator)方式下运行
3.启动CodeComposerStudio3.3
选择菜单Debug→ResetCPU。
4.打开工程文件
工程目录:
C:
\ICETEK\F2812\DSP281x_examples\lab0407-SAMotor\V61浏览samotor.c文件的内容,理解各语句作用。
5.编译并下载程序
6.运行程序,观察结果
电机转动时按下ICETEK-CTR板上连接的键盘中“4”和“6”键,控制电机转动方向。
用“+”和“-”键可微调速度。
7.停止程序运行并退出
8.退出CCS。
五.实验结果
实验结果:
可以看到显示/控制模块上的电机指针在转动,使用“4”和“6”键可控制其转动方向。
分析:
使用优化的程序可控制电机更平滑地转动,平滑地改变频率可使马达的摆动减到最
小。
六.问题与思考
实验5PID算法控制实验(V61版)
一.实验目的
1.掌握利用ICETEK-F2812-A评估板与ICETEK-CTR板上带速度反馈的直流电机B的
连接和控制原理。
2.熟悉F2812DSP的通用IO端口和定时器的编程使用。
3.学习利用数字PID控制算法控制电机转速。
二.实验设备
计算机,ICETEK-F2812-EDU实验箱。
三.实验原理
1.直流电机测速原理
直流电机:
在ICETEK-CTR板上有一个带速度反馈的直流电机,带有速度反馈线路,反馈信号为方波脉冲,其频率与转速成正比(电机转动一圈产生两个脉冲)。
电机闭环控制系统:
如图在DSP系统板的控制下形成闭环速度控制系统,DSP发送的
PWM波控制直流电机的转速,通过速度反馈,DSP可实时读取当前速度值,利用DSP中运行的控制程序根据速度读数控制PWM的脉宽,从而实现闭环调速控制。
图1直流电机设计原理
2.数字PID控制器
将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,用这一控制量对被控对象进行控制,这样的控制器称PID控制器。
(1)模拟PID控制原理
模拟PID控制系统原理图如图所示。
该系统由模拟PID控制器和被控对象组成。
图中,r(t)是给定值,y(t)是系统的实际输出值,给定值与实际输出值构成控制偏差e(t)
e(t)=r(t)-y(t)
e(t)作为PID控制器的输入,u(t)作为PID控制器的输出和被控对象的输入。
所以模拟PID控制器的控制规律为
比例环节的作用是对偏差瞬间做出快速反应。
偏差一旦产生,控制器立即产生控制作
用,使控制量向减少偏差的方向变化。
控制作用的强弱取决于比例系数K控制越强,但过大的KP会导致系统震荡,破坏系统的稳定性。
P,K越大,P积分环节的作用是把偏差的积累作为输出。
在控制过程中,只要有偏差存在,积分环节的输出就会不断增大。
直到偏差e(t)=0,输出的u(t)才可能维持在某一常量,使系统在给定值r(t)不变的条件下趋于稳态。
积分环节的调节作用虽然会消除静态误差,但也会降低系统的响应速度,增加系统的超调量。
积分常数TI越大,积分的积累作用越弱。
增大积分常数TI会减慢静态误差的消除过程,但可以减少超调量,提高系统的稳定性。
所以,必须根据实际控制的具体要求来确定TI。
微分环节的作用是阻止偏差的变化。
它是根据偏差的变化趋势(变化速度)进行控制。
偏差变化得越快,微分控制器的输出越大,并能在偏差值鞭打之前进行修正。
微分作用的引入,将有助于减小超调量,克服震荡,使系统趋于稳定。
但微分的作用对输入信号的噪
声很敏感,对那些噪声大的系统一般不用微分,或在微分起作用之前先对输入信号进行滤
波。
适当地选择微分常数TD,可以使微分的作用达到?
优。
(2)数字PID控制算法
由于计算机的出现,计算机进入了控制领域。
人们将模拟PID控制规律引入到计算机中来。
由于计算机控制是一种采样控制,它只能根据采样使可的偏差计算控制量,而不能象模拟控制那样连续输出控制量,进行连续控制。
由于这一特点,式(1-1)中的积分和微分项不能直接使用,不许进行离散化处理。
离散化处理的方法为:
以T作为采样周期,k作为采样序号,则离散采样时间kT对应着连续时间t,用求和的形式代替积分,用增量的形式代替微分,可作如下近似变换:
上式中,为了表示方便,将类似于e(kT)键化成ek等。
将式(1-2)代入式(1-1),就可以得到离散的PID表达式:
或
如果采样周期取得足够小,则以上近似计算可获得足够精确的结果,离散控制过程与
连续控制过程十分接近。
如果只需要计算控制量的增量Δuk,可以使用增量式PID控制算法。
由式(1-3)可得控
制器在第k-1个采样时刻的输出值为
由式(1-6)可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定了A、B、C,
只要用前后3次测量值的偏差,就可以由式(1-6)求出控制增量。
(3)程序设计
-控制环节:
系统维护一个全局变量pwm,计算控制电机绕组电压的PWM波形的占空比,
取值越大,通过电机的电流越多,电机加速,反之,占空比越小电机越慢。
-采样环节:
由于电机速度反馈信号频率为几十赫兹,所以设计测量周期较长,这样保证偶
然偏差值较少发生,但系统“反应”较慢。
采样脉冲设计为1赫兹的方波信号。
测量的
结果为电机转动圈数,比如测速结果为84,则实际转速为84转/秒。
-计算环节:
利用公式(1-6),取A=0.6、B=0.2、C=0.1,直接由测速结果计算出占空比调节
增量,计算中限制了增量的?
大值不能超过10,以免引起太大的电流波动。
-显示:
在每次调节电机转速时刷新显示各参数。
“设定”为实验者指定电机转速,单位为
“转/秒”;“测速”为通过采样环节得到的电机速度测量值,单位也为“转/秒”;“误差”
指速度测量值与设定值之差;“调整”为通过PID算法得到并付诸调整的调整值,调整对
象为占空比;“占空比”当前采用的占空比;“输入”通过键盘输入新的转速设置,按“9”
键生效。
10.程序流程图:
四.实验步骤
1.实验准备
(1)连接实验设备
(2)将ICETEK-CTR板的供电电源开关拨动到“开”的位置。
注意:
只有2812的实验箱须在扩展模块上的“JP1”跳线设置为2,3连接方式,其他系列dsp板卡须设置为1,2连接状态。
2.设置CodeComposerStudio3.3在硬件仿真(Emulator)方式下运行
3.启动CodeComposerStudio3.3
选择菜单Debug→ResetCPU。
4.打开工程文件
工程目录C:
\ICETEK\F2812\DSP281x_examples\lab0604-PID\V61浏览PID.c文件的内容,理解各语句作用。
5.编译、下载、运行程序观察结果
-单击“Debug”菜单,“Run”项,运行程序。
-观察ICETEK-CTR上液晶上的显示。
6.设置电机转速
-按键盘上数字键,修改转速(单位:
转/秒),输入在液晶显示屏上可观察,按“9”键生效。
继续观察液晶显示屏中参数在PID控制算法下的变化。
7.结束程序运行,退出CCS。
五.实验结果
我们可以看到液晶屏幕上占空比随PID算法控制逐步改变,同时电机转速也同设置值逐步接进并稳定。
六.问题与思考
PID控制的参数可以随需要变化,当采用不同的参数组合时,得到的系统响应也不尽相同,优化的参数区值并不是唯一的。
在凑试参数时,可以按照先比例—后积分—再微分的顺序反复调试参数,直到满意为止。