时分多路实时通讯总线的制作方法

文档序号:7602146阅读:493来源:国知局
专利名称:时分多路实时通讯总线的制作方法
技术领域
本实用新型涉及一种多路传输通信设备,更确切地说本实用新型涉及一种时分多路技术的SPI通讯方案。属于通讯传输技术领域。
背景技术
在工业控制中,自动装置总需要进行一些开关量输入信号的采集、开关量输出信号的操作。自动装置常采用一块智能控制板和若干块开关量输入采集板和开关量输出操作板实现。主控MCU通过I/O引脚采集开关量输入板上的开关量输入状态,有多少开关量输入就需要占用多少MCU引脚;主控MCU通过I/O引脚控制开关量输出板上的相应开关量输出接点,有多少开关量输出就需要占用多少MCU引脚。而在不同的应用场合,开关量输入输出的数量往往不同。这样一来,对自动装置智能控制板的通用性就造成了影响,特别是在需要大量开关量输入输出的应用场合,应用起来更加困难。
如果在设计上,将开关量输入和开关量输出作为含有MCU的独立功能模块,主控MCU通过串行总线与各模块通讯,则可以解决上面的问题,但也带来了新的问题。由于普通的串行总线技术通讯速率不高,且主机一次只能和一台从机通讯。如果要和多个从机通讯,则系统有较大的延时,特别是在受到干扰而产生误码的时候更加影响系统的通讯速度。所以普通串行总线技术不实用于对实时性要求较高的应用场合。
由于采用串行通讯方式时主机和从机之间交换的数据报文为各输入输出模块的状态信息,报文不长且长度固定。而自动控制装置又需要准确快速,既对实时性要求比较高。所以我们决定采用了基于时分多路技术的SPI串行通讯方式。
SPI(Serial Peripheral Interface--串行外设接口)总线技术是一种串行接口,它可以使MCU与各种外围设备以及其他MCU之间以串行方式进行数据交换,且可以提供较高的通讯速率。在工业控制方面有广泛的应用。
利用SPI总线可在软件的控制下构成各种系统。如1个主机和几个从机、几个从机相互连接构成多主机系统(分布式系统)。在大多数应用场合,可使用1个MCU作为主机来控制数据的收发,并向1个或几个由MCU或带有SPI通讯功能的控制器组成的从机传送数据。如图1所示,主机使用自己的I/O引脚作为SPI片选信号线,通过片选某一从机与该从机进行通讯。

发明内容
本实用新型的目的在于利用时分多路技术的SPI通讯方案,利用每个信号在时间上的交叉,就可以在一条物理信道上传输多个数字信号,从而使自动装置的通用性得以扩大,特别是在需要大量开关量输入输出的应用场合。
本实用新型是采取以下的技术方案来实现的一种时分多路实时通讯总线,主要由主机、从机,以及SPI通讯总线中的MOSI(SPI Bus Master Output/Slave Input)数据线、MISO(SPI BusMaster Input/Slave Output)数据线、SCK(SPI Bus Serial Cloc)数据时钟信号线和SS(SPI Slave Select Input)从机SPI通讯片选控制线构成,其特征在于还包括一个判断模块,所述的主机的MOSI数据线、MISO数据线以及SCK数据时钟信号线分别与各从机的MOSI数据线、MISO数据线以及SCK时钟信号线相连接,其中主机的SCK时钟信号线在与各从机的SCK时钟信号线相连接的同时还额外引入到各从机所属的判断模块,而各判断模块的输出控制线与各对应从机的SPI通讯片选控制线SS相连。
本实用新型还可以采取以下的技术方案来进一步实现前述的一种时分多路实时通讯总线,其特征在于所述的判断模块由计数器、比较器组成。
前述的一种时分多路实时通讯总线,其特征在于所述的判断模块还包括逻辑门。
前述的一种时分多路实时通讯总线,其特征在于所述的判断模块在功能上分为两部分分频计数部分和比较片选部分。
前述的一种时分多路实时通讯总线,其特征在于其中所述的分频计数部分由1个8进制计数器、1个N进制计数器、1个K进制计数器组成。
前述的一种时分多路实时通讯总线,其特征在于其中所述的比较片选部分至少由1个比较器构成。
时分多路(TMD)技术当物理信道可支持的位传输速率超过单个原始信号要求的数据传输速率时,可以将该物理信道划分成若干时间片,并将各个时间片轮流地分配给多路信号,使得它们在时间上不重叠,这样,利用每个信号在时间上的交叉,就可以在一条物理信道上传输多个数字信号。
我们基于时分多路技术对SPI通讯的标准连接方法做了改动,如图2所示。总线上只保留了SCK时钟信号线、MOSI数据线、MISO数据线,每个从机都配备一个判断模块,取消了主机用来片选从机的SPI通讯使能控制端SS的控制线,而是将进入从机的SCK数据时钟信号引入到相应从机的判断模块,由判断模块根据SCK数据时钟信号计算后片选所属从机。通讯时,在主机发动的一帧SPI通讯时间内,从机按一定顺序轮流与主机通讯,且时间上不重叠。控制模块保证在任何时刻最多只允许一个从机与主机通讯。


