动态可重构高速串行总线的数据采集装置与方法与流程

文档序号:20009705发布日期:2020-02-22 03:58阅读:259来源:国知局
动态可重构高速串行总线的数据采集装置与方法与流程

本发明涉及一种高速串行总线的数据接收方法及装置,尤其涉及一种动态可重构高速串行总线中串行数据的高可靠接收方法及装置。



背景技术:

动态可重构高速串行总线(以下简称um-bus总线)是针对系统小型化与嵌入式一体化设计提出的一种能够将冗余容错与高速通信有机统一,具备远程扩展能力的高速串行总线。如图1所示,它采用基于mlvds(multipointlowvoltagedifferentialsignaling,多点低压差分信号)技术的总线型拓扑结构,支持多节点直接互连,最多可使用32条通道并发传输通信,通信速率可达6.4gbps。在通信过程中,如果某些通道出现故障,总线控制器可实时地监测出来,将数据动态分配到剩余有效通道上进行传输,实现动态重构,对通信故障进行动态容错。

um-bus总线采用主从命令应答的通信模式,通过总线数据包的形式进行信息交互。um-bus总线采用8b/10b编码方法,一个总线数据包中的所有数据与协议字按字节顺序平均分配到总线的所有可用通道上进行编码传输。总线通道进行数据传输时,会将其需要传输的数据进行二次封装,添加必要的协议控制字后,形成通道信息包进行传输。通道信息包的数据传输格式如图2所示,其中激活字用于接收方进行锁相,起始字为8b/10b控制字k28.5,目标节点与源节点表示通信的双方的节点号,结束字为8b/10b控制字k23.7,协议数据是um-bus总线协议数据包分配在通道上进行传输的所有数据。在使用单个通道进行传输时,协议数据长度达到最大值1041。采用8b/10b编码后,um-bus总线通道上进行数据传输时,信息1或0的最大持续时间不会超过6位。

目前采用8b/10b编码进行数据传输是一种广泛应用的技术,也有一些公开的8b/10b数据恢复技术,如xilinx公司xapp224给出了一种从串行数据中提取时钟进行数据接收的方法。但这些技术都是针对信号传输质量比较理想的情况,在串行数据信号没有畸变或畸变很小能够对数据进行可靠接收恢复,如图3中的正常数据信号。当传输线控制不能达到理想状态,由于信号反射、衰减等原因,串行数据信号到达接收端时会发生一定的畸变,如图3中给出的畸变数据信号。对于这种畸变后的数据信号,由于信号变化的相位存在较大的抖动,现有的公开技术不能稳定地进行时钟相位提取,进而导致数据不能可靠地接收。

针对um-bus总线通道信息包的传输特点,本发明提出一种基于数据变化边沿统计进行数据采样点选择的总线数据高可靠采集装置与方法,用来满足um-bus总线进行高速高可靠通信的要求。



技术实现要素:

本发明的目的在于设计一种适于um-bus总线结构的低开销、高可靠串行总线数据接收方法,为um-bus总线的高可靠通信提供基础支撑。

为实现上述目的,本发明所采用的技术方案为:

一种动态可重构高速串行总线的数据采集装置,其特征在于:所述动态可重构高速串行总线的数据采集装置,包括多相位捕获器、边沿检测器、计数器、采样选择器和数据记录器,其中所述多相位捕获器采用4个时钟相位不间断对总线串行数据进行锁存,并采用统一的时钟对所有锁存数据进行缓冲;所述边沿检测器利用多相位捕获器的缓冲数据检测总线串行数据变化边沿的相位;所述计数器为每个时钟相位设置一个相位变化计数器,对总线串行数据在每个相位的变化边沿进行计数,提供总线串行数据在每个相位的变化边沿的数量;所述采样选择器根据计数器中总线串行数据在每个相位的变化边沿的数量,选择当前数据采样点,并将数据采样点的数据进行锁存输出;所述数据记录器对采样到的数据进行处理与存储;在动态可重构高速串行总线的每一个通道上设置一个所述动态可重构高速串行总线的数据采集装置,用于对通道上传输的数据进行采集。

一种动态可重构高速串行总线的数据采集方法,由前述所述动态可重构高速串行总线的数据采集装置采用如下步骤方法对总线上传输的高速串行数据进行采集:

(1)采用与动态可重构高速串行总线数据速率相近频率的时钟作为所述数据采集装置的工作时钟clk,将该工作时钟划分为4个相位,从前到后定义为p0、p1、p2与p3;

