本帖最后由 muyichuan2012 于 2022-9-21 19:54 编辑
基于以太网络,实现IEEE1588协议
-SC0101_AT32F407_437_PTP_Daemon
支持型号列表:
AT32F407xx
AT32F437xx
主要使用外设列表:
EMAC
GPIO
USART
快速使用方法
硬件资源
1) 指示灯LED2/LED3
2) USART1(PA9/PA10)
3) AT-START-F407/ AT-START-F437实验板
4) 以太网连接线
软件资源
1) SourceCode
at32f407_ptp_daemon/ at32f437_ptp_daemon源程序
PTP Daemon源程序
LWIP源程序
AT32驱动库
2) Doc
SC0082_AT32F407_437_LWIP_FreeRTOS_V2.0.1
Note: 所有project 都是基于keil 5 而建立,若用户需要在其他编译环境上使用,请参考
AT32F407_Firmware_Library_V2.x.x/project/at_start_f407/templates 中各种编译环境(例如
IAR6/7,keil 4/5)进行简单修改即可。
示例使用
1) 打开at32f407_ptp_daemon/ at32f437_ptp_daemon源程序,编译后下载到实验板
2) 在Ubuntu上安装ptpd(需要接入互联网),输入指令:sudo apt-get install ptpd
3) 配置PC端的IP网段与开发版相同,如图1
4) 输入指令:sudo ptpd –C –E –s –I enp0s3,enp0s3为Ubuntu上的网卡名称,用户需要改为本机
网卡名称,可通过指令“ifconfig”查看,如图2
Note: 若出现网口接收发送数据偶尔丢失,可考虑是否为代码量较大,超过了芯片的零等待区;可将重要代码选
择性编译到零等待区解决。
图1. 设定PC 端网段
图2. Ubuntu 启动PTP Daemon 的客户端与MCU 同步时间
图3. PTP 封包
|