0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

以正交输出脉冲和ADC序列采样为例介绍QEI灵活计数功能

331062281 来源:先楫半导体HPMicro 2024-03-22 17:30 次阅读

HPM67/63/62系列中几个常见应用需求

输出固定个数的脉冲

伺服应用中需要输出正交的固定脉冲反馈当前运动位置

步进电机控制应用需要MCU输出指定脉冲个数,配置运行步长

常规方法是配置PWM或GPTIMER,在每个脉冲输出后在中断中计数,最后软件封波

高速、大数据量ADC采样

光伏上拉弧检测需要采集多路ADC通道实现FFT运算,采集数据量大,采样频率高

电能质量检测需要采集多路电流电压数据

ADC模块中虽然有序列采样DMA模式,但没有序列模式DMA转换完成中断,需要通过HDMA实现转换搬移,需要占用DMA通道。对于HPM67/63/62只有8个通道,会影响到其他应用使用DMA

LED显示屏驱动

大屏LED显示需要确定固定脉冲个数和相位

通常只能靠硬件指令控制延迟

本文以正交输出脉冲和ADC序列采样为例介绍QEI灵活计数功能

87a849bc-e7f6-11ee-a297-92fbcf53809c.png

87b19ca6-e7f6-11ee-a297-92fbcf53809c.png

QEI功能简介

88d9e44e-e7f6-11ee-a297-92fbcf53809c.png

支持A,B,Z,H四个信号输入

输入信号来自互联管理器TRGM

来自TRGM的输入输出IO

来自其他片上模块

多种计数方式

支持单相、两相 (正交/上下/方向脉冲)方波输入

多个计数器

相位计数器,即位置计数器

Z相计数器,即周数计数器测速计数器

测定A,B相信号保持特定状态的时长,可反应电机转速信息

位置匹配

支持位置进行匹配检测。当电机运行到指定位置时,产生位置匹配标志事件

该事件可以触发中断,DMA 请求,也可以作为事件输出

定时器计数器

32位,全局计数器

输出固定脉冲原理

88e70f20-e7f6-11ee-a297-92fbcf53809c.png

程序中使用了PWM、互联管理器、QEI三个模块

PWM负责输出脉冲和通过故障输入封锁脉冲

互联管理器负责实现模块之间互联

QEI负责脉冲计数和计数比较产生故障信号,用于封波控制

通过软件配置,不需要额外中断,内部连接不需要外部引脚连线

交脉冲输出的PWM配置

88eb03c8-e7f6-11ee-a297-92fbcf53809c.png

正交脉冲输出配置

配置比较器值位于周期的1/4和3/4处

每个输出都包含2个比较器,A相为比较器0、1,B相为比较器2、3

封波状态

封波时输出电平均为低

封波后需通过软件恢复输出

88fd8dfe-e7f6-11ee-a297-92fbcf53809c.png

QEI脉冲输入配置

配置比较输出通道8作为内部输出,与A、B脉冲输出独立,配置相位时更灵活

通过比较器配置可以选择封波时刻

使能内部故障封波

使能内部故障0作为封波信号

禁止硬件恢复脉冲输出

正交脉冲输出的QEI配置

89012414-e7f6-11ee-a297-92fbcf53809c.png

QEI模式

设置为方向+脉冲模式

脉冲计数时是上下沿同时计数,即单个脉冲计两次

禁止Z信号复位相位计数器

使能位置匹配功能

使能位置匹配功能,并允许匹配事件输出

正交脉冲输出的互联管理器配置

890febac-e7f6-11ee-a297-92fbcf53809c.png

互联管理器功能

多路复选器(MUX)阵列

支持多个输入和多个输出

每个输出都可以单独配置,从众多输入中选择

输入信号数字滤波器

输出信号极性取反

信号边沿到脉冲转换

DMA 请求管理,管理 PWMT,QDEC 和 HALL 的 DMA 请求

互联管理器配置

关联PWM 8通道输出至QEI脉冲输入

禁止QEI的Z信号和方向信号

