Namisoft基于单片机的实用数字信号源与频率计设计
在科研、实验和装备检测等很多工作中,经常需要频率可变或固定的TTL电平信号,也需要测量输入的TTL电平信号频率。目前,市场上有各种各样的数字信号源和频率计,但这些产品一般都是体积比较大、功能很庞大、价格也比较昂贵,往往不适合一些需要小体积信号源和频率计的应用场合需要。纳米软件(Namisoft)基于单片机技术设计了数字信号源和频率计,该作品能够很好地产生固定或可变频率的信号,并能测量输入信号频率,可以满足院校的日常教学使用和装备或设备维修检测需要。
1 功能需求与硬件总体方案设计
1.1 功能需求
按照一般的实验设备或装备维修检测需要,确定数字信号源和频率计的主要功能和技术指标为:
1)单脉冲信号源:4路单脉冲信号,按下一个按键产生一个正脉冲;
2)固定输出连续脉冲信号源:1 Hz、10 Hz、100 Hz、1 kHz、10 kHz、100 kHz方波;
3)频率可调连续脉冲信号源:10 Hz~10 kHz可调。频率可设并同步显示;
4)频率测量:10 Hz~10 kHz,分辨率2 Hz,更新速度:2次/秒。
1.2 硬件总体方案设计
数字信号源和频率计的设计原则主要是缩小作品体积、降低作品硬件成本、提高作品的可靠性和使用便捷性等。总体方案设计主要涉及到显示器选型、频率设定电路选型、CPU选型、电路总体结构等方面。针对以上功能需求,确定本作品的硬件电路总体框图如图1所示。
![1bc3ebbeabb7e9d578dee8ae44a40170.png](https://i-blog.csdnimg.cn/blog_migrate/528cf972fbbc1b084ad5850c51e3fb6d.png)
图1中,单片机为本作品的控制核心,主要完成人机接口控制、频率设定、信号输出和输入信号频率测量等功能,采用AT89C52型单片机。为了消除普通按键开关产生脉冲时的抖动,单脉冲输出信号由按键S1~S4控制,经单片机处理后分别输出4路脉冲信号。
编码器和数位控制按钮是用于设定频率可调脉冲的频率的。编码器正反转控制数字在0~9之间的加与减,数位控制按钮(向左和向右,共2个)用以确定控制的数位。
信号源/频率计选择由一位信号控制,高电平(控制开关悬空)为信号源,低电平(控制开关接地)为频率计。频率可调输出与测频输入共用一个单片机接口(P3.5)。选择控制信号和输出/输入信号在基板上由一个双路开关控制。
显示器采用1602液晶显示模块,用以显示设定的频率或测量的频率。
采用蓄电池对整个电路进行供电,可以提高设备使用的便捷性。
2 数字信号源硬件电路设计
数字信号源和频率计的硬件电路设计主要包括频率设定电路、显示电路和单片机电路设计等。
2.1 频率设定电路设计
频率的设定一般可以采用键盘、电位器、拨码盘和编码器等。其中键盘输入方式最灵活,但需要较多的单片机接口资源支持,而且产品体积会比较大,不符合本作品小型化设计要求。采用电位器进行输入时,需要A/D转换,成本高、电路复杂且难以精确设定,也不太适合。采用拨码盘设定频率,优点是显示与输入一体化,但需要的单片机I/O资源也比较多,会影响单片机的选型。本设计采用编码器输入频率值。
编码器可根据内部结构的不同分为高分辨率和低分辨率的,高分辨率编码器的内部一般采用光电型的,而低分辨率的编码器则既有光电型的,也有机械接触式的。对于光电型的,需要由外部为它提供供电电源;对于机械接触型的,则不需要供电电源。不管何种形式,它们都至少会有A、B两个输出信号。当编码器转轴旋转时,这两个输出信号波形如图2所示。
![098130f25a748c24b35155ef5c3b4177.png](https://i-blog.csdnimg.cn/blog_migrate/452a55b4698b461844d1ae7dba008e4b.png)
将信号A输入到单片机的INT0引脚,信号B输入到单片机的INT1引脚。然后用INT0的下降沿中断方式,在INT0中断服务程序中,根据信号B(即 INT1脚)的状态,来确定脉冲数的加或减。然后将脉冲数与频率的某一位值相对应,频率值的数位位置,可以用另外两个按钮来选择。
2.2 显示电路设计
显示电路设计的关键问题是显示器件的选择。对于类似于本设计这样的小型电子产品,可供选择的器件有LED数码显示器和LCD显示器,其中LED适用于室内,比较醒目;LCD比较精细,显示信息多。本作品采用LCD1602型字符显示器。它可以显示2行各16个字符的各种ASCH码字符,因此只要设计合理,就可以将要显示的内容提示、结果信息等全部显示出来,比一般的数码管更直观、更有效。1602字符型LCD显示器接口信号说明如表1所示。
![498957841eb986322cfdac1d55379ae6.png](https://i-blog.csdnimg.cn/blog_migrate/99540b7a513f99d61768c5e50e19652e.png)
2.3 单片机电路及I/O资源分配
综合考虑上述各种电路及其I/O资源需求,选择AT89C52单片机作为本作品的CPU,从而得到本作品主控板电路原理如图3所示。
![51d95afd696fd7e67b6d91e960494611.png](https://i-blog.csdnimg.cn/blog_migrate/f90e28c3275fac84033a6588cf5bb446.jpeg)
控板采用AT89C52型单片机作为CPU芯片。主控板的外形设计成与1602型LCD显示器相同大小,并且其固定孔和连接器位置也与LCD直接对应,这样便于将其与LCD直接固定为一体,从而既可以缩小测试仪的体积,也便于设备维护。
主控板设计的核心问题是CPU的I/O端口的分配问题,信号源所需的I/O资源如表2所示。
![2eeced38e20abbd0328beee1f2640bee.png](https://i-blog.csdnimg.cn/blog_migrate/7314089acec036775cbc1a0523ee27ff.png)
从表2可见,测试仪所需的信号数量为31个,因此一个单片机即可满足需要。
3 数字信号源软件设计
3.1 软件系统总体方案设计
信号源采用点阵液晶显示器来显示输出信号频率和频率测量结果,设置需要产生的信号频率过程中,要显示相关辅助信息和测量结果,这就需要相对复杂的软件配合。本作
品的软件系统总体框图如图4所示。
图4中初始化程序为所有变量给定初值,并对显示屏进行清屏、设置显示模式、光标位置等操作;定频信号产生程序是通过简单的运算,然后输出六路固定频率的信号;变频信号产生程序是根据编码器输出的信号频率,通过一系列的计算后,给相应寄存器赋值,从而产生用户所需频率的信号;单脉冲信号产生程序主要目的是消除按键的抖动信号,使每按一次按键就产生一个单脉冲信号;频率测量程序用于外部输入信号频率的测量;频率设定程序是利用单片机的外部中断测量输入信号,从而确定需要输出的频率;显示程序负责帮助用户设定所需要的输出频率和对输入信号频率进行显示。
3.2 软件系统主程序流程设计
由于系统可以输出多种模式的信号,同时还兼有频率计的功能,所以每个模块执行的子程序中要求给予输入参数提示。系统主程序流程如图5所示,在初始化阶段,对系统中相关参数进行定义赋初值,初始化后进入功能设置,根据功能键值,调用对应的功能模块子程序。根据提示输入所需要设置的参数,确认后按执行键执行。
![d3feb6eb6a7d7cd73a60599c4c58e5b8.png](https://i-blog.csdnimg.cn/blog_migrate/22752503c8998f94803ff95058861a6f.png)
4 结论
根据上述软硬件设计方法制作了数字信号源和频率计样机,并对样机进行了参数测量。实测结果表明,本数字信号源可以便捷地产生频率固定或可变的连续脉冲信号和单脉冲信号,且可以实现对输入信号频率的测量。整机结构简单、性能稳定、便于携带,因此既可以应用于院校的日常教学实验中,也可以用于装备的日常检修中,具有较高的性价比。