一种串行总线数据传输的方法和装置的制作方法

文档序号:6613044阅读:120来源:国知局

专利名称::一种串行总线数据传输的方法和装置的制作方法
技术领域
:本发明涉及计算机
技术领域
,特别是指一种串行总线数据传输的方法和装置。
背景技术
:随着计算机技术的发展,在工业控制、生成、生活、车辆自动化控制等各个领域都有较大的应用,特别是在车辆自动化控制中,应用的更为广泛。在车辆自动化控制中,通常会采用高可靠或故障-安全计算的通用计算机,这种计算机普遍采用冗余的系统架构实现。在中央处理板与外设板之间,需要设置高可靠或故障-安全的冗余总线,传统的并行总线使用引脚过多,进行冗余设计非常困难,且控制协议复杂。另外,由于高可靠或故障-安全计算的通用计算机釆用的不是点对点架构,在扩充外设板时会受到总线性能的限制。每增加一个外设板,各个外设板的性能就会随之下降,且电磁兼容性差。由于数据线为双向,难以实现电气隔离。传统的串行背板总线虽然也能实现数据传输,但多偏向于性能较高的电信应用,而并不适合高可靠或故障-安全计算机的应用;而现有高可靠或故障-安全的冗余总线采用并行总线,引脚较多,实现复杂。
发明内容有鉴于此,本发明在于提供一种串行总线数据传输的方法和装置,以解决上述高可靠或故障-安全计算机中数据传输采用并行总线,结构复杂的问题。为解决上述问题,本发明提供一种串行总线数据传输的方法,包括主收发器向从收发器发送帧头、数据传输的命令;从收发器向主收发器反馈所接收到的帧头、数据传输的命令,同时与所述主收发器之间进行数据传输、且接收来自主收发器的帧尾;从收发器向主收发器反馈所接收到的帧尾。优选的,包括所述数据传输的命令为主收发器发送数据的命令;从收发器向主收发器反馈所接收到的帧头、数据传输的命令,同时与所述主收发器之间进行数据传输、且接收来自主收发器的帧尾过程包括Al、从收发器向主收发器反馈所接收到的帧头;A2、主收发器向从收发器发送数据的第一字节后,从收发器反馈接收到的所述主收发器发送数据的命令;A3、主收发器向从收发器发送数据的第二字节至最后字节后,从收发器反馈所接收到的字节;A4、主收发器向从收发器发送帧尾。优选的,包括所述数据传输的命令为主收发器接收数据的命令;从收发器向主收发器反馈所接收到的帧头、数据传输的命令,同时与所述主收发器之间进行数据传输、且接收来自主收发器的帧尾过程包括Bl、从收发器向主收发器反馈所接收到的帧头后,反馈所述主收发器接收数据的命令;B2、从收发器向从主发器发送数据的所有字节,并接收主收发器反馈所接收到的字节;B3、主收发器向从收发器发送帧尾。优选的,所述数据传输过程中,每位数据为3个脉冲,取2个相同的脉冲作为该位数据。优选的,所述主收发器/从收发器为主、备双收发器同时工作;该方法进一步包括比较器,所述主、备收发器发送数据时,进行比较,当比较结果不一致时,重新传输;或所述主、备收发器接收数据后,进行比较,当比较结果不一致时,重新传输。本发明还提供一种串行总线数据传输的装置,包括主收发器和从收发器;所述主收发器包括第一串行编码器、第一串行解码器、第一控制器;所述第一串行编码器,用于在所述第一控制器的控制下,向所述从收发器发送帧头、数据传输的命令、数据、帧尾;所述第一串行解码器,用于在所述第一控制器的控制下,接收所述从收发器发送的数据;或接收所述从收发器反馈所接收到的帧头、数据传输命令、数据、帧尾;所述第一控制器,用于控制所述第一串行编码器向所述从收发器发送帧头、数据传输的命令后,控制所述第一串行解码器或第一串行编码器与所述从收发器之间进行数据传输,控制所述第一串行解码器接收来自从收发器的帧尾;所述从收发器包括第二串行编码器、第二串行解码器、第二控制器;所述第二串行编码器,用于在所述第二控制器的控制下,向所述主收发器反馈所接收到的帧头、数据传输的命令、数据、帧尾;或向所述主收发器发送数据;所述第二串行解码器,用于在所述第二控制器的控制下,接收所述主收发器发送的帧头、数据传输的命令、数据、帧尾;所述第二控制器,用于控制所述第二串行编码器向所述主收发器反馈所接收到的帧头、数据传输的命令后,控制所述第二串行解码器或第二串行编码器与所述主收发器之间进行数据传输,控制所属第二串行编码器向所述主收发器反馈所接收5)J的帧尾。优选的,所述主收发器包括主、备两个第一串行编码器/第一串行解码器,且同时互为冗余工作;所述从收发器包括主、备两个第二串行编码器/第二串行解码器,且同时互为冗余工作。优选的,所述主收发器/从收发器进一步包括比较器,用于在所述主、备第一串行编码器/第二串行编码器发送数据时,进行比较,当比较结果不一致时,重新传输;或所述主、备第一串行解码器/第二串行解码器接收数据后,进行比较,当比较结果不一致时,重新传输。优选的,所述第一串行编码器/第二串行编码器发送数据时,每位数据为3个脉冲;所述第一串行解码器/第二串行解码器接收数据时,在所接收到的3个脉冲中耳又2个相同的脉冲作为该位数据。本发明的方法和装置,在主收发器和从收发器之间进行数据传输时,接收到数据的主收发器/从收发器均会将所接收^'j的数据进行反馈,从而保证数据的通路的正常工作,且在发送/接收数据时均采用主、备冗余工作,并在发送/接收数据时进行主、备用的比较,当不一致时,重新传输。本发明的串行数据传输的方法、装置实现简单,数据传输安全,且容易在计算机系统中推广、应用。图1是本发明实施例一的流程图;图2是本发明实施例二的流程图;图3是本发明实施例三的流程图;图4是本发明实施例中数据位的示意图;图5是本发明实施例五的装置结构图。具体实施方式为清楚说明本发明的方法和装置,下面给出本发明的优选实施例并结合附图详细说明。首先详细描述实施例一,实施例一是本发明的方法实施例。参见图1,图1是本发明实施例一的流程图,包括步骤101:主收发器向从收发器发送帧头、数据传输的命令;步骤102:从收发器向主收发器反馈所接收到的帧头、数据传输的命令,同时与所述主收发器之间进行数据传输、且接收来自主收发器的帧尾;步骤103:从收发器向主收发器反馈所接收到的帧尾。在上述数据传输的过程中,无论是主收发器发送数据/接收数据,数据传输的发起都由主收发器进行控制。在数据传输过程中,无论主收发器/从收发器接收到数据后,均会将所接收到的数据反馈。下面分别通过实施例二、实施例三详细i兌明。实施例二为主收发器向从收发器发送数据的实施例。主收发器向从收发器发送数据过程中,各个卑节的数据内容可参见表1,字节字节反馈方向主收发器发送从收发器发送1无反馈帧头空闲2上行下行传输命令字帧头3上行下行数据的第1字节下行传输命令字42+数据长度上行下行数据的第2到最后1字节下行数据第1字节到最后1字节前1字节2+数据长度~3+数据长度上行帧尾下行数据最后1字节3+数据长度4+数据长度上行空闲帧尾表1其中,表1中的字节表示字节中数据的范围,上行表示从收发器向主收发器的发送方向。主收发器向从收发器发送数据的过程可参见图2,包括步骤201:主收发器向从收发器发送帧头;步骤202:主收发器向从收发器发送下行传输命令字,下行传输命令字表示主收发器向从收发器发送数据,同时从收发器反馈所接收到的帧头;步骤203:主收发器向从收发器发送数据中的第l字节的同时,从收发器反馈所接收到的下行传输命令字;步骤204:主收发器向从收发器发送数据的第2字节到最后字节的同时,从收发器反馈所接收到的第1字节到最后字节的前1字节;步骤205:主收发器向从收发器发送帧尾,从收发器反馈所接收到数据中的最后1个字节;步骤206:从收发器向主收发器反馈帧尾。上面的实施例二详细说明了主收发器向从收发器发送数据的过程,对于从收发器向主收发器发送数据的过程通过下面的实施例三进行说明。实施例三为从收发器向主收发器发送数据的实施例。从收发器向主收发器发送数据过程中,各个字节的数据内容可参见表2,<table>tableseeoriginaldocumentpage10</column></row><table>表2其中,表2中的字节表示字节中数据的范围,上行表示从收发器向主收发器的发送方向。从收发器向主收发器发送数据的过程可参见图3,包括步骤301:主收发器向从收发器发送帧头;步骤302:主收发器向从收发器发送上行传输命令字,上行传输命令字表示主收发器接收从收发器发送的数据,同时从收发器反馈所接收到的帧头;步骤303:从收发器向主收发器反馈所接收到的上行传输命令字;步骤304:从收发器向主收发器发送数据中的第l字节;步骤305:从收发器向主收发器发送数据的第2字节到最后字节的同时,主收发器反馈所接收到的第1字节到最后字节的前1字节;步骤306:主收发器向从收发器反馈数据中最后1字节;步骤307:主收发器向从收发器发送帧尾,从收发器向主收发器反馈帧尾。上面实施例三详细描述主收发器接收从收发器发送数据的过程。在上面三个实施例中,主收发器/从收发器还可采用主、备双收发器同时工作,即采用双主收发器、双从收发器,为一主一备设置,并加入比较器,比较双主收发器/从收发器所接收的数据是否一致,如果不一致,则重新传输数据;比较双主收发器/从收发器所发送的数据是否一致,如果不一致,则重新传输数据。在上面的三个实施例中,每位数据的传输可参见图4,其中,B0、Bl、B2或B3表示1位数据。数据传输过程中,任何一个字节的传输由主收发器发起并提供时钟脉冲同步,每1数据位在上一数据位的最后1个时钟脉沖下降沿跳变,第1数据位在时钟开始驱动之前输出,每一数据位的三个时钟上升沿(t2,t3,t4)处,主收发器对上行数据进行采样,从收发器对下行数据进行采样,从3个脉冲中取样2个相同的脉冲作为此位数据位的逻辑值。每字节用IO个数据位进行传输,其中低8位为有效数据,高2位为控制位。高2位为00时表示该字节为数据;高2位为01、10、11时,结合低8位,可以组合出768种控制命令和状态信息。例如,所组合出的命令含义如表3所示,<table>tableseeoriginaldocumentpage12</column></row><table>表3其中,在上述的三个实施例中,任何时候从收发器收到主收发器发来的IDLEl,都应该在下一字节返回IDLE2,后续的传输步骤顺延。如果主收发器在发出IDLEl之后1字节收到IDLE2,则说明当前线路正常,无干扰。否则有可能发生线路失效、线路干扰或从收发器失效中的一种或几种情况。上面详细描述了本发明方法的各个实施例,对于实现本发明方法的装置,可以有多种实现形式,下面给出优选的装置实施例。参见图5,包括主收发器和从收发器,主收发器安装在中央处理板上,从收发器安装在外设板上。所述主收发器包括第一串行编码器A1、第一串行解码器Al、第一控制器;所述第一串行编码器A1,用于在所述第一控制器的控制下,向所述从收发器发送帧头、数据传输的命令、数据、帧尾;所述第一串行解码器Al,用于在所述第一控制器的控制下,接收所述从收发器发送的数据;或接收所述从收发器反馈所接收到的帧头、数据传输命令、数据、帧尾;所述第一控制器,用于控制所述第一串行编码器Al向所述从收发器发送帧头、数据传输的命令后,控制所述第一串行解码器Al或第一串行编码器Al与所述从收发器之间进行数据传输,控制所述第一串行解码器Al接收来自从收发器的帧尾;所述第一控制器还通过緩存(FIFO-A)与中央CPU连接。所述从收发器包括第二串行编码器B1、第二串行解码器B1、第二控制器;所述第二串行编码器Bl,用于在所述第二控制器的控制下,向所述主收发器反馈所接收到的帧头、数据传输的命令、数据、帧尾;或向所述主收发器发送数据;所述第二串行解码器B1,用于在所述第二控制器的控制下,接收所述主收发器发送的帧头、数据传输的命令、数据、帧尾;所述第二控制器,用于控制所述第二串行编码器Bl向所述主收发器反馈所接收到的帧头、数据传输的命令后,控制所述第二串行解码器Bl或第二串行编码器Bl与所述主收发器之间进行数据传输,控制所属第二串行编码器向所述主收发器反馈所接收到的帧尾。所述第二控制器还通过緩存(FIFO-B)与外设CPU连接。优选的,所述主收发器/从收发器为主、备双收发器同时互为冗余工作,如图5所示,主收发器中还具有第一串行解码器A2、第一串行编码器A2也可实现与从收发器之间进行数据传输,从而与第一串行解码器Al、第一串行编码器Al构成主、备用关系,且互为冗余工作。从收发器中采用第二串行编码器B1、第二串行编码器B1与第二串行解码器B2、第二串行解码器B2为主、备用关系,且互为冗余工作。在主、备收发器之间进一步包括比较器A,用于在所述主、备收发器的第一串行编码器Al/A2发送数据时、或第一串行解码器Al/A2接收数据时,进行比较,当比较结果不一致时,重新传输;进一步包括比较器B,用于在所述主、备收发器的第一串行编码器Bl/B2发送数据时、或第一串行解码器Bl/B2接收数据时,进行比较,当比较结果不一致时,重新传输。优选的,所述第一串行编码器Al/A2、或第二串行编码器Al/A2发送数据时,每位数据为3个脉冲;所述第一串行解码器Bl/B2、或第二串行解码器Bl/B2接收数据时,在所接收到的3个脉冲中取2个相同的脉沖作为该位凄t据。在上述装置工作过程中,中央处理板上的时钟源1、时钟源2用于向外设板上提供时钟。上面详细描述了本发明装置的优选实施例,本发明中数据传输的方法均可通过实施例中的装置实现。对于本发明各个实施例中所阐述的方法和装置,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1、一种串行总线数据传输的方法,其特征在于,包括主收发器向从收发器发送帧头、数据传输的命令;从收发器向主收发器反馈所接收到的帧头、数据传输的命令,同时与所述主收发器之间进行数据传输、且接收来自主收发器的帧尾;从收发器向主收发器反馈所接收到的帧尾。2、根据权利要求1所述的方法,其特征在于,包括所述数据传输的命令为主收发器发送数据的命令;从收发器向主收发器反馈所接收到的帧头、数据传输的命令,同时与所述主收发器之间进行数据传输、且接收来自主收发器的帧尾过程包括Al、从收发器向主收发器反馈所接收到的帧头;A2、主收发器向从收发器发送数据的第一字节后,从收发器反馈接收到的所述主收发器发送数据的命令;A3、主收发器向从收发器发送数据的第二字节至最后字节后,从收发器反馈所接收到的字节;A4、主收发器向从收发器发送帧尾。3、根据权利要求1所述的方法,其特征在于,包括所述数据传输的命令为主收发器接收数据的命令;从收发器向主收发器反馈所接收到的帧头、数据传输的命令,同时与所述主收发器之间进行数据传输、且接收来自主收发器的帧尾过程包括Bl、从收发器向主收发器反馈所接收到的帧头后,反馈所述主收发器接收数据的命令;B2、从收发器向从主发器发送数据的所有字节,并接收主收发器反馈所接收到的字节;B3、主收发器向从收发器发送帧尾。4、根据权利要求1所述的方法,其特征在于,所述数据传输过程中,每位数据为3个脉冲,取2个相同的脉冲作为该位数据。5、根据权利要求1所述的方法,其特征在于,所述主收发器/从 收发器为主、备双收发器同时工作;该方法进一步包括比较器,所述主、备收发器发送数据时,进行比较,当比较结果不一致时,重新传输;或所述主、备收发器接收数据后,进行比较,当比较结果不一致时,重新传输。6、一种串行总线数据传输的装置,其特征在于,包括主收发器和从收发器;所述主收发器包括第一串行编码器、第一串行解码器、第一控制器;所述第一串行编码器,用于在所述第一控制器的控制下,向所述从收发器发送帧头、数据传输的命令、数据、帧尾;所述第一串行解码器,用于在所述第一控制器的控制下,接收所述从收发器发送的数据;或接收所述从收发器反馈所接收到的帧头、数据传输命令、数据、帧尾;所述第一控制器,用于控制所述第一串行编码器向所述从收发器发送帧头、数据传输的命令后,控制所述第一串行解码器或第一串行编码器与所述从收发器之间进行数据传输,控制所述第一串行解码器接收来自从收发器的帧尾;所述从收发器包括第二串行编码器、第二串行解码器、第二控制器;.所述第二串行编码器,用于在所述第二控制器的控制下,向所述主收发器反馈所接收到的帧头、数据传输的命令、数据、帧尾;或向所述主收发器发送数据;所述第二串行解码器,用于在所述第二控制器的控制下,接收所述主收发器发送的帧头、数据传输的命令、数据、帧尾;所述第二控制器,用于控制所述第二串行编码器向所述主收发器反馈所接收到的帧头、数据传输的命令后,控制所述第二串行解码器或第二串行编码器与所述主收发器之间进行数据传输,控制所属第二串行编码器向所述主收发器反馈所接收到的帧尾。7、根据权利要求6所述的装置,其特征在于,所述主收发器包 括主、备两个第一串行编码器/第一串行解码器,且同时互为冗余工作;所述从收发器包括主、备两个第二串行编码器/第二串行解码器,且同时互为冗余工作。8、根据权利要求7所述的装置,其特征在于,所述主收发器/从收发器进一步包括比较器,用于在所述主、备第一串行编码器/第二串行编码器发送数据时,进行比较,当比较结果不一致时,重新传输;或所述主、备第一串行解码器/第二串行解码器接收数据后,进行比较,当比较结果不一致时,重新传输。9、根据权利要求6所述的装置,其特征在于,所述第一串行编码器/第二串行编码器发送数据时,每位数据为3个脉沖;所述第一串行解码器/第二串行解码器接收数据时,在所接收到的3个脉冲中取2个相同的脉冲作为该位数据。全文摘要本发明公开了一种串行总线数据传输的方法和装置,本发明的方法包括主收发器向从收发器发送帧头、数据传输的命令;从收发器向主收发器反馈所接收到的帧头、数据传输的命令,同时与所述主收发器之间进行数据传输、且接收来自主收发器的帧尾;从收发器向主收发器反馈所接收到的帧尾。本发明的方法和装置,在主收发器和从收发器之间进行数据传输时,接收到数据的主收发器/从收发器均会将所接收到的数据进行反馈,从而保证数据通路的正常工作。本发明的串行数据传输的方法、装置实现简单,数据传输安全,且容易在计算机系统中推广、应用。文档编号G06F13/42GK101149725SQ20071016594公开日2008年3月26日申请日期2007年11月9日优先权日2007年11月9日发明者周,涛薛,车惠军,臻黄,龚光华申请人:北京全路通信信号研究设计院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1