•  作者:boshika
  •  积分:654
  •  等级:六年级
  •  2014/10/23 8:41:05
  •  
  • 楼主(阅读:3668/回复:0)RS-485的多机加密通信

    RS-485的多机加密通信----波仕串口论坛原创文章

    在同一条RS-485总线中,只有密码设置相同的2个RS-485之间才可以通信,无需设置加密和解密软件,只需跳线设置密码。本文介绍如何利用波仕DIZ485地址转换器的地址码作为密码可以实现多机之间的加密通信。

    1、加密通信的原理


    RS-485加密通信必须要用到波仕DIZ485地址串口转换器。产品外形为DB-9/DB-9转接盒大小,如图,产品左边为主串口,包括DB-9RS-232口,和标明为A1B1RS-485口。右边为从串口,包括DB-9RS-232口,和标明为A2B2RS-485口。左上侧J2J1J0为波特率设置的跳线,右上侧K2K1K0为地址编码设置的跳线,下面中间为5V电源接线端子。主串口从串口之间并不隔离,它们公用GND地线和+5V电源。

    DIZ485通过跳线J2J1J0设置波特率,通过跳线K2K1K0设置密码。 密码值为K2K1K0的二进制数字或者等值的十进制数字。断开=0,短路=1。

    2、 如何加密和解密

    波仕DIZ485本来是一种带地址的RS232/RS485中继转换器,现在我们把DIZ485的地址当作密码来使用。在同一条RS-485总线中,只有密码设置相同的2个RS-485之间才可以通信

    DIZ485 使用非常方便。首先根据用户通信程序的波特率进行波特率设置,比如9600bps,则将J2断开、J1短接、J0短接。然后设置本产品的密码,比如设置密码为1,则将K2断开、K1断开、K0短接。左侧的A1B1RS-485以及DB-9RS-232称为“主串口”;右侧A2B2RS-485以及DB-9RS-232称为“从串口”。

    加密通信规则:主串口数据=密码串+从串口数据

    如果主串口收到 ###1:1234567,那么密码为1的产品的从串口发送出 1234567(密码不是1的产品的从串口不发送任何数据),就是去帧头。整个密码串就是在K2K1K0跳线设置值的前面加3个井号(###)和后面加一个冒号(:)的英文字符。

    解密通信规则:从串口数据=主串口数据—密码串

    如果地址为1的产品的从串口收到abcdefg ,主串口发送出###1:abcdefg  就是加帧头。

    3、如何进行多机加密通信

    假设在上图中,我们要实现主机1与从机1之间的加密通信,它们之间的数据无法被主机2和从机2收到。同样,主机2与从机2之间的加密通信,它们之间的数据无法被主机1和从机1收到。

       要做到这一点,必须主机1与从机1的密码设为一样,主机2与从机2的密码设置为一样。特别注意,主机1接到RS-485总线的端子是位于右侧的端子,从机1接到RS-485总线的端子上位于左侧的端子。同样,主机2与从机2也是一个接右侧端子、另外一个接左侧端子。

       RS-485总线中传输的数据均为带有密码的数据,这些密码由从机加入(加密)而有相应的主机去除(解密)。DIZ485接受定制开发。超过8个地址要求的可以定制扩展地址编码,最多可以达到32个。默认密码为0123456789ab、……、tuv

    该帖子被boshika在2014/10/23 10:26:48编辑过


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