基于DSP的可调波形信号发⽣器
DSP课程设计基于DSP的可调波形信号发⽣器
专业:电⼦信息⼯程1111
指导⽼师: 张静
组员:
⽬录
1 绪论 (3)
1.1信号发⽣器发展及背景 (3)
1.2信号发⽣器的研究⽬的 (3)
2 基于DSP信号发⽣器的⽅案选择 (4)
2.1 查表法 (4)
2.2 计算法 (4)
3 硬件模块设计 (5)
3.1 系统硬件框图设计 (5)
3.2 系统硬件构成 (5)
3.3 DSP芯⽚特点功能 (8)
4 软件模块设计 (10)
4.1 程序流程图 (10)
4.2 三种波形设计⽅案和流程图 (10)
4.3 波形选择及调频调幅程序设计 (12)
5 软硬件调试 (12)
5.1 CCS软件连接实验箱 (12)
5.2软件调试结果 (13)
6 结束语 (15)
6.1 总结 (15)
7附录........................................................................................... 错误!未定义书签。
7.1 C程序.............................................................................................. 错误!未定义书签。
基于DSP的可调频调幅波形信号发⽣器
摘要:该设计阐述了基于TMS320VC5416 DSP实现信号发⽣器的设计原理和实现⽅法,详细介绍了所设计的信号发⽣器的硬件结构和程序设计。该信号发⽣器是⽤DSP芯⽚产⽣各种波型离散值,然后利⽤DSP实验箱上的D/A模块将DSP芯⽚⽣成的数字波型转换成模拟波,可以⽣成正弦波、⽅波、锯齿波、三⾓波等其它各种信号波形,利⽤按键和拨码模块来改变波型频率和幅度值。
关键词:信号发⽣器;D/A 转换;TMS320VC5416;硬件结构;程序设计;常⽤波形Based on DSP can FM modulation waveform signal generator
Abstract:The design of signal generator based on TMS320VC5416 DSP, expatiate on the design principle and realization method, introduces in detail the design of the hardware structure and software design of the signal generator. The signal generator is to use DSP chips to produce all kinds of wave type discrete values, and then use D/A module on DSP experiment box will be generated by the DSP chip, digital wave type into analog wave can generate sine wave, square
wave, sawtooth wave, triangle wave, and other various signal waveform, use the buttons and dial the code module to change mode frequency and amplitude values.
Key words:signal generator; D/A conversion; TMS320VC5416; The hardware structure; Program design; Common waveform 1 绪论
1.1信号发⽣器发展及背景
⾃70年代微处理器出现以后,利⽤微处理器、模数转换器和数模转换器,硬件和软件使信号发⽣器的功能扩⼤,能够产⽣出⽐较复杂的波形。这时期的信号发⽣器多以软件为主,实质是采⽤微处理器对DAC(数模转换器)的程序控制,就可以得到各种简单的波形。软件控制波形的⼀个最⼤的缺点就是输出波形的频率低,这主要是由CPU的⼯作速度决定的,如果想提⾼频率可以通过改进软件程序减少其执⾏周期时间或提⾼。CPU的时钟周期来实现,但这些办法是有限度的,根本的⽅法还是要改进硬件
电路。
1.2信号发⽣器的研究⽬的
随着⼤规模集成电路技术的发展,中央处理器(CPU)、随机存储器(RAM)、只读存储
(ROM)、(I/0)接⼝、定时器/计数器和串⾏⼝通信接⼝,以及其他⼀些计算机外围电路等均可集成在⼀块芯⽚,⼀些新型的⾼速处理器如16位单⽚机、DSP被⼴泛地应⽤到控制系统中,这些器件的突出优点是集成度⾼、处理速度快、⽚上资源丰富、可靠性好;同时⼀些先进的智能控制算法也被应⽤到实际的系统中。随着控制理论和⼤规模集成电路的进⼀步发展,数字系统中更多的功能将由软件来实现,这将是数字量信号发⽣器的⼀个发展趋势。
其最明显的优势就是可嵌⼊到各种仪器仪表、家⽤电器、医⽤设备、仪器设备等领域。信号发⽣器也是⼀种应⽤⼴泛的智能仪器,种类繁多性能各异且⼴泛应⽤于⾃动控制和科学实验等领域,它是现今各种电⼦电路实验设计应⽤中必不可少的仪器设备之⼀。同时市⾯上传统信号发⽣器购买成本太⾼、价格昂贵、调频⽅式有限且不便于⾃动调节。⽽该设计就是利⽤在强⼤硬件的基础上,不仅⽅便便宜,⽽且实⽤可调。
2 基于DSP信号发⽣器的⽅案选择
2.1 查表法
查表法是最直接的⼀种⽅法,设计者可以根据与运算的需要预先计算好所有可能的正弦函数值,这些结果编排成数据表,在实⽤是只要根据输⼊查出表中对应的函数值即可。
预先计算正弦函数可⽤C语⾔程序实现,也可⽤MATLAB语⾔产⽣,产⽣数据⽂件保存为sinwave.dat⽂件,⽤C语⾔编写的信号发⽣器的主程序如下:
void main(void)
{
InitC5416(); OpenMcBSP();
while(1) {WRITEAD50();}/*sine output*/
}
在源程序编译,连接后,在CCS中装载sinwave.dat⽂件,即可看到正弦波仿真情况,其他波形设计相同。
2.2 计算法
采⽤计算的⽅法依次计算数据⽽后输出,然后再计算⽽后输出。计算法的优缺点正好和查表法相反。即:其优点是不占⽤DSP的存储空间,其缺点是占⽤DSP的计算时间,使得执⾏程序的开销变⼤。
计算法可以使⽤泰勒级数展开法进⾏计算,也可以使⽤差分⽅程进⾏迭代计算或者直
接使⽤三⾓函数进⾏计算。计算结果可以边计算边输出,也可以先计算后输出。
正弦函数和余弦函数的泰勒级数数学表达式为:
该设计采⽤的是计算法,⼯作量不⼤,准确度⾼。
3 硬件模块设计
3.1 系统硬件框图设计
本设计信号发⽣器是⽤DSP芯⽚产⽣离散的正弦波、⽅波、三⾓波等其它各种信号波形,然后利⽤DSP实验箱上的D/A模块将DSP芯⽚⽣成的数字波形转换成模拟波,按键模块来改变波型频率和幅度值,最后输出相应波形⾄双踪⽰波器上观察。
⼤体为三个模块:DSP最⼩系统模块;拨码开关控制波形模块;键盘值改变波形模块。
图1:系统硬件框图
3.2 系统硬件构成
设计的信号发⽣器是以DSP芯⽚为核⼼,外围接2 路的 TLC7528 D/A 转换芯⽚
(10M/S,8Bit),使⽤+5V 电源输⼊,内部+3.3V、+1.6V 电源管理。硬件电路由电源、按键、DSP 芯⽚模块、拨码开关和D/A数模转换五个部分组成。
电源模块:
VC5416的⼯作电源为3.3V和1.6V,所以电源部分需要将5V转化,这⾥⽤了1117-33和1117-ADJ芯⽚。1117是⼀款正电压输出的低压降三端线性稳压电路器件,其电压转化电路图如下图2:
图2:电压转化电路图
D/A转换模块:
TLC7528C 是双路、8 位数字-模拟转换器,内部具有各⾃单独的数据锁存器,其特性包括两 DAC ⾮常精密的⼀致性,数据通过公共 8 位输⼊⼝转送⾄两 DAC 数据锁存器的任意⼀个。控制输⼊端 DACA/DACB 决定哪⼀个DAC被装载。器件的装载周期与随机存取存储器的写周期类似,能⽅便地与⼤多数通⽤微处理器总线或端⼝相接⼝。器件的⼯作电压 5V ⾄ 15V,功耗⼩于 15mW(典型值)。2 或 4 象限的乘法功能使该器件成为许多微处理器的增益设置和信号控制的良好选择。它可⼯作于电压模式,与电流输出相⽐较,更适合于电压输出。其引脚定义如下图图3:
图3:TLC7528C引脚定义图
TLC7528 的两路转换通道分别映射在 5416I/O 空间的地址 0x1000 和 0x1001。
图4:TCL7528C电路原理图
拨码开关模块(如图5):
图5:拨码开关电路
键盘连接电路(如图6):
图6:键盘连接电路图
端⼝定义(如图7):
图7:端⼝定义图
硬件电路就是综合以上⼏个实验的电路原理图,利⽤ICETEK-VC5416-A 评估板,实现我们所要设计的信号发⽣器的硬件电路。
3.3 DSP芯⽚特点功能
先进的多总线结构具有三个只读的 16 位数据存储器总线和内存总线的⼀个程序;
40 位算术逻辑单元(ALU),包括⼀个 40位圆柱形移位器和两个独⽴的蓄电池;17-17 位并⾏乘法器耦合到⼀个 40 位⾮流⽔线单周期的累加器中;
⽐较,选择和储存单位是为了加法/⽐较选择的维特⽐运算;
指数编码器计算的是⼀个周期内指数为⼀个 40 位累加器的值;
两个地址发⽣器和⼋个辅助寄存器以及两个辅助算术寄存器单位;
数据总线具有⼀个所有总线的特征;
扩展寻址模式为 8M 的 16 位最⼤外部寻址程序空间;
128K 的 16 位⽚内 RAM 组成;
8 块 8K 的 16 位上 ChipDual 接⼊程序/数据 RAM;
8 块 8K 的 16 位上 Chipsingle 接⼊程序 RAM;
16K 16 位⽚上 ROM 的内存为了记忆程序;
增强外部并⾏接⼝;
单指令重复和重复块操作程序代码;
移动指⽰位了更好的⽅案和管理模块内存;
说明了⼀个 32 位的长字操作数;
说明两个或三个只读操作数;
并⾏存储和并⾏运算的算术指令;
条件存储指令;
快速中断返回;流程图转换为ns图
⽚上外设:
软件可编程等待状态发⽣器和可编程开关;
⽚内可编程锁相环的时钟与外部时钟发⽣器;
8—⼀个 16 位定时器;
六通道 DMA 控制器;
三个多通道缓冲串⾏端⼝;
8/16 位增强型并⾏主机端⼝接⼝;
在掉电模式下 IDLE1,IDLE2,andIDLE3 的好点控制;
CLKOUT 的关控制为了不⽤ CLKOUT;
⽚上扫描为基础的仿真逻辑是 IEEE 标准 1149.1(JTAG 的)边界扫描逻辑;144 引脚球栅阵列;
144 引脚⼩外形四⽅扁平封装;
单周期定点指令执⾏时间(60MIPS)是 6.25ns;
单周期定点指令执⾏时间(120MIPS)是 8.33ns;
I / O 电源电压(160 和 120 的 MIPS)是 3.3 V;
核⼼电源电压(160 MIPS 的)是 1.6 V;
核⼼电源电压(120 MIPS 的)是 1.5V;
在 TMS320VC5416的固定点,数字信号处理器(DSP)(以下简称装置,除⾮另有注明外)是⼀种先进的改进哈佛架构,有⼀条程序总线和 3 条数据存储器总线。该处理器提供了⼀个算术逻辑单元(ALU),⾼度并⾏,专⽤硬件逻辑,⽚上内存以及额外的芯⽚外设。该业务的灵活性和本 DSP 的速度的基础是⾼度专业化的指令集。单独的程序和数据空间允许同时存取程序指令和数据,提供⾼度的并⾏。在⼀个周期内可以进⾏两次读操作和⼀次写操作。与并⾏存储和应⽤程序特定的指令说明可以充分利⽤这个架构。此外,数据可以传输数据和程序之间的空间。这种并⾏⽀持⼀套强⼤的算术,逻辑和位操作,可以执⾏所有的⾏动中单机器周期。该器件还包括控制机制来管理中断,重复。
TMS320VC5416功能框图如下图8:
图8:TMS320VC5416功能框图
4 软件模块设计
4.1 程序流程图
利⽤专⽤的数模转换芯⽚,可以实现将数字信号转换成模拟量输出的功能。在ICETEK- VC5416-A 板上,使⽤的是 TLC7528数模芯⽚,其控制⽅式较为简单:⾸先将需要转换的数值通过数据总线传送到 TLC7528 上相应寄存器,经过⼀个时间延迟,转换后的模拟量就从 TLC7528 输出引脚输出。
其总流程图如下(图9):
图9:程序流程图
4.2 三种波形设计⽅案和流程图
通过CCS软件平台上应⽤C语⾔来实现波形信号发⽣装置。波形实现结果可以在CCS 图形显⽰界⾯直观地表⽰出来或者⽤⽰波器观察输出结果。整个程序经过D/A转换器的转换,可以以模拟波形输出,便
于观察。这个程序的输出是双通道的输出,即有两个通道同时输出波形,这两个通道的波形的频率、相位和幅度可以不同,我们可以⽤⽰波器上的双通道输⼊模式来同时观察两个波形的不同。程序所输出的波形可以按照要求改变频率、相位和幅度。
锯齿波的设计⽅案及流程:
初始化操作包括关闭所有中断,以免对输出波形产⽣影响,同时允许D/A输出输出三⾓波的上升沿,即输出三⾓波形的值逐渐增⼤的那⼀部分,如果三⾓波的上升沿的值达到最⼤,接着输出⽅波的低电平,也经过⼀段时间的延时,⼀个锯齿波就形成了,程序循环,就能够产⽣连续的锯齿波形。如图10:
图10:锯齿波程序流程图
三⾓波的设计⽅案及流程:
初始化操作包括关闭所有中断,以免对输出波形产⽣影响,同时允许D/A输出,然后输出三⾓波的上升沿,即输出三⾓波形的值逐渐增⼤的那⼀部分,如果三⾓波的上升沿的值达到最⼤,接着输出三⾓波的下降沿部分,直到三⾓波的下降沿的值达到最⼩,程序循环就能产⽣三⾓波。三⾓波流程图如图11:
图11:三⾓波程序流程图
正弦波的设计⽅案及流程:
对于正弦波,这⾥我们采⽤泰勒级数展开法是根据泰勒展开式进⾏计算来实现正弦信号,它能精确地计算出⼀个⾓度的正弦和余弦值,且只需要较⼩的存储空间。然后我们通过调⽤math.h中的sin函数计算出我们所需要的数值并通过D/A转换出相对电压值,通过DAC0端⼝输出。
其流程图如下图12: