485流控


      关键之处在总线上的上拉和下拉电阻,平常空闲状态时,A为1,B为0。在485解析出1的信号,不管是TX485还是RX485。在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不用再接上拉与下拉了。
       注意:发送1根本与U16的输入无关了。是利用的上拉与下拉电阻将总线的平常状态钳制在信号1的状态。

       加光耦的主要原因应该是为了抗干扰的(你看它的地是用的不同的,实现了完全隔离)。因为如果只是因为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把它误认为是数据信号。

 

       485 A、B总线的上拉下拉是给信号线上一个偏置电压,做失效保护使用,有些IC内部已经集成了失效保护不用加,防止空闲状态时进入总线进入不确定状态。当然如果在自动切换电路总,该上下拉电阻同时起到TX485发送数据在总线上保持高电平(1)。A、B之间的匹配电阻用于吸收反射信号,一般选典型值120欧,可以根据电缆的特性阻抗调整。

       而根据485通信的规定,建立在485接收器两端A、B之间的电压差必须超过200mv,经过间接的推算上下拉电阻充当负载有上限。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值