一种基于半双工通信总线的设计电路及方法、机器人

文档序号:1190476 发布日期:2020-08-28 浏览:24次 >En<

阅读说明:本技术 一种基于半双工通信总线的设计电路及方法、机器人 (Design circuit and method based on half-duplex communication bus and robot ) 是由 张礼富 熊友军 于 2020-05-29 设计创作,主要内容包括:本申请属于半双工通信技术领域,涉及一种基于半双工通信总线的设计电路及方法、机器人,包括状态检测电路、故障自退出电路以及主控电路,通过状态检测电路检测半双工通信总线的通信状态,并控制半双工通信总线至多仅处于数据发送状态或者数据接收状态,并且通过故障自退出电路检测到节点故障时实现自退出,以便其他终端设备使用半双工通信总线。由此实现了简单的流控、主动避让以及故障自退出功能,并且实现了设备主动上报功能,提升了半双工通信总线的带宽利用率,拓宽了半双工通信总线的应用能力,解决了现有的半双工通信总线技术存在着因不具备流量控制功能以及总线自保护机制缺失,在很大程度上限制了其应用的问题。(The utility model belongs to the technical field of half-duplex communication, and relates to a design circuit and a method based on a half-duplex communication bus, and a robot, comprising a state detection circuit, a fault self-quitting circuit and a main control circuit, wherein the state detection circuit is used for detecting the communication state of the half-duplex communication bus, controlling the half-duplex communication bus to be at most only in a data sending state or a data receiving state, and realizing self-quitting when detecting a node fault through the fault self-quitting circuit, so that other terminal devices use the half-duplex communication bus. Therefore, simple flow control, active avoidance and fault self-exit functions are realized, the active reporting function of the equipment is realized, the bandwidth utilization rate of the half-duplex communication bus is improved, the application capability of the half-duplex communication bus is expanded, and the problem that the application of the existing half-duplex communication bus technology is limited to a great extent due to the fact that the existing half-duplex communication bus technology does not have the flow control function and the bus self-protection mechanism is absent is solved.)

一种基于半双工通信总线的设计电路及方法、机器人

技术领域

本申请属于半双工通信技术领域,尤其涉及一种基于半双工通信总线的设计电路及方法、机器人。

背景技术

众所周知,单线串口(半双工)通信总线因其仅需一根通信线就可以完成总线数据传输功能,结构简单,走线方便,因而被广泛应用于像小型人型机器人这种多节点、小体积、对成本要求较高的产品上。

传统的单线串口(半双工)通信总线不具备流量控制功能,不具备总线状态检测功能以及总线自保护机制缺失,在很大程度上限制了其应用。

因此,现有的半双工通信总线技术存在着因不具备流量控制功能以及总线自保护机制缺失,在很大程度上限制了其应用的问题。

发明内容

有鉴于此,本申请实施例提供了一种基于半双工通信总线的设计电路及方法、机器人,旨在解决现有的半双工通信总线技术存在着因不具备流量控制功能以及总线自保护机制缺失,在很大程度上限制了其应用的问题。

本申请实施例的第一方面提供了一种基于半双工通信总线的设计电路,包括:

状态检测电路,与半双工通信总线连接,被配置为检测所述半双工通信总线的通信状态,并控制所述半双工通信总线至多仅处于数据发送状态或者数据接收状态;

故障自退出电路,与所述状态检测电路连接,被配置为检测到节点故障时实现自退出,以便其他终端设备使用所述半双工通信总线;以及

主控电路,与所述状态检测电路及所述故障自退出电路连接,被配置为控制所述状态检测电路及所述故障自退出电路工作。

优选地,所述状态检测电路包括:

非门、第一开关以及第二开关;

所述非门的输入端接所述第一开关的受控端,所述非门的输出端接所述第二开关的受控端,所述第一开关的输入端和所述第二开关的输入端接所述主控电路,所述第一开关的输出端和所述第二开关的输出端接所述半双工通信总线。

优选地,所述状态检测电路还包括:

第四电阻;

所述第四电阻的第一端接参考电压,所述第四电阻的第二端与所述第二开关的输入端以及所述主控电路共接。

优选地,所述主控电路包括:

主控芯片;

所述主控芯片的发送引脚接所述第一开关,所述主控芯片的接收引脚接所述第二开关,所述主控芯片的串口端接所述故障自退出电路;

并且,所述主控芯片仅在发送数据的预设时间段内使能所述发送引脚进行工作,其余时间均使能所述接收引脚进行工作。

