ARM-WinCE分布式系统平台的时钟同步设计

发布者:心语如画最新更新时间:2013-10-15 来源: eefocus关键字:ARM  WinCE  分布式系统平台  时钟同步 手机看文章 扫描二维码
随时随地手机看文章
随着计算机技术、网络通信技术的进步,组建分布式网络化测试系统,提高测试效率、共享信息资源,已成为现代测试系统发展的方向。分布式测试系统通过网络等通信媒介把分布于各测试点、独立完成特定功能的测试设备连接起来,以达到测试资源共享和协同工作等目的。时钟同步是分布式系统的核心技术之一,其目的是维护一个全局一致的物理或逻辑时钟,使得系统内各个节点中与时间有关的信息、事件及行为有一个全局一致的解释。IEEE1588精确时钟协议是当前分布式测试系统中时钟同步研究的热点。采用硬件支持的IEEE1588协议能够在以太网中不同结点之间实现纳秒级的时钟同步,为工厂自动化、测试和测量以及通信等领域需要高精度时钟同步的应用提供了一种有效的解决方案。本文采用具有IEEE1588精确时钟协议硬件支持功能DP83640芯片在基于ARM和WinCE的嵌入式系统平台上实现IEEE1588协议,为基于嵌入式系统的智能测试仪器组成分布式测试系统奠定了基础。

1 IEEE1588协议原理

IEEE1588的全称是“网络测量和控制系统的精密时钟同步协议标准”,简称精确时钟协议(Precision Time Protocol,PIP)。IEEE1588协议是通用的提升网络系统定时同步能力的规范,在起草过程中主要参考以太网来编制,使分布式通信网络能够具有严格的定时同步,并且应用于工业自动化系统。基本构思是通过硬件和软件将网络设备(客户机)的内时钟与主控机的主时钟实现同步,提供同步建立时间小于10μs的运用,与未执行IEEE1588协议的以太网延迟时间1000μs相比,整个网络的定时同步指标有显著的改善。

IEEE1588时钟协议在进行时钟同步时,主时钟设备按照一定的时间间隔(一般为2 s)周期性地以广播方式发送同步报文(Sync)和同步跟随报文(FollowUp),且在FollowUp报文中记录Sync报文的发送时间戳t1,而从时钟设备接收Syne报文记录接收时间戳为t2;然后,从时钟设备节点定期发送延迟请求报文(Delay_Req)(一般4~60 s发送一次),并记录其发送时间戳t3,主时钟设备接收判延迟请求后,记录接收时间戳t4,并给相应从节点发送延迟请求响应报文(Delay_Resp),该报文信息中包古时间戳t4。通过得到的4个时间戳,可以计算出主从时钟之间的偏移量Toffset和网络传输的线路延迟ms_delay,其过程如图1所示。



得到了从时钟与主时钟之间的时间偏移值,就可以采用适当的调节算法来调节从时钟,最终使得从时钟与主时钟同步。从时钟并不是每个同步周期都需要进行时间同步,而是根据从时钟与主时钟之间的时间偏移值等时间信息来决定是否需要进行时间同步。当主从时钟之间建立起稳定的同步关系后,从时钟还需周期性地监听来自主时钟发布的Sync报文,一旦出现主从时钟之间不处于时间同步的状态,就重新进行上述的时间同步过程,直到重新达到主从时钟之间的时间同步。

IEEE1588协议的运行是由时间戳驱动的,时钟同步精度主要归结为时间戳的定时精度。IEEE1588使用UDP协议发送网络同步报文,基于UDP协议传输的过程都是在TCP/IP协议模型下进行数据包的逐层封装和传递的。要使时钟获得的报文发送时间和报文接收时间相对精确、稳定,且把发送延迟和接收延迟不相等这种因素对计算传播延迟产生的影响减小到最低,最好的解决办法就是在TCP/IP协议栈的底层即物理层对同步报文标记时间戳,标记时间戳的操作越接近物理层,计算得到的主从时钟的时间偏移量和传播线路延迟就越准确。要实现这一目的就必须加入专门的硬件设备。美国国家半导体公司(National Semiconductor)推出的DP83640芯片就是一款集成IEEE1588精确时钟协议硬件支持功能的以太网收发器。芯片内置高精度IEEE1588时钟,并具有由硬件执行的时间戳标记功能,可为接收及发送信息包加入时间标记。采用DP83640的同步系统,可获得纳秒级的同步精度。[page]