(2)在复位时,或动态可重构高速串行总线上长时间没有数据传输时,所述数据采集装置的采样选择器进入非工作状态,不输出数据,计数器中4个相位变化计数器被清除为0;

(3)当动态可重构高速串行总线通道上有数据传送时,利用多相位捕获器在4个相位上,对总线通道上的数据信号进行采样,并利用工作时钟clk对4个相位点上的采样数据值进行缓冲锁存,得到一级缓冲数据r1,对r1进行缓冲锁存得到二级缓冲数据r2,r1和r2均为4位数据,位0、1、2、3分别对应4个相位p0、p1、p2、p3;

(4)边沿检测器对两级缓冲数据r1、r2进行判断,查找总线通道上的数据信号变化边沿对应的相位;如果总线通道上的数据信号没有变化,则不产生输出,如果有变化,则输出数据变化相位指示信号给计数器;

(5)计数器中的4个相位变化计数器,根据边沿检测器给出的数据变化相位指示信号,对各个相位的信号变化进行计数;一个相位变化计数器,在其对应的数据变化相位指示信号有效时加1,否则保持不变;

(6)当至少一个相位变化计数器不为0时,采样选择器进入工作状态,对计数器中4个相位变化计数器的计数值进行比较,根据以下策略选择数据采样点:1)如果存在一个最大的计数值,按照p0、p1、p2、p3、p0、p1的顺序,选择最大计数值对应的相位之后的第二个相位作为数据采样点;2)如果存在两个计数值相等,并且大于其他两个计数值,当这两个较大的计数值对应的相位是连续的,选择其中较早的那个相位之后的第二个相位作为数据采样点;如果这两个相位不连续时,不改变数据采样点;3)如果存在三个计数值相等,并且大于另外一个计数值,则选择最小的那个计数值对应的相位作为数据采样点;4)如果4个计数值全部相等,则不改变数据采样点;

(7)采样选择器对缓冲数据r2继续缓冲,形成新的缓冲数据rx,缓冲级数与进行采样点选择所需要的时钟周期数相同;采样选择器进入工作状态后,输出一个数据有效标志,在工作时钟的每一个上升沿,将缓冲数据rx中数据采样点对应的数据作为采集到的通信数据输出;

(8)数据记录器在采样选择器给出数据有效标志后,对采样选择器输出的数据进行串并转换组装,并检测动态可重构高速串行总线的通信协议中规定的起始字,当检测到起始字后,计数器中的所有相位变化计数器停止计数,采样选择器保持当前的数据采样点不变;之后,数据记录器持续接收采样选择器送来的数据,进行串并转换组装,每组装好一个并行数据字后,输出给总线控制器进行处理,并检测是否是动态可重构高速串行总线的通信协议中规定的结束字;

(9)当数据记录器检测到动态可重构高速串行总线通信协议中规定的结束字时,停止本次总线数据采集过程,将计数器中的所有相位变化计数器清除为0,使采样选择器进入非工作状态,撤消已选择的数据采样点。

本发明实现的动态可重构高速串行总线的数据采集装置与方法,能够提高动态可重构高速串行总线通道数据采集的可靠性,提高总线接收电路的抗干扰能力,降低对总线通道线路传输质量的要求,从而提高动态可重构高速串行总线的系统可靠性。

附图说明

图1是动态可重构高速串行总线的拓扑结构图;

图2是动态可重构高速串行总线通道数据包格式;

图3是动态可重构高速串行总线数据传输信号采样点示意图;

图4是动态可重构高速串行总线通道物理连接示意图;

图5是本发明的数据采集装置组成图。

具体实施方式

如图1所示,um-bus总线采用基于m-lvds(tia/eia-899)的多通道智能动态冗余的总线型拓扑结构,最多支持30个通信节点直接互连,不需要路由或中继设备。um-bus总线使用2~32个通道并发传输数据,最大通信速率可达6.4gbps,在单个通道上采用串行数据传输方式,通道速率最高200mbps。um-bus总线使用过程中,通道如果出现故障,可通过通道动态冗余及故障重构技术自动屏蔽故障通道,在剩余健康通道上继续通信。um-bus总线采用主从应答的通信方式,可为系统提供远程存储访问及非智能扩展能力。

