APP下载

单片机控制低频脉冲信号发生器的设计

2020-12-24田莉霞

软件 2020年7期
关键词:触发器幅值脉冲

摘  要: 本文详细介绍了单片机控制低频脉冲信号发生器的设计,系统微控制器以16位凌阳单片机(SPACE061A)为核心,且要求脉冲频率在1 Hz~999 Hz之间可调、幅值在3.6~27 V之间可调。本系统开发经过了反復的硬、软件联调与测试,实践效果较好。

关键词: 单片机;多功能输入/输出;低频脉冲;信号发生器

中图分类号: TP368.1    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.07.004

本文著录格式:田莉霞. 单片机控制低频脉冲信号发生器的设计[J]. 软件,2020,41(07):22-26

Design of Low Frequency Pulse Signal Generator Controlledby Single Chip Microcomputer

TIAN Li-xia

(Ningxia College of Finance And Economics, Yingchuan 750021, China)

【Abstract】: This article introduces a kind of designing method that adopts SPACE061A to control the device as the core and uses a electrical circuit board to control pulse occupies the spatial ratio, the amplitude,frequency. The frequency range is in 1 Hz~999 Hz, the amplitude is adjustable in succession as no grade in 3.6~27 V. This project makes full use of the predominance of SPACE061A, Though trial and error, the software and hardware suit well and bring good effect.

【Key words】: SPACE061A; Multifunctional Input/output; Low frequency pulse; Signal generating device

0  引言

信号发生器应用广泛,是最早使用的电信号设备之一,目前主要在教学、科学试验、测控、电子电路等领域广泛应用,它能为电子测量和计量工作提供符合严格技术要求的电信号。信号发生器同电子设备同时诞生于二十年代,并在通信和雷达技术的推动下,不断更新。四十年代,标准信号发生器及脉冲信号发生器诞生,实现了定性分析到定量分析的改变,拓宽了信号发生器使用范围,同时可用于脉冲电路调制[1]。六十年代,全晶体管信号发生器的出现,大大简化了信号发生器的结构,强化其功能,促使信号发生器迅猛发展,函数发生器、扫频信号发生器、合成信号发生器、程控信号发生器等新种类在这一时期陆续出现。

信号发生器可以输出正(余)弦波、脉冲波等多种任意波形;输出信号频率广泛,从甚低频到甚高频均可;操作方式多样,无论是手动还是程控均可调节。

本系统设计伊始,笔者主要对以下三方面提出要求:

(1)脉冲频率要求在1-999 HZ之间,能够让用户手动输入要求的脉冲频率,即实现脉冲频率在规定范围内可调。

(2)用户可以手动控制脉宽,即占空比的大小可以调节。

(3)借助放大电路,实现系统输出脉冲电压幅值可以调节,范围控制在3.6 V-27 V之间。

(4)结合以上三点要求,笔者采用SPACE061A小系统板作为微控制器,设计制作用于控制输入输出的硬件控制电路,完成系统整体硬件设计。通过编写程序控制低频脉冲信号发生器脉冲信号在一  定范围内可调,本文对系统的硬件及软件分别做一介绍。

1  系统设计方案

低频脉冲信号发生器采用凌阳单片机SPACE061A进行核心控制,自行设计的外部电路进行输入、显示、信号整形的控制,二者通过排线相连。利用单片机的输入/输出口控制系统外部电路的键盘输入及数码显示,再通过代码编写控制单片机产生初始矩形波信号。矩形波信号通过外部电路的74LS74D触发器、单稳态触发器和放大电路,设计实现低频脉冲信号发生器,其频率在1-999 HZ之间、手动占空比可调、幅值3.6 V-27 V之间。

2  系统相关硬件说明

系统硬件系统主要由单片机(SPACE061A)、显示模块、键盘输入模块、74LS74D触发器和单稳态触发器模块组成。下面对系统的相关硬件作详细说明。

2.1  凌阳单片机SPACE061A

SPACE061A(“61 板”)是一款十六位结构的微控制器[2],其结构概览如图1所示。

由图1可以看出,单片机SPCE061A主要包括16位微控制器、双16位定时器/计数器、锁相环振荡器、数/模转换、模/数转换、低电压监测/低电压复位、串行异步通讯接口、32管脚通用输入输出接口等组成[3]。下面分别对输入/输出接口及在线调试器PROBE 和EZ_PROBE 接口做一简要介绍。

(1)输入/输出(I/O)接口

