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

[复制链接]
 楼主| 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的软件很好用啊
 楼主| Libby@ 发表于 2024-9-23 15:36 | 显示全部楼层
MCC包含MCC Melody、MCC Classic和MPLAB Harmony,为嵌入式软件开发提供可视化配置和外设驱动程序。
LEDyyds 发表于 2024-9-23 16:00 | 显示全部楼层
CCL是什么外设
 楼主| Libby@ 发表于 2024-9-23 16:07 | 显示全部楼层

CCL(Configurable Custom Logic,可配置自定义逻辑),可通过硬件配置简单的逻辑运算电路,CCL允许用户通过配置查找表(LUT, Look-Up Table)实现简单的组合逻辑功能,如与门、或门、非门等。
Charlotte夏 发表于 2024-9-23 16:33 | 显示全部楼层
这配置就这么简单?
 楼主| Libby@ 发表于 2024-9-23 16:53 | 显示全部楼层
确实,还有一个引角配置,clock可根据实际配置


Annie556 发表于 2024-9-23 17:36 | 显示全部楼层
红外编码是不是可以用串口的哪个IR外设呢?
 楼主| Libby@ 发表于 2024-9-24 10:46 | 显示全部楼层
你可以使用串口的 IRDA 模式来发送和接收红外编码信号。
Charlene沙 发表于 2024-9-24 10:53 | 显示全部楼层
这种红外编码是接红外的接收头了吧
B1lanche 发表于 2024-9-24 12:00 | 显示全部楼层
看这配置好简单啊,而且好像都不用自己添加代码,底层就搞好了
Estelle1999 发表于 2024-9-24 13:05 | 显示全部楼层
我之前也用过MCC,但是当时资料不是很多,很多控件都不知道是干啥的
Carina卡 发表于 2024-9-25 08:27 | 显示全部楼层
DMA真的是好用,而且可以让数据快速传递
alxd 发表于 2024-9-25 09:10 | 显示全部楼层
这种调制参数是从哪儿获取?是编码手册吗?
 楼主| Libby@ 发表于 2024-9-25 11:11 | 显示全部楼层
alxd 发表于 2024-9-25 09:10
这种调制参数是从哪儿获取?是编码手册吗?

取决于你想得到什么样的波形,TC0可以调节载波频率,TC1可以调节占空比。
 楼主| Libby@ 发表于 2024-9-25 11:12 | 显示全部楼层
Carina卡 发表于 2024-9-25 08:27
DMA真的是好用,而且可以让数据快速传递

是的,还不需要占用CPU
Betty996 发表于 2024-9-25 11:25 | 显示全部楼层
看这种发送器确实很好玩啊,一般是应用在什么场合?
 楼主| Libby@ 发表于 2024-9-26 15:17 | 显示全部楼层
Betty996 发表于 2024-9-25 11:25
看这种发送器确实很好玩啊,一般是应用在什么场合?

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

本版积分规则

8

主题

55

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

8

主题

55

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部