当前位置: 首页 > news >正文

一种低成本RS485光耦脉宽补偿电路

目录

一、背景

二、电路设计

三、总结


一、背景

        集中器RS485通讯用HCPL-817-00BE光耦,属于低速线性光耦,受光耦器件特性和制造工艺影响,上升沿和下降沿时间3-18uS,如图1所示。如通讯波特率9600,即每1bit时间104uS,考虑光耦导通时间,1bit信号时间86uS (最坏情况)。

图1、HCPL-817光耦参数

        TXD脉宽为标准104uS方波,经过光耦输出脉宽91.49uS,如图2所示。从测试波形上分析,光耦由导通到截止状态,发光二极管仍有余辉导致接收光敏接收有输出,也就是常说光耦导通快截止慢,本文所探讨就是补偿光耦截止过程脉宽。

图2、HCPL-817光耦脉宽测量

        水控器通讯也用817光耦,比如集中器发送0x55,减去集中器和水控器两端光耦延迟时间36uS (最坏情况),水控器单片机接收到1位“1”时间68uS。高电平脉宽太窄,解码过程中很容易解调成“0”,导致通讯不成功。

二、电路设计

        集中器RS485通讯波特率9600,工作温度范围:-20~60℃。为减少光耦上升沿和下降沿时间,可选高速光耦6N137,1路RS485会增加2元物料成本。考虑到通讯波特率不高,降低物料成本,增加电路补偿光耦脉冲宽度。

        在817光耦外围增加电阻、电容、二极管、逻辑器件,可实现光耦脉冲宽度补偿,如图3所示。

        RS485_TXD1默认高电平,光耦输出高电平,二极管D411给RC充电,74HC125输入高电平,输出也是高电平。RS485_TXD1输出低电平,光耦输出低电平,二极管D411起隔离作用,RC开始放电,此时74HC125输入高电平,电容C411电荷通过电阻R417泄放,电压低于 74HC125高电平门限,74HC125输出低电平。

图3、补偿电路

        光耦U411输出波形和整形后波形,如图4所示。高电平时间展宽8uS,展宽时间取决与RC参数,74HC125起波形整形作用,器件上升沿时间nS级。74HC125输出接SN65LBC184发送引脚。接收电路也是同样道理,在SN65LBC184接收引脚加补偿电路,再接74HC125波形整形,最后驱动接收光耦。

图4、补偿前后波形对比

        加补偿电路分别在高温40℃、50℃、60℃测试补偿时间变化,温度越高正脉宽时间越短。常温补偿时间约8uS,到60℃补偿时间5uS左右。光耦CTR受温度升高后降低,导致光耦输出正脉宽时间变短,而不是补偿时间变短。

三、总结

        使用补偿电路通过环境试验(-20 to 55℃)和电磁兼容验证,已经在集中器项目中批量应用超过3年时间,目前反馈性能稳定。用阻容分离器件代替高速光耦,应用于通讯速率要求不高场合(≤9600),或对成本敏感的项目中。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Qt是不是经常写个QWidget输入参数?
  • 2024年第十五届蓝桥杯图形化省赛真题分享包含答案
  • RabbitMQ 是什么?应用场景有哪些?
  • 字节跳动-生活服务-java后端-一面
  • 基于yolov8的绝缘子缺陷检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • (每日一问)基础知识:堆与栈的区别
  • mac m1 配置 frp
  • 如何让ChatGPT说话更像人类
  • 【提示学习论文】CoCoLe:Conceptual Codebook Learning for Vision-Language Models
  • 和面机智能转运机器人
  • 数据结构之广度优先搜索
  • TOMCAT全解
  • 华为让步市场压力?Pura 70 Pro+降价2131元,卫星通信功能加持
  • 基于RDMA的nfs服务
  • RabbitMQ当消息消费失败时,会重新进入队列吗?
  • 【5+】跨webview多页面 触发事件(二)
  • Bootstrap JS插件Alert源码分析
  • Docker入门(二) - Dockerfile
  • es6--symbol
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • java2019面试题北京
  • PaddlePaddle-GitHub的正确打开姿势
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • vue 个人积累(使用工具,组件)
  • vuex 笔记整理
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 电商搜索引擎的架构设计和性能优化
  • 多线程 start 和 run 方法到底有什么区别?
  • 软件开发学习的5大技巧,你知道吗?
  • 硬币翻转问题,区间操作
  • 用jQuery怎么做到前后端分离
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​用户画像从0到100的构建思路
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • !$boo在php中什么意思,php前戏
  • ######## golang各章节终篇索引 ########
  • (20050108)又读《平凡的世界》
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (八)Flink Join 连接
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (四)软件性能测试
  • (一) springboot详细介绍
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)关于多人操作数据的处理策略
  • .NET构架之我见
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET设计模式(11):组合模式(Composite Pattern)
  • //解决validator验证插件多个name相同只验证第一的问题