您的位置:控制工程论坛网论坛 » 现场总线 » 现场总线的位编码与位同步

hylotus

hylotus   |   当前状态:离线

总积分:5168  2024年可用积分:0

注册时间: 2009-08-20

最后登录时间: 2012-08-16

空间 发短消息加为好友

现场总线的位编码与位同步

hylotus  发表于 2009/9/22 12:59:50      791 查看 0 回复  [上一主题]  [下一主题]

手机阅读

由于现场总线普遍采用异步串行通信,因此传输过程中的位同步非常重要。
    现场总线的位编码方式决定了其如何进行位同步。现场总线物理层的位编码主要有两种:曼彻斯特编码与非归零编码。
    在曼彻斯特编码中,每一个比特时间段被分成两段,前半个时间段所传信号是要传送比特值的反码,后半个时间段所传信号是该比特值本身。即在该比特时间段内,从高电平到低电平的跃变表示“0”,从低电平到高电平的跃变表示“1”。这样,传输每一个比特信号时都会有一个信号跃变,该跃变可用来做同步信号。
     由于曼彻斯特编码含有内在的时钟信息,因此降低了对网络中各节点晶体振荡器的漂移要求,但是曼彻斯特编码提高了传输信号的频率,因而增加了对抗电磁干扰的要求。
     非归零编码用高电平表示“1”,用低电平表示“0”。传输同样的数据,其信号频率低于曼彻斯特编码,但由于信号不包含内在的时钟信息,因此位同步能力弱于曼彻斯特编码,要求网络中各节点晶体振荡器的漂移要尽量小。当要传输的数据含有多个连续的“1”或“0”时,传输信号持续为高电平或低电平,没有信号的跃变,无法进行位同步,从而可能造成传输错误。为防止这种情况发生,可采取两种办法,一种方法在每个传输的字节前后加上起始位和停止位,这样每传输一个字节至少可以同步一次,这是PROFIBUS采用的方法。另一种办法是采用位填充技术,即如果发送的数据中有连续5个“1”,则自动填充一个“0”;如果发送的数据中有连续5个“0”,则自动填充一个“1”。接收节点在接收数据时自动把填充位去掉,这样可保证至少每5个比特可以位同步一次,这是CANBUS采用的方法。
1楼 0 0 回复