逻辑器件相关的经典案例 (以及 总线保持 解析(Bus Hold))

案例:逻辑器件输入端上拉太弱造成带电插拔监测功能失败

        问题:如下图的业务板热插拔监控电路,主控板通过业务板的在位信号PRESENT判断业务板插入或拔出的状态。主控板能检测到插入,却有时检测不到拔出。

        当业务板插入时,主控板A端直接通过业务板接地,为低电平,CPU_GPI2输出低电平,通知CPU;但业务板拔出时,PRESENT为高电平,CPU_GPI2输出高电平。

        问题就在于,业务板拔出时,有时CPU_GPI2不会输出高电平。导致无法识别到拔出。即,输入端发生变化时,输出端无法检测到变化。

        74AVCAH164245是一种具有总线保持(Bus Hold)功能的驱动器,对电平翻转时的电流有一定要求。由具体参数定义。插入时,接地,符合要求;拔出时,电流过低,无法提供足够的能量实现翻转,所以无法实现功能。

        在此设计中,将电阻从10kΩ改为1kΩ,就能恢复正常。

拓展:Bus Hold        

        该案例中的逻辑器件具体总线保持功能

  总线保持的应用背景

        常用的逻辑器件,如74LV、74AC、74ACH、74HC等系列,都属于CMOS器件。CMOS器件的输入端如图所示。低电平输入时,PMOS管导通,输出高电平;高电平输入时,NMOS管导通,输出低电平。在理想状态下,两个MOS管不会同时导通。

(//下次把cmos这一块数电的基础整理一下)

        需要注意的是,在高低电平转换,存在一段非稳态区间,即两个MOS管都会部分导通,导致输出端发生振荡波形。

        三种情况导致输入端处于非稳态 :

        1、边沿不可能是理想的90°跳变,存在非稳态区间,需要提高边沿爬升速率来调整;这一点必然存在;

        2、发现总线冲突,导致在同一个信号有多个驱动源,需要改进设计;可以避免;

        3、 输入信号没有驱动源,即完全浮空的情况。

        情况3有多种解决方法:

        a、输入无信号源时,使逻辑器件使能引脚处于无效状态,关闭对应的输出; -需要外部逻辑电路配合;

        b、总线上挂有多个器件,且可以均等地申请总线的控制权。使得在最后一个控制总线的器件完成工作后,仍然保持对总线的驱动,直到下一个器件申请总线的控制权,才释放总线。这使得在任何时刻都有一个器件作为总线驱动者,不会产生浮空。PCI总线就采用了这样的机制。--需要总线协议支持;

        c、上拉电阻。在输入引脚增加一个上拉到电源Vcc的电阻,当输入端失去驱动源时,通过上拉电阻,Vcc可直接作为输入端的驱动端,需要满足:信号的上升沿爬升时间 t 应满足逻辑器件的要求R = t / (2.2 X C X N) (c 输入引脚寄生电容,n 并联器件数目);上拉电阻消耗的功率应该尽量小,两者折中考虑。

 d、总线保持(Bus Hold)(千呼万唤始出来) 

        原理:将输出信号通过电阻Rf反馈回输入端,如图:

        假设初始状态为输入端和输出端均为高电平,反馈电路没有电流流过。如果输入端的驱动源停止驱动,输入端可凭借反馈电路保持高电平,反馈电路上流过的电流为漏电流(IOZ),一般仅为几毫安。(对应前面提到的最低电流要求 的参数)

        输入端可由内部反馈电路保持输入端最后的确定状态,可以防止因输入端浮空的不确定而导致器件振荡自激损坏;输入端无需外接上拉或下拉电阻,节省了空间,降低了器件成本和功耗

        最简单,无需外加原件和辅助电路。



Finish!!

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可编程逻辑器件软件的开发需要遵循软件开发的基本流程,包括需求分析、设计、编码、测试、部署和维护等阶段。在每个阶段,需要编写相应的文档来记录和管理开发过程,以保证软件质量和开发效率。 以下是可编程逻辑器件软件开发、测试文档清单和评审要求的详细说明: 1. 需求分析阶段 文档清单: - 用户需求文档 - 需求规格说明书 - 可行性分析报告 评审要求: - 确认用户需求是否满足客户要求 - 确认需求规格说明书是否明确、完整、一致和可验证 - 确认可行性分析报告是否包含技术、经济、法律和管理等各方面的分析和评估 2. 设计阶段 文档清单: - 概要设计文档 - 详细设计文档 - 接口定义文档 评审要求: - 确认概要设计文档是否满足用户需求和系统性能要求 - 确认详细设计文档是否包含所有必要的设计细节和接口定义 - 确认接口定义文档是否清晰、完整和可验证 3. 编码阶段 文档清单: - 源代码 - 编码规范文档 - 单元测试文档 评审要求: - 确认源代码是否符合编码规范和设计文档要求 - 确认单元测试文档是否覆盖了所有功能和异常情况 - 确认代码的可读性、可维护性和可扩展性 4. 测试阶段 文档清单: - 测试计划文档 - 测试用例文档 - 验收测试报告 评审要求: - 确认测试计划文档是否包含了所有测试范围和测试资源需求 - 确认测试用例文档是否覆盖了所有功能和异常情况 - 确认验收测试报告是否包含了所有测试结果和缺陷情况 5. 部署和维护阶段 文档清单: - 部署手册 - 用户手册 - 维护手册 评审要求: - 确认部署手册是否包含了所有部署步骤和配置要求 - 确认用户手册是否清晰、详细和易于理解 - 确认维护手册是否包含了所有维护步骤和故障排除方法 总之,可编程逻辑器件软件的开发、测试文档清单和评审要求是为了确保软件的质量、稳定性和可靠性,以满足用户的需求和期望。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值