um-bus总线上的节点按功能不同可划分为主节点、从节点及监视节点,一次通信过程只能由主节点发起,并且由从节点或其它主节点响应,监视节点用于监视总线上的通信过程。节点间的通信命令与应答通过总线数据包的形式交互信息。一个总线数据包中的所有数据与协议字按字节顺序轮流平均分配到总线的所有可用通道上进行编码传输。

um-bus总线采用8b/10b编码,接收方需要从接收的数据信号中提取编码时钟,以便进行数据接收。um-bus总线通道进行数据传输时,会将其需要传输的数据进行二次封装,添加必要的协议控制字后,形成通道信息包进行传输。通道信息包的数据传输格式如图2所示,其中激活字用于接收方进行锁相,起始字为8b/10b控制字k28.5,目标节点与源节点表示通信的双方的节点号,结束字为8b/10b控制字k23.7,协议数据是um-bus总线协议数据包分配在通道上进行传输的所有数据。在使用单个通道进行传输时,协议数据包长度达到最大值1041。采用8b/10b编码后,um-bus总线通道上进行数据传输时,信息1或0的最大持续时间不会超过6位。

um-bus总线通道的物理连接如图4所示,由于连接器、线路阻抗控制等原因,通道数据传输中存在一定的畸变。图3中所示的正常数据信号在接收端可能会变为图3中畸变信号,但信号频率本身不会发生变化,只是信号的变化边沿会存在一定的抖动,采用现行公开技术手段,难以稳定地锁定信号的变化相位,进而可靠地接收数据。

um-bus总线传输的协议数据包分为控制包、短包和长包三种,控制包长度不大于5字节,短包长度为16字节,长包长度为1041字节。控制包的内容同时在所有通道上传输,短包和长包的所有数据会被平均分配到全部有效通道上进行传输。极限情况下,总线只有一个有效通道时,传送一个长包,在附加通道信息包协议控制内容后,进行8b/10b转换后,在通道上需要传输10460位信息。

基于上述um-bus总线工作原理,本发明的数据采集装置与方法的一种具体实施方式如下:

为叙述方便,假设um-bus总线通信速率为100mbps,通信双方工作时钟为100mhz(误差不超过50ppm),如图3所示,在接收方将工作时钟按0°、90°、180°、270°划分为4个相位,分别定义为p0、p1、p2、p3。um-bus总线每一位数据传输时间为10ns,即数据位宽为10ns。由于收发双方工作时钟存在不超过50ppm的误差,在传输5000位数据后,收发双方的时间误差最大可以达到时钟周期的1/4(2.5ns)。

在um-bus总线接收方的每一个通道上设置一个如图5所示的数据采集装置。该数据采集装置由多相位捕获器、边沿检测器、计数器、采样选择器和数据记录器组成。

多相位捕获器采用4个时钟相位不间断对总线串行数据进行锁存,然后在工作时钟的上升沿,对所有锁存数据进行两次缓冲锁存。边沿检测器利用多相位捕获器的缓冲数据,检测总线串行数据变化边沿的相位。计数器为每个时钟相位设置一个相位变化计数器,对总线串行数据在每个相位的变化边沿进行计数,提供总线串行数据在每个相位的变化边沿的数量。采样选择器根据计数器中总线串行数据在每个相位的变化边沿的数量,选择当前数据采样点,并将采样点的数据进行锁存输出。数据记录器对采样到的数据进行处理与存储。

基于上述装置,um-bus总线采用以下方法步骤对总线上传输的高速串行数据进行采集:

(1)采用与动态可重构高速串行总线数据速率相近频率的时钟作为工作时钟clk,将该工作时钟划分为4个相位,从前到后定义为p0、p1、p2与p3,如图3所示。

(2)在复位时,或动态可重构高速串行总线上长时间没有数据传输时,所述数据采集装置的采样选择器进入非工作状态,不输出数据,计数器中4个相位变化计数器被清除为0。

(3)当动态可重构高速串行总线通道上有数据传送时,利用多相位捕获器在4个相位上,对总线通道上的数据信号进行采样,并利用工作时钟clk对4个相位点上的采样数据值进行缓冲锁存,得到一级缓冲数据r1,对r1进行缓冲锁存得到二级缓冲数据r2,r1和r2均为4位数据,位0、1、2、3分别对应4个相位p0、p1、p2、p3。

