第3章〓二次开发教学实验(选)
二次开发教学实验(选)的目的是让学生了解DSP单元的功能、原理及基本组成,熟悉DSP的指令系统,掌握复杂可编程逻辑器件(CPLD)可编程输出信号的产生方法,学会使用DSP程序实现数字滤波恢复。本章在基础实验项目的基础上设置了5个选做的综合实验,通过这5个综合实验项目的操作,可以掌握DSP单元组成及实现各功能的信号处理过程,进一步掌握DSP的开发与应用。通过本章的实验,培养学生学以致用、解决实际问题的能力。

实验二十一数字信号处理单元

一、 实验目的

了解数字信号处理单元的功能、原理及基本组成。

二、 实验原理

数字信号处理单元的核心芯片是TI公司的TMS320C5402,在配上A/D、D/A外设后即可在软件的配合下完成数字滤波器的计算、卷积、信号分解等实验。下面分别作简要介绍。

实验平台可以实现各种特性的滤波器,方法是首先在MATLAB环境下运行系统提供的DSPM程序,用该程序将要实现的滤波器性能参数转换为冲激响应的系数并转换为十六进制数(本系统能处理的系数最高为128阶),将冲激响应和输入信号(A/D转换后的数字信号)进行卷积运算后的数据从D/A输出。

实验平台既可实现输入信号的自卷积,也可实现输入信号和系统的卷积。其工作过程是DSP采集经A/D转换后的输入信号,若是自卷积,则将采集到的数字信号进行自卷积,若是信号与系统卷积,则将输入信号与DSP内产生的(设是系统信号)信号进行卷积。

DSP将A/D转换后的输入信号进行FFT,变换后的数据(反映频域中谱分量的大小)存在DSP的动态随机存取内存(DRAM)中,PC经主机接口读入该数据并作图即可在PC上显示出输入信号的频率分量的组成及分量的大小。

定性分析已知的输入信号频率分量组成后,可用DSP同时实现对应各频率分量的带通滤波器,从而能将各频率分量滤出,即分解了复杂信号。本系统可同时实现8个数字滤波器(系统带一个有8路D/A的芯片TLC5608)。

数字信号处理单元组成如图3211所示。



图3211数字信号处理单元基本组成







三、 实验仪器

双踪示波器1台

计算机1台

数字信号处理模块○S41块

DSP仿真器1个

四、 实验步骤

(1) 在MATLAB环境下运行系统提供的DSPM程序(可参考“数字滤波器实验”的相关说明)。

(2) 确定数字滤波器的参数。

(3) 将要实现的滤波器性能参数转换为冲激响应的系数并转换为十六进制数。

(4) 冲激响应和输入信号(A/D转换后的数字信号)进行卷积运算后的数据从D/A输出。

五、 实验报告

1. 理解并描述数字信号处理单元组成及实现各功能的信号处理过程。

2. 设计能分解出频率为6kHz方波的1~6次谐波的各滤波器性能参数。


实验二十二数字信号处理应用实验

一、 实验目的

1. 熟悉DSP定时器/计数器、I/O口使用、DSP缓冲串口的使用、各存储空间访问等基本原理。

2. 熟悉DSP的指令系统。

二、 实验原理

实验平台提供DSP应用的硬件支持有基本I/O口XF的使用(有发光二极管指示和测试点)、定时器/计数器使用(定时溢出有发光二极管指示和测试点)、串行方式的A/D接口、串行方式的D/A接口。

选择哪部分的应用实验就应查阅相应的DSP资料,如定时器使用部分: 

C5402的定时器/计数器有两个,工业中计数器和定时器常用于检测及控制,定时器可以通过软件编程或硬件锁相环精确定时。该实验以方波发生器为例介绍定时器的编程,时钟频率为16.384MHz,在XF端输出一个周期为20ms的方波,方波的周期由片上定时器确定,采用中断方法实现。

1. 定时器0的初始化 

(1) 设置定时控制寄存器(TCR,地址0024H): 


15~1211109~6543~0



保留softfreePSCTRBTSSTDDR


保留: 通常情况下设置为0000。

soft和free(软件调试控制位): 当free=0,soft=0时,定时器立即停止工作; 当free=0,soft=1且计数器TIM减为1时,定时器停止工作; 当free=1,soft=X时,定时器继续工作。该例中设置free=1,soft=0。