2 硬件设计

由于IEEE1588协议运行于以太网,在基于ARM的嵌入式系统上采用DP83640芯片移植IEEE1588协议的硬件基确是为系统增加以太网接口电路。以太网接口电路主要由媒体访问控制(Medium Access Control,MAC)器和物理层(Physical Layer,PHY)收发器两部分构成。MAC控制器芯片实现OSI模型数据链路层的功能,提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。PHY芯片实现OSI模型物理层的功能,定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。ARM处理器、MAC芯片与PHY芯片三者之间的关系是MAC芯片向上通过其处理器接口(Processor Interface)与ARM处理器的高级外设总线(APB)连接,向下通过其媒体独立接口(Media Independent Interface,MII)接口与PHY芯片连接。最终,PHY芯片与RJ45接口连接。

本文使用SAMSUNG公司的S3C2440A型ARM处理器,其内部设有集成MAC控制器,而DP83640芯片只是PHY收发器,因此二者之间还需要增加MAC芯片。由于目前常用的以太网控制器都集成了MAC控制器和PHY收发器,这里选用DAVICOM公司的DM9000以太网芯片,其特点是:具有MII接口可以和片外PHY芯片连接;寄存器操作简单有效;成本低廉。

实现S3C2440A与DM9000连接,必须对两者间的数据、地址、控制三大总线进行连接和转换,其连接关系如图2所示。

S3C2440A的数据线D[15:0]与DM9000的地址、数据复用数据线SD[15:0]连接用来实现S3C2440A与DM9000之间的数据传输。芯片选择信号AEN与S3C2440A的片选使能信号nGSC4连接,当访问0x20000000-0x27FF FFFF这个范围的地址时会激活片选使能信号nGCS4。DM9000默认I/O基地址为300H。CMD引脚用于设置COMMAND模式,与S3C2440A的ADDR2连接CMD为高电平时,选择数据端口。CMD为低电平时,选地址端口。数据端口和地址端口的地址码由下式决定:
DM9000地址端口=高位片选地址+300H+0H
DM9000数据端口=高位片选地址+300H+4H

高位片选地址由S3C2440A芯片的nGCS4提供,即为:0x20000000。因此DM9000的地址IO基址为0x20000000,数据IO基址为0x2000 0004。向地址IO写数据时不会激活ADDR2,CMD为低电平,所以向DM9000传送的数据为地址,而向数据IO写数据时会激活ADDR2,CMD为高电平,向DM9000传送的数据为数据。S3C2440的输出使能引脚nOE连接DM9000的读引脚IOR,写使能引脚nWE连接DM9000的写引脚IOW。DM9000的中断请求引脚INT连接S3C2440的外部中断请求引脚EINT7,使得S3C2440A能够响应DM9000的中断。

DM9000与DP83640之间通过标准MII接口连接,RXD[3:0]为接收数据线,TXD[3.0]为发送数据线,CRS为载波检测信号,COL为冲突检测信号,RX_DV为数据有效信号,RX_ER为接收错误信号,RX_CLK为接收时钟信号,TX_CLK为发送时钟信号,TX_EN为发送使能信号,MDIO是管理数据的输入输出双向接口,MDC为管理数据接口提供时钟信号。需要注意的是DM9000默认使用片内PHY,因此在驱动程序初始化DM9000时,必须主动置位网络控制寄存器NCR的EXT_PHY位以选择使用片外PHY即DP83640。

3 软件设计

软件设计分为两个步骤:1)是基于DM9000和DP83640进行以太网通信的驱动程序设计;2)是通过DP83640进行时钟同步的应用程序设计。

