一种采用串行通信接口的同步时分多路复用总线通信方法

文档序号:7862609阅读:416来源:国知局
专利名称:一种采用串行通信接口的同步时分多路复用总线通信方法
技术领域
本发明涉及的是一种总线通信方法,具体涉及的是一种采用串行通信接口的同步时分多路复用总线通信方法。
背景技术
在工业控制中,自动装置总会使用大量的输入和输出接口,用来采集各种传感器的信号、开关量信号,以及控制继电器的出口。在形式上大多是采用主控板和输入、输出板实现。早些时候,输入、输出板的每一个通道都是与主控板的MCU引脚直接相连,这就需要主控MCU的引脚必须满足量的需求,同时不同的应用场合需要的输入、输出的个数也不一样,造成主控板的通用性下降。目前,自动装置已经普遍采用总线来做为主控板与输入、输出板之间通信的桥梁。 在输入、输出板上具有MCU用来处理各种输入、输出信号,并与主控板的MCU进行通信,因而内部总线的结构决定了自动装置的时效性与稳定性。然而普通的串行或并行通信方式并不能满足强干扰下的实时通信需求,因此,各厂家开始开发各自装置的总线来满足强干扰下的实时通信需求。但由于目前的装置内部总线种类繁多,如有并行总线,也有串行总线,有通过FPGA实现的,也又通过CPLD实现的,以及有通过其他MCU实现的;有使用SPI接口的,有使用SCI接口的,也有使用CAN接口的等繁多复杂。对于这种主控板与输入、输出板之间通信报文不长且长度固定的场合,很难开发出结构简单合乎要求的总线,难以满足实时通信的要求。为满足上述要求,目前很多也都使用了 TDM (时分多路复用)的总线技术来开发总线,如中国专利申请号200420025265. 9,公开号为CN2710264公开的《时分多路实时通讯总线》,其是采用SPI的时分多路实时通讯总线,它是由主机、从机,以及SPI通讯总线中的MOSI数据线、MISO数据线、SCK数据时钟信号线和SS从机SPI通讯片选控制线构成,其特征在于包括一个判断模块,所述的主机的MOSI数据线、MISO数据线以及SCK数据时钟信号线分别与各从机的MOSI数据线、MISO数据线以及SCK时钟信号线相连接,其中主机的SCK时钟信号线在各从机的SCK时钟信号线相连接的同时还额外引入到各从机所属的判断模块,而各判断模块的输出控制线与各对应从机的SPI通讯片选控制线SS相连。该通讯总线利用每个信号在时间上的交叉,就可以在一条物理信道上传输多个数字信号,从而使自动装置的通用性得以扩大,特别是在需要大量开关量输入输出的应用场合。而这种通讯总线虽然达到了实时通讯的目的,但其由于硬件电路以及线路复杂,总线的实现对MCU的硬件要求较高,其实现方法复杂,大大增加了使用成本,通信实时性难以可控,通信实时性受到硬件电路的影响,同时影响通信的可靠性和总线的速度。因此,基于上述,无论是哪种内部总线方式,要么是采用了额外的高速逻辑芯片来提高总线的速度和可靠性,要么是采用了多根数据线或者额外的电路来对总线进行控制以保证速度和可靠性,或者是在速率和可靠性上做一个取舍,其均对MCU的硬件要求较高,硬件电路复杂,受到硬件设备影响度大,使其通信的可靠性和总线的速度受到了局限性,难以实现高可靠性同时又能满足高速度的实时性要求。

