一种模拟数字输入的程控开关控制器及其控制方法

文档序号:25609705发布日期:2021-06-25 14:42阅读:145来源:国知局
一种模拟数字输入的程控开关控制器及其控制方法

1.本发明属于嵌入式、自动控制技术领域,具体涉及一种模拟数字输入的程控开关控制器及其控制方法。


背景技术:

2.随着嵌入式技术的发展,程控思想逐渐成熟,大量的程控电路已发展完善,如程控运算放大器,程控稳压器等等。在嵌入式设计中,常常设及多个模拟量或数字量的采集,通过程序分析,控制多个电路的场合,这大大浪费了单片机io复用口,有时甚至需要对io口进行拓展。


技术实现要素:

3.本发明的目的是提供一种模拟数字输入的程控开关控制器及其控制方法,以解决背景技术中所提出嵌入式系统设计中io口利用率不高的问题,适用于需要多个信号控制多个电路开关的过程。
4.为实现上述目的,本发明的实施例提供一种模拟数字输入的程控开关控制器,其特征在于,所述控制器的输入端包括四路支持模拟或者数字信号输入的analog0~analog3端口、用于选择信号通道analog0~analog3端口的io0~io1端口、用于选择8路开关的io2~io4端口、使能端口io5和时钟信号输入端口clk;所述控制器的输出端包括a~h输出端,其中,a输出端、b输出端、c输出端为自锁开关,d输出端、e输出端、f输出端为无锁开关,g输出端和h输出端为延时开关;所述控制器内包括电压比较模块、译码模块、开关选择模块和开关模块;所述电压比较模块用于负责将从电压比较模块analog0~analog3端口输入的电压信号与通过滑动变阻器设定的阈值电压进行比较,并将信号转换为数字量信号;所述译码模块用于将来自单片机的电信号进行译码,产生8路开关的选通信号;所述开关选择模块用于将电压比较模块的输出数字量信号和译码模块所输出的选通信号通过逻辑运算后产生开关的触发信号;所述开关模块包括三个自锁开关、三个无锁开关和两个延迟开关,所述开关模块用于接收到来自开关选择模块有效的触发信号后会执行相应的开关操作。
5.进一步的,所述io5使能端口在低电平时有效,io5有效时,开关可被选中;当io5无效时,开关无法被选中,保持上一次被选中的状态。
6.进一步的,所述时钟信号输入端口clk作为锁存信号使用。
7.进一步的,所述电压比较模块主要由四个电压比较器和一个四选一数据选择器组成,所述电压比较器通过对输入电压比较,产生有效的数字信号,四选一数据选择器则将通过选择端口选中的数字信号分配到输出端。
8.进一步的,所述译码模块主要由三线八线译码器构成,用于负责开关选择信号的译码。
9.进一步的,所述开关选择模块主要由与门和d触发器构成;所述与门一端与时钟信号clk相连,另一端与译码模块输出的八路选择信号相连,输出信号与d触发器的输出端相
连,当选择信号有效时,允许d触发器对电压比较模块的输出信号进行锁存,无效时则不允许锁存;所述开关选择模块的锁存频率由时钟信号clk决定;所述d触发器的输出信号为开关的触发信号。
10.进一步的,所述开关模块由八个继电器组成的自锁开关、无锁开关和延时开关;其中,所述自锁开关与d触发器组成t触发器,对输出信号进行翻转;所述无锁开关由mos管驱动,输出信号跟随电压比较模块输出信号;所述延时开关由ne555组成的单稳态电路组成,延时可调。
11.进一步的,所述analog0~analog3端口用于连接传感器,作为输入信号。
12.进一步的,所述io0~io5端口及时钟信号输入端口clk连接单片机。
13.本发明的实施例还提供一种模拟数字输入的程控开关控制器的控制方法,其特征在于,包括以下过程:
14.s1、将a

h输出端中的多个输出端分别连接在不同的电路中,analog0

analog3中的一个或多个接口连接相应的传感器;
15.s2、单片机将io5拉高,通过sel0(io0)

