打印
[PIC32/SAM]

如何使用 SAM L10 的 CCL 和 TC 外设,结合 DMA,实现一个低功耗红外编码

[复制链接]
1323|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Libby@|  楼主 | 2024-9-12 12:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Libby@ 于 2024-9-12 15:07 编辑

#技术资源#
SAML10是一款低功耗32位MCU,为了生成调制的红外信号,使用了可配置逻辑模块(CCL)和定时器计数器(TC)。其中,TC0负责生成红外信号的载波频率,TC1则用于调制信号的生成。CCL的真值表被设置为0x1,对应于NOR逻辑功能。通过调整TC1的比较值,可以实现占空比的变化。为使TC1的比较值和周期动态更新,采用了DMA(直接内存访问),其中两个DMA通道分别将内存中预设的数组数据传输到TC1的寄存器中。这样,系统可以在睡眠模式下自动更新TC1的比较值,而无需唤醒CPU执行相关操作。通过MCC Harmony工具进行配置,极大简化了编写代码过程。
TC0负责生成固定的载波频率


TC1用作调制信号


使用 DMA 来自动更新 TC1 的周期和比较值,动态改变红外信号的调制周期和占空比




为了确保调制信号与载波频率同步,TC1 会在 TC0 产生的溢出事件时递增,所以采用的事件系统EVENT。


CCL的配置,TC0和TC1作为输入,波形通过CCL输出



通过以上配置,生成工程文件,以下是main.c 文件,添加了DMA传输配置及TC1调制波的参数,工作在Standby模式。
最后输出的波形


以上快速配置 SAML10外设 CCL、TC ,结合 DMA和事件,实现一个低功耗编码发送器。

欢迎大家留言讨论

使用特权

评论回复
沙发
呐咯密密| | 2024-9-12 16:45 | 只看该作者
MCC Harmony工具很好用啊

使用特权

评论回复
板凳
Alina艾| | 2024-9-23 14:15 | 只看该作者
这就算是可视化配置工具了啊,直接能生成代码了啊

使用特权

评论回复
地板
Emily999| | 2024-9-23 15:20 | 只看该作者
不错啊,感觉这个MCC的软件很好用啊

使用特权

评论回复
5
Libby@|  楼主 | 2024-9-23 15:36 | 只看该作者
MCC包含MCC Melody、MCC Classic和MPLAB Harmony,为嵌入式软件开发提供可视化配置和外设驱动程序。

使用特权

评论回复
6
LEDyyds| | 2024-9-23 16:00 | 只看该作者
CCL是什么外设

使用特权

评论回复
7
Libby@|  楼主 | 2024-9-23 16:07 | 只看该作者

CCL(Configurable Custom Logic,可配置自定义逻辑),可通过硬件配置简单的逻辑运算电路,CCL允许用户通过配置查找表(LUT, Look-Up Table)实现简单的组合逻辑功能,如与门、或门、非门等。

使用特权

评论回复
8
Charlotte夏| | 2024-9-23 16:33 | 只看该作者
这配置就这么简单?

使用特权

评论回复
9
Libby@|  楼主 | 2024-9-23 16:53 | 只看该作者
确实,还有一个引角配置,clock可根据实际配置


使用特权

评论回复
10
Annie556| | 2024-9-23 17:36 | 只看该作者
红外编码是不是可以用串口的哪个IR外设呢?

使用特权

评论回复
11
Libby@|  楼主 | 2024-9-24 10:46 | 只看该作者
你可以使用串口的 IRDA 模式来发送和接收红外编码信号。

使用特权

评论回复
12
Charlene沙| | 2024-9-24 10:53 | 只看该作者
这种红外编码是接红外的接收头了吧

使用特权

评论回复
13
B1lanche| | 2024-9-24 12:00 | 只看该作者
看这配置好简单啊,而且好像都不用自己添加代码,底层就搞好了

使用特权

评论回复
14
Estelle1999| | 2024-9-24 13:05 | 只看该作者
我之前也用过MCC,但是当时资料不是很多,很多控件都不知道是干啥的

使用特权

评论回复
15
Carina卡| | 2024-9-25 08:27 | 只看该作者
DMA真的是好用,而且可以让数据快速传递

使用特权

评论回复
16
alxd| | 2024-9-25 09:10 | 只看该作者
这种调制参数是从哪儿获取?是编码手册吗?

使用特权

评论回复
17
Libby@|  楼主 | 2024-9-25 11:11 | 只看该作者
alxd 发表于 2024-9-25 09:10
这种调制参数是从哪儿获取?是编码手册吗?

取决于你想得到什么样的波形,TC0可以调节载波频率,TC1可以调节占空比。

使用特权

评论回复
18
Libby@|  楼主 | 2024-9-25 11:12 | 只看该作者
Carina卡 发表于 2024-9-25 08:27
DMA真的是好用,而且可以让数据快速传递

是的,还不需要占用CPU

使用特权

评论回复
19
Betty996| | 2024-9-25 11:25 | 只看该作者
看这种发送器确实很好玩啊,一般是应用在什么场合?

使用特权

评论回复
20
Libby@|  楼主 | 2024-9-26 15:17 | 只看该作者
Betty996 发表于 2024-9-25 11:25
看这种发送器确实很好玩啊,一般是应用在什么场合?

光通信系统中,用来进行短距离的非可见光数据传输,调制波在通信、信号处理和电子工程中具有广泛的应用,主要用于将信号嵌入到载波上,以便在更远距离上有效传输或用于其他特定用途

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

51

帖子

0

粉丝