(4)边沿检测器对两级缓冲数据r1、r2进行判断,查找总线通道上的数据信号变化边沿对应的相位。默认情况下,所有相位变化指示信号均为无效状态,如果r2的位0与位1不同,认为数据在p1产生变化,置p1相位变化指示信号为有效;如果r2的位1与位2不同,认为数据在p2产生变化,置p2相位变化指示信号为有效;如果r2的位2与位3不同,认为数据在p3产生变化,置p3相位变化指示信号为有效;如果r2的位3与r1的位0不同,认为数据在p0产生变化,置p0相位变化指示信号为有效;如果r2的位0-3及r1位0均相同,则认为数据没有变化,所有相位变化指示信号均无效。

(5)计数器中的4个相位变化计数器,根据边沿检测器给出的数据变化相位指示信号,对各个相位的信号变化进行计数;一个相位变化计数器,在其对应的数据变化相位指示信号有效时加1,否则保持不变。

(6)当至少一个相位变化计数器不为0时,采样选择器进入工作状态,对计数器中4个相位变化计数器的计数值进行比较,根据以下策略选择数据采样点:

1)如果存在一个最大的计数值,按照p0、p1、p2、p3、p0、p1的顺序,选择最大计数值对应的相位之后的第二个相位作为数据采样点;比如,如果相位p2相位计数器的计数值最大,则选择p0作为数据采样点;

2)如果存在两个计数值相等,并且大于其他两个计数值,当这两个较大的计数值对应的相位是连续的,选择其中较早的那个相位之后的第二个相位作为数据采样点;如果这两个相位不连续时,不改变数据采样点;比如,p0相位计数器和p1相位计数器相等,且大于另外两个相位计数器,选择p2为数据采样点;

3)如果存在三个计数值相等,并且大于另外一个计数值,则选择最小的这个计数值对应的相位作为数据采样点;比如,p0、p1、p2相位计数器值相等,且大于p3相位计数器,选择p3为数据采样点;

4)如果4个计数值全部相等,则不改变数据采样点。

(7)采样选择器对缓冲数据r2继续缓冲,形成新的缓冲数据rx,缓冲级数与进行采样点选择所需要的时钟周期数相同;采样选择器进入工作状态后,输出一个数据有效标志,在工作时钟的每一个上升沿,将缓冲数据rx中数据采样点对应的数据作为采集到的通信数据输出。

(8)数据记录器在采样选择器给出数据有效标志后,对采样选择器输出的数据进行串并转换组装,并检测动态可重构高速串行总线的通信协议中规定的起始字(8b/10b控制字k28.5,1100000101),当检测到起始字后,计数器中的所有相位变化计数器停止计数,采样选择器保持当前的数据采样点不变;之后,数据记录器不断接收采样选择器送来的数据,进行串并转换组装,每组装好一个并行数据字后,输出给总线控制器进行处理,并检测是否是动态可重构高速串行总线的通信协议中规定的结束字(8b/10b控制字k23.7,1110101000或0001010111)。如果已接收的并行数据字达到384个或768个时,计数器中的所有相位变化计数器重新从0开始计数,再接收3个并行数据字后,采样选择器根据计数器中的计数值按(6)中的策略重新选择数据采样点。

(9)当数据记录器检测动态可重构高速串行总线的通信协议中规定的结束字时,停止本次总线数据采集过程,将计数器中的所有相位变化计数器清除为0,使采样选择器进入非工作状态,撤消已选择的数据采样点。

按照um-bus总线规范,总线通道进行数据传输时,连续0或1的位数不会大于6。在数据接收过程中,如果边沿检测器在7个数据位宽的时间(70ns)内,没有检测到数据信号的变化沿,则认为出现了传输错误,发送方已停止数据发送,边沿检测器产生一个强制终止信号,将计数器中的4个相位变化计数器清除为0,使采样选择器进入非工作状态,撤消已选择的数据采样点,并使数据记录器停止工作,向上层产生一个错误停止指示信号。

本发明实现的动态可重构高速串行总线的数据采集装置与方法,解决了动态可重构高速串行总线在传输线路存在一定信号畸变的情况下的数据可靠接收问题,允许的最大畸变可以大于数据位宽的1/4,提高了总线传输的可靠性。

在不脱离本发明精神的范围内,本发明可以具有多种变形,如:可以将采集相位划分为6个、8个或其他数量,可增加或减少数据缓冲级数,可以修改采样点选择策略为变化最少的相位等待,均可在不同的实施中改变。这些变形也包含在本发明所要求保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1