•  作者:admin
  •  积分:2705
  •  等级:专家教授
  •  2013/04/25 16:14:58
  •  
  • 楼主(阅读:6119/回复:0)通信参数 校验码 数据传输

        串行端口的通信方式是将字节拆分成一个接着一个的位再传送出去。接到此电位信号的一方再将此一个一个的位组合成原来的字节,如此形成一个字节的完整传送。

    在传输进行的过程中,双方明确传送信息的具体方式,否则双方就没有一套共同的译码方式,从而无法了解对方所传过来的信息的意义。因此双方为了进行通信,必须遵守一定的通信规则,这个共同的规则就是通信端口的初始化。

    通信端口的初始化必须对以下几项参数进行设置。

    1.数据的传输速度

        串行通信的传输受到通信双方配备性能及通信线路的特性所左右,收、发双方必须按照同样的速率进行串行通信,即收、发双方采用同样的数据传输率。数据传输率批量的是串行通信中每一秒所传送的数据位数,单位是bit/s。经常可以看到食品或MODEM的规格书上都写着19200bit/s38400bit/s······,所指的就是数据传输率。

       就仪器或工业场合来说,4800bit/s9600bit/s是最常见的数据传输率,现在的个人计算机 所提供的串行端口的数据传输率都可达到115200bit/s(甚至有921600bit/s),若传输距离较近而设备也提供时,使用最高的数据传输率也可以。

    例如,在某异步串行通信中,每传送一个字符需要8位,如果采用数据传输率4800bit/s进行传送,则每秒可以传送600个字符。

    数据的传送单位

    一般串行通信端口所传送的数据是字符型,若用来传输文件,则会使用二进制的数据类型。当使用字符型时,工业界使用到的有ASCII字符码及JIS字符码;ASCII使用了8位形成一个字符,而JIS码则以7位形成一个字符。欧美的设备多使用8位的字节,而***本的设备多使用7位为一个字节。以实际的RS-232传输上看来,由于工业界常使用的PLC大多只是传送文字码,因此只要7位就可以将ASCII0127码表达出来(2128,共有128种组合方式),所有的可见字符也落在此范围内,所以只要7个数据位就够了。不同的情形下(依据使用的协议),会使用到不同的传送单位。使用多少位合成一个字节必须先行确定。

    起始位与停止位

        由于异步串行传输中并没有使用同步脉冲作基准,故接收端完全不知道传送端何时将进行数据的传送。发送端准备要开始传送数据时,发送端会在所送出的字符前后分别加上高电位的起始位(逻辑0)及低电位的停止位(逻辑1),它们分别是所谓的起始位和停止位。也就是说,当传送端要开始传送数据时,便将传输线上的电位由低电位提升至高电位;而当传送结束后,再将电位降至低电位。接收端会因起始位的触发(因电压由低电位升至高电位)而开始接收数据,并因停止位的通知(因电压维持在低电位)而明确数据的字符信号已经结束,当加入了起始位及停止位才比较容易达到多字符的接收能力。起始位固定为1位,而停止位则有11.52位等多种选择,如何选择呢?只要通信双方协议通过即可,没有强制规定。

    校验位

        为了预防错误的发生,使用校验位作为检查的机制。校验位即是用来检查所传送数据的正确性的一种核对码,这之中又分成奇校验与偶校验两种,分别是检查字符码中1数目是奇数或偶数。以偶校验为例,“A”的ASCII码是41H16进制),将它以二进制表示时,是01000001其中1的数目是2,因此校验位便是0,使1的数目保持偶数;同样,校验位是奇校验时,“A”的校验位便是1,使1的数目保持在奇数。接收者重新计算奇偶校验位,如果新的计算值正确,那么表示正常。如果新的计算值错误,那么接收端就会收到一些指示,表示此次接收的数据有误。

    欢迎使用串口论坛
    波仕与您畅游RS232/RS485串口的世界


    目前不允许游客回复,请 登录 注册 发表言论。