1.本发明涉及一种半双工串口通信电路,尤其一种半双工串口通讯电路的安全收发状态控制方法及其电路。
背景技术:
2.半双工串口通信具有连接简单、材料成本低、通讯可靠等诸多优点,被广泛应用于工业现场多机互联控制中,在此通讯电路中,有三个信号端口与该设备的程序处理器连接:接收数据信号端口、发送数据信号端口、收发使能控制端口。由于半双工的通信特点,发送数据和接收数据不能同时进行,为避免数据发生冲突,必须在一定规则下,由程序处理器发出的收发使能控制信号来控制该设备当前是数据发送状态还是数据接收状态,在现有的技术中,程序处理器的三条数据线分别连接专用通信芯片的数据发送端、数据接收端和控制使能端,电路实现比较简单。
3.在现有技术方案中,存在隔离与非隔离的通讯电路两种形式,隔离的通讯电路只是在非隔离通讯电路基础上增加了对mcu控制端相连接的三个信号的光或磁器件隔离,以提高电路的抗干扰能力,其他方面是完全相同的。最基本简单的非隔离通讯电路。如图6所示,由于半双工串口通信电路的收发使能控制端由mcu处理器的输出口直接控制,当收发使能信号为低电平时,通信芯片u1将切换为数据接收状态,a/b端的差分电平通过通信芯片u1转换为数据信号ttl电平,从通信芯片u1的rd信号引脚传输到mcu处理器的数据接收端;而当收发使能信号为高电平时,通信芯片u1将切换为数据发送状态,mcu处理器对外发出的通信数据信号进入通信芯片u1的di输入口,经通信芯片u1转换为差分信号后,在a端/b端两个信号线上对外发送数据。这种半双工串口通信电路形式的现有技术存在如下问题,一是在以这种电路形式做信号隔离设计时,由于mcu与通讯芯片之间需要用光耦或磁耦等隔离器件来隔离驱动,这样一旦这些中间隔离的器件或电路出现故障异常时,存在这个收发使能端被异常置于高电平而无法恢复的可能,一旦现在这种极端情况,即便mcu程序能正常控制输出低电平给这个使能端的隔离电路原边,但是在隔离电路的输出连接到通讯芯片的使能输入端口上却被长时间处于高电平而无法切换回低电平的接收状态时,这个设备的通信电路被锁定在通讯发送状态,将导致与之相连接的整个通讯网络的数据线被占用而不能释放,其他正常机器也无法通讯工作;二是mcu芯片本身可能出现异常,这个异常有可能是硬件异常导致这个使能输出io脚一直高电平无法恢复,也可能是软件程序上出现跑飞或死机状态无法恢复,也存在导致出现刚好收发使能端在高电平状态而无法恢复的可能,这两种可能存在的异常情况使得这个半双工的串口通讯电路可靠性存在一定的风险,三是在更为特殊环境下,比如出现电磁干扰严重(电磁干扰可能导致mcu处理器跑飞或死机)等情况导致通讯网络中任意一台设备单元的通讯电路出现刚好处于数据发送状态而无法切换回接收状态的情况时,也即该设备的485通讯电路中的收发使能控制端被锁定成高电平时,通信芯片u1被设置为发送模式,a端和b端上的电平状态则被该单元的通讯电路强制占用,同网络中的其他设备将无法传输数据,造成整个通讯网络瘫痪而无法正常通讯的问题。
技术实现要素:
4.为了克服上述问题,发明向社会提供一种性能可靠的半双工串口通讯电路的安全收发状态控制方法及其电路。
5.本发明的技术方案是:提供一种半双工串口通讯电路的安全收发状态控制方法,在半双工串口通信电路中增加延时锁定电路,所述延时锁定电路包括rc延时电路和由电子开关器件构成的锁定电路,包括如下步骤:s1、当mcu处理器的收发使能信号为高电平时,通信芯片u1切换为数据发送状态,mcu处理器对外发出的通信数据信号进入通信芯片u1的di输入口,经通信芯片u1转换为差分信号后,在a端/b端两个信号线上对外发送数据;s2、一旦收发使能控制信号电平进入对外发送的状态,所述rc延时电路将同步被启动,由于rc延时参数设定的时间将足够大于正常发送数据所需的时间,正常工作情况下,对外发送数据完成后mcu控制收发使能端电平进入接收状态,从而释放通讯总线,此时延时电路仍处于延时过程中,尚未达到触发后端开关管动作的条件时便被重新复位,而出现电路被锁定于发送状态而无法恢复的异常情况下,rc延时电路的延时时间一旦结束,将触发后端的电子开关器件导通,从后级将收发使能控制信号端强制到数据接收状态,以避免整个通信数据线被占用而导致系统的崩溃。
6.作为对本发明的改进,本发明还包括s3、当mcu处理器的收发使能信号为低电平时,通信芯片u1切换为数据接收状态,通信芯片u1的a端和b端的差分电平通过通信芯片u1转换为数据信号ttl电平,从通信芯片u1的rd信号引脚传输到mcu处理器的数据接收端。
7.作为对本发明的改进,所述rc延时电路的延时时间是根据通信中所发送数据的长度所需的时间而预先设定的,其中,所述rc延时电路的延时时间是大于通信中所发送数据的长度所需的时间。
8.作为对本发明的改进,所述电子开关器件是npn的三极管。
9.作为对本发明的改进,所述mcu处理器是stm32系列的单片机,所述通信芯片u1是型号为max485的通信芯片。
10.本发明还提供一种半双工串口通讯电路的安全收发状态控制电路,包括mcu处理器和通信芯片u1,所述mcu处理器的rxd脚与所述通信芯片u1的rd脚联接,所述mcu处理器的txd脚与所述通信芯片u1的di脚联接,所述通信芯片u1的vcc脚接5v电,所述通信芯片u1的b脚接数据b端,所述通信芯片u1的a脚接数据a端,所述通信芯片u1的gnd脚接地;还包括延时锁定电路,所述延时锁定电路包括rc延时电路和由电子开关器件构成的锁定电路,所述mcu处理器的ctr脚通过限流电阻r3与所述通信芯片u1的re脚和de脚联接,所述rc延时电路的第四电阻r4和充电电容c1串联,所述第四电阻r4的自由端与所述mcu处理器的ctr脚与所述限流电阻r3的公共端联接,所述充电电容c1的负极接地,所述第四电阻r4和充电电容c1的公共端与所述锁定电路的输入端连接,并在延时电路的延时时间结束后,如果控制端的信号仍然还在数据发送的电平状态,则延时电路触发锁定电路的电子开关器件,将收发使能控制信号强制到数据接收状态;一泄压电阻,与所述充电电容c1并联,用于在收发使能控制信号处于数据接收状态之后,泄掉充电电容c1上的电压。
11.作为对本发明的改进,所述电子开关器件是npn型三极管q1,所述限流电阻r3与所述通信芯片u1的公共端与所述npn型三极管q1的集电极联接,所述npn型三极管q1的发射极
接地,所述npn型三极管q1的基极通过第五电阻r5与述第四电阻r4和所述充电电容c1的公共端联接,电平最后通过三极管基极限流电阻r5与三极管q1的基极连接,所述泄压电阻的一端与所述npn型三极管q1和第五电阻r5的公共端连接,所述泄压电阻的另一端接地。
12.作为对本发明的改进,所述rc延时电路的延时时间是根据通信中所发送数据的长度所需的时间而预先设定的,其中,所述rc延时电路的延时时间是大于通信中所发送数据的长度所需的最长时间的。
13.作为对本发明的改进,所述mcu处理器是stm32系列的单片机,所述通信芯片u1是型号为max485的通信芯片。
14.本发明与现有技术相比,在收发使能控制信号线上特别增加了延时锁定电路,该电路由一级rc阻容延时电路和一级电子开关器件控制电路组成,该电路所用元件少,成本低,能持续对收发使能信号端的电平进行监控,确保对外发送的时间完成后能退出发送状态,释放通信总线资源,避免了由于程序控制器异常或其他器件异常等各种极端因素导致设备通信系统一直被强制在数据发送状态的现象,本发明进一步提升了通信产品的可靠性,使得即便该通信设备出现了极端的收发使能控制异常故障,也不至于将整个通信系统中全部通信设备的通信封锁。降低了因此造成的生产损失,并且能方便的通过主机所接收的全部反馈数据来快速判断出现故障的设备位置。相比没有增加此电路的产品来说,具有较大的性能优势。
附图说明
15.图1是本发明的方法的方框示意图。
16.图2是本发明电路的一种实施例的电路原理示意图。
17.图3是本发明程序进入数据发送时的方框流程图。
18.图4是本发明程序进入数据接收时的方框流程图。
19.图5是本发明电路的另一种实施例的电路原理示意图。
20.图6是现有的半双工串口通信电路的原理示意图。
具体实施方式
21.为了使发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对发明进行详细说明。应当理解,此处所描述的具体实施例仅仅用以解释发明,并不用于限定发明。
22.请参见图1,图1揭示的是一种半双工串口通讯电路的安全收发状态控制方法,在半双工串口通信电路中增加延时锁定电路,所述延时锁定电路10包括rc延时电路110和由电子开关器件构成的锁定电路120(参见图2),包括如下步骤,s1、当mcu处理器的收发使能信号为高电平时,通信芯片u1切换为数据发送状态,mcu处理器对外发出的通信数据信号进入通信芯片u1的di输入口,经通信芯片u1转换为差分信号后,在a端/b端两个信号线上对外发送数据;s2、一旦收发使能控制信号电平进入对外发送的状态,所述rc延时电路将同步被启动,由于rc延时参数设定的时间将足够大于正常发送数据所需的时间,正常工作情况下,对外发送数据完成后mcu控制收发使能端电平进入接收状态,从而释放通讯总线,此时延时
电路仍处于延时过程中,尚未达到触发后端开关管动作的条件时便被重新复位,而出现电路被锁定于发送状态而无法恢复的异常情况下,rc延时电路的延时时间一旦结束,将触发后端的电子开关器件导通,从后级将收发使能控制信号端强制到数据接收状态,以避免整个通信数据线被占用而导致系统的崩溃。
23.本发明专门针对半双工通讯电路中的收发使能信号设计了延时锁定保护方法,根据通信中所发送数据的长度,设定好一定延时时间,一旦收发使能控制信号电平进入对外发送的状态时,延时电路启动,延时时间结束后,如果控制端的信号仍然还在数据发送的电平状态,则延时电路会触发保护电子开关器件,将收发使能控制信号强制到数据接收状态,避免了整个通信数据线被占用而导致系统的崩溃。
24.优选的,本发明还包括s3、当mcu处理器的收发使能信号为低电平时,通信芯片u1切换为数据接收状态,通信芯片u1的a端和b端的差分电平通过通信芯片u1转换为数据信号ttl电平,从通信芯片u1的rd信号引脚传输到mcu处理器的数据接收端。
25.优选的,所述rc延时电路的延时时间是根据通信中所发送数据的长度所需的时间而预先设定的,其中,所述rc延时电路的延时时间是大于通信中所发送数据的长度所需的最长时间的。
26.优选的,所述电子开关器件可以是npn的三极管。
27.优选的,所述mcu处理器可以是stm32系列的单片机,所述通信芯片u1可以是型号为max485的通信芯片。
28.请参见图2,本发明还提供一种半双工串口通讯电路的安全收发状态控制电路,包括mcu处理器和通信芯片u1,所述mcu处理器的rxd脚与所述通信芯片u1的rd脚联接,所述mcu处理器的txd脚与所述通信芯片u1的di脚联接,所述通信芯片u1的vcc脚接5v电,所述通信芯片u1的b脚接数据b端,所述通信芯片u1的a脚接数据a端,所述通信芯片u1的gnd脚接地;还包括延时锁定电路10,所述延时锁定电路10包括rc延时电路110和由电子开关器件构成的锁定电路120,所述mcu处理器的ctr脚通过限流电阻r3与所述通信芯片u1的re脚和de脚联接,所述rc延时电路110的第四电阻r4和充电电容c1串联,所述第四电阻r4的自由端与所述mcu处理器的ctr脚与所述限流电阻r3的公共端联接,所述充电电容c1的负极接地,所述第四电阻r4和充电电容c1的公共端与所述锁定电路120的输入端连接,并在延时电路110的延时时间结束后,如果控制端的信号仍然还在数据发送的电平状态,则延时电路110触发锁定电路120的电子开关器件,将收发使能控制信号强制到数据接收状态;一泄压电阻r6,与所述充电电容c1并联,用于在收发使能控制信号处于数据接收状态之后,泄掉充电电容c1上的电压。
29.优选的,所述电子开关器件是npn型三极管q1,所述限流电阻r3与所述通信芯片u1的公共端与所述npn型三极管q1的集电极联接,所述npn型三极管q1的发射极接地,所述npn型三极管q1的基极通过第五电阻r5与述第四电阻r4和所述充电电容c1的公共端联接,电平最后通过三极管基极限流电阻r5与三极管q1的基极连接,所述泄压电阻r6的一端与所述npn型三极管q1和第五电阻r5的公共端连接,所述泄压电阻r6的另一端接地。
30.本发明在收到使能信号线上串入一限流电阻r3,将mcu处理器与通信芯片u1的使能控制端分开,在限流电阻r3后端接入npn型三极管q1的集电极,npn型三极管q1的发射极接参考地,而限流电阻r3的前端连接mcu处理器侧,并接入一个rc延时电路,rc延时电路延
时充电的时间,由第四电阻r4和充电电容c1的参数决定,允许控制器输出的收发使能信号高电平的最大时间长度,根据实际数据传输时间需要,设计第四电阻r4和充电电容c1参数的充电动作时间应当大于实际传输所需要时间,留足够余量即可。第四电阻r4与充电电容c1之间的连接点的电平最后通过npn三极管的基极限流电阻r5与npn三极管q1的基极连接,用以控制npn三极管的动作。当充电电容c1通过第四电阻r4充电到大于npn三极管基极启动电压预定值后,所述npn三极管q1进入其饱和工作区,npn三极管q1三极管的集电极
‑
发射极之间的电压将理论上低于0.3v,这样,即使mcu处理器的收发使能信号电平仍为高电平时,由于npn三极管q1的开通动作,通信芯片u1的使能控制端引脚上的电平被三极管的集电极
‑
发射极端钳在低电平上,通信芯片u1将强制退出发送状态,进入数据接收状态,从而释放了总线数据控制权。泄压电阻r6在npn三极管的基极
‑
发射极端,可作为正常工作时,收发控制信号恢复后,充电电容c1所充电量的放电旁路通道,确保下个周期时充电电容c1能重新开始充电,保证了充电延时时间的平衡稳定。图中的第一上拉电阻r1与第二上拉电阻r2是在mcu处理器的io口设置为集电极开路输出形式时所采用的,这两个上拉电阻有利于提高信号稳定性。
31.优选的,所述rc延时电路的延时时间是根据通信中所发送数据的长度所需的时间而预先设定的,其中,所述rc延时电路的延时时间是大于通信中所发送数据的长度所需的最长时间。
32.优选的,所述mcu处理器是stm32系列的单片机,所述通信芯片u1是型号为max485的通信芯片。
33.优选的,在所述mcu处理器与所述通信芯片u1之间设有第一信号隔离电路,所述第一信号隔离电路可以采用光耦合器或磁耦合器。
34.优选的,在所述mcu处理器与所述通信芯片u1之间还设有第二号隔离电路,用于将收发控制端的后级信号反馈到所述mcu处理器,与此同时,在所述mcu处理器的程序中也需要增加对实际后级的收发端电平状态的实时检测。
35.参见图3,当mcu处理器的程序进入数据发送状态时,将收发控制信号ctr置为高电平1,检测反馈信号f的电平值是否为1,如果是则进入启动数据的发送子程序,如果否,则返回将收发控制信号ctr置为高电平1的步骤;参见图4,当mcu处理器的程序进入数据接收状态时,将收发控制信号ctr置为低电平0,检测反馈信号f的电平值是否为0,如果是则进入启动数据的接收子程序,如果否,则返回将收发控制信号ctr置为低电平0的步骤。
36.以上是以mcu处理器在程序上对收发状态进行安全管理的方法,在硬件上,在图5的虚框中的保护电路是专门解决通讯单元因电路故障或mcu处理器死机跑飞等异常时,系统刚好被锁定在发送状态时,导致整个通讯网络被占用的极端情况。所述保护电路允许系统的发送过程限制在一个有限的时间内,该时间由rc电路参数设定,只要能大于实际通讯中数据发送的最大时间,即能保证系统通讯的正常工作。一旦出现ctr
,
信号长期处于高电平时,当rc电路延时时间一到,便启动后级的三级管q1,将通讯芯片的收发端口强制钳位到低电平,从而主动释放总线资源,确保了在异常情况下,也不会导致整个网络全部瘫痪,搞高通讯的可靠性。
37.在不脱离发明思想的情况下,凡应用发明说明书及附图内容所做的各种等效变
化,均理同包含于发明的权利要求范围内。
转载请注明原文地址:https://doc.8miu.com/read-1749997.html