目 录
1 系统设计任务与要求 - 2 -
1.1 设计要求 - 2 - 1.2 设计作用和目的 - 2 - 1.3 课程设计应完成的任务 - 2 -
2 设计方案 - 3 -
2.1 信号产生部分 - 3 - 2.2 对幅度进行调整 - 4 - 2.3 对频率进行调整 - 4 - 2.4 滤波电路 - 5 - 3 硬件设计 - 6 - 3.1系统框图 - 6 - 3.2 各功能模块 - 6 -
3.2.1 波形产生电路 - 6 -
3.2.2 键盘模块 - 6 - 3.2.3 滤波器设计 - 6 - 3.2.4 显示模块 - 6 -
3.3 各个功能块的实现原理及分析 - 7 -
3.3.1 正弦波的产生 - 7 - 3.3.2 三角波的产生 - 7 - 3.3.3 方波的产生 - 7 - 3.3.4 幅度的控制 - 8 - 3.3.5 频率的控制 - 8 -
3.3.6 滤波器设计 - 8 - 3.3.7 键盘模块 - 8 - 4 软件设计 - 9 - 4.1 方框图 - 9 - 4.2程序清单 - 9 - 4.3 测试结果图 - 14 - 5心得体会 - 16 - 参考文献 - 17 -
1 系统设计任务与要求
1.1 设计要求
利用ARM芯片设计信号发生器,包括Sin、方波、三角波形实现
1.2 设计作用和目的
1、注重培养综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练。
2、了解所选择的ARM芯片各个引脚功能,工作方式,计数/定时,I/O口,中断等的相关原理,并巩固学习嵌入式的相关内容知识。
3、通过软硬件设计实现利用ARM芯片完成信号发生器功能。
1.3 课程设计应完成的任务
1 查阅相关文献资料,熟悉所选ARM芯片;
2 总体设计方案规划 信号源的产生,用不同按钮选择不同信号源;
3 系统硬件设计,熟悉DA转换原理及过程及硬件接口实现及信号函数显示,注意频率及幅度;
4 系统软件设计,包括DA转换及显示的软件实现,用C语言编程;
5 设计心得体会及总结。
2 设计方案
2.1 信号产生部分
方案一:使用集成函数发生器芯片ICL8038。
芯片ICL8038能输出方波、三角波、正弦波和锯齿波四种不同的波形,将他作为信号发生器。它是电压控制频率的集成芯片,失真度很低。可输入不同的外部电压来实现不同的频率输出。为了达到数控的目的,可用高精度DAC来输出电压以控制正弦波的频率。
方案二:锁相环频率合成器(PLL)[2]
锁相环频率合成器(PLL)是常用的频率合成方法。锁相环由参考信号源、鉴相器、低通滤波器、压控振荡器几个部分组成。通过鉴相器获得输出的信号FO与输入信号Fi的相位差,经低通滤波器转换为相应的控制电压,控制VCO输出的信号频率,只有当输出信号与输入信号的频率于相位完全相等时,锁相环才达到稳定。
如果在环路中加上分频系数可程控的分频器,即可获得频率程控的信号。由于输出信号的频率稳定度取决于参考振荡器信号fi ,参考信号fi 由晶振分频得到,
晶振的稳定度相当高,因而该方案能获得频率稳定的信号。一般来说PLL的频率输出范围相当大,足以实现1kHz-10MHZ的正弦输出。如果fi=100Hz只要分频系数足够精细(能够以1步进),频率100Hz步进就可以实现。
方案三:直接数字频率合成(DDS)[3]
DDS是一种纯数字化方法。它现将所需正弦波一个周期的离散样点的幅值数字量存入ROM中,然后按一定的地址间隔(相位增量)读出,并经DA转换器形成模拟正弦信号,再经低通滤波器得到质量较好的信号。
方案四: 基于计算的数字频率合成[4]
利用函数将波形的点数保存在芯片的RAM中,根据所要的波形的频率计算出它的周期,经计算得到在定时器定时时间固定的前提下产生一个完整的波形所需要的输出的点数,这样数据指针可以根据点数的数量来进行移动,得到频率准确、切换快速的信号。
方案一(VOC)不能实现稳定频率信号的输出并且难于数字控制。并且电容、电阻参数随温度等其他因素的影响,频率稳定度以及电路的稳定度都较低,实现也较复杂,不予采纳。虽然ICL8038可很好的实现频率输出的控制,但查看ICL8038的设计资料[4]可知其频率输出范围为0.01Hz~300kHz,不能达到题目的要求,故不予选用。PLL方案和DDS方案都能实现1kHz~10MHz的稳定的信号输出,且能达到100Hz频率步进,但是PLL的动态特性却很差,在频率改变时,环路从不稳定到稳定的过程有时间延迟。相比较而言,DDS的频率输出范围一般低于PLL,且杂散也大于PLL方案,但DDS信号源具有输出频率稳定度高、精度更高、分辨率更高且易于程控等优点,且频率改变不存在失调过程,尽管有杂散干扰,只需在输出级加滤波器仍可以得到质量很好的波形。而方案四集中了上述三个方案的各个优点,因此采用方案四来实现波形信号的产生。
2.2 对幅度进行调整
方案一:用高速模拟乘法器实现
采用AD835高速模拟乘法器,来实现模拟调制。模拟乘法器AD835的-3dB截止频率为250MHz,能够满足题目的要求。但是AD835的差分输入范围仅为±1V,因此必须对输入信号进行预处理,这样在增加硬件的同时,又加大了设计的难度。
方案二:采用高速的D/A转换器
在LPC2138中集成着一个高速的D/A转换器[5],我们可以直接在软件中设置一个幅度的参数来改变输出波形的幅度大小。
综上所述,采用方案(二)虽然增加了软件的难度,延迟了波形的输出时间,但是可以不用外加硬件拓展,节省了成本。
2.3 对频率进行调整
方案一:
通过在存储芯片ROM中保存不同频率信号的信号发生点数,在频率切换时调用ROM中所存储的不同点数模块来实现频率的切换。
方案二:
在存储芯片RAM中保存由软件实时产生的波形点数,通过所取的点数的不同来决定发生的波形的频率。
由于设计中的信号要进行不断的改变,因此波形的数据不能存储在ROM中,应该存储RAM中,因此采用方案二的设计方法。
2.4 滤波电路