PSC(预定标计数器): 当复位或其减为0时,预标定分频系数(TDDR)自动加载到PSC上。该例中设置TDDR=1001H=9。

TRB(定时器重新加载控制位): 用于复位片内定时器。当TRB=1时,预标定分频系数和定时器周期寄存器(PRD)中的数据分别加载到定时器预标定计数器和定时器(TIM)中。该例中设置TRB=1。

TSS(定时器停止控制位): 用于停止或启动定时器。当TSS=0时,定时器启动开始工作; 当TSS=1时,定时器停止工作。该例中设置TSS=0。

TDDR(预标定分频系数): 最大的预标定值为16,最小值为1。按照这个分频系数,定时器对时钟输出信号CLKOUT进行分频,分频是通过PSC进行的。复位或减为0时,TDDR自动加载到PSC上,开始新一轮计数。该例中设置TDDR=1001H=9。

最后程序中设置TCR=669H。

(2) 设置定时寄存器TIM(地址0025H): 复位时,TIM和PRD为0FFFFH,TIM由PRD中的数据加载。

(3) 设置PRD(地址0026H): 因为输出脉冲周期为20ms,所以定时中断周期应该为10ms,每中断一次,输出端电平取反一次。

定时时间计算公式: 

t=T×(1+TDDR)×(1+PRD)=10(ms)(3221)

CLKOUT主频f=16.384MHz,T=61ns,给定TDDR=9,则有

PRD=tT×(1+TDDR)-1=10×10-361×10-9×(1+9)-1≈16392.44
(3222)

2. 定时器是对C5402的主时钟CLKOUT进行分频的

CLKOUT与外部晶体振荡器频率(在本实验系统中外部晶体振荡器的频率为16.384MHz)之间的关系由C5402的CLKMD1(K101)、CLKMD2(K102)和CLKMD3(K103)三个引脚电平值决定,具体关系如表3221所示。


表3221CLOCK MODE与C5402的三个引脚的电平值关系

CLKMD1CLKMD2CLKMD3CLOCK MODE


000PLL×15
001PLL×10
010PLL×5
100PLL×2
110PLL×1
1111/2
1011/4


在本实验系统中使用的主时钟频率为81.925MHz(CLKMD1=0,CLKMD2=1,CLKMD3=0)。

3. 中断初始化

(1) 中断屏蔽寄存器(IMR)中的定时屏蔽位TINT0置1,开放定时器0中断。

(2) 状态控制寄存器ST1中的中断标志位INTM位清零,开放全部中断。

三、 实验仪器

双踪示波器1台

数字信号处理模块○S41块

DSP仿真器1个

四、 实验步骤

(1) 阅读系统提供的例题程序,编写并实现20ms溢出率的定时程序,使DSP的XF脚每20ms电平变化一次,即使其对应的发光二极管闪烁,用示波器检测XF(TP616)上的信号周期是否正确。

(2) 阅读TLC5608 D/A转换芯片的资料,编写D/A转换的软件,使8路D/A分别输出锯齿波。

(3) 阅读TLC1572 A/D转换芯片的资料,编写A/D转换的软件,使8路D/A分别输出采集到的输入信号。

五、 实验报告

1. 总结定时器/计数器、DSP缓冲串口的原理与应用,并写出各寄存器的控制字。

2. 给出相应程序的框图。


实验二十三CPLD可编程开发单元

一、 实验目的

1. 了解CPLD可编程器件 EPM 3128的特性。

2. 熟悉CPLD可编程控制信号输出波形。

3. 掌握CPLD可编程输出信号的产生方法。

二、 实验原理

(一) CPLD可编程器件EPM3128

 EPM3128是MAX3000系列中的一款高性能、高密度的CMOS CPLD器件,在制造工艺上采用先进的CMOS EEPROM技术。EPM3128器件是较早支持在线编程的产品,其主要特点如下: 

(1) 采用第二代多阵列矩阵(MAX)结构;

(2) 器件的规模为600~5000个可用门; 

(3) 工作频率可达151.5MHz; 

(4) 工作电压为3.3V,支持在系统编程(ISP);

(5) 具有可编程加密位,可对芯片内的设计加密。

MAX3000系列器件的结构主要是由逻辑阵列块(LAB)以及它们之间的连线构成的,每个LAB由16个宏单元组成,多个LAB通过可编程连线阵列(PIA)和全局总线连接在一起。CPLD是通过修改具有固定内部电路的逻辑功能来编程的。

