专利名称:一种总线高速通信的方法及接口的制作方法
技术领域:
本发明涉及通信领域,尤其涉及一种总线高速通信的方法及接口 。
背景技术:
高速串行总线用于卡件(包括主控卡和从卡)之间的高速数据传输。高
速串行总线对数据的调度通常使用主从方式和令牌方式;高速串行总线上的数据通常分为实时数据和管理数据,实时数据为主控卡通过高速串行总线与从卡交换的实时数据,管理数据为主控卡用于配置、诊断和管理从卡的数据。
高速串行总线上的这两种类型的数据具有很大的差异性,实时数据具有很强的实时性,要求传输速率高、响应及时,通常采用主从方式进行传输,即主控卡发出一数据包,从卡响应一数据包;而管理数据,对实时性要求不高,而且不一定都有响应,通常由主控卡发送令牌,从卡只有在接收到令牌的情况下才可以发送数据;而且管理数据包括广播数据,实时数据则不包括。
现有的实现方式中,在通过串行总线对数据进行传输时,把实时数据和管理数据通过一个数据通道中进行传输,采用对设备轮询、半双工的方式进行通信,主控卡发送一数据包,从卡收到后回送一数据包,而且轮询一个从卡后,需保持总线空闲一段比较长的时间段才能轮询下一个从卡。
因此,现有技术至少存在以下缺陷通过串行总线通信时,采用一个数据通道传输不同类型的数据,总线传输速率低,易4吏总线繁忙,不能及时传输数据,导致串行总线的输出速率较低,效率低;进一步地,由于只有一个数据通道可用于数据传输, 一旦该数据通道发生故障,容易导致总线瘫痪,可靠性低,进一步地;由于采用半双工的通信方式,因而,对一个从卡轮询时,需要总线保持较长的空闲时间,才能进行下一个从卡的轮询,在等待上耗费了很多时间,降低了总线的效率。
发明内容
本发明实施例提供一种总线高速通信的方法及接口 ,解决现有技术中通过串行总线通信时,采用一个数据通道传输不同类型的数据的问题,极大地提高了串行总线的输出速率,提高了总线的效率,可靠性高。
为解决上述技术问题,本发明实施例提供一种总线高速通信的方法,包
括
接收数据处理单元发送的实时数据或管理数据,通过开关设备,将所述实时数据或管理数据发送到不同的数据通道上;或者
通过开关设备接收从不同的数据通道上接收到的实时数据或管理数据;并将所述实时数据或管理数据发送给数据处理单元。
优选地,所述不同的数据通道至少包括实时数据通道和管理数据通道,所述实时数据通道,用于传输实时数据;所述管理数据通道用于传输管理数据或传输管理数据和实时数据。
优选地,传输实时数据时,采用全双工通信方式;传输管理数据,采用半双工通信方式。
相应地,本发明实施例提供一种总线高速通信的接口,包括接收/发送单元和开关设备,
所述接收/发送单元,用于接收数据处理单元发送的实时数据或管理数据,将所述实时数据或管理数据发送给开关设备;或者接收所述开关设备发送的从不同的数据通道上接收到的实时数据或管理数据;
所述开关设备,用于将接收到的所述实时数据或管理数据发送到不同的数据通道;或者将从不同的数据通道上接收到的实时数据或管理数据发送给接收/发送单元。
优选地,所述接收/发送单元包括
实时数据接收/发送单元,用于接收数据处理单元发送的实时数据,将所述实时数据发送给开关设备;或者接收所述开关设备发送的从实时数据通道
接收到的实时数据;
管理数据接收/发送单元,用于接收数据处理单元发送的管理数据,将所述管理数据发送给开关设备;或者接收所述开关设备发送的从管理数据通道
接收到的管理数据。
优选地,所述开关设备包括
实时数据开关设备用于将接收到的实时数据发送到实时数据通道,或将从实时数据通道接收到的实时数据发送给接收/发送单元;
管理数据开关设备,用于将接收到的管理数据发送到管理数据通道,或将从管理数据通道接收到的管理数据发送给接收/发送单元。优选地,所述开关设备为三态緩沖器组。优选地,所述接口包括主控卡接口,主控卡接口进一步包括上拉电阻,用于保持实时数据通道和管理数据通道空闲时总线为高电平。优选地,所述接口包括从卡接口,从卡接口进一步包括比较单元,用于比较从卡自身的地址与控制线中的从卡地址,根据比较结果控制开关设备从不同的数据通道上接收实时数据或管理数据,或者根据比较结果控制开关设备发送所述开关关设备接收到的所述实时数据或管理数据。
根据以上技术方案可知本发明实施例提供的技术方案中,总线高速通信的接口包括了两个数据通道,通过不同的数据通道传输实时数据和管理数据,解决了釆用一个数据通道传输不同类型的数据,总线传输速率低的问题,提高总线的数据输出效率,进一步地,通过采用全双工的通信方式传输实时数据,大大减少轮询不同从卡时的等待时间,进一步提高总线效率,又因为只有在轮询到一个从卡时,该从卡才工作,因而也降低了功耗。
图1为本发明实施例提供的总线高速通信的方法之将数据发送至数据通道的流程图2为本发明实施例提供的总线高速通信的方法之从数据通道上接收数据的流程图3-1为本发明实施例提供的总线高速通信的方法中实时数据交互的流程图;图3-2为本发明实施例提供的总线高速通信的方法中管理数据交互的流
程图4为本发明实施例提供的最佳实施例中通过实时数据通道传输实时数据的流程图5为本发明实施例提供的通过管理数据通道传输管理数据的流程图;图6本发明实施例提供的总线高速通信的装置的结构示意图;图7为本发明实施例提供的主控卡接口的结构示意图;图8为本发明实施例提供的从卡接口的结构示意图。
具体实施例方式
本发明实施例提供了一种总线高速通信的方法,包括如图1所示
步骤101,接收数据处理单元发送的实时数据或管理数据;步骤102,通过开关设备,将所述实时数据或管理数据发送到不同的数据通道上;或者
如图2所示
步骤201,通过开关设备接收从不同的数据通道上接收到的实时数据或管理数据;
步骤202,并将所述实时数据或管理数据发送给数据处理单元。本发明实施例提供的总线高速通信的方法,分别采用不同的数据通道传输实时数据和管理数据,实时数据通道传输实时数据,管理数据通道传输管理数据;需要注意的是,除了实时数据通道和管理数据通道外,还可以建立冗余数据通道,在实时数据通道出现故障或者繁忙时,可采用冗余数据通道传输实时数据,通常情况下,由于管理数据不会象实时数据的量那么大,管理数据通道也不会象实时数据通道那么繁忙,因此默认管理数据通道不会出现问题,但一旦管理数据通道出现问题,也可以将管理数据切换到冗余数据通道传输;传输实时数据时可以采用全双工通信方式,主控卡查询是否有一个从卡在线,待从卡开启后,发送实时数据包;待该实时数据包发送完之后,
8轮询下一从卡。
本发明实施例提供的总线高速通信的方法中的实时数据交互的具体步骤
如图3-1所示,包括
步骤3101,初始化主控卡和从卡,从卡把从卡自身的地址输出给从卡接口中的比较器,等待与主控卡控制线状态中的地址标识作比较,并通过比较结果控制开关设备时钟的输入和数据的输入,主控卡改变控制线的状态,产生从卡h的地址标识,表明要和从卡h进行实时数据交互,主控卡开始轮询在线从卡,执行步骤3102;
步骤3102,判断主控卡控制线的状态,当主控卡没有轮询到从卡j时,从卡j的比较器不动作,执行步骤3103;当主控卡轮询到在线从卡h时,则主控卡控制线的状态中的地址标识为从卡h的地址标识,从卡h中的比较器比较主控卡控制线上的信号和从卡h的地址标识,相同则从卡h将比较结果"相同"输出至开关设备,控制开关设备,自动开启从卡h的接收时钟和接收/发送单元,执行步骤3104,此时,从卡h接口中的数据处理单元(可以由CPU实现,也可以通过CPLD/FPGA实现)探测到比较器有输出时,不等待主控卡下发实时数据包,就会马上发出一个从卡h需要发送的实时数据包;
步骤3103,从卡j不会接收其他数据(这里的其他数据是指除控制从卡j开启接收功能的控制信号之外的数据),从卡j中的接收/发送单元不工作,只有在轮询到从卡j的时候,执行步骤3104,从卡j中的接收/发送单元才工作,从而降低了从卡接口的功耗,如果没有轮询到从卡j,从卡j的接收时钟会自动关闭,选用CPLD/FPGA实现从卡才妻口时, 一旦接收时钟关闭,CPLD/FPGA就不会再处理由该接收时钟触发的事件,进一步地降低了从卡接口的功耗;
步骤3104,主控卡判断发给从卡h的上一个数据包和当前即将要发送的数据包的时间间隔td是否超出从卡h的数据再接收时间t3,当U〉"时,执行步骤3105;否则执行步骤3106;其中
td是主控卡连续两次发送不同实时数据包给同 一个从卡的时间间隔,td的值会随着在线从卡数量的增加而增大,比如轮询一个从卡需要100us的时间,那如果有n个在线的从卡的话,t产100nus;
t3为数据再接收时间,使之从卡接收完主控卡发给的实时数据包后,再接收下一个实时数据包的最小时间间隔,从卡收完一个实时数据包后一般需要 一定的处理,比如校验,存储数据等,处理完后才能重新开启接收。如果采
用CPLD/FPGA实现本发明实施例提供的技术方案,因为CPLD/FPGA本身具有 并行处理能力,能够一边处理一边接收,所以不存在t3;如果采用CPU实现 本发明实施例提供的技术方案,从卡在接收完实时数据包后要产生中断处理, "是存在的,但因为程序执行速度是很快的,而且数据接口不对数据包具体数 据内容进行处理,所以"是很小的, 一般也只在几个us左右;考虑从卡的数 据再接收时间t3是必须的,举例来说,如果有2个从卡在线,主控卡轮询完1 号从卡后,接着轮询2号从卡,轮询完之后再次论询1号从卡,此时1号从 卡可能还在处理上次收到的数据,并没有开启接收,如果主控卡不去判断是 否超出卡件i的数据再接收时间,就发出一个实时数据包,从卡便有可能收 不到这个实时数据包;
L是为了保证了主控卡发送实时数据包时,从卡的接收功能是开启的,因 为在主控卡改变控制线状态后,变化的信号传输到从卡是需要时间的(可以 近似以光速计算,传输100米大概需要3. 3ns的时间),从卡的比较器和开关 设备也是有开关时延的(根据具体器件而定,通常为几十ns), L就是这些时 间的总和, 一般情况下会留有一定的裕量;
"的取值需大于max{t3, tj- td,这样就可以保证主控卡在发送实时数据 包时,从卡具备接收该实时数据包的能力,te只在传输的数据量很小,且在线 的卡件数量很少的极端情况下才发生。上述已经说明用CPLD/FPGA实现本发 明实施例所提供的技术方案时不存在这种情况,如果采用CPU实现本发明实 施例所提供的技术方案,t3—般在几个us左右,假设t3为9us,主控卡轮询 一个从卡需要50us,那么当在线从卡数量超过2个时,这种情况就不存在了 ;
步骤3105,主控卡会等待U的时间段后,再执行步骤3107;
步骤3106,主控卡等待极小时间段t,后,再执行步骤3107;
步骤3107,主控卡发送一个实时数据包,执行步骤3108;
步骤3108,主控卡判断该实时数据包是否传输完毕,如果是,即已传输 完毕,则执行步骤3109,如果否,即仍未传输完毕,则执行步骤3110;
步骤31Q9,等待ti后,执行步骤3110;步骤3110,等待t2后,执行步骤3111,其中,t2主要保证在关闭从卡接 收功能时,从卡已经接收完毕,当主控卡^r测到主控卡已经传输完毕时,有 可能主控卡所发送的实时数据包中的最后一位还在总线上传输,所以等待t2 的时间段,也就是等待这一位被从卡接收完毕后,可以保证主控卡要传输的 实时数据传输完毕,相应从卡也接收完毕,再改变控制线状态轮询下一卡件, t2主要由接收一位数据的时间(视波特率而定)以及信号在线路上的传输时间 (ns级)组成,并留有一定裕量;
步骤31U,改变主控卡控制线的状态,轮询下一个在线从卡(如从卡11+ 1),这一操作同时也关闭了从卡h的接收。
在实际应用时,上述步骤中主控卡轮询一个在线从卡一般需要100us左 右,(20M速率发送200字节的一个实时数据包就需要100us),所以只要有两 个从卡在线,就不存在步骤303中描述的极端情况,而实际系统工作时都是 很多从卡同时在线工作,所以h和t2是总线空闲时间的主要组成部分,总线 空闲时间是极小的,如果采用时延较短的逻辑器件或者CPLD/FPGA,空闲时间 ti可以控制在ns级,t2则和波特率有关,在高波特率下也能达到ns级,加上 全双工通信,^f吏得总线效率极高。
本发明实施例提供的总线高速通信的方法中的管理数据交互的具体步骤 如图3-2所示,采用令牌式半双工通信的方式进行通信,包括
步骤3201,主控卡对在线的从卡依次轮询,当轮询到从卡i时,查询是 否有需要向从卡i发送的管理数据,如果有,执行步骤3202,如果没有,执 行步骤3203;
步骤3202,向从卡i发送管理数据,主控卡无需等待从卡i的回应,执 行步骤3204;
步骤3203,主控卡向从卡i发送令牌,等待回应,该回应可能是从卡i 向主控卡发送的管理数据,也可能是令牌,但不管主控卡接收到是从卡i返 回的管理数据还是令牌,均认为是已收回令牌,执行步骤3M4;如果一定时 间内i从卡没有回应,主控卡判定i从卡超时,仍然执行步骤3204,需要说 明的是,如果从卡i连续3次超时,主控卡将从卡i的状态置为离线状态;
步骤3204,判断是否所有在线从卡均已轮询到,如果不是,轮询下一个
ii在线从卡,执行步骤32Q1至步骤3203,如果是,即主控卡轮询完所有在线从 卡后,完成一个轮询周期,执行步骤3205;
步骤3205,探询离线从卡主控卡给离线设备列表中的从卡m发送探询 报文,如果从卡m已在线,从卡m会有回应,主控卡收到回应后更新设备列 表,将从卡m标志为在线,开始新的轮询周期;如果从卡m没有回应,主控 卡直接开始下 一个轮询周期。
下面我们将结合附图4和5,对本发明实施例提供的最佳实施方案进行详 细描述,在该实施例中应用方案的通信网络中,包括一个主控卡和8个从卡, 采用CPU实现本发明实施例提供的最佳实施例的技术方案。
在结合附图对本发明实施例提供的串行总线数据传输的流程进行详细说 明之前,首先说明的是在传输数据之前,需事先建立好实时数据通道和管理 数据通道,主控卡和从卡均会执行初始化,具体步骤为
芯片上电初始化;
主控卡上电,设置时钟、中断,初始化2个串口,分别用于通过实时数 据通道和管理数据通道与在线从卡通信; 初始化实时数据通道和管理数据通道;
主控卡初始化设备列表,这里的设备列表为在线从卡信息的列表,可以 根据情况初始化从卡在线的个数,在这里,初始化3个从卡在线,5个从卡离 线;
从卡上电初始化,开启串口接收,准备接收来自主控卡的数据; 从卡从母板上读取该从卡的地址线,用于与主控卡控制线状态中地址线 做比较;
总线数据包均采用长度为255字节,从卡接收完数据后,只存储数据, 不进行处理;
此时,CPU能够连续接收两包的时间间隔h约为6us,所选的比较器和三 态门时延为几十ns,所以U "可以取ns级,实例中取t产t尸900ns。 CPU 轮询一个卡件的时间主要由L, t2和传输数据的时间构成,15M速率传输255 字节的数据需要136us,所以论询一个卡件的时间约138us,大于t3,所以只 要有2个卡件在线,主控卡就不需要判断发出实时数据包是否超出从卡的处理能力(从卡肯定能够接收),因此主控卡在发送前只需判断有几个卡件在线 即可。
接下来,结合图4,对本发明实施例提供的通过实时数据通道传输实时数 据的流程进行详细说明,具体步骤为
步骤401,主控卡轮询设备列表中的在线的从卡,判断是否只有一个从卡 在线,如果只有一个/人卡在线,,执行步骤403,如果有不止一个从卡在线,即 不是只有一个从卡在线,执行步骤402;
步骤402,主控卡发现有超过一个从卡在线时,等待才及小时间tl=900ns 后,执行步骤404;
步骤403,主控卡发现只有一个从卡在线时,只需等待7us,即等待该从 卡开启,使得从卡能够接收主控卡发送给该从卡的实时数据,执行步骤404;
步骤404,主控卡以15MPS的速率发送一个实时数据包,此时在线从卡已 开启接收功能,因而在线从卡接收该实时数据,在线从卡接收完该实时数据 之后,触发中断,与串行总线断开,并存储该实时数据,执行步骤405;
步骤405,主控卡查询发送完毕标志位和接收完毕标志位,执行步骤406;
步骤406,判断发送完毕标志位和接收完毕标志位是否都已置位,如果是, 执行步骤407,如果发送完毕标志位和接收完毕标志位都没有置位或只有其中 一个标志位置位,执行步骤408;
步骤407,主控卡等待t2=900ns,执行步骤409;
步骤408,主控卡查看向该从卡发送该实时数据包的时间是否超过预定时 间,如果确已超时,执行步骤409,如果未超时,执行步骤405;
步骤409,主控卡将控制线状态设置为下一在线从卡的地址,执行步骤
401。
下面结合图5,对本发明实施例提供的通过管理数据通道传输管理数据的 流程进41S兌明
步骤501,主控卡轮询设备列表中的第一个在线从卡,查询是否有需要向 该从卡发送的管理数据,如果有,执行步骤502,如果没有,执行步骤503;
步骤502,向该从卡发送管理数据,主控卡无需等待该从卡的回应,执行 步骤504;步骤503,主控卡向该从卡发送令牌,等待回应,该回应可能是从卡向主 控卡发送的管理数据,也可能是令牌,但不管主控卡接收到是从卡返回的管 理数据还是令牌,均认为是已收回令牌,执行步骤504;如果一定时间内该从 卡没有回应,主控卡判定该从卡超时,仍然执行步骤504,需要说明的是,如 果该从卡连续3次超时,主控卡将该从卡的状态置为离线状态;
步骤504,判断是否所有在线从卡均已轮询到,如果不是,轮询下一个在 线从卡,执行步骤501至步骤503,如果是,即主控卡轮询完所有在线从卡后, 完成一个轮询周期,执行步骤505;
步骤505,探询离线从卡主控卡给离线设备列表中的从卡m发送探询报 文,如果从卡m已在线,从卡m会有回应,主控卡收到回应后更新设备列表, 将从卡m标志为在线,开始新的轮询周期;如果从卡m没有回应,主控卡直 接开始下一个轮询周期。
根据上述技术方案可知,分别通过不同的数据通道传输实时数据和管理 数据,避免了仅通过一个数据通道传输不同种类型数据的问题,进行管理数 据传输时,不会影响实时数据的传输,提高了总线的输出速率,也提高了总 线的使用效率,进一步提升了总线传输数据的可靠性;进一步地,由于在传 输实时数据采用了全双工的通信方式,因而对不同从卡进行轮训时,总线空 闲时间大大缩短,减少了等待时间,提高了总线效率。
另外,在通过实时数据通道交互实时数据和通过管理数据通道交互管理 数据的过程中,当有连续两次以上主控卡未收到从卡通过实时数据通道的回 应,而通过管理数据通道的通信正常时,判定实时数据通道损坏,通过管理 数据通道传输实时数据;
如果把实时数据通道主控卡发送端或接收端切断,进行冗余通道切换, 此时所有类型数据在管理数据通道,按管理数据优先, 一次只发送或接收一 包的原则传输,通信指示显示依然正常;
如果把管理数据通道主控卡发送端或接收端切断,进行冗余通道切换此 时所有类型数据在实时数据通道传输,也按管理数据优先, 一次只发送或接 收一包的原则传输,通信指示显示仍然正常;
因而,通过冗余通道切换也增强数据传输的可靠性,避免由于一个数据通道的损坏造成总线瘫痪,可靠性得到了极大的提高。
本发明实施例还提供了一种总线高效通信的接口 ,所述接口的结构示意 图如图6所示,包括接收/发送单元和开关设备,
所述接收/发送单元,用于接收数据处理单元发送的实时数据或管理数
据,将所述实时数据或管理数据发送给开关设备;或者接收所述开关设备发 送的从不同的数据通道上接收到的实时数据或管理数据;
所述开关设备,用于将接收到的所述实时数据或管理数据发送到不同的 数据通道;或者将从不同的数据通道上接收到的实时数据或管理数据发送给 接收/发送单元。
所述接收/发送单元包括
实时数据接收/发送单元,用于接收数据处理单元发送的实时数据,将所 述实时数据发送给开关设备;或者接收所述开关设备发送的从实时数据通道 接收到的实时数据;
管理数据接收/发送单元,用于接收数据处理单元发送的管理数据,将所 述管理数据发送给开关设备;或者接收所述开关设备发送的从管理数据通道 接收到的管理数据。
所述开关设备包括
实时数据开关设备用于将接收到的实时数据发送到实时数据通道,或 将从实时数据通道接收到的实时数据发送给接收/发送单元;
管理数据开关设备,用于将接收到的管理数据发送到管理数据通道,或 将从管理数据通道接收到的管理数据发送给接收/发送单元。
所述开关设备为三态緩沖器组。
根据上述所述接口的作用不同,本发明实施例所提供的接口具体可以分 成两类, 一类为主控卡接口,另一类为从卡接口,主控卡接口包括实时数据 接收/发送单元、管理数据接收/发送单元、实时数据开关设备、管理数据开 关设备、数据处理单元和上拉电阻,从卡接口包括实时数据接收/发送单元、 管理数据接收/发送单元、实时数据开关设备、管理数据开关设备、数据处理 单元和比较单元。其中,可以采用CPU实现数据处理单元、实时数据接收/发 送单元,实时数据开关设备和管理数据开关设备均可由三态緩冲器组实现,
15也可以采用CPLD/FPGA实现实时数据接收/发送单元、管理数据接收/发送单 元、实时数据开关设备、管理数据开关设备和数据处理单元;
所述上拉电阻,用于保持实时数据通道和管理数据通道空闲时总线为高 电平;
所述比较单元用于比较从卡自身的地址与控制线中的从卡地址,根据比 较结果控制开关设备从不同的数据通道上接收实时数据或管理数据,或者根 据比较结果控制开关设备发送所述开关关设备接收到的所述实时数据或管理 数据。
下面结合图7和图8对本发明实施例提供的主控卡接口和从卡接口的最 优实施例进行详细说明。在本发明实施例提供的主控卡接口和从卡接口的最 优实施例中,采用同步通信方式,采用CPU实现数据处理和数据接收/发送的 功能,另外虚线框内的逻辑也可用CPLD/FPGA实现。
主控卡接口的结构示意图如图7所示,主控卡接口包括接插件、稳压滤 波单元、电源电压转换单元、三态緩冲器3、上拉电阻、通道l (实时数据通 道)、三态緩冲器组1 (实时数据开关设备)、通道2 (管理数据通道)、三态 緩沖器组2 (管理数据开关设备)、接收/发送单元(包括实时数据接收/发送 单元(包括实时数据接收单元和实时数据发送单元)和管理数据接收/发送单 元(包括管理数据接收单元和管理数据发送单元))和数据处理单元;以下所 提到的卡件,可以为主控卡,也可以为从卡;
其中
接插件,作为卡件和总线连接的部件,用于控制卡件的上电顺序,可以 通过对接插件插针的长短和位置的设计控制卡件的上电顺序(如先地线、再 电源线、最后信号线),另外接插件可以保证地线先引入卡件,在带电插拔时, 可以保证卡件上的器件不被损坏,这是因为如果先接入电源而地线未接入会 引起卡件上的器件因电压太高而被损坏;
稳压滤波单元,用于保持卡件输入电压的稳定,在卡件热插拔过程中, 用于保持卡件输入电压的稳定,这是因为在卡件热插拔的过程中,由于电源 的增加或减少,会引起相应的脉沖干扰;
电源电压转换单元,用于将输入电压转换成符合需求的电压,即在一定容限内的,这是因为输入电压通常会有一定的容限,将该符合需求的电压信
号输出,为数据处理单元和其他需要供电的器件供电;在这里,容限可以理
解为一定范围,为了使得卡件在实现高速通信的情况,可以使卡件实现热插
拔,比如总线供电一般是5V,那么就算卡件上所有芯片都是5V供电的,但从 卡热插拔过程中会引起总线电压产生很小波动,如果没有电源电压转换单元, 此波动会通过上拉电阻串入数据线,影响数据通信,如果有电源电压转换单 元,对于电压转换单元来说即使输入有一定的波动,输出还是可以保持在一 个稳定的电压值的,这样保证了主控卡电压的稳定,保证了电源线上的干扰 不串入总线;
三态緩冲器3,用于实现主控卡时钟线的热插拔,主控卡一旦工作,三态 緩冲器3便一直开启;
数据处理单元,用于接收符合需求的电压信号,使得主控卡接口可正常 使用,同时对接收到的来自于实时数据接收/发送单元的数据和/或管理数据 接收/发送单元的数据进行相关处理, 一般用于实现总线协议应用层的功能, 比如从卡接口中比较器的动作会触发CPU中断,通知CPU主控卡已经选通从 卡,然后从卡就会发出一个实时数据包,这都需要数据处理单元来处理的;
接收/发送单元,包括实时数据接收/发送单元和管理数据接收/发送单 元,所述实时数据接收/发送单元,用于接收来自从卡的实时数据或发送给从 卡的实时数据,类似于CPU串口的功能;所述管理数据接收/发送单元,用于 接收来自从卡的管理数据或发送给从卡的管理数据,类似于CPU串口的功能;
三态緩冲器组l,与通道1连接,包括接收三态緩冲器组l和发送三态緩 冲器组l,接收三态緩冲器组l接收总线通过通道l传输的实时数据,输出至 实时数据接收/发送单元,接收三态緩冲器组1的使能端由数据处理单元控制, 发送三态緩沖器组1用于把实时数据接收/发送单元的输出的实时数据通过通 道1传输至总线上,发送三态緩冲器组1的使能端由实时数据接收/发送单元 控制;
三态緩沖器组2,与通道2连接,包括接收三态緩沖器组2和发送三态緩 冲器组2,接收三态緩冲器组2接收总线通过通道2传输的管理数据,输出至管理数据接收/发送单元,接收三态緩冲器组2的使能端由数据处理单元控制,
发送三态緩冲器组2用于把管理数据接收/发送单元的输出的管理数据通过通 道2传输至总线上,发送三态緩冲器组2的使能端由管理数据接收/发送单元 控制;
通道l,用于传输实时数据,由三态緩冲器单元l控制; 通道2,用于传输管理数据,由三态緩冲器单元2控制; 通道1控制线,用于控制主控卡要轮询的从卡的地址线,该从卡被选通 后,主控卡发送实时数据至该从卡;
上拉电阻,用于保持实时数据通道和管理数据通道空闲时总线为高电平; 从卡接口与主控卡接口包括的单元类似,从卡接口的结构示意图如图8
所示,和主控卡接口相比,从卡接口没有上拉电阻,增加了比较器(比较单 元),从卡接口具体包括接插件、稳压滤波单元、电源电压转换单元、三态缓 冲器6、比较器(比较单元)、通道l (实时数据通道)、三态緩沖器组4 (实 时数据控制传输单元)、通道2 (管理数据通道)、三态緩冲器组5 (管理数据 控制传输单元)、接收/发送单元(包括实时数据接收/发送单元(实时数据接 收单元和实时数据发送单元)、管理数据接收/发送单元(管理数据接收单元 和管理数据发送单元))和数据处理单元,从卡接口的结构示意图如图8所示。
比较器,用于比较主控卡控制线的状态与所在从卡的地址是否一致,若 一致,则将比较结果输出至三态緩冲器组4和三态緩冲器6的使能端,开启 从卡时钟和通道l的接收,准备接收主控卡输出至所在从卡的实时数据;
三态緩冲器组4,和主控卡的三态緩冲器单元1的不同之处在于三态緩冲 器组4的接收三态緩冲器4是由比较器的输出控制的,即比较器控制着从卡 接口中通道1数据接收功能的开启或关闭,并且此输出的变化接连CPU中断 线,能触发CPU中断;发送三态緩沖器4还是由实时数据接收/发送单元控制;
三态緩冲器6才艮据接收到的比较器的输出信号,关闭或开启时钟信号的 输入,同时此单元也是实现从卡时钟线热插拔的需要;
从卡接口中的接插件、稳压滤波单元、电源电压转换单元、三态緩冲器
组5的功能与主控卡接口中接插件、稳压滤波单元、电源电压转换单元、三 态緩冲器组2的功能类似,在此不再赘述。
18根据以上主控卡接口和从卡接口的技术方案,可看出主控卡接口和从 卡接口均包括了两个数据通道——通道1和通道2,分别通过通道1和通道2 传输实时数据和管理数据,避免了采用 一个数据通道传输不同类型的数据, 不能及时传输实时数据的问题,提高总线的数据输出效率,进一步地,通过 采用全双工的通信方式传输实时数据,大大减少轮询不同从卡时的等待时间,
进一步提高总线效率,进一步地,由于上述最佳实施例的技术方案中,主控 卡接口和从卡接口包括接插件、稳压滤波单元和电源电压转换单元,使得本
发明实施例所提供的技术方案在实现高速、高效通信的基础上,能够进一步 地、更好地实现了卡件的热插拔。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件, 但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案 本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该计算机软件产品可以存储在存储介质中,如R0M/RAM、 -兹碟、光盘等,包括
若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润 饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1、一种总线高速通信的方法,其特征在于,包括接收数据处理单元发送的实时数据或管理数据,通过开关设备,将所述实时数据或管理数据发送到不同的数据通道上;或者通过开关设备接收从不同的数据通道上接收到的实时数据或管理数据;并将所述实时数据或管理数据发送给数据处理单元。
2、 才艮据权利要求1所述的方法,其特征在于,所述不同的数据通道至少 包括实时数据通道和管理数据通道,所述实时数据通道,用于传输实时数 据;所述管理数据通道用于传输管理数据或传输管理数据和实时数据。
3、 根据权利要求1所述的方法,其特征在于,所述不同的数据通道包括 实时数据通道、管理数据通道和冗余数据通道,其中,用所述实时数据通道传输实时数据,用所述管理数据通道传输管理数据, 实时数据通道不能正常工作时,用冗余数据通道传输实时数据。
4、 才艮据权利要求1或2所述的方法,其特征在于,所述方法进一步包括 当主控卡有连续两次以上未收到从卡通过实时数据通道的回应,而管理数据通道通信正常时,判定实时数据通道损坏,通过管理数据通道传输实时 数据。
5、 根据权利要求1或3所述的方法,其特征在于,所述方法进一步包括 当主控卡有连续两次以上未收到从卡通过实时数据通道的回应,而管理数据通道通信正常时,判定实时数据通道损坏,通过冗余数据通道传输实时 数据。
6、 根据权利要求1或2所述的方法,其特征在于,所述方法包括 传输实时数据时,采用全双工通信方式;传输管理数据,采用半双工通信方式。
7、 根据权利要求6所述的方法,其特征在于,所述采用全双工通信方式 传输实时数据的步骤包括主控卡查询是否只有一个从卡在线,若只有一个从卡在线,待从卡开启 后,发送一个实时数据包;否则,等待指定时间段,发送一个实时数据包,所述指定时间段的值为大于从卡接收一位数据的时间和信号在总线上的传输时间之和;待所述实时数据发送完之后,主控卡改变总线控制线状态,轮询下一件 从卡。
8、 根据权利要求6所述的方法,其特征在于,传输管理数据的通信方式为令牌式半双工通信方式。
9、 根据权利要求8所述的方法,其特征在于,采用令牌式半双工通信方式传输管理it据的步骤包括当从卡被轮询到时,主控卡查看是否需要向所述从卡发送的管理数据 若主控卡有需要向所述从卡发送的管理数据,则向所述从卡发送所述管理数据,所述从卡只需接收向其发送的管理数据,无需回应;之后,轮询下一个在线^v卡;若主控卡没有需要向所述从卡发送的管理数据,则主控卡向所述从卡发 送令牌;所述从卡接收到令牌时,查看所述从卡是否有需要向主控卡发送的管理 数据,如果有,则发送管理数据,若没有,则将令牌回送至主控卡。
10、 根据权利要求9所述的方法,其特征在于,所述从卡接收到令牌的 步骤之后进一步包括主控卡接收到管理数据或令牌,轮询下一个在线从卡。
11、 一种总线高速通信的接口,其特征在于,包括接收/发送单元和开 关设备,所述接收/发送单元,用于接收数据处理单元发送的实时数据或管理数 据,将所述实时数据或管理数据发送给开关设备;或者接收所述开关设备发 送的从不同的数据通道上接收到的实时数据或管理数据;所述开关设备,用于将接收到的所述实时数据或管理数据发送到不同的 数据通道;或者将从不同的数据通道上接收到的实时数据或管理数据发送给 接收/发送单元。
12、 根据权利要求11所述的接口,其特征在于,所述接收/发送单元包括实时数据接收/发送单元,用于接收数据处理单元发送的实时数据,将所述实时数据发送给开关设备;或者接收所述开关设备发送的从实时数据通道 接收到的实时数据;管理数据接收/发送单元,用于接收数据处理单元发送的管理数据,将所述管理数据发送给开关设备;或者接收所述开关设备发送的从管理数据通道接收到的管理数据。
13、 根据权利要求11或12所述的接口,其特征在于,所述开关设备包括实时数据开关设备用于将接收到的实时数据发送到实时数据通道,或 将从实时数据通道接收到的实时数据发送给接收/发送单元;管理数据开关设备,用于将接收到的管理数据发送到管理数据通道,或 将从管理数据通道接收到的管理数据发送给接收/发送单元。
14、 根据权利要求11或12所述的接口,其特征在于,所述开关设备为 三态緩冲器组。
15、 根据权利要求11或12所述的接口,其特征在于,所述接口包括主 控卡接口,主控卡接口进一步包括上拉电阻,用于保持实时数据通道和管理数据通道空闲时总线为高电平。
16、 根据权利要求11或12所述的接口,其特征在于,所述接口包括从 卡接口,从卡接口进一步包括比较单元,用于比较从卡自身的地址与控制线中的从卡地址,根据比较 结果控制开关设备从不同的数据通道上接收实时数据或管理数据,或者根据 比较结果控制开关设备发送所述开关关设备接收到的所述实时数据或管理数 据。
全文摘要
本发明实施例提供了一种总线高速通信的方法及接口,接收数据处理单元发送的实时数据或管理数据,通过开关设备,将所述实时数据或管理数据发送到不同的数据通道上;或者通过开关设备接收从不同的数据通道上接收到的实时数据或管理数据;并将所述实时数据或管理数据发送给数据处理单元。解决了现有技术中将不同类型的数据通过一个数据通道传输的问题,极大地提高了串行总线的输出速率,提高了串行总线的效率。
文档编号H04L29/06GK101483646SQ20091000605
公开日2009年7月15日 申请日期2009年1月22日 优先权日2009年1月22日
发明者张安坤, 张晓刚, 黄文君 申请人:浙江大学;浙江中控技术股份有限公司