本文使用WinCE5.0操作系统,WinCE5.0系统下网络驱动程序的编写必须符合网络驱动接口规范NDIS(Network Driver Interface Stan dard)。NDIS的层次结构如图3所示,其中最上层的Winsock是提供给应用层的接口。NDIS位于协议驱动层下面,硬件驱动Miniport Driver之上。协议驱动层通过调用NDIS封装的接口函数,实现与底层硬件驱动的交互。WinCE下网络驱动程序的设计主要是在NDIS构架下,针对实际的硬件编写代码,实现相应的中间层Miniport Driver接口函数。其主要完成的功能有:DM9000与DP83640的初始化;网络数据包的发送;网络数据的接收和中断。

实现了以太网通信的驱动程序的基础上,用于时钟同步功能的应用程序通过UDP协议发送、接收时钟同步报文,并进行加入、提取和解析时间戳等操作,这些操作通过读写DP83640内部的1588基本寄存器组(PTP 1588 BASEREGISTERS)和1588配置寄存器组(PIP 1588CONFIGURATION REGISTERS)完成。

4 结论

IEEE1588协议通过在以太网上发送和接收同步报文来实现时钟同步,同步的精度取决于记录报文发送和接收时间的时间戳的精度,因此要实现高精度的时钟同步必须通过硬件支持在通信协议的底层加入和提取时间戳。本文通过在ARM-WinCE嵌入式系统平台上设计了使用DP836 40芯片作为PHY收发器的以太网接口电路及其驱动程序,实现了IEEE1588协议在ARM-WinCE平台上的移植,并达到了不低于1 μs的同步精度,为基于ARM-WinCE平台的测试仪器组建分布式测试系统奠定了基础。

关键字:ARM  WinCE  分布式系统平台  时钟同步 引用地址:ARM-WinCE分布式系统平台的时钟同步设计

上一篇:基于嵌入式ARM平台的可信计算的实现
下一篇:Linux实时化解决方案Xenomai的原理及应用

推荐阅读最新更新时间:2024-03-16 13:28

ARM9学习笔记之——SDRAM实验
最近,我有努力学习《深入浅出嵌入式底层软件开发》。我自我觉得这本书很好。如果你有一块Mini2440的开发板,那就再好不过了。 学了点东西,写点总结。以下是我在做 Page130,2.6.8内存驱动实验总结。 ------- 我按照书上的指示,完成了代码的编写。对项目作如下配置: 上述的配置中 -ro-base 0x30000000 告诉Linker,本程序将被加载到 0x30000000 上运行。 实验程序的功能是,程序最初是在0x00000000 地址上开始运行。它初始化SDRAM后,将自己到0x30000000地址上,然后跳到SDRAM中运行。 第一个问题:我在用AXD进行调试时,总是发现
[单片机]
<font color='red'>ARM</font>9学习笔记之——SDRAM实验
9G-STM32 MDK-ARM开发过程简介
9G-STM32 MDK-ARM开发过程简介 一,准备MDK-ARM+JLINK+STM32软件包 1,在http://www.mcu123.com/news/Soft/embsof/arm/200908/505.html 下载RealView MDK-ARM 3.80a(MDK-ARM V3.80a,MDK3.80a)版本 mdk380a_mcu123.rar http://esoft.mcu123.com/MCU123_temp_0080309@/arm/mdk380a_mcu123.rar (注册机自行查找,安装过程略) 2,在http://www.segger.com/cms/jlink-software.
[单片机]
基于ARM11和DSP协作视频流处理技术的3G视频安全帽设计
  1.引言   为提高在高危工作场所现场作业的可控性,本文采用仿生学原理和高集成度设计实现了与人眼同视角的3G视频安全帽。本设计由视频安全帽和腰跨式数据处理终端两部分组成,采用高可靠性航空插头连接。其中图像处理采用三星公司的S3C6410ARM11处理器和TMS320DM642 DSP处理器组成。本设计结合DSP处理器在视频压缩方面的优势和运行于ARM之上的Linux操作系统在数据管理与任务调度机制方面的出色表现,由DSP完成图像处理功能,并通过高速接口把视频数据传输给嵌入式微处理系统,完成视频数据的传输、存储功能。   2.系统构成   本设计由视频安全帽和腰跨式视频终端两部分组成。视频安全帽中包含1路视频输