EPM3128在系统编程时无需专门的编程器,器件安装在系统中后,用户可以在不改变电路结构或电路板硬件设置的情况下,不必拔出芯片即可为重构逻辑而对芯片进行编程或重新编程。这将使设计修改更加方便,逻辑功能更加灵活,编程更加快捷。

通过对CPLD器件EPM3128进行编程,可实现实验所需波形的输出。

(二) 在本实验平台中CPLD的作用

(1) 完成电平转换,DSP的I/O电平为3.3V,而它的外设电平为5V,因此它们间不能直接相连。

(2) 产生主机接口的控制信号,实验平台中AT89C51作为DSP的主机,用于将各演示程序通过主机接口从EPROM装入DSP中。

(3) 产生DSP外设的控制信号,如A/D、D/A的片选信号。

三、 实验报告

1. 描述CPLD可编程器件EPM3128的结构与特性以及它在本系统中的作用。

2. 查阅DSP主机接口的资料,使用CPLD编程产生主机接口中的控制信号。




视频


实验二十四抽样定理的数字滤波恢复

一、 实验目的

1. 进一步掌握DSP的开发与应用。

2. 掌握用DSP程序实现数字滤波恢复。

二、 实验原理

编写DSP程序,主要功能是由DSP产生抽样信号和被抽样信号,并采集抽样信号,用数字滤波器恢复原始信号。3路信号同时由8路D/A输出: 第一路为截止频率为500Hz的数字低通滤波器,用于恢复抽样信号,对应测试点为TP1; 第二路为被抽样信号为500Hz,对应测试点为TP3; 第三路为抽样脉冲信号为2kHz方波,对应测试点为TP2(图3241)。




图32413路信号对应测试点




用本实验箱提供的元器件设计一个隔直放大电路,目的是把D/A输出的抽样信号放大到抽样定理模块电路的要求电压。

抽样电路由模块○S3完成。

滤波恢复电路由模块○S4完成。输入点为P9,恢复输出为P1。

三、 实验步骤

(1) 编写程序,我们提供了相应的源程序,可参考; 也可自己编写程序,需要配备相应的仿真器。已把代码固化在EEPROM中,只要SW1拨为00000111,按下S2,即可运行程序。

(2) 搭建隔直放大电路。隔直放大(电容隔直,比例电路放大)电路在实验箱模块○S9的运算单元搭建。放大倍数为2。用于将抽样信号放大,抽样脉冲信号为2kHz方波,由模块○S4的P2提供。

(3) 将放大后的抽样信号P2和模块○S3的P19相连,并连接模块○S4的P3和模块○S3的P17。将抽样定理模块的开关拨为“外部”。

(4) 在抽样定理模块的TP20观测抽样后的结果。

(5) 连接模块○S3的P20和模块
○S4的P9, 用示波器观测DSP低通滤波器处理后的恢复输出波形,测试点为TP1。


实验二十五计算机与单片机通信接口

一、 实验目的 

1. 熟悉RS232接口电路的作用与电路组成。

2. 掌握计算机与实验平台串行通信的方法。

3. 掌握计算机与实验平台串行通信的软件编程及运行程序。

二、 实验原理

实验平台设有专门用于与外部计算机串行通信的接口电路,它采用RS232标准。下面首先介绍RS232标准和RS232接口芯片,然后介绍计算机与平台串行通信的实验电路。

(一) RS232接口电路

1. RS232C标准

EIA RS232C(现在已发展到RS232E)是异步串行通信中应用最广的标准总线,它包括按位串行传输的电气和机械方面的规定,适用于数据终端设备(DTE)和数据通信设备(DCE)之间的接口。一个完整的RS232C接口有22根线,采用标准的25芯插头座。其中15根引线组成主信道通信,其他则为未定义和供辅信道使用的引线。辅信道也是一个串行通道,但其速率比主信道低得多,主要是传送通信电路两端所接的调制解调器的控制信号。大多数计算机应用系统或智能单元之间只需要使用3~5根信号线路即可工作,其中包括两个方向的数据线和一对握手信号线RTS和DSR,另外一条是公用的信号地线。实验平台上不用握手信号,采用了最简单的3线连接方式。

