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