sel1(io1)选择输入端口,即选择传感器所连接的端口;
16.s3、单片机通过io2~io4选择其对应的多个开关,a输出端、b输出端、c输出端这三个自锁开关实现自锁闭合,d输出端、e输出端、f输出端这三个无锁开关闭合,g输出端和h输出端这两个延时开关延时闭合;
17.s4、将io5拉低,进行扫描;当扫描到传感器所输入的模拟信号超过所设定的模拟量时,控制所选择的开关闭合;
18.s5、若有多个传感器的输入,通过扫描的方式,使得多个传感器分时控制多个开关的闭合或断开。
19.本发明的有益效果在于:
20.(1)本发明的程控开关设计,其集合了多种开关电路,具有多通道输入,大大提高了单片机io口的利用率。
21.(2)本发明实现了在需要多个信号控制多个电路的时候,可通过单片机扫描式控制,实现多对多的同时控制;在由单个信号控制多个电路时,可通过单片机扫描式控制,实现单对多的同时控制。
附图说明
22.图1为本发明的各个模块连接图,voltage_comp为电压比较器模块,decode为译码模块,switch_sel为开关选择模块,switch_ctl为开关模块。
23.图2为本发明的实施例中voltage_comp电压比较器模块的电路图;
24.图3为本发明的实施例中decode译码模块的电路图;
25.图4为本发明的实施例中switch_sel开关选择模块的电路图;
26.图5为本发明的实施例中switch_ctl开关模块的电路图。
具体实施方式
27.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具
体实施例进行详细描述。
28.如图1,一种模拟数字输入的程控开关控制器,所述控制器的输入端包括四路支持模拟或者数字信号输入的analog0~analog3端口、用于选择信号通道analog0~analog3端口的io0~io1端口、用于选择8路开关的io2~io4端口、使能端口io5和时钟信号输入端口clk;所述控制器的输出端包括a~h输出端,其中,a输出端、b输出端、c输出端为自锁开关,d输出端、e输出端、f输出端为无锁开关,g输出端和h输出端为延时开关;所述控制器内包括电压比较模块、译码模块、开关选择模块和开关模块;所述电压比较模块用于负责将从电压比较模块analog0~analog3端口输入的电压信号与通过滑动变阻器设定的阈值电压进行比较,并将信号转换为数字量信号;所述译码模块用于将来自单片机的电信号进行译码,产生8路开关的选通信号;所述开关选择模块用于将电压比较模块的输出数字量信号和译码模块所输出的选通信号通过逻辑运算后产生开关的触发信号;所述开关模块包括三个自锁开关、三个无锁开关和两个延迟开关,所述开关模块用于接收到来自开关选择模块有效的触发信号后会执行相应的开关操作。
29.在本实施例中,所述io5使能端口在低电平时有效,io5有效时,开关可被选中;当io5无效时,开关无法被选中,保持上一次被选中的状态。
30.在本实施例中,所述时钟信号输入端口clk作为锁存信号使用。
31.在本实施例中,所述电压比较模块主要由四个电压比较器和一个四选一数据选择器组成,所述电压比较器通过对输入电压比较,产生有效的数字信号,四选一数据选择器则将通过选择端口选中的数字信号分配到输出端。
32.在本实施例中,所述译码模块主要由三线八线译码器构成,用于负责开关选择信号的译码。
33.在本实施例中,所述开关选择模块主要由与门和d触发器构成;所述与门一端与时钟信号clk相连,另一端与译码模块输出的八路选择信号相连,输出信号与d触发器的输出端相连,当选择信号有效时,允许d触发器对电压比较模块的输出信号进行锁存,无效时则不允许锁存;所述开关选择模块的锁存频率由时钟信号clk决定;所述d触发器的输出信号为开关的触发信号。
34.在本实施例中,所述开关模块由八个继电器组成的自锁开关、无锁开关和延时开关;其中,所述自锁开关与d触发器组成t触发器,对输出信号进行翻转;所述无锁开关由mos管驱动,输出信号跟随电压比较模块输出信号;所述延时开关由ne555组成的单稳态电路组成,延时可调。
35.在本实施例中,所述analog0~analog3端口用于连接传感器,作为输入信号。
36.在本实施例中,所述io0~io5端口连接单片机的通用io口,时钟信号可使用ne555产生的固定占空比方波也可为单片机产生的pwm波。
37.一种模拟数字输入的程控开关控制器的控制方法,包括以下过程:
38.s1、将a

h输出端中的多个输出端分别连接在不同的电路中,analog0

analog3中的一个或多个接口连接相应的传感器;
39.s2、单片机将io5拉高,通过sel0(io0)

sel1(io1)选择输入端口,即选择传感器所连接的端口;
40.s3、单片机通过io2~io4选择其对应的多个开关,a输出端、b输出端、c输出端这三
个自锁开关实现自锁闭合,d输出端、e输出端、f输出端这三个无锁开关闭合,g输出端和h输出端这两个延时开关延时闭合;
41.s4、将io5拉低,进行扫描;当扫描到传感器所输入的模拟信号超过所设定的模拟量时,控制所选择的开关闭合;
42.s5、若有多个传感器的输入,通过扫描的方式,使得多个传感器分时控制多个开关的闭合或断开。
43.具体的,在本发明中,通过io0

io1进行输入端口的analog0

analog3端口的选择,如下表1所示:
44.表1 io0

io1进行analog0

analog3的通道选择表
[0045][0046]
在本发明中,通过io2

io4端口及1o5使能端口进行a

h输出端的开关端口选择如下表2所示:
[0047]
表2 io2

io4端口及io5使能端口进行a

h输出端的开关选择表
[0048][0049]
实施例1本发明的控制器实现单个输入信号控制多个电路
[0050]
瓦斯气体安全检测中,将单片机的输出端连接有本发明的控制器,将a输出端与瓦斯气体释放控制电路相连接,d输出端与报警电路相连接,g端与排气扇电路相连接,将控制器的analog0与瓦斯气体传感器相连,一旦输入的模拟信号超过设定电压,则a自锁开关闭合关断瓦斯气体传输,d无锁开关闭合,警报响起,g延时开关闭合,排气扇启动,当瓦斯气体恢复至安全值时,瓦斯气体传输仍被切断,报警与排气扇关闭,通知工人检修;实现了一个输入信号,对多个电路的控制。
[0051]
实施例2本发明的控制器实现多个输入信号控制多个电路
[0052]
环境检测中,将环境检测装置的单片机的输出端连接本发明的控制器,将多个传感器分别连接在本发明的控制器的analog0

analog3中的多个接口,作为多个信号输入,通过扫描的方式,使得多个传感器分时控制多个开关的闭合或断开,使用时先将io5拉高,通过sel0(io0)

sel1(io1)选择模拟量输入,再通过io2~io4选择其对应的开关,再将io5拉低,然后在适当的延迟后重复上述io口操作,以选择下一个传感器与其对应的开关,以此进行扫描。该方式可在智能家居或智能路灯中的使用。
[0053]
传感器的传感器输入端也可直接与电平信号相接,通过高低电平来控制开关所选开关。
[0054]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1