CN114281739A - 一种数据交换系统及方法 - Google Patents
一种数据交换系统及方法 Download PDFInfo
- Publication number
- CN114281739A CN114281739A CN202011036220.1A CN202011036220A CN114281739A CN 114281739 A CN114281739 A CN 114281739A CN 202011036220 A CN202011036220 A CN 202011036220A CN 114281739 A CN114281739 A CN 114281739A
- Authority
- CN
- China
- Prior art keywords
- circuit board
- transmission
- data
- instruction
- switching module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000005540 biological transmission Effects 0.000 claims abstract description 177
- 238000004891 communication Methods 0.000 claims abstract description 43
- 230000004044 response Effects 0.000 claims description 33
- 230000000630 rising effect Effects 0.000 claims description 33
- 238000012546 transfer Methods 0.000 claims description 10
- 230000002093 peripheral effect Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 14
- 230000003993 interaction Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 235000015429 Mirabilis expansa Nutrition 0.000 description 4
- 244000294411 Mirabilis expansa Species 0.000 description 4
- 235000013536 miso Nutrition 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 239000003999 initiator Substances 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种数据交换系统及方法,系统包括:中心交换模块、多个电路板和通信总线,每个所述电路板分别通过所述通信总线与所述中心交换模块连接;所述中心交换模块,还用于在传输周期内获取并解析第一电路板发送的第一传输指令,根据解析结果获得所述第一传输指令携带的第二电路板的第一地址信息,根据所述第一地址信息完成所述第一电路板和所述第二电路板的通信连接;其中,所述第一电路板和所述第二电路板为所述多个电路板中的任意两个。本申请用以解决现有的电路板之间信息传输速度慢和灵活性差的问题。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据交换系统及方法。
背景技术
现有的主机内各电路板间的控制信息和状态信息传输有多种方式,常见的有并行总线型和串行总线型。但并行总线型占用的传输资源多,抗干扰性差,并且在多主多从情况下灵活性很差。串行总线型分为低速串行和高速串行;高速串行常见的串行器/解串器(Serdes),例如,一种高速串行计算机扩展总线标准(peripheral componentinterconnect express,简称PCIE)、10G以太网(10Gigabit Ethernet,简称10GB)等,其高带宽在传输大数据量的信息时优势明显,但其成本较高;低速串行总线,例如,两线式串行总线(Inter-Integrated Circuit,简称,I2C总线)、通用异步收发传输器(UniversalAsynchronous Receiver/Transmitter,简称,UART)、串行外设接口(Serial PeripheralInterface,简称,SPI)、集成电路内置音频总线(Inter—IC Sound,简称,IIS总线)等,在传输大数据量的信息时传输速度较慢。
因此,现有的电路板之间信息传输速度慢、灵活性差、成本高等问题是急需要解决的。
发明内容
本申请提供了一种数据交换系统及方法,用以解决现有的电路板之间信息传输速度慢和灵活性差的问题。
第一方面,本申请提供了一种数据交换系统,所述系统包括:
中心交换模块、多个电路板和通信总线,每个所述电路板分别通过所述通信总线与所述中心交换模块连接;
所述中心交换模块,用于为所述多个电路板提供相同的时钟信号和帧起始信号,以使每个所述电路板和所述中心交换模块时钟同步;
所述第一电路板,用于在一个传输周期内通过所述通信总线向所述中心交换模块发送第一传输指令;
所述中心交换模块,还用于在所述传输周期内获取并解析所述第一传输指令,得到所述第一传输指令携带的第二电路板的第一地址信息,根据所述第一地址信息完成所述第一电路板和所述第二电路板的通信连接;
所述第二电路板,用于在所述传输周期内获取所述第一传输指令,将第一响应信号通过所述通信总线传输给所述第一电路板;
其中,所述第一电路板和所述第二电路板为所述多个电路板中的任意两个。
可选地,所述传输周期由所述帧起始信号的上升沿决定,且一个传输周期包括至少两个相邻上升沿之间的时间;或,
所述传输周期由所述帧起始信号的下降沿决定,且一个传输周期包括至少两个相邻下降沿之间的时间。
可选地,所述第一传输指令包括第一请求标记,第一地址信息,第二请求标记和第一传输指令的有效数据位数。
可选地,所述第一传输指令的末位字节包括所述第一电路板的第二地址信息。
可选地,所述第一电路板和所述第二电路板分别在所述时钟信号相邻的两个上升沿采样并更新数据,所述中心交换模块在两个上升沿之间的下降沿采样并更新数据;或,
所示第一电路板和所述第二电路板分别在所述时钟信号相邻的两个下降沿采样并更新数据,所述中心交换模块在两个下降沿之间的上升沿采样并更新数据。
可选地,所述第一响应信号的末字节的末位为空。
可选地,所述第一响应信号包括:中断消息;
所述中心交换模块,还用于根据所述中断消息,进行预警。
可选地,所述系统还包括:第三电路板、第四电路板、外设接口电路板和数据传输接口;
所述第三电路板,用于在所述传输周期内通过所述通信总线向所述中心交换模块发送第二传输指令;
所述中心交换模块,还用于获取并解析第二传输指令,得到所述第二传输指令携带的所述第四电路板的第三地址信息,根据所述第三地址信息完成所述第三电路板和所述第四电路板的通信连接;
所述第四电路板,用于在所述传输周期内获取所述第二传输指令,生成第二响应信号,并将所述第二响应信号通过所述数据传输接口发送给所述外设接口电路板;
所述外设接口电路板,用于获取所述第二响应信号所对应的数据结果,将所述数据结果发送给所述第四电路板;
所述第四电路板,还用于将所述数据结果通过所述通信总线传输给所述第三电路板。
可选地,所述第一电路板还用于,在所述第一电路板处于空闲状态时,向所述中心交换模块发送空闲指令,所述空闲指令的第j字节的第a位为高电平;
所述第一电路板还用于,在所述第一电路板处于准备发送请求状态时,向所述中心交换模块发送工作指令,所述工作指令的所述第j字节的所述第a位为低电平;
所述第一电路板还用于,在所述第一电路板处于等待接收请求状态时,向所述中心交换模块发送等待指令,所述等待指令的所述第j个字节的所述第a位为高电平,且所述第j个字节的第b位为所述低电平。
第二方面,本申请提供了一种数据交换方法,应用于第一方面所述的数据交换系统,包括:
为多个电路板提供相同的时钟信号和帧起始信号;
接收第一电路板在一个传输周期内,通过通信总线发送的第一传输指令;
在所述传输周期内,获取并解析所述第一传输指令,得到所述第一传输指令携带的第二电路板的第一地址信息,并根据所述第一地址信息完成所述第一电路板和所述第二电路板的通信连接;
在所述传输周期内,使所述第二电路板获取所述第一传输指令,将第一响应信号通过所述通信总线传输给所述第一电路板;
其中,所述第一电路板和所述第二电路板为所述多个电路板中的任意两个。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该数据交换系统,包括:中心交换模块、多个电路板和通信总线,该中心交换模块,用于为多个电路板提供相同的时钟信号和帧起始信号,以能够使得每个电路板与中心交换模块时钟同步,该中心交换模块还用于在传输周期内获取并解析第一电路板发送的第一传输指令,得到第一传输指令携带的第二电路板的第一地址信息,根据第一地址信息完成第一电路板和第二电路板的通信连接,其中,第一电路板和第二电路板为非第一电路板为多个电路板中的任意两个,可见,本系统中的电路板在不同的传输周期内既可以为指令发送电路板又可以为指令接收电路板,使各电路板之间的消息传输更具灵活性,并且,在传输周期内第二电路板向第一电路板返回请求结果,使得请求不用等待,提高了消息的传输速度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中数据交换系统第一结构示意图;
图2为本申请实施例中传输周期示意图;
图3为本申请实施例中第一电路板发送接收示意图;
图4为本申请实施例中第一电路板应答示意图;
图5为本申请实施例中第一电路板与第二电路板数据交互示意图;
图6为本申请实施例中第一电路板的第二地址信息示意图;
图7为本申请实施例中隔离带示意图;
图8为本申请实施例中数据交换系统第二结构示意图;
图9为本申请实施例中第三电路板与第四电路板数据交互示意图;
图10为本申请实施例中空闲指令发送示意图;
图11为本申请实施例中第一电路板与第二电路板接收时序示意图;
图12为本申请实施例中第一电路板工作流程示意图;
图13为本申请实施例中第二电路板工作流程示意图;
图14为本申请实施例中第三电路板与第四电路板交互流程示意图;
图15为本申请实施例中交换板工作流程示意图;
图16为本申请实施例中数据交换方法流程示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先,预先对本申请实施例中提到的名词进行一个说明:在本申请实施例中以第一电路板作为主动发送数据包的电路板(称为“Master”或“发送板”或“主动板”),即请求发起者,以第二电路板作为接收数据包的电路板(称为“Slave”或“目标板”或“接收板”),即请求接收者。
其中,Master_TX为:发送板发送信号;Master_RX为:发送板接收信号;Slave_TX为:接收板发送信号;Slave_RX为:接收板接收信号;SPI_MOSI为:接收信号;SPI_MISO为:发送信号。
本申请实施例提供了一种数据交换系统,该系统可以应用在安装有电路板的整机中,如图1所示,该系统包括:中心交换模块101、多个电路板102和通信总线103,每个电路板102分别通过通信总线103与中心交换模块101连接。其中,图1以5个电路板102为例进行示意,但是需要说明的是,此处的5只是举例说明,并不用于限制电路板102的个数。
中心交换模块101,用于为多个电路板102提供相同的时钟信号和帧起始信号,使每个电路板102和中心交换模块101时钟同步;
第一电路板,用于在一个传输周期内通过通信总线103向中心交换模块101发送第一传输指令;
中心交换模块101,还用于在传输周期内获取并解析第一电路板发送的第一传输指令,得到第一传输指令携带的第二电路板的第一地址信息,根据第一地址信息完成第一电路板和第二电路板的通信连接;
第二电路板,用于在传输周期内获取第一传输指令,将第一响应信号通过通信总线103传输给第一电路板;
其中,第一电路板和第二电路板为多个电路板102中的任意两个。
具体地,第二电路板用于在传输周期内获取第一传输指令,将第一响应信号通过通信总线103发送给中心交换模块101,中心交换模块101在将该第一响应信号通过通信总线103发送给第一电路板,此时第一电路板和第二电路板完成互连。
具体地,中心交换模块101和电路板102均包括四个网络接口,分别为串行时钟接口、帧起始接口、数据输出接口和数据输入接口,所有电路板102通过这四个接口连接到中心交换模块101,组成交换网络,该交换网络为星型结构。其中,该中心交换模块101可以为交换板。交换板为整个交换网络提供相同的时钟信号和帧起始信号,使得该交换网络是一个同步网络,所有接入交换板的电路板102时钟同步。其中,各个电路板102之间采用单端信号方式进行数据传输,当然,为了提高抗干扰性也可以采用差分方式进行数据传输。
具体如表1所示:
表1
一个具体实施例中,该传输周期由帧起始信号的上升沿来决定,且一个传输周期包括至少两个相邻上升沿之间的时间;或,传输周期由帧起始信号的下降沿决定,且一个传输周期包括至少两个相邻下降沿之间的时间。在本申请中均以一个传输周期包括两个相邻上升沿之间的时间为例进行说明,但需要说明的是两个相邻上升沿之间的时间为一个传输周期仅是举例说明,并不用于用于对传输周期保护范围的限定。
具体地,首先,介绍一下空闲电平,单端信号在输入悬空时一半会得到高电平(也可增加弱上拉电阻)。差分信号驱动器在差分输入侧开路/悬空时,输出为高电平。为了避免误操作,逻辑侧会将高电平定义为空闲,同时在控制字节将0xFF和0x00定义为异常。没有安装电路板102的卡槽,交换板监测到的数据是全高的空闲电平。
具体地,通过图2说明时钟同步和传输周期,以传输周期为64个CLK为例进行说明,但是需要说明的是,图2只是举例说明,并不对限定本申请传输周期的保护范围。
本发明所有电路板102的传输周期长度相同。如果一个时钟源传输一个bit,则一根通信总线103一个传输周期能传输的bit数与时钟信号个数相等。当传输的有效数据小于一个包的传输能力时,使用空闲电平填充。当传输的有效数据大于一个包的传输能力时,可以拆分为多个数据包传输。设计时一个传输周期的传输多少个bit位需要综合考虑。原理上越少则实时性越好,但是太少则导致大部分数据包都要被拆分,而太多需要较多无效的填充导致传输效率降低。
下面以一个传输周期包含64个CLK时钟为例。WS在时钟的下降沿变化,每32个时钟周期变化一次,两个WS的上升沿之间为一次传输周期,一次传输周期包含64个时钟周期,8个字节。
第一电路板在WS上升沿后第一个CLK上升沿开始发送数据。交换板在时钟的下降沿采样数据。一次传输周期包含8个字节。第一个字节为路由字节,交换板需要解析数据内容,后续字节交换板可以忽略。
一个具体实施例中,第一电路板和第二电路板分别在时钟信号相邻的两个上升沿采样并更新数据,中心交换模块101在两个上升沿之间的下降沿采样并更新数据;或,第一电路板和第二电路板分别在时钟信号相邻的两个下降沿采样并更新数据,中心交换模块101在两个下降沿之间的上升沿采样并更新数据。
一个具体实施例中,第一传输指令依次包括:第一请求标记、第一地址信息、第二请求标记和第一传输指令的有效数据位数。
具体地,第一传输指令包括8个字节,第一字节的第1位表示第一请求标记,第一字节的第2位至第4位表示第一地址信息,第一字节第5位表示第二请求标记,第6位至第8位表示第一传输指令的有效的数据位数。
具体地,下面通过图3、图4以及图5对第一电路板以及第二电路板之间的数据交互做具体说明,其中,图5为图3和图4的结合,图5中的斜线用于提示有效传输数据的字节的bit位位置:
首先,包交换接口分为主接口和从接口,包交换主接口可以主动发起一次有效的传输,包交换从接口只能被动的等待一次有效的传输到来。一个电路板102在需要主动访问其它电路板时做主,其他电路板做从,因此,该电路板102兼有主从两个角色。
下面,通过图3,以第一电路板的请求发送和接收为例进行说明:由第一电路板主动发起一次有效的传输,第一电路板发起第一传输指令,第一字节的第1位携带第一请求标记,第一字节的第2位至第4位携带第二电路板的第一地址信息,第一字节第5位携带第二请求标记,第6位至第8位表示第一传输指令的有效的数据位数,第一电路板将第一传输指令发送给交换板,交换板解析第一传输指令,找到第二电路板的地址信息,并发送给第二电路板,此时,第一电路板收到第二电路板的响应信息,完成第一电路板和第二电路板的互连。
下面,通过图4,以第二电路板接收第一传输指令并发送响应信息为例进行说明:第二电路板在CLK的上升沿采样数据,在CLK的上升沿更新数据,并在WS上升沿后第二个CLK上升沿采用到第一Bit数据,并发出响应信息。
具体地,接收板每个传输周期收到的前四个bit总是固定为高,也就是B1111。
如果接收板某一个传输周期接收的第5个bit为1,则表示本次总线传输周期空闲,本次传输周期的后续数据可以忽略。
如果接收板某一个传输周期接收的第5个bit为0,则表示本次总线传输周期有效。本次传输周期接收的第6至第8这三个bit定义了本次传输周期有效的数据位数。复杂可编程逻辑器件(Complex Programming Logic device,简称CPLD)将通信总线103转换为SPI主接口时,将根据这个有效的数据位数来产生有效字节。有效的数据位数(length)的定义如下:
Length=000:非法,逻辑忽略本次传输周期;
Length=001:有效传输周期为对应的1个字节;
Length=010:有效传输周期为对应的2个字节;
Length=011:有效传输周期为对应的3个字节;
Length=100:有效传输周期为对应的4个字节;
Length=101:有效传输周期为对应的5个字节;
Length=110:有效传输周期为对应的6个字节;
Length=111:保留扩展使用,不支持扩展功能的设备将其等效于000按照非法处理。
一个具体实施例中,第一传输指令的末位字节包括第一电路板的第二地址信息,即第一电路板的槽位号,可以用于辅助调试,具体如图6所示,第二电路板采样获得第一电路板的槽位号,并发送自身的槽位号。
具体地,第二电路板发送响应信息时,每个传输周期的前四个bit总是固定发送高电平,也就是B1111。
当本次总线传输周期有效时,第二电路板发送信号时每个传输周期的第五个bit总是固定发送低电平作为第二有效标记。当本次总线传输周期空闲时第二电路板发送信号时每个传输周期的第五个bit总是固定发送高电平。
第二电路板发送信号时每个传输周期的第6至第8这三个bit固定发送第二电路板的槽位号。
第二电路板发送信号时每个传输周期的第2至第7字节数据来源于SPI内部总线。
第二电路板发送信号时每个传输周期的最后7个bit定义如表2,由交换板的CPLD检测并上报中断给交换板的CPU处理。
表2
一个具体实施例中,响应信息的末字节的末位为空。具体地,可以将的末字节的末位为空定义为隔离带。具体如图7所示:
由于第二电路板比第一电路板晚了一个时钟周期发送数据,为了支持电路板102动态切换请求发起者和请求接收者角色,每个传输周期请求接收者由一个bit的隔离带加63个bit的有效传输构成。第二电路板在回复响应信息时在末字节的最后为设置为空。
具体地,主动发送的电路板和被动接收的电路板,发送和接收的时序不同,具体是:以WS的上升沿为基准,“发送板”比“目标板”早一个CLK时钟发送数据;以WS的上升沿为基准,“发送板”比“目标板”晚一个CLK时钟发送数据。
在超短波检测项目的电路板102一般角色固定为主动的“发送板”或者被动接收的“目标板”。但是并不代表其角色不能动态改变。由于“主动发送的电路板和被动接收的电路板,发送和接收的时序不同”,为了使角色能顺利互换,被动接收的“目标板”的传输周期将预留一个“隔离带”。
以WS的上升沿为基准,“发送板”比“目标板”早一个CLK时钟发送数据,但是他们的一次传输周期在同一个CLK时钟时结束。可以认为主动“发送板”的一个传输周期由64个CLK组成,被动接收的“目标板”的一个传输周期由一个隔离CLK时钟周期+63个CLK组成,这样主动发送和被动接收的角色可以动态切换。
一个具体实施例中,请求结果包括:中断消息,中心交换模块101,还用于根据中断消息,进行预警。
具体地,在每一个64bit的传输周期的尾部,有三个bit用来传输中断信息。无论本次是有效传输还是空闲传输周期,电路板102都需要上报这些中断消息,所以每一个WS周期中断信息会被刷新一次,如果CLK为6.4M则WS为100K,则中断消息每秒刷新100K次。其中,中断消息由交换板的CPLD采样后上报给交换板的CPU处理。
例如,电路板102每次数据传输都会发送中断消息,如果整机的温度超过预设温度,此时CPU会根据中断消息控制加强风扇的操作来为整机降温。
一个具体实施例中,如图8所示,系统还包括:第三电路板801、第四电路板802、外设接口电路板803和数据传输接口804。第三电路板801,用于在传输周期内通过通信总线103向中心交换模块101发送第二传输指令;中心交换模块101,还用于获取并解析第二传输指令,根据解析结果获得第二传输指令携带的第四电路板802的第三地址信息,根据第三地址信息完成第三电路板和第四电路板的通信连接;第四电路板802,用于在传输周期内获取第二传输指令,生成第二响应信号,并将第二响应信号通过数据传输接口804发送给外接接口电路板803;外接接口电路板803,用于获取所述第二响应信号所对应的数据结果,将所述数据结果发送给第四电路板802,第四电路板802,还用于将数据结果通过通信总线103传输给第三电路板801。
其中,第三电路板801为任意一个电路板102,第四电路板802为非第三电路板801的任意一个电路板102。
具体地,外设接口电路板803可以为外部的SPI接口的芯片,数据传输接口。数据传输接口804包括总线主输出/从输入(Master Output/Slave Input,简称MOSI)和/或总线主输出/从输入(MISO)。
具体地,如图9所示,第三电路板的数据包Bit在CLK的上升沿发送,交换板在CLK时钟的下降沿将其采样传给第四电路板。如果是访问CPLD内部寄存器,第四电路板的CPLD在Clk的上升沿采样数据。如果是访问CPLD外部的SPI接口芯片,第四电路板将这个数据传输给芯片的MOSI,芯片在CLK的上升沿采样数据。如果是读操作,第四电路板的CPLD外部的SPI接口芯片在CLK时钟的下降沿更新MISO数据,CPLD在CLK的上升沿采样MISO数据并将其通过交换板发送给第三电路板。
一个具体实施例中,第一电路板还用于,在第一电路板处于空闲状态时,向中心交换模块101发送空闲指令,空闲指令的第j字节的第a位为高电平。第一电路板还用于,在第一电路板处于准备发送请求状态时,向中心交换模块101发送工作指令,工作指令的所述第j字节的第a位为低电平。第一电路板还用于,在第一电路板处于等待接收请求状态时,向中心交换模块发送等待指令,等待指令的第j个字节的第a位为高电平,且第j个字节的第b位为低电平。
具体地,第一电路板还用于,在第一电路板处于空闲状态时,向中心交换模块101发送空闲指令,空闲指令的第一字节的第一位为高电平。第一电路板还用于,在第一电路板处于准备发送请求状态时,向中心交换模块101发送工作指令,工作指令的所述第一字节的第一位为低电平。第一电路板还用于,在第一电路板处于等待接收请求状态时,向中心交换模块发送等待指令,等待指令的第一个字节的第一位为高电平,且第一个字节的第五位为低电平。其中,该等待接收请求状态为在传输周期内的等待接收请求状态。
具体地,电路板102在WS上升沿后第一个CLK上升沿开始发送数据。当电路板102没有数据需要发送,空闲时发送的第一个bit为高电平,如图10所示。当电路板102没有数据需要发送,发送的第一个bit为低电平,第五个bit为低电平。其中,关于路由信息定义:发送板的每一次传输周期的前四个比特。
交换板在下降沿采样到第一个bit为低电平,则根据地址信息转发后续数据。所以“第一个bit为低电平”是通知交换板的逻辑“电路板102有数据包发送”。在地址信息对应的电路板102空闲时,数据包的后续数据将被路由至对应的业务板。交换板在接收前四个bit时,由于尚不清楚目的地址,所以前四个bit无法到达目的电路板。接收板收不到“第一个bit低电平”,但是可以接收到“第五个bit低电平”。目标板空闲时,根据接收到“第五个bit低电平”来获知本次传输周期有效,需要解析处理后续数据。目标板收到“第五个bit低电平”,需要发送一个低电平作为应答(ACK Bit)。
此时,主动发包的电路板收到应答后,如果ACK Bit为低电平表明本次传输成功,如果ACK Bit为高电平表明本次传输失败,发送板可以在下一个传输周期重新尝试发送这个数据包。
由于被动接收的“目标板”一个传输周期只有63个CLK有效传输,所以最后bit统一发送自己的槽位号。
一次传输周期结束时的Master和Slave接收时序如图11所示。
Slave_TX每个传输周期的最后7个bit定义如表3,由交换板CPLD检测并上报中断给交换板的CPU处理。
表3
下面,通过图12对第一电路板的工作流程进行说明,具体如下:
步骤1201,系统上电完成。
步骤1202,判断第一电路板是否接收到帧起始信号,若是,执行步骤1203,否则,继续执行步骤1202。
步骤1203,第一电路板发送服务请求指令和第二电路板的第一地址信息。
步骤1204,判断第一电路板是否收到第二电路板的应答指令,若是,执行步骤1205,否则,执行步骤1209。
步骤1205,第一电路板向第二电路板发送第一传输指令。
步骤1206,第一电路板获取从第二电路板返回的请求结果。
步骤1207,第一电路板发送自身的地址信息和中断信息。
步骤1208,本次请求结束。
步骤1209,第一电路板发送自身的地址信息和中断信息。
步骤1210,本次请求结束。
下面,通过图13对第二电路板的工作流程进行说明,具体如下:
步骤1301,系统上电完成。
步骤1302,判断第二电路板是否接收到帧起始信号,若是,执行步骤1303,否则,继续执行步骤1302。
步骤1303,判断第一电路板发送的服务请求是否有效,若是,执行步骤1304,否则,执行步骤1309。
步骤1304,第二电路板发送应答指令。
步骤1305,第二电路板接收第一电路板发送的第一传输指令。
步骤1306,第二电路板将请求结果发送给第一电路板。
步骤1307,第二电路板发送自身的地址信息和中断信息。
步骤1308,本次请求结束。
步骤1309,第二电路板发送自身的地址信息和中断信息。
步骤1310,本次请求结束。
下面,通过图14对第一电路板和第二电路板的交互流程进行说明,具体如下:
步骤1401,系统上电完成。
步骤1402,判断第一电路板是否需要访问第二电路板,若是,执行步骤1403,否则,执行步骤1405。
步骤1403,按照第一电路板的工作流程进行。
步骤1404,本次申请结束。
步骤1405,按照第二电路板的工作流程进行。
步骤1406,本次申请结束。
下面,通过图15对交换板的工作流程进行说明,具体如下:
步骤1501,系统上电完成。
步骤1502,交换板实时监测各电路板的服务请求指令是否有效,若是,执行步骤1503,否则,执行步骤1509。
步骤1503,接收第一电路板发送的第二电路板的地址信息。
步骤1504,判断第二电路板是否作为目标板,若是,执行步骤1505,否则,执行步骤1507。
步骤1505,第二电路板发送应答指令。
步骤1506,交换板完成第一电路板和第二电路板的互连,直至本次申请结束。
步骤1507,第二电路板发送失败的应答指令。
步骤1508,本次请求结束。
步骤1509,按照第二电路板的工作流程进行。
步骤1510,本次申请结束。
本申请实施例提供的该数据交换系统,包括:中心交换模块、多个电路板和通信总线,该中心交换模块,用于为多个电路板提供相同的时钟信号和帧起始信号,以能够使得每个电路板与中心交换模块时钟同步,该中心交换模块还用于在传输周期内获取并解析第一电路板发送的第一传输指令,得到第一传输指令携带的第二电路板的第一地址信息,根据第一地址信息完成第一电路板和第二电路板的通信连接,其中,第一电路板和第二电路板为多个电路板中的任意两个,可见,本系统中的电路板在不同的传输周期内既可以为指令发送电路板又可以为指令接收电路板,使各电路板之间的消息传输更具灵活性,并且,在传输周期内第二电路板向第一电路板返回请求结果,使得请求不用等待,提高了消息的传输速度。
本申请实施例还提供了一种数据交换方法,该方法的具体实施可参见系统实施例部分的描述,重复之处不再赘述,如图16所示,该方法的具体实现如下:
步骤1601,为多个电路板提供相同的时钟信号和帧起始信号。
步骤1602,接收第一电路板在一个传输周期内,通过通信总线发送的第一传输指令。
步骤1603,在传输周期内,获取并解析第一传输指令,得到第一传输指令携带的第二电路板的第一地址信息,并根据第一地址信息完成第一电路板和第二电路板的通信连接。
步骤1604,在传输周期内,使第二电路板获取第一传输指令,将第一响应信号通过通信总线传输给第一电路板。
其中,第一电路板和第二电路板为多个电路板中的任意两个。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据交换系统,其特征在于,所述系统包括:
中心交换模块、多个电路板和通信总线,每个所述电路板分别通过所述通信总线与所述中心交换模块连接;
所述中心交换模块,用于为所述多个电路板提供相同的时钟信号和帧起始信号,以使每个所述电路板和所述中心交换模块时钟同步;
第一电路板,用于在一个传输周期内通过所述通信总线向所述中心交换模块发送第一传输指令;
所述中心交换模块,还用于在所述传输周期内获取并解析所述第一传输指令,得到所述第一传输指令携带的第二电路板的第一地址信息,根据所述第一地址信息完成所述第一电路板和所述第二电路板的通信连接;
所述第二电路板,用于在所述传输周期内获取所述第一传输指令,将第一响应信号通过所述通信总线传输给所述第一电路板;
其中,所述第一电路板和所述第二电路板为所述多个电路板中的任意两个。
2.根据权利要求1所述的数据交换系统,其特征在于,
所述传输周期由所述帧起始信号的上升沿决定,且一个传输周期包括至少两个相邻上升沿之间的时间;或,
所述传输周期由所述帧起始信号的下降沿决定,且一个传输周期包括至少两个相邻下降沿之间的时间。
3.根据权利要求1或2所述的数据交换系统,其特征在于,所述第一传输指令包括第一请求标记,第一地址信息,第二请求标记和第一传输指令的有效数据位数。
4.根据权利要求3所述的数据交换系统,其特征在于,所述第一传输指令的末位字节包括所述第一电路板的第二地址信息。
5.根据权利要求3所述的数据交换系统,其特征在于,所述第一电路板和所述第二电路板分别在所述时钟信号相邻的两个上升沿采样并更新数据,所述中心交换模块在两个上升沿之间的下降沿采样并更新数据;或,
所示第一电路板和所述第二电路板分别在所述时钟信号相邻的两个下降沿采样并更新数据,所述中心交换模块在两个下降沿之间的上升沿采样并更新数据。
6.根据权利要求5所述的数据交换系统,其特征在于,所述第一响应信号的末字节的末位为空。
7.根据权利要求6所述的数据交换系统,其特征在于,所述第一响应信号包括:中断消息;
所述中心交换模块,还用于根据所述中断消息,进行预警。
8.根据权利要求7所述的数据交换系统,其特征在于,所述系统还包括:第三电路板、第四电路板、外设接口电路板和数据传输接口;
所述第三电路板,用于在所述传输周期内通过所述通信总线向所述中心交换模块发送第二传输指令;
所述中心交换模块,还用于获取并解析第二传输指令,得到所述第二传输指令携带的所述第四电路板的第三地址信息,根据所述第三地址信息完成所述第三电路板和所述第四电路板的通信连接;
所述第四电路板,用于在所述传输周期内获取所述第二传输指令,生成第二响应信号,并将所述第二响应信号通过所述数据传输接口发送给所述外设接口电路板;
所述外设接口电路板,用于获取所述第二响应信号所对应的数据结果,将所述数据结果发送给所述第四电路板;
所述第四电路板,还用于将所述数据结果通过所述通信总线传输给所述第三电路板。
9.根据权利要求8所述的数据交换系统,其特征在于,
所述第一电路板还用于,在所述第一电路板处于空闲状态时,向所述中心交换模块发送空闲指令,所述空闲指令的第j字节的第a位为高电平;
所述第一电路板还用于,在所述第一电路板处于准备发送请求状态时,向所述中心交换模块发送工作指令,所述工作指令的所述第j字节的所述第a位为低电平;
所述第一电路板还用于,在所述第一电路板处于等待接收请求状态时,向所述中心交换模块发送等待指令,所述等待指令的所述第j个字节的所述第a位为高电平,且所述第j个字节的第b位为低电平。
10.一种数据交换方法,其特征在于,应用于权利要求1-9任意一项所述的数据交换系统,包括:
为多个电路板提供相同的时钟信号和帧起始信号;
接收第一电路板在一个传输周期内,通过通信总线发送的第一传输指令;
在所述传输周期内,获取并解析所述第一传输指令,得到所述第一传输指令携带的第二电路板的第一地址信息,并根据所述第一地址信息完成所述第一电路板和所述第二电路板的通信连接;
在所述传输周期内,使所述第二电路板获取所述第一传输指令,将第一响应信号通过所述通信总线传输给所述第一电路板;
其中,所述第一电路板和所述第二电路板为所述多个电路板中的任意两个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011036220.1A CN114281739A (zh) | 2020-09-27 | 2020-09-27 | 一种数据交换系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011036220.1A CN114281739A (zh) | 2020-09-27 | 2020-09-27 | 一种数据交换系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281739A true CN114281739A (zh) | 2022-04-05 |
Family
ID=80867737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011036220.1A Pending CN114281739A (zh) | 2020-09-27 | 2020-09-27 | 一种数据交换系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281739A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI815689B (zh) * | 2022-10-06 | 2023-09-11 | 神雲科技股份有限公司 | 多核系統溝通方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2023616A1 (en) * | 1989-10-30 | 1991-05-01 | Paul J. Brown | Switch and its protocol for making dynamic connections |
CN1384692A (zh) * | 2001-04-30 | 2002-12-11 | 华为技术有限公司 | 采用背板高速串行线传输多路电路数据的方法 |
CN1798117A (zh) * | 2004-12-22 | 2006-07-05 | 华为技术有限公司 | 高速串行信号同步方法及同步电路 |
CN101404609A (zh) * | 2008-11-12 | 2009-04-08 | 华为技术有限公司 | 一种数据交换方法、装置和系统 |
CN106850466A (zh) * | 2017-02-22 | 2017-06-13 | 电子科技大学 | 一种时间触发网络中数据包的转发方法及装置 |
-
2020
- 2020-09-27 CN CN202011036220.1A patent/CN114281739A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2023616A1 (en) * | 1989-10-30 | 1991-05-01 | Paul J. Brown | Switch and its protocol for making dynamic connections |
CN1384692A (zh) * | 2001-04-30 | 2002-12-11 | 华为技术有限公司 | 采用背板高速串行线传输多路电路数据的方法 |
CN1798117A (zh) * | 2004-12-22 | 2006-07-05 | 华为技术有限公司 | 高速串行信号同步方法及同步电路 |
CN101404609A (zh) * | 2008-11-12 | 2009-04-08 | 华为技术有限公司 | 一种数据交换方法、装置和系统 |
CN106850466A (zh) * | 2017-02-22 | 2017-06-13 | 电子科技大学 | 一种时间触发网络中数据包的转发方法及装置 |
Non-Patent Citations (2)
Title |
---|
李健等: ""一种带网关的FC网络交换机设计"", 《信息通信》, no. 2019, 15 May 2019 (2019-05-15) * |
李荣乐;罗长洲;李龙华;李泽超;: "基于FPGA的交换机芯片配置器设计", 计算机仿真, no. 02, 15 February 2020 (2020-02-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI815689B (zh) * | 2022-10-06 | 2023-09-11 | 神雲科技股份有限公司 | 多核系統溝通方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7266625B2 (en) | Data communication system | |
CN108255776B (zh) | 一种兼容apb总线的i3c主设备、主从系统及通信方法 | |
US20010024423A1 (en) | Method and apparatus for the addition and removal of nodes from a common interconnect | |
EP1237090A1 (en) | Serial peripheral interface master device, a serial peripheral interface slave device and a serial peripheral interface | |
CN101937253A (zh) | 用于时钟同步的机制 | |
CN107908589B (zh) | I3c验证从设备、主从设备的通信验证系统及方法 | |
GB2488223A (en) | Serial peripheral interface with handshake signals | |
CN108763140A (zh) | 一种双向通信的方法、系统及终端设备 | |
CN107622032B (zh) | 一种i2c总线的三线扩展方法及电路 | |
CN102073611B (zh) | 一种i2c总线控制系统及方法 | |
CN110880998B (zh) | 一种基于可编程器件的报文传输方法及装置 | |
CN107992439B (zh) | 一种可扩展的数据交互方法及系统 | |
KR20210075878A (ko) | I2c와의 하위 호환성을 촉진하는 i3c 허브 | |
KR101861453B1 (ko) | CCIe 버스를 통한 슬레이브 식별자 스캔 및 핫 플러그 능력 | |
CN114281739A (zh) | 一种数据交换系统及方法 | |
CN112350795B (zh) | 数据的传输方法和装置、存储介质、电子装置 | |
CN113641610A (zh) | 处理器接口电路及处理器接口分时复用方法、电子设备 | |
CN110098989A (zh) | 一种基于canfd总线的多路can仿真系统及测试方法 | |
US7631136B2 (en) | State negotiation method in PCI-E architecture | |
CN111858459A (zh) | 处理器及计算机 | |
CN102591739B (zh) | 串口同步通讯数据对齐的方法及装置 | |
CN209860929U (zh) | 一种通信总线结构 | |
CN104850517A (zh) | 一种dma传输报文数据的方法及装置 | |
CN213715913U (zh) | 一种微控制系统 | |
CN207976877U (zh) | 数据传输系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |