ADuC702x模拟微控制器生成可编程数字波形

描述

许多系统需要固定或可编程的数字时钟波形。在PCB面积受限的应用中,微控制器通常产生这些信号。本文介绍了使用ADuC702x模拟微控制器生成时钟的三种方法。

时钟生成的经典解决方案是切换微控制器的通用输出之一。如果计时器可用,则可以将其配置为在每次溢出时补充中断服务例程中的通用输出。这种类型的完全可编程数字波形生成允许可编程占空比,但中断延迟限制了其速度和精度。基于ARM7的ADuC702x具有可变的中断延迟。这种变化会在生成的信号上产生抖动。这种方法的另一个缺点是,必须以高优先级处理计时器中断,以保持正确的计时。理想情况下,数字波形生成不应涉及内核。

一种不涉及内核的解决方案使用集成PWM(脉宽调制器)。这种方法还允许可变占空比。时钟分辨率取决于PWM开关频率寄存器的大小和内核时钟频率。该解决方案的主要优点是没有CPU负载,并且可以产生从几赫兹到几十兆赫兹的宽范围频率。ADuC702x系列集成PWM模块,如图1所示。

计时器

图1.ADuC7026 原理框图

该解决方案的缺点是PWM生成时钟的精度取决于内部时钟的精度,并且它使用完整的三相PWM模块,而该模块最初并非用于此目的。使用外部3 kHz晶体而不是精度为±32%的片内振荡器可以提高精度,但这会增加成本、尺寸和功率预算。

较小的解决方案包括使用门和触发器。ADuC702x系列包括一个可编程逻辑阵列(PLA),可用于实现胶合逻辑。该PLA由16个可编程门和触发器组成,完全可以通过软件进行配置。一个非常简单的时钟可以只使用一个NOT门和一个触发器进行编程,如图2所示。

计时器

图2.使用PLA的可编程时钟

触发器可通过内核时钟、内部 32kHz 振荡器、定时器1 或通用输入进行计时。时钟频率可以非常灵活,但占空比无法编程。该解决方案的最大优点是它只占用了非常小的芯片块。ADuC702x上集成了非专用门,具有极大的灵活性。

下表总结了这三种方法的特点。虽然每种方法都有优点,但只有应用程序才能确定哪一种是最合适的解决方案。

表1:ADuC702x系列三种方法的比较

 

  最低速度 最大速度 优势
通用信息总局 使用 T1:1/2^32 中断延迟:
5 到 50 个
时钟周期
可变占空比 抖动
中央处理器负载
使用计时器
脉宽调制 核心时钟/ (2 × PWMDAT0.max) = 344 Hz 核心时钟/ (2 × PWMDAT0最小) = 22 MHz
 
无 CPU 负载
可变占空比
使用三相PWM模块
PLA 使用 T1:1/2^33 核心时钟 / 2 无 CPU 负载
仅使用 1 个聚乳酸元件
并非每个 GPIO 都可以用作 PLA 输出
可能使用计时器
固定占空比

 

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分