[嵌入式]
基于<font color='red'>ARM</font>11和DSP协作视频流处理技术的3G视频安全帽设计
ARM寄存器中R0~R15寄存器的别名
ARM中的寄存器的别名 默认的情况下,这些寄存器只是叫做r0,r1,...,r14等,而APCS 对其起了不同的别名。 使用汇编器预处理器的功能,你可以定义 R0 等名字,但在你修改其他人写的代码的时候,最好还是学习使用 APCS 名字。 一般编程过程中,最好按照其约定,使用对应的名字,这样使得程序可读性更好。 关于不同寄存器所对应的名字,见下表: Table 3.2. ARM寄存器的别名 寄存器名字 Reg# APCS 意义 R0 a1 工作寄存器 R1 a2 R2 a3 R3 a4 R4 v1 必须保护 R5 v2 R6 v3 R7 v4 R8 v5 R9 v
[单片机]
Arm安全架构入选“2017世界互联网领先科技成果”
2017年12月3日,第四届世界互联网大会在乌镇召开。Arm安全架构入选“2017世界互联网领先科技成果”,并在世界互联网大会开幕首日进行了发布。其中Arm安全架构的最新进展平台安全架构(Platform Security Architecture)成为本次发布的亮点。“世界物联网领先科技成果”汇集了年度全球范围内互联网领域产生的先进科技成果,Arm安全架构的入选代表了全球互联网生态对其的一致肯定。 正如Arm全球执行副总裁兼大中华区总裁Allen Wu在今天的演讲中所讲:“全球已有上千亿的设备基于Arm技术,每年每个人至少购买2-3个基于Arm技术的设备,未来我们将看到上万亿的设备互联, 连接万亿设备的真正价值在于不同设备间
[网络通信]
IBM取得ARM移动处理器授权,将用于通讯设备
   IBM准备利用这些处理器技术打造客制化的晶片,以应用在客户的各种通讯设备上,诸如POS、路由器、交换器或基地台等。  IBM周四(10/24)宣布已取得多项ARM Cortex处理器的技术授权,以用来协助客户打造网路及通讯设备。  这次IBM取得的ARM技术授权涵盖了Cortex-A15、Cortex-A12、Cortex-A7与Cortex-M4等处理器,以及ARM Mali-450绘图处理单元(GPU),IBM准备利用这些处理器技术打造客制化的晶片,以应用在客户的各种通讯设备上,诸如POS、路由器、交换器或基地台等。  事实上IBM与ARM的技术授权合作已长达十余年,此次则是扩大授权规模,新的技术可望推动IBM Po
[手机便携]
400%能效提升 ARM发布T760最快移动GPU
    今天 AMR 正式发布了两款 Mali 系列 GPU(图形处理器),具体型号分别为 Mali-T720 和 Mali-T760。其中,Mali- T720 是一款中档 GPU,主要接任目前主流的 Mali-400 MP 和 450 MP GPU; Mali-T760 是代替 Mali- T604 的最新旗舰级移动 GPU,据称在能耗方面相较 Mali-T604 降低了 400%。 目前在 Android 平板领域,越有 50% 左右的产品采用了 ARM 的 Mali 系列 GPU,新一代 GPU 的发布,未来将大幅提升新平板点在图形处理方面的性能。然而,在智能手机领域,ARM Mali 系列 GPU 的份额并不理想,只有
[手机便携]
arm表示人工智能在推动汽车技术进步方面起到至关重要的作用
随着arm准备更新其汽车产品,EENews与arm负责汽车市场推广的副总裁Dennis Laudick进行了一次访谈。在访谈中,Laudick深入探讨了arm在汽车领域的战略重点,以及人工智能在推动汽车技术进步方面的重要作用。 Laudick首先指出,arm在汽车领域的最大推动力是围绕自动驾驶和ADAS(高级驾驶辅助系统)展开的,而人工智能是其中的关键部分。他强调,人工智能不仅令人兴奋,还有巨大的潜力拯救生命。他认为,汽车行业已经到了必须强制使用人工智能的阶段,因为它是由安全驱动的。借助人工智能,汽车行业可以将零死亡作为一个现实的目标,并且所需的计算量也是低功耗的。 Laudick还谈到了汽车技术的演变过程,从机械汽车到电
[汽车电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved