B类LXI仪器总线同步触发技术
扫描二维码
随时随地手机看文章
0 引言
步入信息化时代最显著的标志是信息网络在各行业中的渗透和普及,其中数以太网最为典型。以太网作为一种成本低廉、吞吐能力强、适应性好、网络管理能力日益提高的网络,在各个领域都得到了广泛的应用。基于LAN的新型LXI(LAN eXtensions for Instrumentation)仪器总线正是利用了以太网的这些特点,构成了一种适应自动测试系统的仪器模块组建标准。
LXI总线标准是由安捷伦公司和VXI技术公司于2004年9月联合推出的,并于同年成立了技术联盟。一年后联盟制定了LXI 1.0标准,此标准对LXI的物理特性、触发同步、仪器模块间通信、模块网络接口特性和配置以及发现机制等方面作出了详细规定,并且在其他方而也给出了联盟的建议。2006年8月LXI联盟正式公布LXI的1.1标准,纠正了1.0标准中存在的大量排版和语句上的错误,并修改了部分内容,包括修改了HTTP和HTML请求、删除14节的MAC地址规则等等。期间第一批通过LXI联盟认证的LXI仪器面世,也揭开了LXI产品迅速升温的序幕。2007年10月联盟又推出了1.2标准,直至2008年9月推出最新的1.3版标准,不同版的标准都对其上一版进行修改和完善。在过去两年里,LXI产品逐步成为市场热点,到目前为止,超过50家国际顶尖仪器生产厂商共推出85种仪器类型的540余种产品。其中仅在2007年上半年时的销售额就超过了1亿美元。
在中国,LXI联盟成员已经包括中国大学、研究机构和厂商在内的约100多家单位。北京航天测控公司等三家中国企业加入了LXI联盟。2007年在北京召开的首届LXI亚洲峰会上联盟主席也诚挚地邀请中国的企业单位参与标准的制定和完善。在我国的各军兵种和国防工业部门为武器装备研制配套的ATS(Automatic Test System)系统,也离不开LXI总线的发展。
1 B类LXI同步原理
1.1 LXI产品分类和B类仪器的优势
LXI联盟充分利用了以太网触发、网络时间协议(NTP和IEEEl588)和硬件连线触发功能。在此基础上LXI提供精度由低剑高的三种触发机制:基于NTP的触发方式;基于IEEEl588的触发方式;基于LXI触发总线(LXITrigger Bus)的硬件触发。并根据这三种不同的机制将产品分为三类:C、B和A类。分别如下:
C类:具有通过LAN的编程控制能力,能够与其他厂家的仪器协同工作;
B类:拥有C类的所有能力,并支持IEEEl588精确时间协议同步;
A类:拥有B类的所有能力,同时具备触发总线硬件触发机制。
显然A类具备最高的同步精度是靠增加了硬件触发功能,然而根据LXI标准可知,此类触发是通过在仪器模块之间另外增加触发总线实现的,且该触发总线的长度又不超过3m,故极大地限制了LXI仪器的灵活性,而灵活性又是LXI和VXI等仪器所具备的特点。B类仪器所支持的IEEEl588精确时间协议不需要额外硬件开销,同样也是通过LAN传送触发信号,灵活方便。所以对B类同步触发精度的研究具有极大的现实意义。
2. 2 IEEEl588时间协议同步原理
IEEEl588又称为精确同步时间协议(Precision Time Protocol,PTP),它在LXI仪器模块中的实现是要求硬件和软件共同支持,它的同步原理如下图l所示。在由LXI仪器模块所组成的ATS中,IEEEl588时间协议同步的理想目标是使分散在各个LXI仪器模块中的时钟达到绝对的一致,但由于同步误差的存在,现实中只能接近这个理想值。这里将系统中的LXI设备分为主、从机,基本同步原理是:在系统初始化阶段,通过对主从机之间时钟偏移量(offset)的测量修正主机和从机之间的时钟偏差,在设定的时间间隔内(一般默认1~2s),主机循环发送一个唯一的同步信息到相关的从机;主机测量发送的准确时间,从机测量接收的准确时间,之后从机发送携有接收准确时间信息的数据包至主机,主机产生一个接收时间标记,接收的时间在延迟响应包中返回给从机。偏移测量和延迟(delay)测量完成了主机与各从机之间的同步,使系统使用统一的时钟协调完成任务。
根据上述阐述,假设在主、从时钟接发信息包的时刻分别为T1、T2、T3、T4、T5;主时钟到从时钟和从时钟到主时钟的延时间隔分别为delayl和delay2。详见图l。
故我们得到如下式子:
假设网络是对称的,即主机到从机和从机到主机的延时是一样的,可以得到:
如此便得到了offset和delay。
2.3 同步误差来源和纠正方法
分析整个同步过程,可以将误差来源归结为两大类:a.系统或仪器内部因素;b.系统或仪器外部因素。
内部因素主要来自传输线路的延时、系统的网卡中断的响应、消息排队等。从网络和系统的角度看,可以将上述因素归结为线路的不对称性,从而直接影响到对offset和delay值的计算。offset和delay值是相互影响的,即得到准确的offset值就同样得到了准确的delay值,所以可只研究offset值。
在offset值的计算过程中,由于上述线路传输、路由功能、等待排队等等现象的存在,导致对offset值的测量和计算结果有偏差。在此我们可以将上述误差原因看作影响噪声,故当offset值初步稳定(初始化后第一次同步时计算出来的offset值不定)后可以采用滤波算法将其滤除。当进行完晶振同步之后,可以简化理解为offset偏差直接反映传输线路的不对称,即直接反应内部因素导致的误差。
由于得到delay值后对offset值的计算是根据式(1)中的第一个式子得到,所以由图2N分析可得,offset值可以比精确值偏大,也可以比精确值偏小,且从概率上来讲应为等概的,故可采用较为简单的均值滤波算法进行平滑即可。
其次,引起误差的外部因素主要来自环境对系统和仪器的影响和时间印章(时间戳)的准确性,前者主要反映在晶振的速率上,而后者主要反映在IEEEl588时间协议的实现上。
在晶振速率方面,由于仪器的时钟是由普通晶振提供的,所以环境(如温度)的变化将极大地影响晶振的速率,常用品振精度不高,大概在100ppm左右,而对一般的LXI模块则每隔2s进行一次同步,那么可以计算得到两个模块之间最大的偏差是400μs,故不可忽略。通常高精度仪器的晶振可以安在恒温槽中(如OCXO),但考虑到成本和仪器简化等因素,采用晶振同步自适应方法改进。设R,R′分别为主机和从机的品振速率,△t表示两次测量晶振速率的时间问隔。那么分别计算一段时间内每台从机记录的本地时钟时间,然后从机与主机进行比较来调整时钟计数值,调准方案如下式所示,M,N分别为存△t的时间间隔内主从机的时钟计数值。
为了使其更具自适应能力,可以根据上述方法计算t1′,t2′…tn′多个时间点时钟计数调整值,并据此由曲线拟合的方法得到下一时间段[tn′,tn+l′]内的晶振速率,起到不断校正品振偏差,使从机时钟达到跟随主机时钟变化的目的。
实现IEEEl588(PTP)时钟协议的方法有通过FPGA实现、通过集成有PTP协议的网络收发芯片实现等几种。通过FPGA实现的方法是最常用的,但方法繁琐、实现精度不高。而最近出现的集成有PTP时钟协议的实现方案方便快捷、实玑精度高,因此迅速被广大设计者所接受。其硬件框图如图3所示。
在上述FPGA实现PTP的方案中,信息包加时间戳这一关键步骤也有几种实现方法,每种方法产生不同的同步精度。见图4所示。
在图4中,最简单的IEEEl588实现包括在网络协议堆栈顶端的应用层加上通用的时间戳,实现过程中会出现最大的协议堆栈延迟波动,会产生最大偏差,这种情况下最差精度将被引入到时间戳中。并且在不同的操作系统中,偏差值会在几百微秒到毫秒之问,严重影响同步精度。
第二种是在中断层实现时间戳,其实现精度比应用层更高,但实现难度也随之增大。硬件辅助的方式可以得到最精确的同步时钟,产生的时间戳和物理层总线上事件的非常接近。使用专用以太网收发芯片的实现方案就是以这种方法实现PTP协议的,从而为得到最高的同步精度打好坚实基础。
3 基于专用芯片DP83640的实现方案
通过上述的分析得知,基于专用网络芯片的方案能获得最高的实时同步精度,同时又能简化设计。其中DP83640就是其中的典型代表。
DP83640是NS公司在2007年推出的集成有IEEEl588时钟协议的全新网络收发芯片,它呈现如下三个关于IEEEl588的关键特性:信息包中包含用于时间同步的时间戳、IEEEl588时钟产生器、通过GPIO口的同步事件触发。并且NS公司还创新性地赋予了它独特的特性,其中包括基于错误预测的链接质量动态监测等。
具体而言,DP83640的特点主要有:支持IEEE1588V1和V2;支持UDP/IPv4和UDP/IPv6;IEEEl588时钟同步;8ns时间戳;12个触发和捕获IEEEl588的GPIO;可检测的低的传输和接收时延;链接质量动态监测;全双工/半双工和10/100Mb/s传输;支持双绞线和光纤接口等等。以上这些也保证了该芯片能很好地满足B类LXI仪器的同步要求。DP83640的功能模块框图详见图5。
本方案中采用最为常见的基于ARM9核的S3C2410作为处理器,在数据的发送和接收端采用集成有IEEEl588的网络收发芯片DP83640,两者之间是MAC层芯片,这里选用AX88196。图6给出的是S3C2410、AX88196和DP83640的主要连接框图。在DP83640中,TX_CLK、TXD[0..3]和TXD_EN共同构成了以太网络的数据发送接口。TX_CLK在100Mb/s模式下能输出25MHz的时钟信号,在10Mb/s模式下则能输出2.5MHz的时钟信号,该时钟信号来源于25MHz的系统参考时钟;同理,RX_CLK、RXD[0..3]、RX_DV和RX_ER构成了以太网络的数据接收接口,其中不同的是RX_DV和RX_ER反映了接收数据的有效或错误;COL则是用于网络中碰撞检测的。在处理器端,将地址总线、数据总线分别和MAC芯片的地址和数据总线相连,实现数据互通,详见图6。
在上述功能的软件实现中,充分利用DP83640能提取数据包中的时间戳并发送给上层软件的特点,可在应用程序的改计中方便地实现同步、触发、延时响应等功能。再利用上文分析的算法提高模块的同步触发精度。软件流程见图7。
在模块初始化中,包含了主从时钟的设定、外围部件初始化(如DP83640初始化)等等。上文中提出的对offset值的滤波、品振速率的计算和晶振偏差自适应算法也可利用上述框图实现,所不同的是两者利用不同的数据和不同的子程序。
4 结束语
LXI仪器借助以太网的强大功能和web的灵活性,使得在ATS中实现远程式、分布式成为可能。LXI基本不受带宽、软件和背板插槽的限制。其更广的覆盖范围、更好的继承性能、更长的生命周期和更低的成本使其具有更为广阔的应用与发展前景。其中B类仪器以其低廉的价格(相对于A类仪器)和较强的灵活性(相对于C类仪器),更能适应市场的需求。加之采用本文所提出的方法能提高同步触发精度和降低成本,使其具有更强的市场竞争力。