图1是一主多从式标准SPI连接方式图2是基于时分多路技术的SPI连接方式图3是判断模块的一种示意图,其中SPI数据时钟信号(1)、计数器复位(2)、片选输出使能从机SPI通讯(3)、地址信息(4);图4是判断模块在一种特殊情况下的示意图;图5是判断模块在另一种特殊情况下的示意图;具体实施方式
实施例1如图2和图3或图4所示本实用新型为一种时分多路实时通讯总线,其中在所有从机的SPI缓冲字节数都相同的情况下首先,假设每个从机SPI缓冲字节数都相同。我们先对这种情况下新方案的通讯方式做一分析。
设N主机SPI缓冲字节数n从机SPI缓冲字节数k总线上欲配置的从机数(k≥2)。1号从机在0号地址上;2号从机在地址2号地址上;以此类推,k号从机在k-1号地址上。
s主机一次完整SPI通讯过程中,从机遍历到的次数在主机发动的一次SPI通讯过程中,主机一次发送了N个字节的数据给k个从机,每个从机一次可以接收n个字节的数据,这样,在主机一次完整的SPI通讯过程中,每个从机总共经历了s次通讯。所以,存在这样的关系N=n×k×s。
判断模块由计数器、比较器和一些逻辑门组成。一个判断模块需要两个部分分频计数部分和比较片选部分。如图3所示判断模块的设计方法。
1)先介绍n>1既从机SPI缓冲字节数>1且log2k≠自然数时的情况。
A)分频计数部分分频计数部分由1个8进制计数器、1个n进制计数器、1个k进制计数器组成。因为主机一次SPI通讯发出N个字节,所以就会发出N×8个SCK数据时钟周期,既每一位数据对应一个SCK数据时钟周期。判断模块首先将主机发来的SCK数据时钟信号送入分频计数部分的8进制计数器的串行输入端,从其进位溢出端得到8分频后的时钟信号送到后继的n进制计数器的串行计数输入端,既使得在通讯上,每收发一字节数据,n进制计数器加1。n进制计数器对送来的分频后的时钟信号进行计数,其进位溢出端接k进制计数器的串行计数输入端,既使得在时间上,每一个从机完成一次SPI通讯,k进制计数器就加1。k进制计数器的并行计数输出端并行输出计数值,送到判断模块的比较片选部分。而k进制计数器产生一次进位溢出,则说明所有从机都与主机通讯过一遍。
B)比较片选部分比较片选部分至少由一个比较器构成,1号从机将先前分频计数部分得到的计数值与0做比;2号从机将先前分频计数部分得到的计数值与1做比;以此类推,k号从机将先前分频计数部分得到的计数值与k-1做比。如果计数值与比较值相同,则比较器的比较匹配输出端通过输出控制线片选所属从机的SPI通讯使能控制端SS从而使能该从机SPI通讯,反之,则禁止所属从机的SPI通讯。
2)如果n=1,既当从机SPI缓冲字节为1字节时,分频计数部分的n进制计数器将省略,直接将8进制计数器分频后的时钟信号接到k进制计数器的串行计数输入端。
3)如果log2k为自然数,k进制计数器将省略,由前面n进制计数的并行计数输出端输出计数值,送到后面比较片选部分。
4)如果n=1且log2k也为自然数,就可直接由8进制计数器的并行计数输出端输出计数值送到后面的比较片选部分了。如图4既为n=1且k=16时的判断模块的示意图。
为保证通讯的准确,在通讯规则上我们可以设定,主机在每帧SPI通讯之间加一段空闲时间用来同步SPI通讯,当捕捉到这段空闲时间,各从机所属判断模块的分频计数部分随即复位。
实施例2如图5所示本实用新型一种时分多路实时通讯总线,其中当各从机的SPI缓冲字节数有不相同的情况。
有了上面的分析,当发生从机的SPI缓冲字节数有不相同的情况时,我们需要在判断模块的分频计数部分再增加一个k进制计数器复位单元。
假设在使用新SPI通讯方案的系统中,各从机的SPI缓冲大小有不同,有的为n字节,有的为m字节(m<n),判断模块的设计方法如下首先,我们在计数器的选择上取“就大”原则,所有从机的判断模块中仍然使用n进制计数器。而在SPI缓冲为m字节的从机侧判断模块中的分频计数部分再增加一个与n进制计数器有相同计数时钟源的m进制计数器,既k进制计数器复位单元。然后,将此m进制计数器的复位端与同一判断模块中比较器的比较匹配输出端相连,当比较器比较匹配而使能该从机SPI通讯时,m进制计数器开始计数,否则m进制计数器一直处于复位状态。另外,将该m进制计数器的进位溢出端接到同一判断模块中k进制计数器的复位端。当m进制计数器溢出时,既该SPI缓冲字节长度为m的从机SPI通讯完成时,k进制计数器被复位,随即禁止了该从机的SPI通讯。如图5。
基于时分多路的串行通讯技术特别适用于通讯报文长不长且报文大小固定,且实时性要求较高的应用场合。我们在控制模块的设计中也可以利用CPLD(可编程逻辑阵列),将上述复杂的逻辑功能固化在CPLD芯片中,一来节省了生产成本和复杂度,二来我们可以通过只改变CPLD中的逻辑电路设计来适应不同场合的需要。
除上述实施外,凡采用等同替换或等效变换的形式所获得的技术方案,均落在本实用新型的保护范围之内。
权利要求1.一种时分多路实时通讯总线,主要包括主机、从机,以及SPI通讯总线中的MOSI数据线、MISO数据线、SCK数据时钟信号线和SS从机片选控制线构成。其特征在于还包括一个判断模块,所述的主机的MOSI数据线、MISO数据线以及SCK数据时钟信号线分别与各从机的MOSI数据线、MISO数据线以及SCK时钟信号线相连接,其中主机的SCK时钟信号线在与各从机的SCK时钟信号线相连接的同时还引入到各从机所属的判断模块,而各判断模块的输出控制线与各对应从机的SPI通讯片选控制线SS相连。
2.根据权利要求1所述的一种时分多路实时通讯总线,其特征在于所述的判断模块由计数器、比较器组成。
3.根据权利要求2所述的一种时分多路实时通讯总线,其特征在于所述的判断模块还包括逻辑门。
4.根据权利要求1所述的一种时分多路实时通讯总线,其特征在于所述的判断模块分为两部分分频计数部分和比较片选部分。
5.根据权利要求4所述的一种时分多路实时通讯总线,其特征在于其中所述的分频计数部分由1个8进制计数器、1个N进制计数器、1个K进制计数器组成。
6.根据权利要求4所述的一种时分多路实时通讯总线,其特征在于其中所述的比较片选部分至少由1个比较器构成。
专利摘要本实用新型公开了一种时分多路实时通讯总线,主要由主机、从机,以及SPI通讯总线中的MOSI数据线、MISO数据线、SCK数据时钟信号线和SS从机SPI通讯片选控制线构成,其特征在于还包括一个判断模块,所述的主机的MOSI数据线、MISO数据线以及SCK数据时钟信号线分别与各从机的MOSI数据线、MISO数据线以及SCK时钟信号线相连接,其中主机的SCK时钟信号线在与各从机的SCK时钟信号线相连接的同时还额外引入到各从机所属的判断模块,而各判断模块的输出控制线与各对应从机的SPI通讯片选控制线SS相连。该通讯总线利用每个信号在时间上的交叉,就可以在一条物理信道上传输多个数字信号。从而使自动装置的通用性得以扩大,特别是在需要大量开关量输入输出的应用场合。
文档编号H04J3/02GK2710264SQ20042002526
公开日2005年7月13日 申请日期2004年3月9日 优先权日2004年3月9日
发明者尹秋帆, 王翀 申请人:国电南京自动化股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1