RS-485收发的零延时转换电路
转自:http://www.dzsc.com/data/html/2007-5-28/41097.html
RS-485是一种基于差分信号传送的串行通信链路层协议。它解决了RS-232协议传输距离太近(15m)的缺陷,是工业上广泛采用的较长距离数据通信链路层协议。
由于它使用一对双绞线传送差分信号,属半双工通信,所以需要进行接收和发送状态的转换。一般的8脚TTL电平到RS-485电平转换芯片的引脚定义如图1所示。
![]() |
其中,引脚意义如下:
RO——接收数据的 TTL电平输出;
——低电平有效的接收允许;
DE——高电平有效的发送允许;
DI——发送数据的TTL电平输入;
A——485差分信号的正向端;
B——485差分信号的反向端。
在RS-485电路设计中,通常将和DE短接,用1根信号线来控制,这样可以做到收发的切换。
RS-485芯片通常处于接收状态。当要发送数据时,由程序控制/DE 变为高电平,然后UART单元发送数据,程序要等待发送完毕后,再将RS-485芯片转换到接收状态。发送完毕的标志一般由UART的特定寄存器提供状态指示,程序需要去查询。
在单片机电路中,一般用1根I/O线来控制RS-485芯片的接收和发送状态的转换。这样需要由软件来控制 I/O引脚的电平,以达到控制RS-485收发转换的目的。
这样的控制方法造成RS-485通信存在以下问题:
鉴于以上情况,笔者经过探索和参照其它相关电路,设计了一种可以实现RS-485接收和发送零延时转换的电路,如图2所示。
![]() |
当不发送数据时,TTL电平的Tx信号为高电平,经V1反向为低电平,RS-485芯片处于接收状态。
当发送数据时,① 若Tx为低电平,经V1反向后,DE/为高电平,发送允许。此时由于DI 接地,所以RS-485芯片的输出端A、B产生表示低电平的差分信号,低电平的Tx被送出。② 若Tx为高电平,经V1反向后,DE/为低电平,RS-485芯片的A、B端处于高阻态。此时靠电阻R1和R2的下拉和上拉作用,使总线上产生正的差分信号,从而将Tx的高电平信号送出。
由以上分析看出,在使用这个电路时,只要程序能保证不同时进行接收和发送的操作,即保证是半双工传送数据,程序不必用指令控制DE/进行接收和发送的转换。转换由硬件本身完成。
发送高电平的过程中,由于RS-485芯片处于接收状态,此时的发送信号必须是在总线上其它节点发送数据时,才能将高电平信号送出。所以,仍需要软件设计中做好总线仲裁。
经过在没有严重干扰的实验室中的实验,在使用0.5mm2屏蔽平行线时,此电路的传送距离可达1200m。
RS-485收发的零延时转换电路的更多相关文章
- 【转载】 Jointwave零延时视频传输for FPGA/ASIC进入军工领域
半导体知识产权H.264/H.265 硅IP核供应商Jointwave公司的发布了一系列视频编解码RTL IP核,已经成功应用于军事工业领域的指挥作战,无人机UAV控制,航空和航天摄像机,视频记录黑匣 ...
- 单片机电平转换电路5V 3.3V串口通讯等(转)
源: 单片机电平转换电路5V 3.3V串口通讯等
- 实用的4~20mA输入/0~5V输出的I/V转换电路(转)
源: 实用的4~20mA输入/0~5V输出的I/V转换电路
- 一种简单实用的双向电平转换电路3.3V-5V
当你使用3.3V的单片机的时候,电平转换就在所难免了,经常会遇到3.3转5V或者5V转3.3V的情况,这里介绍一个简单的电路,他可以实现两个电平的相互转换(注意是相互哦,双向的,不是单向的!).电路十 ...
- 简单实用的双向电平转换电路(3.3v-5v)
当你使用3.3V的单片机的时候,电平转换就在所难免了,经常会遇到3.3转5V或者5V转3.3V的情况,这里介绍一个简单的电路,他可以实现两个电平的相互转换(注意是相互哦,双向的,不是单向的!).电路十 ...
- RS485模块(485与TTL信号的转换)
1 综述 MAX3483, MAX3485, MAX3486, MAX3488, MAX3490以及MAX3491是用于RS-485与RS-422通信的3.3V,低功耗收发器,每个器件中都具有一个驱动 ...
- 泓格WINPAC主机与第三方模块rs 485 modbus rtu通信测试
开发语言:C# 开发环境:VS2008(支持WINCE开发的最后一个版本) 运行环境:Windows CE 5.0~7.0 项目说明:多台涨格winpac系列的主机,原来使用泓格SDK开发的程序,采集 ...
- RS-485半双工延时问题
学习485总线时,遇到延时问题,困扰很久.通过学习知道了485半双工收发时必须延时,以保证系统的稳定性.可靠性.好多资料都介绍了485 防静电.抗干扰电路.惟独没提 每一帧收发停止位(或第9位)的延时 ...
- TTL和COMS电平匹配以及电平转换的方法
一.TTL TTL集成电路的主要型式为晶体管-晶体管逻辑门(transistor-transistor logic gate),TTL大部分都采用5V电源.1.输出高电平Uoh和输出低电平UolUoh ...
随机推荐
- Django 模型系统(model)&ORM--基础
ORM 映射关系: 类 ---> 表 属性 ---> 字段 对象 --->一条数据 创建表(建立模型) 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作 ...
- PAT 组合数的和(15)
给定N个非0的个位数字,用其中任意2个数字都可以组合成1个2位的数字.要求所有可能组合出来的2位数字的和.例如给定2.5.8,则可以组合出:25.28.52.58.82.85,它们的和为330. 输入 ...
- Function- 几个转换函数
几个转换函数 SJIS_DBC_TO_SBC 全角转半角SJIS_SBC_TO_DBC 半角转全角 CLPB_IMPORT :从剪贴板导入internal tableCLPB_EXPORT : 从in ...
- Apache Shiro 使用手册(三)Shiro 授权(转发:http://kdboy.iteye.com/blog/1155450)
授权即访问控制,它将判断用户在应用程序中对资源是否拥有相应的访问权限. 如,判断一个用户有查看页面的权限,编辑数据的权限,拥有某一按钮的权限,以及是否拥有打印的权限等等. 一.授权的三要素 授权有着三 ...
- 从分布式锁来看redis和zookpeer!
从分布式锁来看redis和zookpeer! 目前网上大部分的基于zookpeer,和redis的分布式锁的文章都不够全面.要么就是特意避开集群的情况,要么就是考虑不全,读者看着还是一脸迷茫.坦白说, ...
- linux 如何查找命令的路径
linux 下,我们常使用 cd ,grep,vi 等命令,有时候我们要查到这些命令所在的位置,如何做呢? linux下有2个命令可完成该功能:which ,whereis which 用来查看当 前 ...
- HDU - 5703 Desert 【找规律】
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5703 题意 给出一杯容量为N的水 每次至少喝1个单位 有多少种不同的方式喝完 比如 给出3 就有4种方 ...
- Javamail 发送附件中文名过长以及乱码问题
最近在弄javamail发送邮件当邮件里含有附件并且附件是中文的时候发送后就会出现乱码!! 通过javax.mail.internet.MimeUtility.encodeText()就可解决这个 ...
- git错误收集总结
一.在icoed添加ssh密钥后,克隆代码库报错`Permissions 0777 for ‘/Users/username/.ssh/id_rsa’ are too open.` 1.原因:id_r ...
- jQuery悬浮焦点图宽屏
在线演示 本地下载