关联QEI事件输出至PWM故障信号0

设置输出脉冲个数

891ab08c-e7f6-11ee-a297-92fbcf53809c.png

PWM设置

停止PWM模块,复位时基

根据方向配置A、B相输出相位

软件恢复PWM输出

恢复PWM时需注意:GCR寄存器的FAULTCLR写1后,故障清除;随后需要把FAULTCLR位清0,否则再下一次故障发生后,当故障消除后PWM还会自动恢复

启动PWM

QEI配置

复位QEI计数器

配置计数比较器,考虑QEI为上下沿计数,配置计数值为:计数值*2-1

开启计数

正交脉冲输出波形

8931bde0-e7f6-11ee-a297-92fbcf53809c.png

上图是正交脉冲输出的波形

棕色是A相输出、灰色是B相输出、红色是QEI计数事件

程序设置为输出10个脉冲、正转

不增加中断需求,减少软件开销

ADC序列模式中DMA连续转换

893da16e-e7f6-11ee-a297-92fbcf53809c.png

程序中使用了PWM、互联管理器、ADC、QEI四个模块

PWM负责定时输出脉冲

互联管理器负责实现模块之间互联

ADC启动序列DMA转换,最多转换4906个数据

QEI负责脉冲计数并产生计数比较中断,中断切换DMA存储地址

选用ADC内部DMA,不占用HDMA通道

ADC序列模式中DMA连续转换代码

89411024-e7f6-11ee-a297-92fbcf53809c.png

PWM、互联管理器、QEI配置与前文相似

在QEI匹配中断中切换DMA目标地址

无论是通过HDMA还是ADC内部DMA,在完成大数据量转换后都需要进入中断快速处理,QEI+ADC序列模式并不增加额外中断需求

切换内部DMA目标地址时,需要复位内部DMA位;否则周期(Cycle)位将无法正确显示当前转换

总结

QEI可以实现更灵活的计数,并产生相应的计数事件匹配。

互联管理器的内部互联更加自由,不占用外部引脚,可以产生中断或内部事件。

PWM模块包含多个比较器,可以实现多相位输出脉冲,控制更灵活、相位精度更高。

通过多种组合用户可以根据实际应用实现更多功能。




审核编辑:刘清

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

    关注

    98

    文章

    6429

    浏览量

    544033
  • 计数器
    +关注

    关注

    32

    文章

    2253

    浏览量

    94338
  • LED显示
    +关注

    关注

    0

    文章

    359

    浏览量

    37995
  • 电机转速
    +关注

    关注

    0

    文章

    62

    浏览量

    11326
  • 触发中断
    +关注

    关注

    0

    文章

    11

    浏览量

    6558
  • ADC采样
    +关注

    关注

    0

    文章

    134

    浏览量

    12829

原文标题:经验分享 | 巧用QEI,计数更灵活

