微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 低功耗应用中µC外围设备的选择原则介绍

低功耗应用中µC外围设备的选择原则介绍

时间:07-29 来源:互联网 点击:

较值。

管理开销

管理开销系统监视程序、监管工作有助于防范不安全的状况,有关器件包括电压监控器和看门狗定时器。由于数字电路依赖触发器或从负到正(或相反亦然)状态的转换,因此,即使工作电压有稍小的下降,也可能会意外触发 RESET 条件,从而造成系统无法工作。电力减弱保护作为电压监控的一部分,一般用于确保电压瞬变不会强制处理器进入和退出RESET 状态。

只要有可能,在电压监控解决方案中应采用不可屏蔽的中断 (NMI) 来识别电压瞬变。这种方法让用户能随心所欲地设定电压触发的门限电平,无需系统复位条件,其功耗一般比模拟-数字转换器 (ADC) 通道更低。

看门狗定时器监视故障情况。虽然在典型的嵌入式应用中,内嵌的系统程序器往往禁用看门狗定时器,但是在低功耗系统中,在电源电压不稳定的情况下,看门狗定时器是一种有用的工具。看门狗定时器会执行预先设定功能,例如在符合某些条件时,比如电压过低或有内存问题时,向处理器发出 RESET 指令。所选择的处理器应该能够生成已知的 ISR,使处理器无需执行 RESET 而恢复联机状态;因为执行 RESET,必须启动外围设备,因而会消耗更多的处理器功率。

UART 通信

将一个数字时钟与另一个数字时钟精确到秒地同步是不可能的,因为每个时钟均与其内部晶体同步。在 MCU 驱动的系统中,低功耗模式下使用的 32kHz 实时时钟晶体与用于生成UART 波特率的普通 38.4kHz 频率之间会出现类似的同步问题。因为实时时钟的 32,768 频率使 15 位寄存器每秒溢出一次,所以非常适合时间保持(TIme-keeping) 应用。比较而言,在UART 中使用相同的频率,则在典型的 10 位(起始位、8 位数据和 1 个奇偶校验位)传输中保证至少有一位读取不正确。这是由于 32,768Hz 时钟必须除以 3.4,才能得到 9,600 波特率。由于没有 3.4 这一选择,因此必须选择除以 3 或除以 4(参见图2)。

将一个数字时钟与另一个数字时钟精确到秒地同步是不可能的,因为每个时钟均与其内部晶体同步。在 MCU 驱动的系统中,低功耗模式下使用的 32kHz 实时时钟晶体与用于生成UART 波特率的普通 38.4kHz 频率之间会出现类似的同步问题。因为实时时钟的 32,768 频率使 15 位寄存器每秒溢出一次,所以非常适合时间保持(time-keeping) 应用。比较而言,在UART 中使用相同的频率,则在典型的 10 位(起始位、8 位数据和 1 个奇偶校验位)传输中保证至少有一位读取不正确。这是由于 32,768Hz 时钟必须除以 3.4,才能得到 9,600 波特率。由于没有 3.4 这一选择,因此必须选择除以 3 或除以 4(参见图2)。

图 2:9600 波特传输时 32Khz 驱动 UART Rx 错误
 UART 数据用 10,922 波特或 8,192 波特的 UART 接收。由于 UART 在传输中间点对数据进行采样以补偿抖动,因此该点已经被选择为接收 UART 的采样点。在没有行抖动的理想情况下,10,922 波特 UART 对第三数据位的开始两次读数都会是错误的而8,192 波特的UART 由于会完全遗漏第三位,很快就将出错。由于低功耗应用的理想时钟是低功耗实时时钟模式,这使得在低功耗环境中处理很困难。解决这一问题的最好办法就是将 µC 与调制技术结合使用,用 32kHz 振荡器提供非常精确的 2,400 波特,并完全能支持9,600 波特(参见图 3)。

图 3:在 9600 波特传输时采用时钟调制的 32Khz 驱动 UART

通过混合两个时钟除数解决错误,总体积累的错误消失,数据接收正确。这种方法对于9,600 波特或以下的 UART 通信很有效。对于高速通信,几个 µC 监视 UART Rx 行的边缘跃迁并触发 ISR 启动内部高速振荡器,驱动 CPU 并处理中断。这使 µC UART 能够接收高速数据,而不必在 UART 空闲期间保持一个启动的高速时钟。如果使用外部振荡器或内部振荡器频率太低,则由于启动高速振荡器需要一定的时间,第一次传输将失效。为克服这一限制和效率损失,设计人员应该考虑使用能够唤醒并及时从 32kHz 或停机模式激活的处理器,从正在传输的 UART 恢复首次传输的数据。例如,系统时钟需要在 25µs 内启动,才能拾取起始位的中间点,从而正确接收 19,200 位的传输。

许多低功耗应用通过 UART 将 µC 连接到 RS-485 传感器网络。支持寻址和多处理器(9 位)模式的 UART 非常适合于这种网络。当第 9 位为 1(代表是一个地址)时,这些 UART 会生成一个 ISR,让处理器能够在其它传感器通过系统发送数据时保持休眠状态。某些 µC 会更进一步,在 UART 中加入地址匹配,仅在第 9 位是 1 且地址与在剩余 8 位中收到的数据匹配时才唤醒系统。

模拟器件

模拟器件模拟器件是最早的操作器件。模拟器件已经发展数十年,它是

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top