搜索
bottom↓
回复: 36

485自动切换电路

[复制链接]

出0入0汤圆

发表于 2012-1-28 16:06:23 | 显示全部楼层 |阅读模式
别人设计的485自动切换电路,不是很明白,请大虾们为小弟说明

485自动切换电路 (原文件名:1.jpg)

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2012-1-28 16:48:31 | 显示全部楼层
回复【楼主位】fx568000
-----------------------------------------------------------------------

自己先顶一下,我不是很明白的是通常条件下Q10是否为导通状态?485TX被高电平至高,按道理说Q10就会被导通,使DIR485变为高电平处于发送状态吗?

出0入0汤圆

发表于 2012-1-28 20:24:08 | 显示全部楼层
你模电怎么学的?q10会被截止/使DIR485变为低电平处于接收状态吧?

出0入0汤圆

发表于 2012-1-28 20:26:38 | 显示全部楼层
要这么弄。关键之处在总线上的上拉和下拉电阻,平常空闲状态时,A为1,B为0.在485解出1的信号。在232中,1为空闲状态。起始位是0。
正常情况下TX485没有发送时为空闲状态(1),Q10截止,DIR485被R101拉低(0),U16处于接收状态;同时U16的1脚会输出高电平(1),D32内部LED熄灭。RX485被R59上拉到高电平(1),所以就实现了485的接收.
当有发送时,TX485会有一个起始位(0),这时Q10导通,DIR485为高电平(1),U16处于发送状态,TX485为0时光耦导通,485TX为“0”,U16将0信号发送到总线上。而当TX485发送1时,虽然U16处于接收状态,但是此时总线电平会由上拉与下拉电阻固定在信号1状态。另外一边就接收到了1.
而当TX485发送0信号时与发送起始位的过程是一样的。

而且此电路还可以进一步省掉D6这个光耦。直接将U16的第4脚接地即可。还有一点,上拉电阻和下拉电阻用的太大了,用1K的即可。当然,其它电路的485不用再接上拉与下拉了。

出0入0汤圆

发表于 2012-1-28 20:32:13 | 显示全部楼层
楼上开玩笑吧。U16的4脚接地了如何发送1?

出0入0汤圆

发表于 2012-1-28 20:38:40 | 显示全部楼层
回复【4楼】little Monkey
楼上开玩笑吧。u16的4脚接地了如何发送1?
-----------------------------------------------------------------------

你先看清楚我写的,发送1根本与U16的输入无关了。是利用的上拉与下拉电阻将总线的平常状态钳制在信号1的状态。

出0入0汤圆

 楼主| 发表于 2012-1-28 21:07:13 | 显示全部楼层
回复【3楼】mcu_mouse
-----------------------------------------------------------------------
谢谢大虾的指点,至于为什么多加光耦是因为MCU部分的电平是3.3V的,所以需要隔离一下;并且我还有一点不懂,就是最后为什么说4脚可以直接接在地上?

出0入0汤圆

发表于 2012-1-28 21:10:11 | 显示全部楼层
ding!

出0入0汤圆

发表于 2012-1-28 21:26:11 | 显示全部楼层
回复【6楼】fx568000
回复【3楼】mcu_mouse  
-----------------------------------------------------------------------
谢谢大虾的指点,至于为什么多加光耦是因为mcu部分的电平是3.3v的,所以需要隔离一下;并且我还有一点不懂,就是最后为什么说4脚可以直接接在地上?
-----------------------------------------------------------------------

加光耦的主要原因应该是为了抗干扰的(你看它的地是用的不同的,实现了完全隔离)。因为如果只是因为3.3V的话,看你用的什么芯片。如果是STM32的话,它可以直接接5V的485芯片,而且别的芯片也可以直接在数据线上串上120的电阻也是可以的。
对于为什么4脚可以直接接地,是因为在TX485为1时,Q10是截止的,DIR485为0,这个时候U16是处于 接收 状态,你说这个时候TX485上的1会通过U16发送到485总线上吗(因为之前说了,在没有往总线上发东西时,总线的空闲状态就被上拉和下拉电阻钳制在信号1的状态了),所以在TX485发送1的时候,其实在别的485芯片上接收到的信号1只是总线的空闲状态,而当数据发送完后,TX485一直为空闲状态(1),485总线上的状态也就由上拉与下拉电阻置为信号1状态,其它的485芯片一直收到的是1,又因为232的信号是以低电平做为起始位,而现在一直是高电平(1)所以也不会让单片机或ARM把它误认为是数据信号。

出0入0汤圆

发表于 2012-1-28 21:28:38 | 显示全部楼层
3楼解释。高!

出0入0汤圆

发表于 2012-1-28 22:12:07 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2012-1-29 15:38:28 | 显示全部楼层
我其实还有些问题想问一问论坛中的牛人,就是232通信是点对点的全双工通信,485是一点对多点的半双工通信,那它们在编程时会有什么不一样呢?其中485是先发送一位起始位之后发送8位地址再发送8位数据最后发送1位停止位吗?而232没有之前的8位地址吗?

出0入0汤圆

