串⼝是计算机上⼀种⾮常通⽤设备通信的协议(不要与通⽤串⾏总线Universal Serial Bus或者USB混淆)。⼤多数计算机包含两个基于RS232的串⼝。串⼝同时也是仪器仪表设备通⽤的通信协议;很多GPIB兼容的设备也带有RS-232⼝。同时,串⼝通信协议也可以⽤于获取远程采集设备的数据。
串⼝通信的概念⾮常简单,串⼝按位(bit)发送和接收字节。尽管⽐按字节(byte)的并⾏通信慢,但是串⼝可以在使⽤⼀根线发送数据的同时⽤另⼀根线接收数据。它很简单并且能够实现远距离通信。⽐如IEEE488定义并⾏通⾏状态时,规定设备线总常不得超过20⽶,并且任意两个设备间的长度不得超过2⽶;⽽对于串⼝⽽⾔,长度可达1200⽶。
典型地,串⼝⽤于ASCII码字符的传输。通信使⽤3根线完成:(1)地线,(2)发送,(3)接收。由于串⼝通信是异步的,端⼝能够在⼀根线上发送数据同时在另⼀根线上接收数据。其他线⽤于握⼿,但是不是必须的。串⼝通信最重要的参数是波特率、数据位、停⽌位和奇偶校验。对于两个进⾏通⾏的端⼝,这些参数必须匹配:
a,波特率:这是⼀个衡量通信速度的参数。它表⽰每秒钟传送的bit的个数。例如300波特表⽰每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串⼝通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远⼤于这些值,但是波特率和距离成反⽐。⾼波特率常常⽤于放置的很近的仪器间的通信,典型的例⼦就是GPIB设备的通信。
b,数据位:这是衡量通信中实际数据位的参数。当计算机发送⼀个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。⽐如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使⽤简单的⽂本(标准 ASCII码),那么每个数据包使⽤7位数据。每个包是指⼀个字节,包括开始/停⽌位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。
c,停⽌位:⽤于表⽰单个包的最后⼀位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每⼀个设备有其⾃⼰的时钟,很可能在通信中两台设备间出现了⼩⼩的不同步。因此停⽌位不仅仅是表⽰传输的结束,并且提供计算机校正时钟同步的机会。适⽤于停⽌位的位数越多,不同时钟同步的容忍程度越⼤,但是数据传输率同时也越慢。
d,奇偶校验位:在串⼝通信中⼀种简单的检错⽅式。有四种检错⽅式:偶、奇、⾼和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串⼝会设置校验位(数据位后⾯的⼀位),⽤⼀个值确保传输的数据有偶个或者奇个逻辑⾼位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑⾼的位数是偶数个。如果是奇校验,
校验位位1,这样就有3个逻辑⾼位。⾼位和低位不真正的检查数据,简单置位逻辑⾼或者逻辑低校验。这样使得接收设备能够知道⼀个位的状态,有机会判断是否有噪声⼲扰了通信或者是否传输和接收数据是否不同步。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务