发明内容
针对现有技术上存在的不足,本发明目的是在于提供一种在绝大多数MCU都具备的基础上,仅利用两根物理连线实现高可靠的差分连接,同时又能满足高速度的实时性要求的同步时分多路复用总线通信方法,解决了装置内部模块的总线通信问题,实现通信实时性可控,减少硬件电路复杂程度,增强通用性和可靠性。为了实现上述目的,本发明是通过如下的技术方案来实现—种采用串行通信接口的同步时分多路复用总线通信方法,其包括主机和多个从机,所述主机和从机均包括SCI (Serial Communication Interface,串行通信接口)接口和具有定时器的微控制单元(MCU),所述主机和从机的收、发数据线均分别与总线相连接,其特征在于,其总线通信方法为当主机每发送一次各从机对应需要的下行数据报文时,各 个从机通过SCI接口接收数据,等待一段时间间隔后,从机开始发送上行数据报文,每当上 一从机发送上行数据报文后,等待相同的时间间隔,下一从机开始发送上行数据报文,依次类推实现总线通信方法;所述从机发送上行数据报文方法从机接收数据后,判断是否为主机数据;当数据判断为不是主机数据时,对数据不做处理,从机继续接收数据;当数据为主机数据时,启动定时器,再对接收的主机数据进行数据校验,如果校验不通过则关闭定时器,继续接收总线数据;如果校验通过,从机开始进行数据处理,等待到定时器中断发生时,从机通过SCI发送数据报文。为了提高通信的可靠性,减少误码率,在所述总线物理上通过单端差分信号转换芯片将总线转换成差分线,所述主机和从机通过差分线与总线相连接。作为优选,所述等待一段时间间隔和等待相同的时间间隔均为一个Idle的时间间隔。作为优选,所述总线采用的是半双工的通信模式。本发明通过上述方法,其总线物理构成简单,仅仅使用两根差分线,即可实现高可靠的实时总线通信,同时又能满足高速度的实时性要求,在外部干扰较小的情况下甚至可以采用单根信号线的方式实现,总线的实现对MCU的硬件要求较低,有SCI接口和定时器的MCU都可以实现;不同从机的可以根据实际的情况选择不同的波特率与等待时间,完成实时性要求,采用同步时分多路复用,主机按照时间间隔来填充数据内存,处理从机的总线数据程序简单;主机发送报文是从机发送报文的节拍,每次主机下传报文,都是对从机的对时,保证从机发送节拍的准确性,并且可以根据主机的任务量来选择不定长的周期,而不会造成从机的失步,解决了装置内部模块的总线通信问题,实现通信实时性可控,减少硬件电路复杂程度,增强通用性和可靠性。


