业界资讯
串行通讯配置参数解说
2019-08-22 10:44:34
串行通讯本质是一种模拟信号的传送,信号收发需要配置一些参数比如:端口号,波特率,数据位,停止位,校验方式
端口号:端口是对外通讯用的识别方式,可以通过系统设备管理变更端口号,端口号在本地是唯一的,正在使用的端口不能被其他端口占用。
波特率:波特率可以理解成通讯每秒发多少个baud(波特),不同于比特(bit),波特是使用模拟信号中,比特或者位是使用在电子信号中。
数据位:modbus数据位都是8,也有其他位数的,具体视通讯协议
停止位:常见停止位都是1,也有2的,具体参考通讯协议
校验方式:校验方式总体有奇校验,偶校验,不校验和其他校验这四种方式,都是用于验证数据完整性
奇校验:也会有ODD或者“1”的写法
偶校验:也会有EVEN或者“0”的写法
不校验:也会有“none”的写法
其他校验:也有标志校验或者空格校验,具体在协议内有定义,数据位要设置好。
问:波特率越高反应越快?
答:准确来说在相同信号长度下,比如一个信号占用9600个波特,用9600波特率发送数据就需要1秒钟,用4800波特率发送数据就需要2秒钟。这么来看9600波特率必4800发数据要快,现实情况比较复杂,首先9600波特,这么长的信号不多见,当然连续收发大量信息,每个数据都会有50ms的打断,接受数据一般会设置延迟等待。比如modbus查询第一个线圈的数值,数据发出去了,缓冲区还没将收到的数据接收过来,系统判断数据丢失,实际只是延时等待,但结果却是查不到数据。鉴于数据量大的可以将波特率设置高一点,同时会对通讯线材有较高的要求,通讯距离不建议过高。但是波特率越高不一定反应越快。