UART接口串联网络的时分复用装置、时分复用方法及其控制方法与流程

文档序号:14950613发布日期:2018-07-17 22:28阅读:726来源:国知局

本发明涉及一种uart接口的多个芯片或多个设备串联通信的芯片和电子设备接口领域,特别涉及一种uart接口串联网络的时分复用装置、时分复用方法及其控制方法。



背景技术:

目前大多数的设备的低速配置接口或低速数据传输接口采用uart传输接口,简单方便,只需要2根i/o(不含流控线),连线布局简单。

请参阅图1所示,在多设备串联的时候,如一个设备提供两个uart接口,然后两两互联,每个设备都可以给其它设备发送数据,或主设备可以给其它工作单元发送数据,所有工作单元向主设备自动上报数据,由于是串行结构,而不是树形或者星形结构,主设备不能跟其它所有工作单元一一相连,只能通过每个工作单元作为中继转发数据。如果uart接口不包括流控,则工作单元在上报数据时可能会产生冲突导致误码,而包含流控线,将会使得设计变复杂,而且会给串联电源方案带来很麻烦的问题。

对于通过uart串联的多个设备,如果每个工作单元都需要向主设备上报数据,则可能产生冲突,采用流控线进行逐级流控可以避免冲突,但是需要每级设备增加缓存,不过合适的缓存深度很难计算,数据丢失还是不可避免。



技术实现要素:

本发明的目的是提供一种无需流控和缓存,只需要增加一个计数器,使得uart接口在串联的情况下能够安全有序地工作,不出现数据冲突导致误码、数据丢失的uart接口串联网络的时分复用装置、时分复用方法及其控制方法。

本发明的技术解决方案是所述uart接口串联网络的时分复用装置,包括主控设备和从设备,其特殊之处在于,各设备之间通过uart接口连接传递数据,其中一条用于主设备发送数据给所有从设备,另一条用于所有从设备发送数据给主设备。

本发明的另一技术解决方案是所述uart接口串联网络的时分复用方法,包括主控设备和从设备,其特殊之处在于,包括以下步骤:

⑴所述主控设备发送计时器同步命令给与所述主控设备首尾串联的若干个所述的从设备,所述从设备透明传输所述主控设备的命令,不加延时或仅加入固定节拍的延时;

⑵所述从设备计时器与所述主设备同步后,从所述主设备向各所述从设备分别配置一个发送起始时间,各所述从设备的起始时间差等于所述从设备数据传输宽度加所述从设备之间线路传输延迟、计时器同步误差、时钟误差;

⑶各所述从设备的可用发送时间窗口长度由待发送的数据长度确定,通过静态预估或动态分配的方式管理每个所述从设备的窗口长度;

⑷当所述主控设备有数据待发送时,先缓存起来,等待计时器值等于配置的发送起始时间值,则从缓存中读出数据开始发送;

⑸当计时器值等于配置的发送起始时间值,缓存为空,则发送idle,若在该段时间内有数据进入缓存需要发送,则需等待下一次发送窗口才能发送;

⑹每一级所述从设备在自己不发数据时,均直接透传后级从设备的发送数据,无论是否为idle。

作为优选:所述步骤⑵进一步包括:

(2.1)每一级所述从设备增加一级时间窗口计时器,用于控制整个串联网络的时间同步;

(2.2)每一级所述从设备采用同源时钟作为所述计时器的时钟源,如果采用异步时钟,则需要定期同步时间窗口计时器;

(2.3)配置每一级所述从设备的时间窗口计时器最大值;当计时到最大值时归零重新开始计时;

(2.4)配置每一级所述从设备的时间窗口发送起始时刻,每一级所述从设备的时间窗口发送起始时刻应错开,避免数据重叠。

作为优选:所述步骤⑶进一步包括:

(3.1)采用静态预估的方式,只需配置一次窗口长度,后续一直采用配置的固定长度发送数据。

作为优选:所述步骤⑹进一步包括:

(6.1)当计时器值等于配置的发送起始时刻,如果当前数据缓存中有数据待发送,则发送数据,否则发送idle字符;

(6.2)通过广播发送时间窗口计时器,让每一级所述从设备的计时器同步清零,避免各级所述从设备的计时器不同步。

本发明的再一技术解决方案是所述uart接口串联网络时分复用装置的控制方法,其特殊之处在于,包括以下步骤:

⑴将uart接口分别设置在多路复用器的s1引脚和d引脚;

⑵判断主控设备发送计时器给与所述主控设备首尾串联的若干所述从设备uart接口的指令是否为同步指令;若为是,传达指令给计时器,从所述主设备向各所述从设备分别配置一个发送起始时间,各所述从设备的起始时间要留足够的余量;循环加1,达到窗口最大值时归零,再进一步判断是否“等于”;

⑶判断主控设备发送计时器给与所述主控设备首尾串联的若干所述从设备uart接口的指令是否为同步指令;若为否,则进一步判断是否需要配置指令,若为否,则执行其他指令;若为是,则配置起始时刻,进一步判断是否“等于”;