下面结合附图和具体实施方式
来详细说明本发明;图I为本实施例的系统图;图2为本实施例的本实施例的带地址位的报文帧格式示意图3为本实施例的一次通讯流程示意图;图4为本实施的从机发送上行数据报文的流程示意图。
具体实施例方式为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式
,进一步阐述本发明。参见图1,本实施例中是提供一种解决了装置内部模块的总线通信问题的采用串行通信接口的同步时分多路复用总线通信方法,总线采用半双工的通信模式,即可实现高可靠的实时总线通信,同时又能满足高速度的实时性要求。本实施例的主机和多个从机的收、发数据线都分别与总线相连接,在任意时刻仅有一个设备占用总线资源,发送数据,其他设备接收数据。为了提高通信的可靠性,减少误码率,总线物理上通过单端差分信号转换 芯片将总线转换成差分线,即收、发数据线采用的是差分线,主机和多个从机差分线通过与总线相连接。图2为本实施例的带地址位的报文帧格式示意图,其中,Start位开始位,I位数据位,I位地址位,I位停止位。本实例的通信采用带地址位的报文帧,其实现方法如下通信回路分为上行报文和下行报文,其中下行报文,地址位为1,由主机发往从机。采用一主多从、主发从收的方式,各从机在收到的报文中读取自己需要的信息。下行报文的频率作为从机的工作节拍。上行报文,地址位为0,由从机发往主机。采用时分多路复用的方式。当从机收到地址位为I的报文时,按照自己的地址号延时一定时间后再发送上传数据,从而实现多路复用。当从机收到地址为O的报文时,不做处理。本实施例中的主机发送下行报文时长T主;每个从机发送上行报文时长Τ从;两次发送间的等待时间Idle。参见图3,本实施例的采用串行通信接口的同步时分多路复用总线通信方法,其方法为主机发送下行数据报文,I号从机通过串行通信接口即SCI接口接收数据后,等待Idle的时间间隔,I号从机开始发送上行数据报文,等待Idle的时间间隔,2号从机开始发送上行数据报文,等待Idle的时间间隔,以此类推,等待Idle的时间间隔,N号从机开始发送上行数据报文,等待Idle的时间间隔,主机再次发送下行数据报文,从而完成数据通讯。从机开放SCI开始接收数据报文,判别地址位是否是主机数据。如果是其他从机数据,不做处理。如果是主机数据,启动定时器(定时时间长度由Ι(11θ、Τλ和η来确定)。再对接收的主机数据进行数据校验。如果校验不通过则关闭定时器,继续接收总线数据。如果校验通过,从机开始进行数据处理。等待到定时器中断发生时,从机通过SCI发送数据报文。报文发送时间计算第N个从机发送时刻tn tn=Idle+ (Idle+T 从)X (η_1) η 为地址号(I......N)一次通信周期T T=T 主+Idle+ (Idle+T 从)Xn η 为地址号(I......N)根据系统的实际需求,确定一次通信周期T和系统中最大从机数目,选择恰当的波特率和等待时间即可完成规定时间内的数据通讯。例如现在系统通信周期500us,最大子机数目10个,设置波特率3. 75mbps,主机下行报文16个字节,从机上行报文10个字节,则等待时间 Idle=[500-(16Xll/3. 75)_10X (10X11/3. 75)1/(10+1) ^ 14. 5us。设置从机等待时间则可以实现周期为500us的实时通信。综上所述,本发明的总线物理构成简单,仅仅使用两根差分线,即可实现高可靠的实时总线通信,在外部干扰较小的情况下甚至可以采用单根信号线的方式实现。总线的实现对MCU的硬件要求较低,有SCI接口和定时器的MCU都可以实现。不同的从机可以根据实际的情况选择不同的波特率与等待时间,完成实时性要求。采用同步时分多路复用,主机按照时间间隔来填充数据内存,处理从机的总线数据程序简单。主机发送报文是从机发送报文的节拍,每次主机下传报文,都是对从机的对时,保证从机发送节拍的准确性。可以根据主机的任务量来选择不定长的周期,而不会造成从机的失步。 本发明在内部总线就是在绝大多数MCU都具备的基础上,仅仅利用两根物理连线实现高可靠的差分连接,同时又能满足高速度的实时性要求。以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
权利要求
1.一种采用串行通信接口的同步时分多路复用总线通信方法,其包括主机和多个从机,所述主机和从机均包括串行通信接口和具有定时器的微控制单元,所述主机和从机的收、发数据线均分别与总线相连接,其特征在于,其总线通信方法为当主机每发送一次各从机对应需要的下行数据报文时,各个从机通过SCI接口接收数据,等待一段时间间隔后,从机开始发送上行数据报文,每当上一从机发送上行数据报文后,等待相同的时间间隔,下一从机开始发送上行数据报文,依次类推实现总线通信方法。
2.根据权利要求I所述的一种采用串行通信接口的同步时分多路复用总线通信方法,其特征在于,所述从机发送上行数据报文的方法为从机接收数据后,判断是否为主机数据;当数据判断为不是主机数据时,对数据不做处理,从机继续接收数据;当数据为主机数据时,启动定时器,再对接收的主机数据进行数据校验,如果校验不通过则关闭定时器,继续接收总线数据;如果校验通过,从机开始进行数据处理,等待到定时器时间到达,从机通过SCI发送数据报文。
3.根据权利要求I或2所述的一种采用串行通信接口的同步时分多路复用总线通信方法,其特征在于,在所述总线物理上通过单端差分信号转换芯片将总线转换成差分线,所述主机和从机通过差分线与总线相连接。
4.根据权利要求I或2所述的一种采用串行通信接口的同步时分多路复用总线通信方法,其特征在于,所述等待一段时间间隔和等待相同的时间间隔均为一个Idle的时间间隔。
5.根据权利要求I或2所述的一种采用串行通信接口的同步时分多路复用总线通信方法,其特征在于,所述总线采用的是半双工的通信模式。
全文摘要
本发明公开的是一种采用串行通信接口的同步时分多路复用总线通信方法,主机和从机的收、发数据线均分别与总线相连接,其方法为当主机每发送一次各从机对应需要的下行数据报文时,各个从机通过SCI接口接收数据,等待一段时间间隔后,从机开始发送上行数据报文,每当上一从机发送上行数据报文后,等待相同的时间间隔,下一从机开始发送上行数据报文,依次类推实现总线通信方法。在绝大多数MCU都具备的基础上,仅利用两根物理连线实现高可靠的差分连接,同时又能满足高速度的实时性要求,解决了装置内部模块的总线通信问题,实现通信实时性可控,减少硬件电路复杂程度,增强通用性和可靠性。
文档编号H04J3/16GK102868584SQ20121038280
公开日2013年1月9日 申请日期2012年10月11日 优先权日2012年10月11日
发明者徐秦, 孙永先, 吴哲, 陈荣柱, 戴瑞海, 刘曦, 奚洪磊, 杨振 申请人:江苏西电南自智能电力设备有限公司, 温州电力局
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1