利用单片机实现多路电压信号采集系统的设计
3 串行通信协议
监控计算机与单片机的数据交换包括如下3个步骤。
(1)单片机要发送数据时,计算机会发送一组字符串过去。该字符串的第一个字符是前导码,单片机根据前导码辨认是否应该读取该字符串,该字符串属于哪一个命令集。
在前导码之后是站号,通常以两个字符代表,以RS-485进行网络连接,需要用站号来辨别命令是属于哪一个设备。站号之后是要解读的命令或数据。
(2)当单片机收到要求字符串,并经过辨读确定后,便会送出计算机所要求的数据。同样,数据被送出时会在数据之前加上前导码与站号,计算机也有由此辨别数据来自何处。
(3)计算机端收到单片机发送回来的字符串,即进行解读检查的操作。当检查完成后,再送一个确定的字符串给单片机,用以说明计算机端已成功收到字符串;而若发送失败,计算机也在该回送的字符串中要求单片机重新发送数据。
另外数据发送时,一般会加上错误检查机制,最常用的方法是将字符进行运算,而在字符串的最后加上CheckSum字符,收发双方利用Check-Sum字符的检查判断字符串的正确性。
其中,前导码为一个字节;站号为一个字节;命令/数据为一个字节;数据长度为一个字节;数据内容为几个字节;CheckSum校验为两个字节;结束标志位为一个字节。
4 通信软件的实现
4.1 监控计算机通信软件的实现
利用VB提供的具有强大功能的通信控件MsComm,可设置串行通信的数据发送和接收,串口状态及串口通信的数据发送和接收,以及串口状态和串口通信的信息,格式和协议。监控计算机的通信流程如图3所示。
4.2 单片机通信部分的软件实现
ATMEGA8单片机带有一个全双工通用同步/异步串行收发模块USART,该接1:3是一个高度灵活的串行通信设备。单片机的通信流程如图4所示。
评论