⑷判断是否“等于”,若为否,则将信号传输至多路复用器的c引脚;若为是,则缓存并等待下一次发送窗口才能发送;

⑸当计时器值等于配置的发送起始时间值,缓存为空,则发送idle,并进入发送逻辑,若为是,则直接发送逻辑,将信号传输至多路复用器的s2引脚。

与现有技术相比,本发明的有益效果:

⑴采用本发明可以节省掉uart接口的流控线(cts/rts)。

⑵采用本发明可以简化设备串联/级联场景下的i/o设计和电源方案,因为没有流控线的双向连接,可以简化成设备之间只采用单向连接,i/o不需要考虑反向驱动升压的问题。

⑶本发明结构简单,主要为配置模块、计时模块、发送模块、总线选择器。

⑷本发明简化了uart串联场景下的连线,无需流控也可以安全可靠的传输数据,同时可以简化i/o设计和电源方案。

附图说明

图1是现有技术中串联场景的框图;

图2是本发明各设备之间通过uart接口连接传递数据的双向串联场景的框图;

图3是本发明时分复用时隙分配示意图;

图4是本发明时分复用的软件流程图。

具体实施方式

本发明下面将结合附图作进一步详述:

图2示出了本发明的uart接口串联网络的时分复用装置。

请参阅图2所示,所述uart接口串联网络的时分复用装置包括主控设备和从设备,各设备之间通过uart接口连接传递数据,其中一条用于主设备发送数据给所有从设备,另一条用于所有从设备发送数据给主设备。

图2、图3示出了本发明的uart接口串联网络的时分复用方法。

请参阅图2、图3所示,所述uart接口串联网络的时分复用方法,包括以下步骤:

⑴所述主控设备发送计时器同步命令给与所述主控设备首尾串联的若干个所述的从设备,所述从设备透明传输所述主控设备的命令,不加延时或仅加入固定节拍的延时;

⑵所述从设备计时器与所述主设备同步后,从所述主设备向各所述从设备分别配置一个发送起始时间,各所述从设备的起始时间差等于所述从设备数据传输宽度加所述从设备之间线路传输延迟、计时器同步误差、时钟误差;

(2.1)每一级所述从设备增加一级时间窗口计时器,用于控制整个串联网络的时间同步;

(2.2)每一级所述从设备采用同源时钟作为所述计时器的时钟源,如果采用异步时钟,则需要定期同步时间窗口计时器;

(2.3)配置每一级所述从设备的时间窗口计时器最大值;当计时到最大值时归零重新开始计时;

(2.4)配置每一级所述从设备的时间窗口发送起始时刻,每一级所述从设备的时间窗口发送起始时刻应错开,避免数据重叠;

⑶所述各从设备的可用发送时间窗口长度由待发送的数据长度确定,通过静态预估或动态分配的方式管理每个所述从设备的窗口长度;

(3.1)采用静态预估的方式,只需配置一次窗口长度,后续一直采用配置的固定长度发送数据;

⑷所述从设备之间的余量由线路传输延迟、计时器同步误差、时钟误差来确定;

⑸当所述主控设备有数据待发送时,先缓存起来,等待计时器值等于配置的发送起始时间值,则从缓存中读出数据开始发送;

⑹当计时器值等于配置的发送起始时间值,缓存为空,则发送idle,若在该段时间内有数据进入缓存需要发送,则需等待下一次发送窗口才能发送;

(6.1)当计时器值等于配置的发送起始时刻,如果当前数据缓存中有数据待发送,则发送数据,否则发送idle字符;

(6.2)通过广播发送时间窗口计时器,让每一级所述从设备的计时器同步清零,避免各级所述从设备的计时器不同步;

⑺每一级所述从设备在自己不发数据时,均直接透传后级从设备的发送数据,无论是否为idle。

图4示出了本发明uart接口串联网络时分复用装置的控制方法。

请参阅图4所示,所述uart接口串联网络时分复用装置的控制方法,包括以下步骤:

⑴将uart接口分别设置在多路复用器的s1引脚和d引脚;

⑵判断主控设备发送计时器给与所述主控设备首尾串联的若干所述从设备uart接口的指令是否为同步指令;若为是,传达指令给计时器,从所述主设备向各所述从设备分别配置一个发送起始时间,各所述从设备的起始时间要留足够的余量;循环加1,达到窗口最大值时归零,再进一步判断是否“等于”;

⑶判断主控设备发送计时器给与所述主控设备首尾串联的若干所述从设备uart接口的指令是否为同步指令;若为否,则进一步判断是否需要配置指令,若为否,则执行其他指令;若为是,则配置起始时刻,进一步判断是否“等于”;

⑷判断是否“等于”,若为否,则将信号传输至多路复用器的c引脚;若为是,则缓存并等待下一次发送窗口才能发送;

⑸当计时器值等于配置的发送起始时间值,缓存为空,则发送idle,并进入发送逻辑,若为是,则直接发送逻辑,将信号传输至多路复用器的s2引脚。

以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明权利要求的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1