文章出处:【微信号:HPMicro,微信公众号:先楫半导体HPMicro】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LM3S9B92如何配置模块A B正交计数模式?

    TILM3S 系列芯片部分含有编码器(QEI) 模块,使用时配置芯片 如 LM3S9B92时,代码库里没有说如何在计数模式如何配置模块A ,B 正交 计数模式。 QEIConfigur
    发表于 04-10 10:19

    正交编码器原理什么是正交

    ,TI1超前TI2 90度时,向上计数;TI2超前TI1 90度时,向下计数。编码器的应用很多,最常用的就是电机测速,以及各种仪器上的旋钮等。2.STM32CubeMX配置STM32F103C8T6
    发表于 01-10 08:04

    Numaker-IoT-M487 QEI控制器测评总结

    脉冲计数器 (QEI_CNT) 1 个 32 位的软件锁存正交编码脉冲计数器保存寄存器 (QEI_CNTHOLD) 1 个 32 位的
    发表于 06-10 14:29

    对NuMaker-M2354开发板的正交编码器QEI模块进行测试

    任务新唐 NuMaker-M2354正交编码器QEI模块3.资源介绍翻阅新唐M2354数据手册查看新唐开发板原理图及数据手册,PD10、PD11、PD12空闲,配置
    发表于 06-29 11:23

    应用笔记(三)| 运用DMA 功能实现高级定时器和ADC 的同步触发采样

    ATIM 的通道 1~3 比 较 / 捕获寄存器 B 中任意一个寄存器设定 ADC采样时刻,这些操作都可以由硬件自动完成,减轻了 CPU 的工作量。采样 AIN0~AIN3 这
    发表于 07-08 17:02

    定时器的正交译码器功能介绍

    本期内容来介绍一下定时器的正交译码器功能(编码器接口)。正交译码器是和正交编码器外设配合使用的,可对编码器输入的
    发表于 08-16 06:46

    介绍PSD6XX的用途和PSD611采样设计

    介绍PSD6XX的用途和PSD611采样设计
    发表于 05-13 13:19 18次下载
    <b class='flag-5'>介绍</b>PSD6XX的用途和<b class='flag-5'>以</b>PSD611<b class='flag-5'>为</b><b class='flag-5'>例</b>的<b class='flag-5'>采样</b>设计

    基于VHDL的正交编码脉冲电路解码计数器设计

    针对正交编码脉冲电路脉冲(quadratureencoderpulse,QEP)的解码和计数的问题,给出了QEP解码计数器的解决方案.本方案
    发表于 03-01 16:36 98次下载

    脉冲序列检波器和计数器电路图

    脉冲序列检波器和计数器电路图
    发表于 07-02 13:07 805次阅读
    <b class='flag-5'>脉冲序列</b>检波器和<b class='flag-5'>计数</b>器电路图

    英创信息技术ESM335x Linux输出脉冲计数介绍

    停止PWM输出,由于系统响应延迟,使用输出脉冲计数功能时最高频率不应超过100KHz。本文将介绍Linux系统下
    的头像 发表于 02-04 10:47 1207次阅读
    英创信息技术ESM335x Linux<b class='flag-5'>输出</b><b class='flag-5'>脉冲计数</b><b class='flag-5'>介绍</b>

    ADC对连续外部信号进行采样的概念和用法-M031/M032

    ADC对连续外部信号进行采样的概念和用法-M031/M032
    的头像 发表于 08-10 16:21 929次阅读
    <b class='flag-5'>ADC</b>对连续外部信号进行<b class='flag-5'>采样</b>的概念和用法-<b class='flag-5'>以</b>M031/M032<b class='flag-5'>为</b><b class='flag-5'>例</b>

    如何使用网络IO的脉冲计数脉冲输出功能

    一适用型号该笔记适用于ME31系列、MA01系列等IO设备,其中脉冲计数需要IO设备具有输入检测(即,DI输入)功能脉冲输出需要具有开关量输出
    的头像 发表于 09-08 08:22 1327次阅读
    如何使用网络IO的<b class='flag-5'>脉冲计数</b>和<b class='flag-5'>脉冲</b><b class='flag-5'>输出</b><b class='flag-5'>功能</b>?

    脉冲和连续的时钟信号有什么区别?

    ,这篇文章将会详细介绍它们之间的差异。 单脉冲时钟信号是指在短时间内一定的速率发生较短、高速峰值的脉冲信号。它们通常用于时序控制,计数和精
    的头像 发表于 09-15 16:28 1908次阅读

    脉冲信号和单位采样序列有何区别?

    脉冲信号和单位采样序列有何区别? 脉冲信号和单位采样序列是数字信号处理中两个重要的概念。在本文中
    的头像 发表于 02-06 09:25 1540次阅读

    巧用QEI计数灵活

    应用需求输出固定个数的脉冲伺服应用中需要输出正交的固定脉冲反馈当前运动位置步进电机控制应用需要MCU输出
    的头像 发表于 03-23 08:16 1908次阅读
    巧用<b class='flag-5'>QEI</b>,<b class='flag-5'>计数</b>更<b class='flag-5'>灵活</b>