凌阳单片机(SPACE061A)的32 个输入/输出口全部引出,分别是IOA0~IOA15,IOB0~IOB15[4],对应引脚为:A 口,41~48、53、54~60;B 口,5~1、81~76、68~64。I/O 口编程可控,输入可以设置为悬浮输入或非悬浮输入,输出可以设置为同相输出或者反相输出。

正如前面所提,B口出了具有常规的输入输出功能外,还有一些特殊的功能,如下表1所示[5]

系统在设计时就采用了IOB8口的特殊功能,输出矩形波信号。

(2)在线调试器PROBE 和EZ_PROBE接口

PROBE接口有5 pin,上为VSS,下为VCC即3.3 V电源。通过PROBE接口与PC机的连接,实现调试、仿真及程序的下载。

2.2  低频脉冲信号发生器的硬件控制电路板

硬件电路整体框图如下图2所示, 系统以16位凌阳单片机SPCE061A 为微处理器,利用排线连接外部硬件控制电路,实现键盘输入以及数码显示[6]。SPCE061A输出矩形脉冲波,通过74LS74D触发器、单稳态触发器,及放大电路,实现输出波形频率在1-999 HZ之间、手动占空比可调、幅值3.6 V-27 V之间的低频脉冲信号发生器。

前面我们已经详细介绍了SPCE061A的结构、功能等,下面详细解读硬件控制电路的结构与组成。

(1)显示模块

为了实时显示脉冲的频率,系统利用三个八段共阴数码管,字型输出由IOB0—IOB7 端口负责[7],IOA8—IOA10主要用于数码的点亮,如图3所示。

(2)键盘输入模块

焊接制作1*5小键盘一个,供用户进行频率、占空比的输入调节。键1用于控制占空比;键2、3、4用于脉冲频率的控制[8]。通过设置SPCE061A的定时器/计数器TimerA的B6—B9位,控制占空比在十四种情况下可调。

(3)触发器模块

通过硬件控制电路实现了脉冲信号的占空比、频率可调,矩形波信号再通过触发器、放大电路整形,最终得到符合要求的低频脉冲信号。

74LS74D触发器将单片机输出的矩形波信号频率降低一半,占空比固定为50%的方波信号,再通过单稳态触发器输出输出频率不变占空比可调的脉冲信号,如图4所示。

下面简单介绍一下由555定时器构成的单稳态触发器的工作原理:

接通电源一瞬间,电源通过电阻R向电容C充电,当vc上升到2/3 Vcc时,触发器复位,v0为低电平,放电BJT T导电,电容C放电,电路进入稳定状态。

若触发输入端施加触发信号(vi<1/3 Vcc),触发器发生翻转,电路进入暂稳态,v0输出高电平,且BJT T截止。此后电容C充电至vc=2/3 Vcc时,电路又发生翻转,v0为低电平,T导通,电容C放电,电路恢复至稳定状态[9]

如果忽略T的饱和压降,则vc从零电平上升到2/3 Vcc的时间,即为输出电压v0的脉宽tw。

tw=RCln3≈1.1RC

此电路产生的脉宽可从几个微秒到数分钟,精度可达0.1%,通过调节电阻R的值来改变tw,从而又重新做到脉冲宽度可调。

(4)放大电路模块

前面各级电路所输出波形峰值始终在1.8 V左右,通过放大电路,其电路图如图5所示,其峰值最大可提高到27 V左右,通过调节电位器R2以做到幅值可调[10]

由图可知,当R2为10K时,放大倍数可达15倍,电压最高可放大到27V左右,通过调节R2 即可做到幅值可调这一特点。

通过各级电路输出波形如下图6所示。

3  系统软件设计

系统以16位凌阳单片机(SPCE061A)为控制中心,使用排线将输入/输出口与自行设计制作的外部控制硬件电路相连,实现键盘输入和数码显示,最终输出占空比可调、频率可调、幅值可调的矩形脉冲波。

系统软件设计的整体流程如图7所示。

凌阳单片机提供了两个16位的定时/计数器:TimerA 和TimerB 。

TimerA的时钟源是由两个时钟源ClkA和ClkB经过一个逻辑与门相与而成。如图8所示为SPCE061A定时/计数器TimerA的基本结构[11]

当发生溢出时,定时器发出TAOUT/TBOUT,即溢出信号。CPU中断系统会将溢出信号作为定时器中断信号来处理。同时,溢出信号还可以用于输出4位可调的脉宽调制占空比信号,即是4 位计数器计数的时钟源信号。

