实验四 指示灯和拨码开关实验
一.实验目的
1.了解 F2812-A 评估板在 TMS320F2812DSP 外部扩展存储空间上的扩展。
2.了解 F2812-A 评估板上指示灯扩展原理。
3.了解 F2812-A 评估板上拨码开关扩展原理。
4.熟悉在 C 语言中使用扩展的控制寄存器的方法。
二.实验设备
计算机,ICETEK-F2812-EDU 实验箱(或 ICETEK 仿真器+ICETEK-F2812-A 系统板+
相关连线及电源)。
三.实验原理
1.TMS320F2812DSP 的存储器扩展接口
存储器扩展接口是 DSP 扩展片外资源的主要接口,它提供了一组控制信号和地址、
数据线,可以扩展各类存储器和存储器、寄存器映射的外设。
F2812-A 评估板在扩展接口上除了扩展了片外 SRAM 外,还扩展了指示灯、DIP
开关和 D/A 设备。具体扩展地址如下:
C0003-C0007h: D/A 转换控制寄存器
C0001h: 板上 DIP 开关控制寄存器
C0000h: 板上指示灯控制寄存器
-与 ICETEK-F2812-A 评估板连接的 ICETEK-CTR 显示控制模块也使用扩展空间控
制主要设备:
108000-108004h: 读-键盘扫描值,写-液晶控制寄存器
108002-108002h: 液晶辅助控制寄存器
108003-108004h: 液晶显示数据寄存器
108005-108005h: 发光二极管显示阵列控制寄存器
2.指示灯扩展原理
图 4.2.3 指示灯扩展原理
3.拨码开关扩展原理
图 4.2.4 拨码开关扩展原理
3.指示灯实验程序流程图
开始
初始化 DSP 时钟
读取控制字
反向顺序送控制字并延时
4.拨码开关实验程序流程图
开始
初始化 DSP 时钟
读取拨码开关控制寄存器
并送指示灯控制寄存器
四.实验步骤
1.实验准备
连接实验设备,关闭实验箱上扩展模块和信号源电源开关。
2.设置 Code Composer Studio 2.21 在硬件仿真(Emulator)方式下运行
3.启动 Code Composer Studio 2.21
选择菜单 Debug→Reset CPU。
4.新建、打开工程文件
工程文件为:D:\dsp\t2\led\led.pjt
打开源程序 LED.c 阅读程序,理解程序内容。
5.编译、下载程序。
6.运行程序,观察结果。
7.新建、打开工程文件
工程文件为:D:\dsp\t2\dip\dip.pjt
打开源程序 dip.c 阅读程序,理解程序内容。
8.编译、下载程序。
9.运行程序,观察结果。
10.拨动拨码开关的各位,观察指示灯 DS1-DS4 的显示。
11.退出 CCS
实验五 电机控制实验
一.实验目的
1.学习用C 语言编制中断程序,控制F2812 DSP 通用I/O 管脚产生不同占空比的PWM 信
号。
2.学习F2812DSP 的通用I/O 管脚的控制方法。
3.学习直流电机的控制原理和控制方法。
二.实验设备
计算机,ICETEK-F2812-EDU 实验箱(或 ICETEK 仿真器+ICETEK-F2812-A 系统板+
相关连线及电源)。
三.实验原理
1.TMS320F2812DSP 的McBSP 引脚
通过设置 PWM11 和PWM5 的工作方式和状态,可以实现将它们当成通用I/O 引脚使用。
2.直流电机控制
直流电动机是最早出现的电动机,也是最早能实现调速的电动机。近年来,直流电动机的结
构和控制方式都发生了很大的变化。随着计算机进入控制领域,以及新型的电力电子功率元
器件的不断出现,使采用全控型的开关功率元件进行脉宽调制(Puls Width Modulation,简称
PWM)控制方式已成为绝对主流。PWM 调压调速原理
直流电动机转速 n 的表达式为:
上图是利用开关管对直流电动机进行 PWM 调速控制的原理图和输入输出电压波形。图中,
当开关管MOSFET 的栅极输入高电平时,开关管导通,直流电动机电枢绕组两端有电压Us。
t1 秒后,栅极输入变为低电平,开关管截止,电动机电枢两端电压为0。t2 秒后,栅极输
入重新变为高电平,开关管的动作重复前面的过程。这样,对应着输入的电平高低,直流电
动机电枢绕组两端的电压波形如图中所示。电动机的电枢绕组两端的电压平均值Uo 为S S
占空比α表示了在一个周期 T 里,开关管导通的时间与周期的比值。α的变化范围为0
≤α≤1。由此式可知,当电源电压Us 不变的情况下,电枢的端电压的平均值Uo 取决于占
空比α的大小,改变α值就可以改变端电压的平均值,从而达到调速的目的,这就是PWM
调速原理。
PWM 调速方法:
在 PWM 调速时,占空比α是一个重要参数。以下3 种方法都可以改变占空比的值:
(1)定宽调频法:这种方法是保持t1 不变,只改变t2,这样使周期T(或频率)也随之改变。
(2)调宽调频法:这种方法是保持t2 不变,只改变t1,这样使周期T(或频率)也随之改变。
(3)定频调宽法:这种方法是使周期T(或频率)保持不变,而改变t1 和t2。
前两种方法由于在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系统的
固有频率接近时,将会引起震荡,因此这两种方法用得很少。目前,在直流电动机的控制中,
主要使用定频调宽法
图中 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 波,在每个中断中根据当前占空比判断应
输出波形的高低电平。
主程序用轮询方式读入键盘输入,得到转速和方向控制命令。
在改变电机方向时为减少电压和电流的波动采用先减速再反转的控制顺序。
四.实验步骤
1.实验准备
(1)连接实验设备:请参看本书第三部分、第一章、二。
(2)连接实验箱附带的键盘的PS2 插头到ICETEK-CTR 的“键盘接口”P8。
(3)将ICETEK-CTR 板的供电电源开关拨动到“开”的位置。开关位置请参见第二部分、
第一章、五、“扩展模块电源开关及其指示灯”。
注意:要把CTR 扩展模块上的“功能选择”中的1 设置为on 状态。
2.设置Code Composer Studio 2.21 在硬件仿真(Emulator)方式下运行
3.启动Code Composer Studio 2.21
选择菜单 Debug→Reset CPU。
4.打开工程文件
工程目录:C:\ICETEK\F2812AES60\F2812AES60\DSP281x_examples\lab0406-dcmotor
浏览dcmotor.c 文件的内容,理解各语句作用。
5.编译并下载程序
6.运行并观察程序运行结果
开始运行程序后,电机以中等速度转动(占空比=60,转速=2)。
在小键盘上按数字‘1’~‘5’键将分别控制电机从低速到高速转动(转速=1~5)。
在小键盘上按‘+’或‘-’键切换电机的转动方向。
如果程序退出或中断时电机不停转动,可以将控制ICETEK-CTR 模块的电源开关关
闭再开启一次。
有时键盘控制不是非常灵敏,这是因为程序采用了轮询方式读键盘输入的结果,可
以多按几次按键。
7.结束程序运行
在小键盘上按‘Enter’键停止电机转动并退出程序。
8.退出 CCS。
实验六 DSP 算法实验
有限冲激响应滤波器(FIR)算法实验
一.实验目的
1.握用窗函数法设计 FIR 数字滤波器的原理和方法。
2.熟悉线性相位 FIR 数字滤波器特性。
3.了解各种窗函数对滤波器特性的影响。
二.实验设备
PC 兼容机一台,操作系统为 Windows2000(或 Windows98,WindowsXP,以下默认为
Windows2000),安装 Code Composer Studio 2.21 软件。
三.实验原理
1.有限冲激响应数字滤波器的基础理论(请参考相关书籍)。
2.模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
3.数字滤波器系数的确定方法。
4.根据要求设计低通 FIR 滤波器
要求:通带边缘频率 10kHz,阻带边缘频率 22kHz,阻带衰减 75dB,采样频率 50kHz。
设计:
-过渡带宽度=阻带边缘频率-通带边缘频率=22-10=12kHz
-采样频率:
f1=通带边缘频率+(过渡带宽度)/2=10000+12000/2=16kHz
Ω1=2πf1/fs=0.64π
-理想低通滤波器脉冲响应:
h1[n]=sin(nΩ1)/n/π=sin(0.64πn)/n/π
-根据要求,选择布莱克曼窗,窗函数长度为:
N=5.98fs/过渡带宽度=5.98*50/12=24.9
-选择 N=25,窗函数为:
w[n]=0.42+0.5cos(2πn/24)+0.8cos(4πn/24)
-滤波器脉冲响应为:
h[n]=h1[n]w[n]
h[n]=0
|n|≤12
|n|>12
-根据上面计算,各式计算出 h[n],然后将脉冲响应值移位为因果序列。
-完成的滤波器的差分方程为:
y[n]=-0.001x[n-2]-0.002x[n-3]-0.002x[n-4]+0.01x[n-5]
-0.009x[n-6]-0.018x[n-7]-0.049x[n-8]-0.02x[n-9]
+0.11x[n-10]+0.28x[n-11]+0.64x[n-12]
+0.28x[n-13]-0.11x[n-14]-0.02x[n-15]
+0.049x[n-16]-0.018x[n-17]-0.009x[n-18]+0.01x[n-19]
-0.002x[n-20]-0.002x[n-21]+0.001x[n-22]
5.程序流程图:
开始
波形发生
FIR 滤波
初始化工作变量
计算步长
调用波形发生子程序
产生混叠的波形(高
频+低频)
调用 FIR 滤波子程
序计算当前输出
用标准 C 的 sin 函数
和 cos 函数计算当前
波形值
返回波形值
用滤波器系数乘以保
存的 N-1 个输入值和
当前输入值并求和
返回计算结果
四.实验步骤