点击下方名片,关注公众号,获取更多精彩内容▼
欢迎关注【玩转单片机与嵌入式】公众号,回复关键字获取更多免费视频和资料
回复【加群】,【单片机】、【STM32】、【硬件知识】、【硬件设计】、【经典电路】、【论文】、【毕业设计】、【3D封装库】、【PCB】、【电容】、【TVS】、【阻抗匹配】、【资料】、【终端电阻】、【Keil】、【485】、【CAN】、【振荡器】、[USBCAN]、【PCB】、【智能手环】、【智能家居】、【智能小车】、【555】、【I2C】、【华为】、【中兴】,等……
今天我对USB转RS485转换器做测试的时候突然醒悟了那个电容的作用,因为这个自动收发算是两线制的RS485,即不需要单独的管脚做方向控制,而是利用了DI和反相器做方向控制。
这种设计相比不带电容,而是直接用反相器控制的好很多,因为如果直接接反相器(有的用三极管),那么这个电路在DI等于1时,A和B都为高阻态,那么这个电路的驱动能力就完全由上下拉电阻的大小去决定,在线缆长的时候(下图为300米测试)就无法输出驱动的高电平,大致如下图:
而有这个电容的存在,就可以在DI由低电平到高电平跳变的时候(串口的起始位为低电平),给电容充电到反相器的输入阈值判断为高电平之前,让RS485芯片处于发送状态。从而可以让芯片的管脚输出A高电平,B低电平(而不是靠上下拉电阻,这很重要)。然后电容充电到反相器的高电平判断阈值后,反相器才输出低电平使能接收,然后A和B均为高阻,然后这时的A和B的电平就完全靠上下拉电阻去决定了(由于之前芯片已经输出了A高B低,所以此时就算这个上下拉电阻驱动能力弱也没关系)。然后我在b站也看到了用三极管加电容的版本,如下图:
然后我对RC的大小又稍作了研究,总体而言,这个RC是不宜太大,也不宜太小的。如果RC太小,可能电容很快就充电到了反相器的高电平判断阈值(将485芯片切换为了接收状态,输出全靠上下拉),芯片不能很好的发送A高B低。如果RC太大,可能会导致就算发送已经发完了但是RS485芯片还处于发送状态,不利于接收。例如我把这个板子的电容C改为4.7uf,那么RC变大了,以至于发送完之后芯片还能持续20ms的发送状态,而如果在发送完之后还为发送状态的情况下,从机已经开始回复信息了,那么RS485芯片就接收不到,所以要综合考虑。本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。
欢迎关注我的公众号,回复【加群】或扫码加我好友,限时免费进入技术交流群,也可免费加入我的知识星球。
推荐阅读
感谢大家阅读,如果喜欢
请点赞和“在看”吧,或者分享到朋友圈。
点击跳转到原文,限时优惠加入我们的知识星球(加好友获取免费券)