发表于 2012-1-29 19:30:46 | 显示全部楼层
回复【11楼】fx568000
我其实还有些问题想问一问论坛中的牛人,就是232通信是点对点的全双工通信,485是一点对多点的半双工通信,那它们在编程时会有什么不一样呢?其中485是先发送一位起始位之后发送8位地址再发送8位数据最后发送1位停止位吗?而232没有之前的8位地址吗?
-----------------------------------------------------------------------

起始位是在发送每一次数据时都会有的。建议你好好的看下232的数据格式。在232的时候是一对一的通信,可以不用地址,但如果你要用上地址也没问题。这个就看你的通信协议怎么定义的了。485是有多个设备要通信,必须有地址才能区分不同的设备。

一般简单的通信格式是包头,地址,命令,参数,校验,包尾(0xFE,0x01,0x01,0x00,xx,0xEF)校验可以是前面的异或,也可以是累加而不管进位。看个人喜好了。

出0入0汤圆

发表于 2012-1-29 20:57:11 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-31 11:54:48 | 显示全部楼层
MARK

出0入0汤圆

发表于 2012-1-31 11:57:02 | 显示全部楼层
记号。

出0入0汤圆

发表于 2012-1-31 12:16:43 | 显示全部楼层
支持一下,不错。

出0入0汤圆

发表于 2012-1-31 12:17:20 | 显示全部楼层
看上去有问题,如果我要输出1,这个时候DIR485为低电平,U16处于接收状态,输出仅仅靠上拉电阻上拉到高电位,总线没有驱动。这样对于低速的应用可能还能工作,但是对于高速应用肯定是不合适的。

出0入0汤圆

 楼主| 发表于 2012-2-2 14:49:43 | 显示全部楼层
回复【17楼】voild
-----------------------------------------------------------------------

这里提到的高速是多少速以上的呀?

出0入0汤圆

发表于 2012-2-2 19:09:15 | 显示全部楼层
虽然省了一个IO,不过抗干扰能力会下降,不知道值不值得。

出0入0汤圆

发表于 2012-2-2 19:42:22 | 显示全部楼层
刚入门  顶一下!!!

出0入0汤圆

 楼主| 发表于 2012-2-12 14:59:31 | 显示全部楼层
回复【21楼】comeon2002322
-----------------------------------------------------------------------

以后有机会一定自己再搭个面包板的试试

出0入0汤圆

发表于 2012-2-12 15:27:59 | 显示全部楼层
MARK

出0入0汤圆

发表于 2012-2-12 16:23:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-2-12 18:42:22 | 显示全部楼层
回复【21楼】comeon2002322  
回复【楼主位】fx568000
-----------------------------------------------------------------------
这是我设计的,大家可参考下,实践过ok的。

485自动切换电路 (原文件名:未命名.jpg)

-----------------------------------------------------------------------

牛人啊。

出0入0汤圆

发表于 2012-2-12 22:05:20 | 显示全部楼层
回复【10楼】lovewwy  
mark
-----------------------------------------------------------------------

出0入0汤圆

发表于 2012-2-12 23:39:25 | 显示全部楼层
感兴趣

出0入0汤圆

发表于 2012-2-13 08:13:02 | 显示全部楼层
R101上面并一个电容,阻容配合可以达到单稳触发器的效果。TX第一个下降沿时DE即可被拉高进入发送状态。最后一个发生字节过后等数mS自动切换到接收状态。我用2k+105试的有4mS左右吧。(注意:RS485接口芯片一般是TTL信号接口的,Vth大概在1V左右。)

出0入0汤圆

发表于 2012-2-25 15:37:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-2-26 00:42:16 | 显示全部楼层
最近正在研究,给力!

出0入0汤圆

发表于 2012-3-5 09:07:44 | 显示全部楼层
mark学习!!

出0入30汤圆

发表于 2012-3-5 09:44:18 | 显示全部楼层
MARK

出0入0汤圆

发表于 2013-8-17 18:27:29 | 显示全部楼层
mcu_mouse 发表于 2012-1-28 20:38
回复【4楼】little Monkey
楼上开玩笑吧。u16的4脚接地了如何发送1?
---------------------------------- ...

发送1到4脚,而4脚接地,这不会烧坏单片机IO口吗?

出0入0汤圆

发表于 2013-8-17 22:54:16 | 显示全部楼层
glenclh 发表于 2013-8-17 18:27
发送1到4脚,而4脚接地,这不会烧坏单片机IO口吗?

485芯片的第4脚只是一个输入脚。所以它接地只是输入了一个信号0而已。不可能烧的

出0入0汤圆

发表于 2013-8-19 10:55:39 | 显示全部楼层
mcu_mouse 发表于 2013-8-17 22:54
485芯片的第4脚只是一个输入脚。所以它接地只是输入了一个信号0而已。不可能烧的 ...

感谢赐教,总线上未隔离的总线电平信号会不会烧掉485芯片,我的意思是单片机控制485芯片有没有隔离的必要。谢谢

出0入0汤圆

发表于 2013-8-19 10:56:26 | 显示全部楼层
mcu_mouse 发表于 2013-8-17 22:54
485芯片的第4脚只是一个输入脚。所以它接地只是输入了一个信号0而已。不可能烧的 ...

4脚会因为总线电平对地有输出电平吗?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-2 07:13

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表