ElectricalDesign COM图像间隔

使用片上UART检测边缘触发的中断

2010年9月24日
$ JQ()。就绪(函数()\ {setupsidebarimagelist(); \});

uart.

  • 流程图

  • 边缘触发中断在微控制器(MCU)应用中有用,用于处理切换闭合,电平转换和脉冲等异步事件。但是,低成本MCU提供有限的片上资源来处理此类中断。

    然而,设计人员可以“欺骗”未使用的片上UART进入中断MCU以检测输入波形中的边缘。当Edge触发中断的所有传统的片上资源都耗尽时,此概念避免升级到更昂贵的MCU,但应用程序需要处理一个更边级驱动的输入。

    在该方案中,异步接收器的Rx引脚用作边缘驱动的中断引脚。当RX引脚接收到高到低的转换时(即输入信号中的低通边),UART将其解释为启动位的到达。

    波特率时钟正在采样输入,并在“中断误差”比特集中感测0x00的字节值。误差是由于在UART期望停止位时输入电压电平仍然是逻辑零的止挡位引起的。

    中断服务例程检测到该“带中断误差的零字节”,并向应用程序中的关于输入波形中的边缘检测的信号。波特率应该足够高,以最小化边缘检测中所涉及的延迟,但足够低以滤除或去抖动,虚假的噪声干扰。

    这样,如果虚假噪声故障中断控制器,则输入将返回到波特率时钟完成读取a之前的逻辑高电平字节(图1)。中断服务例程现在将检测“非零字节”而没有任何错误。这应用程序例程(图2)可以把它作为一个杂散的故障,忽略它。

    为了检测正上升沿,只需将晶体管逆变器添加到输入以形成所需的下降沿。

    Anoop的分析

    该IFD确实显示了使用微控制器内部的UART的新方法,即,以生成外部中断。然而,这个想法的价值非常有限,似乎是寻找问题的解决方案。

    许多微控制器允许使用任何引脚作为外部中断的源,因此设计人员可能在中断输入耗尽之前在I / O引脚中耗尽。(引脚通常在功能方面复用,因此UART RX引脚也可能是I / O引脚。可以生成中断。最后,在串行端口上的“接收字节”末尾在串行端口的末尾生成的中断从事件的开始时具有相当大的延迟,即当发生“开始位”时。

    例如,以112 kbits / s的波特率为n,8,1设置,在生成中断之前应完成10比特,即89μs的延迟。如果微控制器正在快速运行(以MegaHertz时钟速率),则中断延迟通常是几个时钟周期的顺序,因为它必须在它可以分支到中断子程序之前完成其当前指令,即少数几个微秒。

    另一方面,如果微型速度速度慢,那么它就不能产生波特率的快速。结果,中断延迟也将是高的。

    So if you’re really stuck with a primitive microcontroller that doesn’t have many external interrupt pins, but it happens to have a free UART (and a corresponding free RX pin for this UART), and you have really run out of pins that can generate an interrupt, and if short interrupt latency isn’t really an issue, then this Idea for Design does provide a good way of generating an interrupt.

    赞助

    氮化镓(GaN):推动硅超出性能

    为每个功率水平的GaN电源设备组合最大化功率密度和可靠性。我们的氮化镓(GaN)FET系列的...

    18.5 V输出,4.8-A同步升压转换器,负载断开连接

    18.5 V输出,4.8-A同步升压转换器,负载断开连接

    孤立的DC / DC转换器和模块

    我们的孤立偏置物资,孤立模块和隔离电源转换器的投资组合损害了高密度集成FET转换器,并集成了...

    数字电位器和用法的基础

    5月19日,2021年
    设计人员已经使用了机械电位器数十年来从电路修剪到音量控制的应用。但是,他们有......

    声音你的意见!

    本网站要求您注册或登录以发表评论。
    尚未添加任何评论。想要开始对话?
    Baidu