图4-1 上位机软件编程实现的流程图
4.1.2 串口通信接口定义
串行总线是一种久远但目前仍常用的通信方式,早期的仪器、单片机、PLC等均使用串口是计算机进行通信,最初多用于数据通信上,但随着工业测控行业的发展,许多测量仪器都带有串口总线接口,因此了解掌握串口通信技术及其编程是非常有必要的。
(1) 数据发送
通信的主要目的是将数据从一端发送到另一端,以实现数据的交换。计算机与设备问的数据交换,计算机与计算机问的数据传输都属于通信的范畴。 一个完整的通信系统包括发送端、接收端、转换数据的接口及发送数据的实际信道或媒质。一般情况下,发送与接收的节点称为DTE(Data Terminal Equipment,数据终端设备)。数据在到达正确目的地之前,可能需要经过一系列中间节点,它们负责数据的转送工作,以送达目的地,这些中间节点称为DSE(Data Switching Equipment,数据交换设备)。终端设备发送数据时,必须先将数据转换为电气信号,以便在线路上传递,而负责数据与电气信号转换的设备称为DCE(Data Communication Equipment,数据通信设备)。DTE与DCE间的数据传输线路通常使用RS232串行通信,而DCE与DSE间的媒质则包括了双绞线、同轴电缆、光纤或无线电等。
(2) 信号定义
在计算机内部的记录中所有的数据都是0与l,任何数据都是这两个数字的组合。所有电子仪器的基础均来自“开”、“关”两个状态的改变,可以将它们表示为0与l或表示为“高电位”、“低电位”,不管表示方法如何,目的在于造成“状态的改变”,将很多的0与l组合成一大串的数字序列后,就可以定义它们所代表的意义了。传输过程就是在传输线上不断地产生高低电位的变化,发送端造成传输线上的电位变化,而接收端则是解读此高低电位变化而还原出原始的信息。
4.1.3 串口通信协议
串行通信过程中,数据和联络信号是使用同一根信号线来传送的,所以收发双方必须考虑解决一下问题:
(1) 双方约定以何种速率进行数据的发送和接收(波特率);
(2) 约定采用何种数据格式(帧格式),如果包含控制信息,那么它的定义是什么;
(3) 接收方如何得知一批数据的开始和结束(帧同步);
(4) 接收方如何从位流中正确地采样到位数据(位同步);
(5) 接收方如何判断收到数据的正确性(数据校验);
(6) 收发出错时如何进行处理。
显然,收发双方必须遵守一些共同的通信协议(或称为通信控制规程),才能解决以上问题。
在传输数字信号时接收端必须有与数据位脉冲具有相同频率的时钟脉冲来逐位将数据读入寄存器,这种在接收端使数据位与时钟脉冲在频率和相位上保持一致的机制称为同步。根据在接收端获取同步信号的方法不同,同步方式可分为位同步方式和字符同步方式,也称为同步传输方式和异步传输方式。
4.1.4 同、异步串行通信协议描述
(1) 同步通信
同步通信即位同步方式,同步通信即位同步方式,是利用编码机制把时钟信息和数据放在一起发送给接收端,以保证每一位的正确性,但这种同步方式没有办法来区分字符之间的界限,从一个二进制位串中提取正确的字符信息。为此,在位同步的基础上,需要发送方在一组数据前附加一个或两个称为同步字符的特殊约定代码,去通知接收器串行数据第一位到达的时间。为了确保正确提取字符,字符之间不能有类似于异步传输那样的间隙,必须以连续的形式发送,每个时钟周期发送一位数据,数据信息后是两个错误校验字符。接收方在收到同步字符后,立即开始按事先约定的长度(5、6、7或者8位)从位串中逐个提出字符。同步通信采用的同步手段和同步字符的个数不同,字符的数据格式叫做单同步数据格式,数据格式。存在着不同的格式结构,具有一个同步有两个同步字符的数据格式叫做双同步。 x—γ射线个人报警仪上位机管理软件(6):http://www.youerw.com/tongxin/lunwen_9381.html