地址串口转换的实现

    串口地址转换的实现

                        武汉波仕电子有限公司 __向媛

    串口多机通信,就是RS-232/RS-485多机通信,要求通信的下位机必须带地址。通信时由上位机先发送某个下位机的地址,位于同一个网络中的所有下位机都同时读取这个地址的值,然后与自己的地址进行比较,如果地址相同则接收后面的数据,如果地址不同则不读取后面的数据。某些情况下,下位机也可以主动向上位机发送数据,但是必须按照预先设置的格式在数据前面加上下位机的地址,这样上位机才可以知道是哪一个下位机发来的数据。可是在许多情况下,下位机没有设置地址的功能,或者地址的格式不同,这就必须进行串口地址的转换。本文介绍了如何实现串口地址的转换。

    如果上位机与多个下位机之间需要通信,但是下位机却不带地址。串口地址转换器的原理就是利用转换器两个串口,称为上位机串口和下位机串口,自动添加人为设置的地址。地址哦处理包括两部分:1、将上位机串口接收到的数据去掉地址后从下位机串口发送出去;2、将下位机串口接收到的数据加上地址后从上位机串口发送出去。

     

        DIZ485串口地址转换器用于实现不同地址的RS-232/RS-485口的通信转换,纯硬件跳线设置,*任何软件设置。串口地址转换器的外形为DB-9/DB-9转接盒大小,如图的产品左边为上位机的RS-232以及RS-485口,右边为下位机的RS-232以及RS-485口,上边为波特率设置和地址设置的跳线,下面为5V电源接线端子。DIZ485通过跳线J2J1J0设置波特率,通过跳线K2K1K0设置地址。见下表。0-断开,1-短路。注意每次更改跳线新设置后必须重新加电源才能生效。

     串口通信波特率设置

    地址设置

    J2

    J1

    J0

     波特率

    K2

    K1

     K0

     地址

     0

     0

     0

     1200

     0

     0

     0

       0

     0

     0

     1

     2400

     0

     0

     1

       1

     0

     1

     0

     4800

     0

     1

     0

       2

     0

     1

     1

     9600

     0

     1

     1

       3

     1

     0

     0

    19200

     1

     0

     0

       4

     1

     0

     1

    38400

     1

     0

     1

       5

     1

     1

     0

    57600

     1

     1

     0

       6

     1

     1

     1

    115200

     1

     1

     1

       7

     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  就是加帧头。

     在同一个RS-232/RS-485总线中可以同时接入一般较多8个DIZ485产品,定制较多可以到32个。使用时将这8个产品的地址分别设置为0、1、2、……、7不同的值。将所有DIZ485产品的主串口共同接入到一个总线并接到上位机的RS-232或RS-485口。DIZ485接受定制开发。**过8个地址要求的可以定制扩展地址编码,较多可以达到32个。默认地址为0、1、2、3、4、5、6、7、8、9、a、b、……、t、u、v。

     

        如果上位机要向某个下位机(比如地址为1DIZ485的从机)发送数据,只需要在数据前面加上###1:即可。地址为1DIZ485发送给上位机的数据都是加上了###1:再发送给主机的;地址为2DIZ485发送给上位机的数据都是加上了###2:再发送给主机的,都带有地址,所以主机可以识别从哪个下位机(即从机)发来的。

     

    地址转换器的内部有一个带双串口的单片机。单片机自动完成两个串口之间的数据交换。单片机程序C语言编写,核心功能就是先将两个串口UART1UART2根据跳线设置的状态进行地址等初始化设置,然后随时将UART1接收的数据去掉地址帧头之后立即送到UART2的发送区、以及将UART2接收的数据加上地址帧头后立即送到UART1的发送区。

    本文介绍的串口地址转换的硬件方法和单片机代码,对不同地址之间的串口通信具有一定的使用价值。地址转换器的优点在于使用简单方便,不足之处在于只能够转换地址而没有对数据位、停止位、校验位进行转换,而且对于不常见的地址的转换还需要定做。如果要实现功能全面的地址等各种格式的全面转换,还是要用计算机加上专门的地址转换软件,通过对计算机的两个串口进行地址等格式的设置,而两个串口在计算机内部进行数据透明传输。我们已经以另外文章《串口地址转换的纯软件实现》予以了介绍。

    详细参数请到www.查看。咨询订购电话:027-59708940/51518046  15102729700向小姐 QQ咨询订购:2360190989

    MSN:bosicomcn@

     


    武汉波仕卡科技有限公司专注于串口转换器模块,集线器,光电隔离器等

    推荐阅读
      金钻会员推荐
      热门排行
    关于八方 | 八方币 | 招商合作 | 网站地图 | 免费注册 | 一元广告 | 友情链接 | 联系我们 | 八方业务| 汇款方式 | 商务洽谈室 | 投诉举报
    粤ICP备10089450号-8 - 经营许可证编号:粤B2-20130562 软件企业认定:深R-2013-2017 软件产品登记:深DGY-2013-3594
    著作权登记:2013SR134025
    Copyright © 2004 - 2024 b2b168.com All Rights Reserved