×
单片机 > 单片机程序设计 > 详情

全数字信号发生器的硬件设计

发布时间:2020-06-10 发布时间:
|

 工业设备常用频率量信号作为采集量,如使用光电编码器采信数据,当调试使用频率信号的设备时,由于机械等部份还未动作,无法采集信号,因此需要使用信号发生器。对于在工业现场使用的设备,其要求与实验室设备并不相同,如果直接使用实验室中所用的标准信号发生器,往往会觉得其体积过大、价格太高、使用较麻烦等。工业现场使用的设备,其绝对精度要求并不高,关键要稳定可靠,便于携带和使用。
一、性能分析
  这个项目的目标是替代工业现场的频率采样装置,典型的如光电编码器。通过调查,确认最终要制作的信号发生器的性能指标如下:

 

频率范围:0~1Hz,以0.1Hz步进,1~500Hz,以1Hz步进;波形:矩形波或方波均可;精度:频率值的相对误差不超过±1%;功能:(1)信号发生,信号发生器以给定的频率输出信号;(2)脉冲个数计数,仪器可对本身已发出的脉冲个数进行计数;(3)设定值可存储,每次上电自动调出前次设定值。
二、初步设计
  在确定了性能指标后,可以进行初步设计,考虑其显示、操作等方面的要求。
1、显示部分
  待设定的频率值最高为500HZ,只要3位数码管即可;要求对输出脉冲计数,虽未给出要求的计数值,但3位数码管最大仅能计到999,似乎太少了一些,再考虑到该仪器以后的扩展,如希望以后能加一些高端点频(600、700、800、900、1000、2000、5000、10K等),需要更多的数码管显示,因此最终选择5位数码管显示。
2、键盘部分
  键盘有很多方案可供选择,如工业品中常用的三键或四键方案,当然也可以用多键(如市售有一些标准的12或16键键盘)等,经过反复比较,考虑到易制作、易使用等等诸多因素,最终将键的个数确定为5个。
  键盘操作方案是仪器易用性的很重要的一个方面,这并非仪器的关键部分,但键盘、显示程序的工作量往往占据整个设计的很大的一部份。对键盘设计,重要的是要确定各按键功能,描述出各键的具体操作。
  本仪器的键设计如下:
1.工作状态描述 
  由转换键切换两种状态
(1)显示设定的频率值
(2)显示脉冲个数值
2.键定义 
  切换键 增加键 减少键 开启/停止键 清除键
3.键操作描述
  切换键:切换两种工作状态
  增加和减少键:在显示设定频率值时按,按增加键、减少键设定频率,范围为0.1~500HZ,每按一次增加键,设定值加1,如果按着键不放,稍后进入连续状态,设定值快速增加;按减少键,设定值减1,如果按着键不放,稍后进入连续状态,设定值快速减少。当频率设定值小于1以后,每按一次增加或减少键,设定值增加或减少0.1。
  开启/停止键:开始/停止信号发生
  清除键:用于清除当前脉冲个数的计数值。
4.工作过程
  开机后,信号发生器自动运行,有信号输出,按下“开启/停止”键,则信号发生器停止工作,没有信号输出,再次按下“开启/停止”键,则信号发生器又开始工作,继续输出信号。
  信号灯用于指示信号发生器工作还是停止,当有信号产生时,信号指示灯闪烁,信号发生器暂停工作时,信号指示灯灭。
三、硬件电路的设计
  在确定了性能指标、操作方案后,可以开始设计,首先要确定信号产生的方式。该信号发生器的绝对精度指标不高,但是其要求的最低频率低至0.1HZ,而最高分辨也要求达到0.1HZ,如果采用模拟技术难以达到,或需要付出较高代价才能做到。考虑到仪器的最高输出频率仅为500HZ,而且只需要提供要方波或矩形波,所以采用 单片机 做成全数字信号发生器。
  在有了这一设计思想之后,需要确定该方案是否可行,该方案准备采用 单片机 的定时器产生信号,由于定时器的定时时间只能是整数,因此,不可避免会在一些频率点上产生误差,为此,用Excel对计数值、真实频率值作了测算,部分表格如表1和表2所示,经过测算表明,当采用12M晶振时,绝对误差最大约0.12HZ(492Hz处),相对误差最大约0.024%(492Hz处),可以满足要求,因此决定采用这一方案。当然,这仅是理论值,考虑到单片机定时中断的响应时间等因素,实际的误差肯定要比这个计算值大,但是要达到±1%的精度要求并不难,而其长期工作的稳定性取决于晶振的稳定度,并且晶振频率的变化引起的输出频率的变化也很微小,因此其长期工作稳定性也很好。
  以下是部份测算的表格,完整的表格在本期光盘Excel文件中。