优选地,所述主控芯片还设有外部中断检测引脚;

所述外部中断检测引脚与所述接收引脚连接,被配置为检测所述半双工通信总线的占用情况,以便在所述半双工通信总线未被占用时,所述主控芯片控制外部设备进行发送操作。

优选地,所述半双工通信总线的占用情况包括未知状态、空闲状态以及占用状态。

优选地,所述故障自退出电路还包括:

电容、第一二极管、第二二极管、开关管、第一电阻、第二电阻以及第三电阻;

所述第二电阻的第一端接参考电压,所述第二电阻的第二端、所述第三电阻的第一端、所述第一二极管的阳极以及所述电容的第一端共接并形成所述节点,所述第三电阻的第二端接所述第二二极管的阳极,所述第一二极管的阴极接所述开关管的受控端,所述第二二极管的阴极与所述第一电阻的第一端接所述主控电路,所述第一电阻的第二端与所述开关管的输入端接所述状态检测电路,所述电容的第二端与所述开关管的输出端接地。

优选地,当所述故障自退出电路工作于稳态;

所述主控芯片的串口端为低电平时,所述节点的电压为:

UA1=(UVBUS-UD12)*R3/(R2+R3);

所述主控芯片的串口端为高电平时,所述节点的电压为:

UA2=UD12+Ube

因此,所述主控芯片的串口端由低电平变高电平后的暂稳态时间T采用以下公式:

T=R2*C1*ln{(UVBUS-UA1)/(UVBUS-UA2)};

其中,UVBUS为所述半双工通信总线的电压,UD12为所述第一二极管或所述第二二极管的电压,所述第一二极管和所述第二二极管为型号相同的二极管,R2为所述第二电阻的阻值,R3为所述第三电阻的阻值,Ube为所述开关管导通时基极-发射极的电压,C1为所述电容的容值。

本申请实施例的第二方面提供了一种基于半双工通信总线的设计方法,包括:

采用状态检测电路检测半双工通信总线的通信状态,并控制所述半双工通信总线至多仅处于数据发送状态或者数据接收状态;

采用故障自退出电路检测到节点故障时实现自退出,以便其他终端设备使用所述半双工通信总线;

采用主控电路控制所述状态检测电路及所述故障自退出电路工作。

本申请实施例的第三方面提供了一种机器人,包括半双工通信总线和如上述所述的设计电路,以及对所述双工通信总线和所述设计电路进行封装的活动构件。

上述一种基于半双工通信总线的设计电路及方法、机器人,包括状态检测电路、故障自退出电路以及主控电路,通过状态检测电路检测半双工通信总线的通信状态,并控制半双工通信总线至多仅处于数据发送状态或者数据接收状态,并且通过故障自退出电路检测到节点故障时实现自退出,以便其他终端设备使用半双工通信总线。由此实现了简单的流控、主动避让以及故障自退出功能,并且实现了设备主动上报功能,提升了半双工通信总线的带宽利用率,拓宽了半双工通信总线的应用能力,解决了现有的半双工通信总线技术存在着因不具备流量控制功能以及总线自保护机制缺失,在很大程度上限制了其应用的问题。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一方面提供的一种基于半双工通信总线的设计电路的模块结构示意图;

图2为对应图1的一种基于半双工通信总线的设计电路的示例电路图;

图3为设备上电时半双工通信总线处于空闲态的波形示意图;

图4为设备上电时半双工通信总线处于占用态的波形示意图;

图5为设备对半双工通信总线的状态判定的波形示意图;

图6为串口数据帧格式及定时时间t定义的图形示意图;

图7为设备上电事件的处理流程示意图;

图8为外部中断检测引脚EXIT下降沿中断事件的处理流程示意图;

图9为定时器更新中断事件的处理流程示意图;

图10为本申请另一方面的提供的一种基于半双工通信总线的设计方法的步骤流程示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

请参阅图1,本申请一方面提供的一种基于半双工通信总线的设计电路的模块结构,为了便于说明,仅示出了与本实施例相关的部分,详述如下:

本申请一方面提供了一种基于半双工通信总线20的设计电路10,包括状态检测电路101、故障自退出电路102以及主控电路103。

状态检测电路101,与半双工通信总线20连接,被配置为检测半双工通信总线20的通信状态,并控制半双工通信总线20至多仅处于数据发送状态或者数据接收状态。

