以上结果表明所编写的FFT程序是正确的。
软件和硬件开发相结合
下面以作者所做的基于DSP56311EVM(评估板)控制模型汽车运动的实例,加以详述。
本例的目的是使用DSP控制代替手动控制模型汽车的运动 。模型汽车有一套完整的发送接收装置,在使用DSP控制时,通过继电器电路,连接到模型汽车的控制电路,由DSP输出高、低电平信号,控制继电器线圈的吸合,继而控制模型汽车的运动。但由于DSP输出的功率信号很弱(500mW左右),不足以驱动继电器线圈吸合,所以在实际应用中,加入一运算放大电路,如图5所示。
图5 DSP控制模型汽车运动的硬件原理图
DSP56311有多达34个用户可编程控制的通用输入输出接口(GPIO),诸如HI08、SCI、ESSI0、ESSI1等,本例中使用HI08(主机接口Host Interface 08)作为输出控制信号的接口。
HI08端口若要作为输入输出模式使用,则要求它所对应的端口控制寄存器HPCR(Host Port Control Register)的第6位-启动主端口HEN(Host Enable)置零;但仅把第6位HEN置零还不够,第0位-启动输入输出位HGEN(Host 输入输出 Port Enable)还需置一,因为该位是启用输入输出模式的控制位,它若为零,则作为输入输出的信号是断接的,输出呈高阻态;只有置一,才能得到要求的输入/输出。
在将端口HI08设为输入输出模式后,还必须设置另外两个寄存器,分别是:主端口数据寄存器HDR(Host Port Data Register)和主端口数据方向寄存器HDDR(Host Port Data Direction Register)。主端口数据寄存器是将数据(0或1)写入其中,这些数据就是将来要输出的数据:0表示低电平,输出时就是0V;1表示高电平,输出时就是+3.3V。主端口数据方向寄存器是用来控制该端口是作为输入使用,还是作为输出使用的:0表示输入;1表示输出。需要注意的是,主端口数据寄存器和主端口数据方向寄存器需要配合使用。对某一位的主端口数据寄存器(HDR)和主端口数据方向寄存器(HDDR)的配合使用,可简要表示如表1。
表1:HDR和HDDR的配合使用
数据写入寄存器有几种方法,常用的两种方法分别是:对某一位的操作bset和bclr,和数据整体的移入movep。
HI08在评估板上对应的是J12,并且硬件上的管脚1~8对应于主端口寄存器中的0~7位。
自制的电路板由相同的四个子模块组成,分别为控制向前、向后、向左、向右运动的子模块,还有两个接口,分别接DSP的控制信号和电源,采用protel设计、PCB制板。
在进行硬件调试时,编译、链接过程如前所述,然后打开硬件调试器(Hardware Debugger),注意这时,DSP应连接电源,并与PC机相连。在文件(file)菜单下,设置源程序所在路径(path),在装载(load)菜单下,装载编译、链接好的cld文件,执行 "Reset" 命令后,单击执行(execute)菜单里的运行(run),或者工具栏里的运行(go),若要单步执行,利用 "Step" 命令一步一步的执行程序,通过观测寄存器、存储器内容,能够及时发现并改正错误,实现硬件调试。
源程序
该实例的源程序用汇编语言编写,如下:
//控制模型汽车向前运动子程序
org p:0
include "ioequ.asm" ;调用寄存器地址定义
bclr #6,x:M_HPCR ;设置HI08端口控制寄存器
bset #0,x:M_HPCR
movep #1,x:M_HDR ;设置管脚1作为输出
movep #1,x:M_HDDR ;设置管脚1高电平
//控制模型汽车向左运动子程序
org p:$1000
bclr #6,x:M_HPCR
bset #0,x:M_HPCR
movep #4,x:M_HDR ;设置管脚3作为输出
movep #4,x:M_HDDR ;设置管脚3高电平
//8字型运动源程序
org p:$1000
include "ioequ.asm"
bclr #6,x:M_HPCR
bset #0,x:M_HPCR
movep #5,x:M_HDR
movep #5,x:M_HDDR
delay_1 ;延迟子程序
do #4000,delay_loop1
rep #4000
nop
delay_loop1
rts
bclr #6,x:M_HPCR
bset #0,x:M_HPCR
movep #9,x:M_HDR
movep #9,x:M_HDDR
delay_2
do #4000,delay_loop2
rep #4000
nop
delay_loop2
rts
实验结果显示,模型汽车可以按照我们设计的要求运动,要改变模型汽车的运动状态,只要修改相应的程序即可。
结束语
随着信息化潮流的推进,电子信息产业正在进行一场数字技术革命,数字技术方案硬件实现的关键技术之一就是数字信号处理器技术,DSP是专为数字信号处理算法、方案实时实现而设计的硬件处理器,已在通信、网络、多媒体、图象、语音、雷达、导航等众多领域得到广泛的应用,DSP已经日益受到业内人士的关注,必将得到极大的发展。
本文关键字:开发 DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术