本系统利用了TimerA定时/计数器的第二个功能,通过设置P_TimerA_Ctrl的B6—B9位来达到占空比可调的目的。

脉冲的频率主要通过设置P_TimerA_Data來控制。频率是通过计数初值来控制调节的,因此计数初值的计算十分重要。其计算方法如下:

P_TimerA_Data=0xFFFF-f0/f

其中f0是系统时钟,f是计数溢出频率,P_ TimerA_Data就是计数初值。此系统中计数初值为 P_TimerA_Data=0xFFFF-f0/((f1+f2*10+f3*100)*16),其中f1、f2、f3分别为计数溢出频率的百位、十位、个位[12]。因为系统中会将输出波形的频率自动16分频,因此在计算计数初值时,已经将溢出频率进行了16倍频。

4  系统联调结果

本系统以16位凌阳单片机SPACE061A为核心,将输入/输出端口与外部硬件控制电路相连。硬件电路主要包括显示电路、小键盘、74LS74D触发器、由555定时器构成的单稳态触发器和放大电路模块;软件方面采用模块化设计方法,主要包括数码管显示程序、键盘扫描程序,程序设计过程充分利用了凌阳单片机地强大地多功能输入/输出口、及各引脚的特殊功能等,很好地完成了与硬件电路的配合,联调结果良好。

本系统的主要功能如下:

(1)整体布局合理,结构简单,由电源开关控制整个系统的运行。

(2)接通电源后,在无任何按键按下时,即脉冲频率为零,系统不输出任何波形,数码管显示为000。

(3)Key2键、Key3键、Key4键分别控制频率的百位、十位、个位,每按一下,其相應频率位就加一,当超过9时就重新变为0。

(4)每按下Key1键一次,输出脉冲占空比就

改变一次,当按键超过十四次时,重新回到初始方波状态,即占空比为50%。

(5)通过IOB8口输出峰峰值为3.6 V左右的矩形波,再通过74LS74D触发器、由555定时器构成的单稳态触发器和放大电路,最终输出频率在0-999 Hz之间可调、幅值在1.8 V-27 V之间可调、占空比可调的脉冲。

参考文献

  1. 凌阳科技. mnSPTM16 位单片机简介[M]. 北京: 北京凌阳科技出版社, 2002.

  2. 罗亚非等.凌阳16位单片机应用基础[M]. 北京: 北京航空航天大学出版社, 2003.

  3. 雷思孝, 李伯成, 雷向莉. 单片机原理及实用技术—凌阳16位单片机原理及应用[M]. 西安: 西安电子科技大学出版社, 2004. 第一版.

  4. 凌阳科技, SPCE061A英文编程手册v1.2[M]. 北京: 北京凌阳科技出版社, 2004.

  5. 陈光东, 赵性初. 单片微型计算机原理与接口技术[M]. 武汉: 华中理工大学出版社, 1993.

  6. 李晶皎. 嵌入式语音技术及凌阳16位单片机应用[M]. 北京: 北京航空航天大学出版社, 2003.

  7. 曾鹏, 林躜, 晓燕. 16位单片机的语音信号处理技术的研究[J].湖北工学院学报, 18(2): 16-18.

  8. 陈琼.一种单片机控制超低频任意信号波形发生器[J]. 南昌航空工业学院学报(自然科学版), 2004, 03: 72-74.

  9. 李瑞福.基于单片机AT89C51 的一氧化碳浓度检测仪设计[J]. 软件, 2015, 36(9): 106-108.

  10. 陈凡, 刘果, 李剑锋. 主要软件定义网络控制器的对比和分析[J]. 软件, 2015, 36(6): 97-102.

  11. 徐航军. 中航建开物业管理中心OA 系统设计[J]. 软件, 2015, 36(8): 88-91.

  12. 吴文辉, 王燕妮. 故障诊断系统设计[J]. 软件, 2015, 36(5): 105-107.

猜你喜欢

触发器幅值脉冲
脉冲离散Ginzburg-Landau方程组的统计解及其极限行为
黄芩苷脉冲片的制备
主从JK触发器逻辑功能分析
基于S变换的交流电网幅值检测系统计算机仿真研究
使用触发器,强化安全性
正序电压幅值检测及谐波抑制的改进
低压电力线信道脉冲噪声的幅值与宽度特征
基于零序电压幅值增量的消弧线圈调谐新方法
对触发器逻辑功能转换的分析
触发器逻辑功能转换的两种方法