OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7547|回复: 8

基于STM32F107 IEEE1588协议 PTPV2高精度时间同步 现场信号采集系统

[复制链接]

13

主题

49

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
315
金钱
315
注册时间
2012-8-28
在线时间
22 小时
发表于 2017-11-27 00:37:08 | 显示全部楼层 |阅读模式
本帖最后由 lushp88 于 2017-11-27 00:48 编辑

一、在有些应用场合,需要同时采集不同点的信号方便信号分析,比如:基站定位技术,同时采集几个基站的信号差。这种场合应用很多,电站电力系统的信号采集都是需要同时采集不同点的信号,那么如何同时采集不同点的信号呢?答案IEEE1588协议,它可以保证每个采集点的时间基本同步,NTP协议在互联网网络可以保证1~50ms精度(全球网络),NTP精度有时候还不能满足同步精度要求,那这时有出现一种精度更高的协议叫PTP,它能精确到纳秒级同步。实现它必须使用硬件时间戳(NTP是通过软件计算时延来计算时间偏差的)。
二、实现PTP方案
      STM32F107集成以太网控制器,STM32F107内部集成MAC/DMA/PTP控制器,只要外挂一颗PHY就可以实现TCP/IP协议,轻轻松松和互联网相连。
      STM32F107 实现IEEE1588协议是基于TCP/IP之上的一个协议,PTP是使用网内组播(UDP组播)实现时间同步,多节点会通过BMC算法计算最佳主时钟节点,然后所有的从节点都以最佳节点为时间参考。PTP实测精度可以在±100ns内同步(同一台交换机,同一网段),下图:是实测的同步精度
QQ图片20171126231654.png

        红色框是两个节点是启动ADC采集的触发信号(目前采集速率是10kps),可以看到两个节点基本保持在100ns之内偏差,也就实现同步采集!

下图是采集到的信号DAC输出显示

QQ图片20171126232200.png

        影响精度的因素多,网路,元器件的精度等!以下视频分别使用普通的20PPM和1PPM VCO有源晶振,触发ADC同步效果(ADC触发同步是在PTP同步完成之后的同步,它不能代表PTP的精度,但是PTP精度绝对影响ADC的触发同步。PTP是时间同步的基础,ADC是在PTP同步之后的应用,这里实现的方法是PTP同步之后,利用同步校对信号不断的对TIM矫正而实现的同步,所有触发ADC信号均使用DMA控制寄存器不需要软件介入,矫正过后的TIM定时触发ADC)



IEEE1588 PTPV2 1PPM晶振同步效果


IEEE1588 PTPV2 20PPM晶振同步效果









正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2017-6-23
在线时间
21 小时
发表于 2017-12-24 08:20:12 来自手机 | 显示全部楼层
兄弟,有没有ptp初始化函数,能不能分享一下原码,谢谢开源
回复 支持 反对

使用道具 举报

7

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2017-6-23
在线时间
21 小时
发表于 2017-12-24 09:14:18 | 显示全部楼层
兄弟,我这样初始化时间戳怎么有问题啊,能帮忙解答一下吗,谢谢!

ETH_PTPTimeStampCmd(ENABLE);               //使能ptp时间戳
ETH_SetPTPSubSecondIncrement(43);                //亚秒累加器值设置
ETH_PTPUpdateMethodConfig(ETH_PTP_CoarseUpdate);        //粗调模式   
ETH_SetPTPTimeStampUpdate(0,0,0);  //设置更新寄存器值  
ETH_InitializePTPTimeStamp();     //初始化
回复 支持 反对

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2018-8-10
在线时间
4 小时
发表于 2018-8-10 15:11:57 | 显示全部楼层
大哥,能不能分享一下源码啊
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2020-11-1
在线时间
3 小时
发表于 2020-11-3 17:48:23 | 显示全部楼层
楼主,你采用的STM32F107芯片是用的哪块板子啊?官方的STM3210C-EVAL吗?
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2020-4-25
在线时间
9 小时
发表于 2020-12-9 11:35:59 | 显示全部楼层
请问一下,PTP实现主从机,是不是就意味这已经同步,然后怎么进行测试应用呢?
回复 支持 反对

使用道具 举报

3

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2020-7-9
在线时间
18 小时
发表于 2021-1-11 21:02:16 | 显示全部楼层
Jmin 发表于 2020-12-9 11:35
请问一下,PTP实现主从机,是不是就意味这已经同步,然后怎么进行测试应用呢?

请问你实现了吗1588
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2018-7-9
在线时间
7 小时
发表于 2021-1-11 21:54:35 | 显示全部楼层
你好,不好意思打扰您,看到您的帖子,我最近也在做PTP,没有头绪,看您之前说在STM32f107有官网代码,能不能麻烦您分享我一份,我想用PTPd移植,但是没有头绪,打扰您了,谢谢您!
回复 支持 反对

使用道具 举报

3

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2020-7-9
在线时间
18 小时
发表于 2021-1-13 15:44:34 | 显示全部楼层
豆豆叔呀 发表于 2021-1-11 21:54
你好,不好意思打扰您,看到您的帖子,我最近也在做PTP,没有头绪,看您之前说在STM32f107有官网代码,能不 ...

107的我有   加QQ2013659309
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-30 10:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表