有小伙伴搞过1588对时么

发布于 2019-06-25 14:12:04    浏览:886
由于项目需要1588对时,上周开始看了相关资料,发现要在目前rt-thread中实现需要修改不少东西,初步理解是需要修改以下内容,不知道对不对:

(1) stm32f429网络驱动层级修改。1588对时协议为了精确需要硬件打时间戳,stm32本身的mac是支持时间戳的,但是查找相关资料后发现,只有在很久之前st官方针对stm32f107出过一个应用笔记,提供了ptp(即1588)相关的初始化,设置及操作函数,此后st库函数进行了几个版本的升级,不再提供ptp相关函数,并且从官网删除了之前的应用笔记及例子(不知道什么原因)。目前思路是将以前的函数移植过来,但是原先的函数和现在的库函数很多功能交叉,结构体定义及驱动架构变动较大,不能简单移植,需要理清楚后重构,但是工作量较大;(2) lwip协议栈本身并不支持把时间戳传给应用程序,需要修改lwip收发相关结构体增加时间信息。此外需要修改lwip中的udp相关程序,以支持时间戳信息的相应;(3) 目前针对1588协议有ptpd的软件包可用,但是需要针对特定的硬件做修改。
有在stm32f429基于rt-thread实现1588对时的小伙伴么,能否分享下经验?谢谢



查看更多

4 个回答
flyboy
flyboy 2019-06-27
This guy hasn't written anything yet
你这个需求可能有点单一,貌似没人弄过:P,楼主加油
我不当学长
我不当学长 2019-06-27
This guy hasn't written anything yet
你分析的很到位,顺着思路慢慢移植。主要要修改LwIP里面ethernetif.c里面的函数,在pbuf.h里面要添加适合ptp时间戳的结构体信息。rt-thread中对LwIP进行较多的改动,尤其是把low_level_init,数据收发(rt thread中为erx,etx线程)等做了相应修改。你可以参考一下这个
parkin
parkin 2019-06-28
This guy hasn't written anything yet
楼主, 这个1588我也正在做, 后期可能在rtt上做1588驱动, 但我的硬件平台可能不会是stm32, 不过我们可以多交流
xanadu
xanadu 2019-06-28
This guy hasn't written anything yet
parkin 发表于 2019-6-28 09:47
楼主, 这个1588我也正在做, 后期可能在rtt上做1588驱动, 但我的硬件平台可能不会是stm32, 不过我们可以多交 ...


:handshake

撰写答案

请登录后再发布答案,点击登录
关注者
1
被浏览
886

发布
问题

分享
好友

手机
浏览

扫码手机浏览