用户中心
· 企业空间 首页 | 资讯 | 技术 | 产品 | 企业 | 直播 | 专题 | 智能制造 | 论坛| 在线研讨会
武汉波仕电子有限公司
企业空间 > 案例应用 > 正文
  • 串口地址转换的实现
  • 发布时间:2012/7/31 16:13:10   修改时间:2012/7/31 16:13:10 浏览次数:1752
  •                     武汉波仕电子有限公司

    串口多机通信,就是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总线中可以同时接入一般最多8DIZ485产品,定制最多可以到32个。使用时将这8个产品的地址分别设置为012、……、7不同的值。将所有DIZ485产品的主串口共同接入到一个总线并接到上位机的RS-232RS-485口。DIZ485接受定制开发。超过8个地址要求的可以定制扩展地址编码,最多可以达到32个。默认地址为0123456789ab、……、tuv

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

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

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

  • 企业介绍
波士电子1993年创立于北京。波士电子致力于RS232/RS485产品的开发。 波士电子创造了许多种世界上第一的RS232/RS485产品,拥有数10项专利。 2007年:世界上第一个以太网-串口光纤转换器:(OPET232L1) 2007年:世界上第一个USB-串口光纤转换器:…  更多>>
  • 联系方式

武汉波仕电子有限公司

联系人:孙汉华

地址:关东科技工业园

邮编:430074

电话:027-87561487

传真:027-87561486

公司网址:http://www.bosika.com

  • 该空间手机版

扫描此二维码即可访问该空间手机版

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件:
您还没有登录,请登陆,
如果您还没有注册,点击这里注册.
  • 网友反馈
  • 李孝浪 在2022/8/5 10:22:00留言
  • 留言类型:我想得到贵公司产品详细资料,
  • 详细留言:有没有921600转115200的波特率转换器
  • Mike Ma 在2020/1/30 14:06:00留言
  • 留言类型:得到贵公司产品的价格信息,贵公司产品销售人员联系我,
  • 详细留言:我要买20个无源CAN隔离器,可以给我报价吗? 我公司是OSC Automation Engineering Blk 178 Edgefield Plains 09-224 Singapore 820178
  • 王力 在2014/12/15 18:05:00留言
  • 留言类型:贵公司产品销售人员联系我,
  • 详细留言:我已经购买了贵公司的ARK-2120无风扇嵌入式工控机,除了你家我还看了: E+H:http://www.endress-h.com pilz:http://www.pilz-zh.com 邦纳:http://www.banner-cn.com 穆格:http://www.moog-cn.com 穆格伺服阀:http://www.moog-cn.com 哈威:http://www.hawe-zh.com 力士乐:http://www.rexroth-zh.com 请问这些是正规的吗?可以开发票吗?
  • 汤庆 在2014/11/7 15:57:00留言
  • 留言类型:我想得到贵公司产品详细资料,我让贵公司产品销售人员联系我,我让贵公司技术支持人员联系我,
  • 详细留言:能否将电话的音频信号转换成485信号传输?有没有这样的设备?
  • 林老师 在2014/10/8 21:59:00留言
  • 留言类型:贵公司技术支持人员联系我,
  • 详细留言:usb3.0转RS485 win8.1 用于校园消机费机下载数据。
更多请进入空间管理中心查看
关于我们 | 网站地图 | 联系我们
© 2003-2018    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688
我要反馈