一种基于状态机的串口通信协议的设计与实现
数据包的接收进度依据于状态指示变量sp。当数据接收顺利时,sp的变化将会引导完成一个数据包的接收过程,这样处理可以简化编程的模型,使协议易于实现;数据包接收过程中,一旦发现数据传输出错,立即将sp置为0(空闲状态),也就是状态复位,使系统进入准备接收下一个数据包的状态,这样可提高通信过程的可靠性及容错能力。
为检验测试串通信协议的合理性及可靠性,将其应用到某称重仪表的上位机通信中,其上位机程序主界面如图4所示。程序主界面的点阵字体显示的是由下位机传送的质量数据,而正中间显示的是由下位机上传的A/D数据形成的曲线,最下方显示的是对接收的数据处理的状态指示。经过大量测试表明,本串口通信协议设计合理,可靠性较高。
4 结论
文中主要介绍串口通信协议的设计与实现,其中包括数据包格式的定义、通信状态机的设计以及协议的实现,并将此协议应用到某称重仪表的上位机通信中。串口通信中引入状态机方法,便于解决帧同步问题,使协议易于实现,同时增加了系统的稳定性与可靠性。因此,可广泛用于各类仪器仪表、工业控制领域中,具有一定的实用价值。
数字通信相关文章:数字通信原理
通信相关文章:通信原理
评论