![]() |
楼主(阅读:4122/回复:0)RS-485的多机加密通信RS-485的多机加密通信----波仕串口论坛原创文章 在同一条RS-485总线中,只有密码设置相同的2个RS-485之间才可以通信,无需设置加密和解密软件,只需跳线设置密码。本文介绍如何利用波仕DIZ485地址转换器的地址码作为密码可以实现多机之间的加密通信。 1、加密通信的原理 RS-485加密通信必须要用到波仕DIZ485地址串口转换器。产品外形为DB-9/DB-9转接盒大小,如图,产品左边为主串口,包括DB-9孔的RS-232口,和标明为A1、B1的RS-485口。右边为从串口,包括DB-9针的RS-232口,和标明为A2、B2的RS-485口。左上侧J2、J1、J0为波特率设置的跳线,右上侧K2、K1、K0为地址编码设置的跳线,下面中间为5V电源接线端子。主串口与从串口之间并不隔离,它们公用GND地线和+5V电源。 DIZ485通过跳线J2、J1、J0设置波特率,通过跳线K2、K1、K0设置密码。 密码值为K2K1K0的二进制数字或者等值的十进制数字。断开=0,短路=1。 2、 如何加密和解密 波仕DIZ485本来是一种带地址的RS232/RS485中继转换器,现在我们把DIZ485的地址当作密码来使用。在同一条RS-485总线中,只有密码设置相同的2个RS-485之间才可以通信 DIZ485 使用非常方便。首先根据用户通信程序的波特率进行波特率设置,比如9600bps,则将J2断开、J1短接、J0短接。然后设置本产品的密码,比如设置密码为1,则将K2断开、K1断开、K0短接。左侧的A1、B1的RS-485以及DB-9孔RS-232称为“主串口”;右侧A2、B2的RS-485以及DB-9针RS-232称为“从串口”。 加密通信规则:主串口数据=密码串+从串口数据
如果主串口收到 ###1:1234567,那么密码为1的产品的从串口发送出 1234567(密码不是1的产品的从串口不发送任何数据),就是去帧头。整个密码串就是在K2、K1、K0跳线设置值的前面加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个。默认密码为0、1、2、3、4、5、6、7、8、9、a、b、……、t、u、v。 该帖子被boshika在2014/10/23 10:26:48编辑过 |