我有一个继电器触点闭合事件,需要使用 GPS 和 PPS 输出准确加盖时间戳(1 毫秒(...我不确定如何将继电器触点输出馈送到微控制器,然后将微控制器时钟同步到 GPS ......加上如何获得UTC毕竟?你能帮帮我吗?谢谢
如果您的微控制器至少有两个基于硬件引脚的中断,则可以将继电器连接到其中一个中断生成引脚,并将 PPS 连接到另一个中断生成引脚。
您需要将 NMEA(或 GPS 的其他专有协议(连接到微控制器中的相应端口。一些常见的公共汽车是UART或SIP。
然后,每次收到 PPS 中断时,都会启用一个全局标志,该标志可在主循环中用于重置计数器。此计数器将告诉您继电器切换与 PPS 的距离(如果发生在该秒内(。如果您知道计数器的基本频率,则可以将计数器转换为秒的小数部分。请注意,如果必须检测继电器状态的两个边沿变化,则需要一个能够在两个边沿上中断(或使用两个中断(的中断源
然后,如果中继中断关闭,您可以在中断时获取计数器的值,并将其保存在存储中,发送到主机等(注意,最好将值保存在RAM中,解除"值存在"的标志,并将发送/存储留给主循环,然后关闭标志(。
最后,当您收到完整的 NMEA 消息(例如,状态机可以在主循环中解析该消息(时,您可以将此信息以及您保存的计数器一起发送到主机或存储,以记录中继状态更改的时间。请注意,NMEA 消息将在 PPS 生成和解码时有一定的延迟,因此您需要对此进行补偿。