表1 较高频率算法
理论频率 t(ms) 真实频率 绝对误差 相对误差
10 100000 10 0.00E+00 0.00E+00
11 90909 11.00001 1.00E-06 9.09E-08
12 83333 12.00005 4.00E-06 3.33E-07
13 76923 13.00001 1.00E-06 7.69E-08
14 71429 13.99992 -6.00E-06 -4.29E-07
15 66667 14.99993 -5.00E-06 -3.33E-07
16 62500 16 0.00E+00 0.00E+00
17 58824 16.99986 -8.00E-06 -4.71E-07
18 55556 17.99986 -8.00E-06 -4.44E-07
19 52632 18.99985 -8.00E-06 -4.21E-07
20 50000 20 0.00E+00 0.00E+00

表1 较低频率算法
f(hz) t(ms) 次数 频率值 误差 相对误差
0.1 10000000 5000 0.1 0.00E+00 0.00E+00
0.2 5000000 2500 0.2 0.00E+00 0.00E+00
0.3 3333333 1667 0.29994 -2.00E-04 -6.67E-04
0.4 2500000 1250 0.4 0.00E+00 0.00E+00
0.5 2000000 1000 0.5 0.00E+00 0.00E+00
0.6 1666667 833 0.60024 4.00E-04 6.67E-04
0.7 1428571 714 0.70028 4.00E-04 5.72E-04
0.8 1250000 625 0.8 0.00E+00 0.00E+00
0.9 1111111 556 0.899281 -7.99E-04 -8.88E-04
  在确定了信号发生的方式以后,综合初步设计中提出的一些技术指标要求,进一步确定具体的实施方案。根据以往的设计经验,显示部分由 单片机 的P0口与P2口直接驱动;数据存储则采用串行EEPROM;信号由单片机的一个I/O口输出,并经驱动后输出。
  经过上述的设计后,可以确定这个仪器的框图如图1所示。
 
  原理框图出来后,选择一款合适的机壳,然后综合考虑按键、数码管的安装方式,以便进行更详细的设计。数码管和按键必须安装在印板上才能安装到面板上,数码管与 单片机 的连线较多,5位数码管,需要13根线,再加上按键的连线共有19根,如果将单片机放在另一块板上,必然要用大量导线与键盘显示板连接,而大量的连线是我们不愿意做的,这不仅使得安装困难,而且线易折断造成故障,因此干脆将单片机也装在同一块板上,只留下电源和输出电路放在另一块板上,这样,两块板间只需3根引线即可,大大降低了装配困难,也减少了故障隐患。
  整个设计的原理图,如图2和图3所示。其中图2是主板图,提供了包括数码管显示驱动、键盘等在内的大部份功能。
  从图中可以看到,该电路主要由这样几部份组成:
(1)数码管显示部份,由 单片机 及相关外围电路构成5位数码管显示电路;
(2)按键部份,按设计共有5个按键;
(3)EEPROM存储器,这里选择I2C接口的AT24C01A芯片;
(4)一只LED指示灯;
(5)输出管脚。
  以上分别需要 单片机 片机的13、5、3、1、1个引脚,因此,单片机共要用到23只管脚。
  引脚数量确定后,即可初步确定主芯片的型号,这里选用40引脚的AT89C51 单片机 。如果编程中发现内部资源(如片内RAM、ROM、定时器等)不够,可以更换为89C52等其他单片机,比较灵活。
  图3是电源、输出部分,从图中可以看出,仪器的输出接口采用两种方式,即集电极开路(OC门)方式和射极输出方式,其中OC门方式是很多以频率信号为输出的仪器的标准输出方式,如光电编码器、霍尔开关等。
  全数字信号发生器的硬件部分就介绍到这里,下一期将介绍程序的编写。


图2

图3


关键字:全数字  信号发生器

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
采用AT89C2051的数字可调稳压电源单片机源程序