具体地,通过设置状态检测电路101控制半双工通信总线20至多仅处于数据发送状态或者数据接收状态,也即是半双工通信总线20要么处于空闲状态,要么处于数据发送状态,要么处于数据接收状态,因此,在一定程度上达到了对半双工通信总线20进行流控的作用,并且起到了对半双工通信总线20进行状态检测的功能。

故障自退出电路102,与状态检测电路101连接,被配置为检测到节点故障时实现自退出,以便其他终端设备使用半双工通信总线20。

具体地,设置故障自退出电路102检测到节点故障时实现自退出功能,也即是主动避让功能,以使得其他终端设备使用半双工通信总线20,建立了总线自保护机制,扩宽了半双工通信总线20的应用能力。

主控电路103,与状态检测电路101及故障自退出电路102连接,被配置为控制状态检测电路101及故障自退出电路102工作。

具体地,设置主控电路103控制状态检测电路101及故障自退出电路102工作,使得状态检测电路101有效地检测半双工通信总线20的通信状态,以及使得故障自退出电路102检测到节点故障时实现自退出功能。

图2为对应图1的一种基于半双工通信总线的设计电路的示例电路图,为了便于说明,仅示出了与本实施例相关的部分,详述如下:

作为本申请一实施例,上述状态检测电路101包括非门U2、第一开关K1以及第二开关K2。

非门U2的输入端接第一开关K1的受控端,非门U2的输出端接第二开关K2的受控端,第一开关K1的输入端和第二开关K2的输入端接主控电路103,第一开关K1的输出端和第二开关K2的输出端接半双工通信总线20。

需要说明的是,第一开关K1和第二开关K2的EN引脚(受控端)所连接信号分别为一逻辑非门U2的输入端和输出端,即第一开关K1和第二开关K2的使能信号互补,保证了随时都有发送引脚TX或接收引脚RX与半双工通信总线20(图2采用DBUS表示)相连,且仅有一个信号保持与DBUS相连,通过操作串口端TX_EN可实现让MCU的TX或RX之一引脚与DBUS相连,使能MCU往DBUS发送数据或从DBUS接收数据。当MCU需要发送数据时,让发送引脚TX与DBUS相连,当MCU准备接收数据时,让接收引脚RX与DBUS相连。实际工作时,MCU仅在需要在发送数据的短暂时间内保持发送引脚TX与DBUS相连,其余绝大部分时间MCU都是工作在准备接收状态,即接收引脚RX与DBUS保持连接。

作为本申请另一实施例,上述状态检测电路101还包括第四电阻R4。

第四电阻R4的第一端接参考电压VBUS,第四电阻R4的第二端与第二开关K2的输入端以及主控电路103共接。

具体地,为了保证半双工通信总线20空闲时接收引脚RX的电平处于稳定的高电平,采用第四电阻R4将接收引脚RX的电平拉高,第四电阻R4的取值建议选MΩ(兆欧)级,以保证半双工通信总线20上同时接多个设备时不至于变成强上拉。同样的,当前市场上有很多MCU支持直接在芯片内部设置引脚上拉功能,对于支持该功能的MCU,可优先使用芯片内部上拉省去外部上拉电阻(也即是第四电阻R4),因此在图2中将第四电阻R4与接收引脚RX间的连线标为虚线。

作为本申请一实施例,上述故障自退出电路102还包括电容C1、第一二极管D1、第二二极管D2、开关管D3、第一电阻R1、第二电阻R2以及第三电阻R3。

第二电阻R2的第一端接参考电压VBUS,第二电阻R2的第二端、第三电阻R3的第一端、第一二极管D1的阳极以及电容C1的第一端共接并形成节点A,第三电阻R3的第二端接第二二极管D2的阳极,第一二极管D1的阴极接开关管D3的受控端,第二二极管D2的阴极与第一电阻R1的第一端接主控电路103,第一电阻R1的第二端与开关管D3的输入端接状态检测电路,电容C1的第二端与开关管D3的输出端接地。

示例性的,上述参考电压VBUS也指的是半双工通信总线20的高电平电压,典型值为3.3V或5V。

作为本申请一实施例,上述主控电路103包括主控芯片U1。

主控芯片U1的发送引脚TX接第一开关K1,主控芯片U1的接收引脚RX接第二开关K2,主控芯片U1的串口端TX-EN接故障自退出电路20;

并且,主控芯片U1仅在发送数据的预设时间段内使能发送引脚TX进行工作,其余时间均使能接收引脚RX进行工作。

