LinuxPTP在汽车时钟同步网络中的实践

这里列举一些在汽车以太网中使用LinuxPTP的注意点。

请使用较新版本的LinuxPTP,可以自己编译部署!
在使用中,我遇到了某些指令或者配置文件关键字已经废弃,官方网页中的文档和实际工具对不上的问题。
研究发现是目标板中部署的LinuxPTP版本较老,而网上的文档较新。
在实际操作中可以自己根据源码编译部署。 保证文档和实际的工具是同一套。

LinuxPTP 兼容 汽车以太网中其他时间同步ECU,需要使用配置文件。因为某些配置项没有提供指令,而是以配置文件的形式记录和提供。

如果不指定/dev/PTP设备,工具会自动选择一个,请注意这个设备,在使用phc2sys时需要保持一致。

在配置文件中有一个配置项 ,transportSpecific 0x1。 其功能类似于VLAN , 在使用phc2sys时需要保持一致, 添加–transportSpecific=1 指令。

./ptp4l -i eth0 -f configs/automotive-slave.cfg  -m -H
ptp4l[514.862]: selected /dev/ptp1 as PTP clock
ptp4l[514.896]: port 1 (eth0): INITIALIZING to SLAVE on INIT_COMPLETE
ptp4l[514.897]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[514.897]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[516.918]: rms 805708105219 max 1611416211536 freq -17263 +/- 6638 delay  7398 +/-  18
ptp4l[517.956]: rms  373 max  552 freq -18157 +/- 522 delay  7343 +/-   0
ptp4l[518.997]: rms 122271 max 345831 freq +45042 +/- 164142 delay -338043 +/-   0
ptp4l[520.038]: rms 216113 max 326596 freq +161766 +/- 281863 delay  7339 +/-   0
ptp4l[521.076]: rms 157176 max 250243 freq -221411 +/- 45583 delay  7341 +/-   0
ptp4l[522.117]: rms 21874 max 37404 freq -83173 +/- 30596 delay  7339 +/-   0
ptp4l[523.158]: rms 33590 max 35226 freq -14791 +/- 10063 delay  7341 +/- 
ptp4l[524.196]: rms 22287 max 29284 freq   -739 +/- 761 delay  7343 +/-   0
ptp4l[525.238]: rms 7574 max 12270 freq  -6771 +/- 2469 delay  7352 +/-   0
ptp4l[526.276]: rms 1088 max 1613 freq -13943 +/- 1521 delay  7352 +/-   0
ptp4l[527.317]: rms 1842 max 1948 freq -17425 +/- 526 delay  7370 +/-   0
ptp4l[528.358]: rms 1134 max 1414 freq -18019 +/- 120 delay  7392 +/-   0
ptp4l[529.399]: rms  373 max  576 freq -17696 +/- 115 delay  7392 +/-   0
ptp4l[530.437]: rms   87 max  192 freq -17293 +/- 111 delay  7392 +/-   0
ptp4l[531.478]: rms  117 max  197 freq -17122 +/-  70 delay  7376 +/-   0

使用 -s /dev/ptp1 -c CLOCK_REALTIME 来指定时钟源和目标修改的时钟,避免通过-a 自动选择使得选取的时钟源和前面ptp4l中同步的硬件时钟不一致。

有的/dev/PTP 会受到硬件限制或者配置限制,而在实现同步的过程中出现报错。例如,不支持快速step跃迁。这个时候可以读取/dev/ptp 设备的属性配置,或者更改其配置。如果有多个/dev/ptp设备可以更换选择不同的/dev/ptp设备来尝试。

