利用可编程逻辑单元PLU与CTIMER计数器解码电机
来源:恩智浦MCU加油站 发布时间:2022-12-01
分享至微信

本文来自恩智浦NXP社区。帖链接如下: https://www.nxpic.org.cn/module/forum/thread-622747-1-1.html






uint32_t motor_flag = 0;
const ctimer_config_t CTIMER0_config = {
.mode = kCTIMER_IncreaseOnBothEdge,
.input = kCTIMER_Capture_0,
.prescale = 0
};
const ctimer_match_config_t CTIMER0_Match_0_config = {
.matchValue = 681,
.enableCounterReset = true,
.enableCounterStop = false,
.outControl = kCTIMER_Output_NoAction,
.outPinInitState = false,
.enableInterrupt = true
};
/*Single callback functions definition */
ctimer_callback_t CTIMER0_callback[] ={ctimer0_match0_callback};
static void CTIMER0_init(void) {
/* CTIMER0 peripheral initialization */
CTIMER_Init(CTIMER0, CTIMER0_config);
/* Interrupt vector CTIMER0_IRQn priority settings in theNVIC. */
NVIC_SetPriority(CTIMER0_IRQn, 0);
/* Match channel 0 of CTIMER0 peripheral initialization*/
CTIMER_SetupMatch(CTIMER0, kCTIMER_Match_0, CTIMER0_Match_0_config);
CTIMER_RegisterCallBack(CTIMER0,CTIMER0_callback, kCTIMER_SingleCallback);
CTIMER_StartTimer(CTIMER0);
}
void ctimer0_match0_callback(uint32_t flags)
{
motor_flag++;
}
下载PLU configure tool,下载链接如下:

PLU->LUT[4].INP_MUX[0] = 0x00000003; /* IN3 (IN3) */
PLU->LUT[4].INP_MUX[1] = 0x00000004; /* IN4 (IN4) */
PLU->LUT[4].INP_MUX[2] = 0x0000003F; /* default */
PLU->LUT[4].INP_MUX[3] = 0x0000003F; /* default */
PLU->LUT[4].INP_MUX[4] = 0x0000003F; /* default */
PLU->LUT_TRUTH[4] = 0x66666666; /* XOR01 (XOR01) STD 2INPUT XOR */
PLU->OUTPUT_MUX[5] = 0x00000004; /* LUT4 (XOR01) ->OUT5 */
利用GPIO产生正交编码信号,CTimer进行计数,当计数到682时会触发中断进入回调函数,计数器值(TC)会自动清零,重新计数,如下:
while(1) {
GPIO_PortToggle(GPIO,0, 1u << 19);
SysTick_DelayTicks(5U);
GPIO_PortToggle(GPIO,0, 1u << 20);
SysTick_DelayTicks(5U);
motor_counter = CTIMER0->TC; }


恩智浦MCU加油站
这是由恩智浦官方运营的公众号,着重为您推荐恩智浦MCU的产品信息、开发技巧、教程文档、培训课程等内容。

长按二维码,关注我们
END
更多恩智浦AI-IoT市场和产品信息,邀您同时关注“NXP客栈”微信公众号

NXP客栈
恩智浦致力于打造安全的连接和基础设施解决方案,为智慧生活保驾护航。
长按二维码,关注我们
[ 新闻来源:恩智浦MCU加油站,更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj]
存入云盘 收藏
举报
全部评论
暂无评论哦,快来评论一下吧!

恩智浦MCU加油站
开创IC领域,共创美好未来!
查看更多
相关文章
全球首款可编程全光信号处理芯片问世
2025-07-10
启明芯半导体项目落户启东,聚焦功率器件与电机驱动
2025-05-28
三菱电机调整业务布局:聚焦光电元件与功率半导体
2025-05-29
三星电机与乐金Innotek发力半导体封装基板领域
2025-07-01
艾为电子取得从机单元地址修改方法专利,可降低系统成本
2025-07-10
热门搜索
大联大调整!诠鼎、友尚、品佳,3合1
台积电拟退出氮化镓市场
华为
台积电
中芯国际
联发科
高通
英特尔
芯片