作为本申请另一实施例,上述主控芯片U1还设有外部中断检测引脚EXIT;外部中断检测引脚EXIT与接收引脚RX连接,被配置为检测半双工通信总线20的占用情况,以便在半双工通信总线20未被占用时,主控芯片U1控制外部设备进行发送操作。

示例性的,外部中断检测引脚EXIT与接收引脚RX相连,用于检测当前半双工通信总线20是否有数据正在传输(总线正被占用)。如果当前设备有数据需要发送,且检测到当前半双工通信总线20处于空闲状态(未被占用),则设备可直接进行数据发送操作;如果检测到当前半双工通信总线20已被占用,设备需等到其它正在占用半双工通信总线20的设备主动释放半双工通信总线20后才能进行发送操作。通过加入总线状态检测功能,可实现总线设备的主动避让功能,有些MCU的接收引脚RX支持外部中断及串口接收功能同时使用,该种情况下外部中断检测引脚EXIT和接收引脚RX可以是同一个引脚,因此图2采用虚线表示外部中断检测引脚EXIT。

具体地,半双工通信总线20的占用情况包括未知状态、空闲状态以及占用状态。如图3-图9所示,未知状态是暂态(短时间出现的),空闲状态和占用状态是稳态(可以长时间稳定存在的状态),未知状态出现于设备刚上电起到第一次判定DBUS总线状态为空闲状态或占用状态为止的时段内,如图3-图5所示。图中(Power)表示设备上电事件;

Figure BDA0002514839280000082

表示定时器更新中断事件,定时时间为t,t定义为串口发送最小数据帧时从起始位下降沿到停止位正开始位置的时间长度,如图6所示,例如串口波特率是1M,数据格式为1位起始位,8位数据位,1位停止位,那么t的取值等于9us;

Figure BDA0002514839280000083

表示EXIT引脚下降沿中断事件。

示例性的,当上述故障自退出电路102工作于稳态;电容C1为充电电容,第二电阻R2为充电电阻,第三电阻R3为放电电阻;第一二极管D1和第二二极管D2为型号相同的二极管,设其正向导通时管压降为UD12(典型硅管0.7V,锗管0.3V);开关管D3为一普通NPN三极管,工作于高开状态,导通时基极-发射极的电压为Ube(典型硅管0.7V,锗管0.3V);

主控芯片U1的串口端TX-EN为低电平时,节点A的电压为:

UA1=(UVBUS-UD12)*R3/(R2+R3);

主控芯片U1的串口端TX-EN为高电平时,节点A的电压为:

UA2=UD12+Ube

此时开关管D3的集电极-发射极导通,Uout为低电平。为了保证UA1<UA2,即(UVBUS-UD12)*R3/(R2+R3)<UD12+Ube,也即R3<R2*(UD12+Ube)/(UVBUS–2*UD12-Ube)时可使主控芯片U1的串口端TX_EN为低电平(0V),开关管D3的集电极-发射极断开,此时Uout=TX_EN(低电平0V),这时故障自退出电路102工作于稳态时,无论TX_EN高电平还是低电平,Uout均是低电平即串口工作于接收模式。

因此,主控芯片U1的串口端TX-EN由低电平变高电平后的暂稳态时间T采用以下公式:

T=R2*C1*ln{(UVBUS-UA1)/(UVBUS-UA2)};

其中,UVBUS为半双工通信总线20的电压,UD12为第一二极管或第二二极管的电压,第一二极管和第二二极管为型号相同的二极管,R2为第二电阻的阻值,R3为第三电阻的阻值,Ube为开关管导通时基极-发射极的电压,C1为电容的容值。

从上述公式可得,暂稳态时间T与第二电阻R2的阻值及电容C1的容值成正相关,即第二电阻R2的阻值及电容C1的容值共同决定设备单次最大可发送数据长度。工作时,使用该半双工通信总线20的设备须保证单次数据发送时间长度小于T(对于长数据可分包发送)。由于故障自退出电路102的加入,使得当半双工通信总线20上某一设备出现故障导致其自身串口端TX-EN常高,串口端TX-EN常低时不会长时间占用半双工通信总线20,避免让其它设备也无法使用半双工通信总线20,即设备出现故障时可自动退出半双工通信总线20。

本申请还提供了一种机器人,包括半双工通信总线20和如上述所述的设计电路10,以及对双工通信总线20和设计电路10进行封装的活动构件。