./phc2sys -s /dev/ptp1 -c CLOCK_REALTIME -w -O 0 --transportSpecific=1 -m
phc2sys[734.929]: CLOCK_REALTIME phc offset      -232 s0 freq  -17079 delay    520
phc2sys[735.930]: CLOCK_REALTIME phc offset      -378 s2 freq  -17225 delay    605
phc2sys[736.930]: CLOCK_REALTIME phc offset      -203 s2 freq  -17428 delay    505
phc2sys[737.930]: CLOCK_REALTIME phc offset        47 s2 freq  -17239 delay    600
phc2sys[738.931]: CLOCK_REALTIME phc offset       125 s2 freq  -17147 delay    600
phc2sys[739.931]: CLOCK_REALTIME phc offset       201 s2 freq  -17034 delay    505
phc2sys[740.931]: CLOCK_REALTIME phc offset       109 s2 freq  -17065 delay    535
phc2sys[741.932]: CLOCK_REALTIME phc offset         1 s2 freq  -17141 delay    605
phc2sys[742.932]: CLOCK_REALTIME phc offset        57 s2 freq  -17084 delay    540
phc2sys[743.932]: CLOCK_REALTIME phc offset       -43 s2 freq  -17167 delay    590
phc2sys[744.932]: CLOCK_REALTIME phc offset        27 s2 freq  -17110 delay    515

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/577216.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue data变量不能以“_”开头,否则会产生很多怪异问题

1、 比如给子组件赋值&#xff0c;子组件无法得到这个值&#xff08;也不是一直无法得到&#xff0c;设置后this.$forceUpdate() 居然可以得到&#xff09;&#xff0c; 更无法watch到 <zizujian :config"_config1"> </zizujian>this._config1 { ...…

python使用easyocr识别文字,准确率超高!

文章目录 一、文档二、使用1、安装2、使用3、下载模型4、配合pyautogui识别屏幕的文字 参考资料 一、文档 https://www.jaided.ai/easyocr/documentation/ 二、使用 1、安装 pip install easyocr2、使用 import easyocr# 创建EasyOCR Reader reader easyocr.Reader([ch_s…

Go 错误处理

Go 错误处理 Go 语言通过内置的错误接口提供了非常简单的错误处理机制。 error类型是一个接口类型&#xff0c;这是它的定义&#xff1a; type error interface {Error() string }我们可以在编码中通过实现 error 接口类型来生成错误信息。 函数通常在最后的返回值中返回错误…

python中的 multiprocessing.Event是什么

multiprocessing.Event 是 Python 中 multiprocessing 模块提供的一种同步原语&#xff0c;用于在多个进程之间传递信号。Event 本质上是一个用于线程/进程通信的信号标志&#xff0c;可以用于在不同进程之间进行事件的同步。 文章目录 创建 Event 对象在一个进程中设置 Event在…

短视频矩阵系统的崛起和影响

近年来&#xff0c;短视频矩阵系统已经成为了社交媒体中的一股新势力。这个新兴的社交媒体形式以其独特的魅力和吸引力&#xff0c;迅速吸引了大量的用户。这个系统简单来说就是将海量短视频整合在一个平台上&#xff0c;使用户可以方便地观看和分享好玩有趣的短视频。 短视频…

观察者模式学习

观察者模式&#xff08;Observer Design Pattern&#xff09;也被称为发布订阅模式&#xff08;Publish-Subscribe Design Pattern&#xff09;。在 GoF 的《设计模式》一书中&#xff0c;它的定义是这样的&#xff1a; Define a one-to-many dependency between objects so th…

50个免费的 AI 工具,提升工作效率(附网址)

上次我们已经介绍了20个精选的提高工作效率的免费AI工具&#xff0c;但如果你觉得这些AI工具还不过瘾的话&#xff0c;想进一步成为职场中最了解AI的人&#xff0c;本文将汇总介绍免费最新的50个AI工具。 DeepSwap DeepSwap 是一个基于 AI 的工具&#xff0c;适用于想要制作令人…

【内存泄漏】内存泄漏及常见的内存泄漏检测工具介绍

内存泄漏介绍 什么是内存泄漏 内存泄漏是指程序分配了一块内存&#xff08;通常是动态分配的堆内存&#xff09;&#xff0c;但在不再需要这块内存的情况下未将其释放。内存泄漏会导致程序浪费系统内存资源&#xff0c;持续的内存泄漏还导致系统内存的逐渐耗尽&#xff0c;最…

android内存管理机制概览

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、相关概念3.1 垃圾回收3.2 应用内存的分配与回…

插入排序详解(C语言)