由于RS232C是早期为促进公用电话网络进行数据通信而制定的标准,其逻辑电平对地是对称的,完全与TTL、CMOS逻辑电平不同。RS232的逻辑电平规定: 逻辑0电平为+5~+15V,逻辑1电平为
-15~-5V。因此具有RS232C电平的器件与具有TTL电平的器件要互相连接必须先经过电平转换。表3251为现行的EIA/TIA RS232E,CCITTV.28标准摘要。 

RS232C标准由于发送器和接收器之间具有公共信号地,不可能采用双端信号,只能采用单端信号即不平衡传输方式。因此,共模噪声会耦合到信号系统中。这是迫使RS232C使用较高传输电压的主要原因,即便如此,该标准的信号传输速率也只能达到20KB/s,而且最大通信距离仅为30m,只有这种条件下才能可靠地进行数据传输。


表3251EIA/TIA,RS232E,CCITTV.28标准摘要



参数条件备注


发送器输出电压
0电平3~7kΩ负载+5~+15V
1电平3~7kΩ负载-15~-5V
最大输出电压空载±25V

数据速率3kΩ≤RL≤7kΩ

CL≤2500pF最高20KB/s

接收器输入电压
0电平+3~+15V
1电平-15~-3V
最大输入电压±25V

最大瞬时转换速率
3kΩ≤RL≤7kΩ

CL≤2500pF30V/μs

发送器最大输出短路电流100mA

驱动器输出变化率
V.281ms或3%周期
EIA/TIA RS232E4%/周期

发送器输出电阻-2V<输出电压<+2V300Ω


由于实验平台的信号电平使用TTL/CMOS电平,外部计算机内的发送器、接收器采用RS232C电平。当计算机与平台进行串行通信时,必须加入电平转换器,把平台的TTL/CMOS电平转换为计算机接口的RS232电平。这类电平变换器有许多产品,平台上选用具有电平转换功能的MAXIM公司200系列的MAX202收发器。

2. MAX202收发器

MAX200系列(MAX200MAX211/ MX213)收发器是一种集发送器与接收器于一体同时具有电平转换功能的接口电平转换电路,它可把TTL/CMOS电平与RS232电平互换,是专为使用±10V或±12V电源的RS232与V.28通信接口而设计。收发器使用+5V输入电源,片内设有充电泵式的电压变换器,把+5V变换为±10V以便提供RS232输出电平。其中MAX209内部的电压变换器将+5V变换为±12V,故它们可提供±12V的RS232输出电平,比其他型号输出电平更高,传输距离更远。

MAX200MAX211/MAX213收发器在数据传输速率为20KB/s时满足所有EIA/TIA232E与CCITTV.28标准。在数据传输速率超过120KB/s时发送器可输出±5V EIA/TIA232E输出信号电平,符合EIA/TIA232E标准。

(二) 计算机与实验平台串行通信电路

图3251为计算机与实验平台串行通信实验的框图。



图3251计算机与实验平台串行通信实验的框图


(三) 程序下载与运行结果读取原理(本项实验内容放到课题设计中进行)

(1) 程序下载: 运行PC与信号系统实验平台的中文管理程序,PC通过我们提供的中文界面选择要装载的文件(如DSP应用程序)或数据(如滤波器设计),通过RS232串口送入主机单片机U102,U102通过主机接口将PC送来的程序或数据发给DSP,PC发送运行命令给U102,U102复位并使DSP运行装载的程序。

注: DSP的目标程序必须转换成两个8位数据文件后才能下载。方法是在DOS下运行TI公司提供的HEX500,如\HEX500*.OUT并按回车键即可将*.OUT(学生自编)文件转换成*.X00和*.X01二个8位数据文件。

(2) DSP中数据读取: DSP将运行结果存于DRAM中,主机AT89C52通过主机接口读取数据并通过PC与主机间的异步口送给PC(如频谱分析)

(3) 运行PC与信号系统实验平台的中文管理程序,按下“信号与系统应用”按钮,装载已编译好的目标文件,按下“运行”按钮即可使DSP运行装载的程序。

三、 实验内容

1. 熟悉RS232接口电路的标准和电路组成。

2. 用高级语言编写PC异步串口的通信程序。

3. 用51单片机汇编语言编写单片机与PC的通信程序。

4. 参阅DSP主机接口的有关资料,编写单片机通过主机接口读写DSP中DRAM中数据的程序。

四、 实验报告

1. 画出计算机与实验平台串行通信的电路,说明MAX202芯片的作用。

2. 描述DSP的HPI接口的工作原理,给出DSP和主机AT89C51通信的程序框图。