需要说明的是,该机器人是在上述设计电路10的基础上增加了半双工通信总线20和活动构件,因此关于设计电路中的状态检测电路101、故障自退出电路102以及主控电路103的功能描述及原理说明可参照图1至图9的实施例,此处不再详细赘述。

图10示出了本申请另一方面的提供的一种基于半双工通信总线的设计方法的步骤流程,为了便于说明,仅示出了与本实施例相关的部分,详述如下:

本申请另一方面还提供了一种基于半双工通信总线的设计方法,包括以下步骤:

S101.采用状态检测电路检测半双工通信总线的通信状态,并控制半双工通信总线至多仅处于数据发送状态或者数据接收状态;

S102.采用故障自退出电路检测到节点故障时实现自退出,以便其他终端设备使用半双工通信总线;

S103.采用主控电路控制状态检测电路及故障自退出电路工作。

由此可得,上述一种基于半双工通信总线的设计电路及方法、机器人的优势体现在以下几点:

1、一种带有流控、总线状态检测和故障自退出功能的单线串口(半双工)总线,其结构简单、走线方便,被广泛应用于像小型机器人这种多节点、体积小等产品;

2、实现简单的流控、主动避让以及故障自退出功能,还实现设备主动上报功能;

3、提升了半双工通信总线的带宽利用率,拓宽了半双工通信总线的应用能力。

综上所述,本申请实施例中的一种基于半双工通信总线的设计电路及方法、机器人,包括状态检测电路、故障自退出电路以及主控电路,通过状态检测电路检测半双工通信总线的通信状态,并控制半双工通信总线至多仅处于数据发送状态或者数据接收状态,并且通过故障自退出电路检测到节点故障时实现自退出,以便其他终端设备使用半双工通信总线。由此实现了简单的流控、主动避让以及故障自退出功能,并且实现了设备主动上报功能,提升了半双工通信总线的带宽利用率,拓宽了半双工通信总线的应用能力,解决了现有的半双工通信总线技术存在着因不具备流量控制功能以及总线自保护机制缺失,在很大程度上限制了其应用的问题。

在本文对各种器件、电路、装置、系统和/或方法描述了各种实施方式。阐述了很多特定的细节以提供对如在说明书中描述的和在附图中示出的实施方式的总结构、功能、制造和使用的彻底理解。然而本领域中的技术人员将理解,实施方式可在没有这样的特定细节的情况下被实施。在其它实例中,详细描述了公知的操作、部件和元件,以免使在说明书中的实施方式难以理解。本领域中的技术人员将理解,在本文和所示的实施方式是非限制性例子,且因此可认识到,在本文公开的特定的结构和功能细节可以是代表性的且并不一定限制实施方式的范围。

在整个说明书中对“各种实施方式”、“在实施方式中”、“一个实施方式”或“实施方式”等的引用意为关于实施方式所述的特定特征、结构或特性被包括在至少一个实施方式中。因此,短语“在各种实施方式中”、“在一些实施方式中”、“在一个实施方式中”或“在实施方式中”等在整个说明书中的适当地方的出现并不一定都指同一实施方式。此外,特定特征、结构或特性可以在一个或多个实施方式中以任何适当的方式组合。因此,关于一个实施方式示出或描述的特定特征、结构或特性可全部或部分地与一个或多个其它实施方式的特征、结构或特性进行组合,而没有假定这样的组合不是不合逻辑的或无功能的限制。任何方向参考(例如,加上、减去、上部、下部、向上、向下、左边、右边、向左、向右、顶部、底部、在…之上、在…之下、垂直、水平、顺时针和逆时针)用于识别目的以帮助读者理解本公开内容,且并不产生限制,特别是关于实施方式的位置、定向或使用。

虽然上面以某个详细程度描述了某些实施方式,但是本领域中的技术人员可对所公开的实施方式做出很多变更而不偏离本公开的范围。连接参考(例如,附接、耦合、连接等)应被广泛地解释,并可包括在元件的连接之间的中间构件和在元件之间的相对运动。因此,连接参考并不一定暗示两个元件直接连接/耦合且彼此处于固定关系中。“例如”在整个说明书中的使用应被广泛地解释并用于提供本公开的实施方式的非限制性例子,且本公开不限于这样的例子。意图是包含在上述描述中或在附图中示出的所有事务应被解释为仅仅是例证性的而不是限制性的。可做出在细节或结构上的变化而不偏离本公开。

以上仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本申请的保护范围之内。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种半双工中继电路

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类