1.功能设计
1.1基本功能
- 预置任意波形
- 极性输出
- 波形:正弦波、三角波、锯齿波、方波、阶梯波、脉冲波等
- 频率:1HZ-10KHZ
- 幅值:1V-5V
- 偏移:0V-4V
- 步进:1HZ、10HZ、100HZ、1KHZ
- 占空比:0-99%
- 工作模式控制
- 电容触摸按键
- 外部脉冲计数/频率计
- FLASH存储当前设置(掉电保存)
1.2扩展功能
上位机参数/波形(串口)导入(支持保存)
波形:窄脉冲、高斯白噪声、调幅波形、调频波形
2.方案设计
2.1硬件方案
2.1.1主控芯片
MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16 位超低功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)
MSP430单片机称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能 的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片机”解决方案。 该系列单片机多应用于需要电池供电的便携式仪器仪表中。其低功耗、技术支持成熟、 性价比高等特点十分适合做为本设计的主控芯片。
2.1.2模数转换
ADI公司生产的高速DAC芯片--AD5426,参数如下:8bit精度、50MHZ串行接口、10MHz乘法器带宽、四象限乘法、典型电压建立时间50ns。8bit的精度足够满足日常调试模拟电路的使用需求,50Mhz的SPI通信对于信号发生器来说也是绰绰有余,10Mhz的乘法器带宽为本设计中所需要的高速DA输出的要求做出了保障,50ns的快速建立电压也保证了高速输出的信号完整性。该系列DAC芯片还有10bit、12bit的高精度版本DAC,为以后的系统升级留下足够大的空间。
2.1.3增益调节
NE5532是高性能低噪声双运算放大器(双运放)集成电路。与很多标准运放相似,但它具有更好的噪声性能,优良的输出驱动能力及相当高的小信号带宽,电源电压范围大等特点。因此很适合应用在高品质和专业音响设备、仪器、控制电路及电话通道放大器。10Mhz的增益带宽满足了高速DA信号输出的要求,双电源供电保障了信号可以单、双极性输出。
2.1.4显示模块
采用LCD5110屏幕作为系统的显示模组,其原因如下:性价比高:LCD1602可以显示32个字符,而Nokia5110可以显示15个汉字,30个字符,Nokia5110裸屏仅8.8元; 接口简单:仅四根I/O线即可驱动,LCD1602需11根I/O线,LCD12864需12根;速度快:是LCD12864的20倍,是LCD1602的40倍; 低功耗:Nokia5110工作电压3.3V,正常显示时工作电流200uA以下,具有掉电模式,适合电池供电的便携式移动设备。
2.1.5参数输入
占空比、频率、步进、波形选择通过两个机械式旋转编码器来调节,其优点是旋钮可以无限旋转,单片机每次只对其相对增量进行测量,即每次开机可以自定义数据的大小,另外其较长的寿命和舒适的手感阻尼,目前在仪器仪表、音响、录音棚、汽车娱乐系统等应用十分广泛。
电容触摸按键用来调节单片机的工作模式:信号发生器/数字频率计,相较于机械式按键和电阻式触摸按键,电容式触摸按键不仅耐用,造价低廉,机构简单易于安装,防水防污,而且还能提供如滚轮、滑动条的功能,而且MSP430单片机内部集成了电容触摸的功能且官方提供了底层库,极大的提高了开发的速度降低了开发的成本和难度;
旋钮式电位器通过求和运算电路来调节输出信号幅值、偏移量,这样的做法即实现了功能的同时减小了单片机的运算量,而且保证了信号的不失真。
2.1.6信号通道
为屏蔽共模干扰采用卡扣型同轴电缆作为输入输出信号线。
2.2硬件框图
图1 系统硬件框图
2.3软件方案
图2 程序流程图
2.4 机壳设计
2.4.1机壳设计
出于对系统运行的稳定性、易用性和使用者的人身安全的考虑,本设计采用了塑料外壳的设计,塑料外壳不仅绝缘而且重量较轻,既隔离了人体又不会引起内部短路,另外塑料外壳十分便于打孔,这样可以在研发阶段手工钻孔,快速验证设计方案的合理性,这在工业设计中模型验证阶段是十分必要的,以免在开模后发现问题引来不必要的麻烦。
2.4.2机身内部
1.开关电源:该部分为高频高压部分,带有较强的电磁干扰,故将其放置在机身的角落,下方用四颗铜柱固定,脱离机壳底部,防止被短路和伤害使用者。
2.主控单元:该部分为低压低频部分,同样在主板底部用铜柱支撑起来,板子的接口采用了3pin,4pin,8pin的防呆接口设计,这样更便于研发人员的调试和升级。
2.4.3人机交互
该部分被固定在前面板,通过打孔的方式从机壳的内部伸出来。为了提高系统的可靠性,所有的旋钮、按键、插口都使用了外卡螺母的设计,这样可以避免人机接口因为经常被触碰到而产生松动的现象。在内部与主控板之间使用排线连接,避免了走线凌乱的现象。
图3 机壳结构设计
2.5前面板设计
为提高系统的易用性,前面板使用了中英双语的方式标注器件的功能,同时使用了紫-蓝渐变的方式作为底色,紫色部分与整个机身的相一致,蓝色部分又带有神秘的科技感,使用渐变的方式又不会使用户感觉面板设计很突兀,柔和的过度会给用户带来一种十分素雅的感受。
前面板的设计与整个机身配合非常协调和有序,却又不显得十分呆板,简约、灵动的设计风格,十分易用的界面,为人机交互和用户体验打下了良好基础。
图4 2D渲染图
图5 实物图
3.实际效果
图6 100HZ正弦波输出
图7 10Khz 方波输出
图8 76hz 锯齿波输出
图9 76hz三角波输出
图10 460hz窄脉冲输出
图11 100hz单极性正弦波输出
图12 在Vpp=230mv情况下100hz单极性三角波输出
4.应用场合
该系统主要作为实验仪器使用,常用在音响设备开发、电缆故障定位系统研究、放大电路信号源等方向,简介易用的设计可以更好的帮助研发人员加快研发节奏。
5.收获
在本学期做了三个工程项目,感触良多,从第一个项目开始的时候,刚刚接触KEIL,连最基本的建工程操作都漏洞百出,后来慢慢的了解了利用搜索引擎工具查阅资料,对IDE的掌握也越来越熟练,同时也发现:理论指导实践,实践出真知。当我们一味盲目的操作和编写代码的时候,没有理论的指导,这样的效率简直低的可怕,很有可能就是一个寄存器的设置不正确却因为没有仔细阅读数据手册而导致项目延误很多天;我们曾经对自己傲人的考试分数沾沾自喜,而如今想起来都忍不住为当初那点纸上谈兵的无知而脸红,理论存在的意义不是考试不是考研不是分数不是死记硬背,理论是前辈们辛辛苦苦总结出的定理、公式,其目的不是将规律抽象出来而已,而是为了更好的理解和传播前辈的只是,真正的意义是带着理论走到实践中,让我们后人有机会快速的站在巨人的肩膀上,只是为了向前迈一步。
6.遗憾与骄傲
主控芯片选型比较盲目,直接使用了熟悉的MSP430(主要是由底层库,以后会把底层库整理完整后分享给大家),到了后期才发现,导致信号频率上不去的原因不是spi通信,而是主控的运算能力,因为ad5426能支持50M带宽的spi通信,而msp430g2553的最高频率为16mhz,其中还不包括运算时间,中断处理时间,spi寄存器准备时间,这样算下来速度实在是低得可怜,在这种高速度运算的项目里,我想fpga或者dsp应该才是更好的选择。
前面板结构不够合理,两个大的数字电位器旋钮应该横向在一条水平线上,然后右侧的两个电位器旋钮在一条垂直线上,这样使用起来更顺手,看起来也更符合人类的审美。
在这种高速信号的设计中,PCB的重要性就体现出来,首先可以任意布线,解决信号在高速传输过程中引起的阻抗不匹配问题,提高通信速率使其接近50Mhz,另外更有利于减小机体体积,系统的重复性也就越高;尽管有原理图的存在也远远达不到PCB所带来的高重复性。
本次项目是至今为止最为系统的一次,有着完整的文档,流程图硬件框图,看起来更像是完整的项目了,其实关于信号发生器这已经做了第三个了,前两个都是基于DAC0832的,软件使用了自制的msp430函数库,优秀的软件结构使得系统的性能得到了最大化利用,硬件上主要风格是大量使用了带有防呆插头的排线,这样的好处是便于问题的排查,也便于器件的更换。
精心打磨每一个细节,包括前面板每一个开窗、打孔,竭力做到丝毫不差。良好的交互界面和易懂的交互逻辑。简洁大方的机身和外观。就是为了证明,无论何时,优秀的设计都是必要的。
▼十分简陋的第一版信号发生器,主要的特点是左下角的摇杆,点按是波形切换,上下推实现幅值大小的设置,左右腿实现频率大小的调整。
▼第二版的信号发生器
7.后记
时至2016-03,项目还没有彻底结束,目前主要问题/未完成功能有:
- ADC采集并转化为有效的幅值和偏移电压信息
- flash存储参数
- 外部脉冲计数器/频率计
- //自定义波形,通过串口发送
- //串口上位机设计(基本不可能了)