前言 插入排序是一种简单直观的排序算法&#xff0c;在小规模数据排序或部分有序的情况下插入排序的表现十分良好&#xff0c;今天我将带大家学习插入排序的使用。let’s go ! ! ! 插入排序 插入排序的基本思想是将待排序的序列分为已排序和未排序两部分。初始时&#xff0c…

商务大厦安装电气火灾监控系统,从源头监控电气火灾

安科瑞电气股份有限公司 上海嘉定 201801 摘要&#xff1a;介绍分析剩余电流式电气火灾监控系统的特点、组成、设计依据、监控原理和实施方案&#xff0c;并结合上海市某大厦工程设计实例探讨该系统在高层建筑中的设置要求和应用方式&#xff0c;供设计人员参考。 关键词&…

蓝桥杯嵌入式LED

1.LED原理图 2.CubeMX的LED的GPIO 3.创建LED.c和.h文件添加到bsp文件 添加bsp文件路径在c/c中 4.LED相关代码

Django之DRF框架三,序列化组件

一、序列化类的常用字段和字段参数 常用字段 字段名字段参数CharFieldmax_lengthNone, min_lengthNone, allow_blankFalse, trim_whitespaceTrueIntegerFieldmax_valueNone, min_valueNoneFloatFieldmax_valueNone, min_valueNoneBooleanFieldNullBooleanFieldFloatFieldmax_…

【隐私保护】使用Python从文本中删除个人信息:第一部分

自我介绍 做一个简单介绍&#xff0c;酒架年近48 &#xff0c;有20多年IT工作经历&#xff0c;目前在一家500强做企业架构&#xff0e;因为工作需要&#xff0c;另外也因为兴趣涉猎比较广&#xff0c;为了自己学习建立了三个博客&#xff0c;分别是【全球IT瞭望】&#xff0c;【…

linux中主从复制的架构和读写分离的方式

读写分离 互相主从架构注意点 双主双从架构注意点 一主多从架构注意点 读写分离概念部署jdk环境上传文件&#xff0c;解压文件配置环境变量 部署mycat环境mycat配置文件给所有数据库创建访问用户配置 server.xml配置 schema.xml负载均衡测试 互相主从 架构 iproleip1ip2的主库…

【开源】基于JAVA语言的大学生相亲网站

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询会员4.2 查询相亲大会4.3 新增留言4.4 查询新闻4.5 新增新闻 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的大学生相亲网站&#xff0c;包含了会员管理模块、新闻管…

如何使用GPT4写一篇综述

使用 GPT-4 或任何其他高级语言模型来撰写一篇综述文章&#xff0c;需要遵循一系列的步骤来确保内容的准确性、深度和组织性。以下是一些指导步骤&#xff1a; 确定主题和范围 明确你想要综述的主题。这可以是一个科学领域的特定方面、技术发展、理论进展等。 确定综述的范围和…

管理类联考和普通考研区别有哪些?对比分析!

在当今社会&#xff0c;越来越多的大学生选择继续深造&#xff0c;提升自己的学历和能力。其中&#xff0c;管理类联考和考研是两个常见的选择。然而&#xff0c;许多人对于这两者的区别并不了解&#xff0c;因此在选择的时候往往会感到困惑。本文将详细介绍管理类联考和考研区…

图灵日记之java奇妙历险记--输入输出方法数组

目录 输入输出输出到控制台从键盘输入使用 Scanner 读取字符串/整数/浮点数使用 Scanner 循环读取 猜数字方法方法定义方法调用的执行过程实参和形参的关系(重要)方法重载 数组数组的创建数组的初始化动态初始化静态初始化 数组的使用元素访问遍历数组 数组是引用类型null数组应…

龙芯杯个人赛串口——做一个 UART串口——RS-232

文章目录 Async transmitterAsync receiver1. RS-232 串行接口的工作原理DB-9 connectorAsynchronous communicationHow fast can we send data? 2.波特率时钟生成器Parameterized FPGA baud generator 3.RS-232 transmitter数据序列化完整代码&#xff1a; 4.RS-232 receiver…