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

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

3天内不再提示

华芯微特公司SWM20x系列电机框架搭建之定时器模块HALL接口功能

恒美股份 来源:华芯微特32位MCU 作者:华芯微特32位MCU 2021-08-18 09:54 次阅读

概述

本章节主要是介绍了华芯微特公司SWM20x系列电机框架搭建之定时器模块HALL接口功能特点及应用设置,方便用户可以更快的上手设计。

SWM20x系列电机框架搭建:TIMR_HALL篇

霍尔接口

TIMER0模块提供了HALL接口功能,能够自动记录脉冲变化间隔,并产生中断。使用方式如下:

HALL功能为指定引脚,且不同封装可能有所差异,具体引脚详见管教排布:

配置PORTCON模块中INEN寄存器使能引脚输入功能

通过PORT_SEL寄存器将引脚切换为HALL功能

配置HALLSR寄存器,设置对应HALL输入信号的原状态

配置TIMER0装载值寄存器(LDVALx)

使能HALL模式控制寄存器中输入HALL信号触发使能位(HALLEN)

清除输入HALL信号触发中断的状态(HALLIF)

使能HALL中断(HALLIE)

TIMER0使能(EN)

当外部HALL_X引脚产生指定电平变化时,将(计数器加载值-计数器当前值)的结果保存到寄存器HALLDR中,计数器复位到加载值重新计数,并产生TIMER中断。同时HALLIF寄存器IFx将产生对应标示位,标识对应引脚产生电平变化。

39f2a1d0-ff6a-11eb-9bcf-12bb97331649.png

Hall0、Hall1、Hall2 是HALL功能的三个输入引脚,任意一个HALL引脚上出现跳变沿时,将(计数器加载值-计数器当前值)的结果保存到寄存器HALLDR中,并且计数器复位到加载值重新计数。HALL0~2信号输入同时支持连接至CMP0~2,可通过ACMPCR2寄存器HALLx位配置,可选择为CMPxOUT引脚或者HALLIO引脚。

3a27aa2e-ff6a-11eb-9bcf-12bb97331649.png

中断配置与清除

每路TIMER均具备独立中断,通过中断使能寄存器IE进行各TIMER中断使能。通过中断状态寄存器IF进行中断查询及清除。

TIMER中断

可通过配置中断使能寄存器IEx相应位使能中断。当检测到中断触发条件时,中断标志寄存器IFx相应位中置1。如需清除此标志,需在相应标志位中写1清零(R/W1C),否则中断在开启状态下会一直进入。

HALL中断

可通过配置HALL模式控制寄存器对应位设置输入HALLx信号触发中断的条件:上升沿、下降沿、上升沿和下降沿。可通过配置HALL中断使能寄存器HALLIE相应位使能中断。当检测到中断触发条件时,HALL中断标志寄存器HALLIF相应位中置1。如需清除此标志,需在相应标志位中写1清零(R/W1C),否则中断在开启状态下会一直进入。

程序中配置如下:

void Motor_hall(void)

{

PORT_Init(PORTB, PIN4, PORTB_PIN4_HALL_IN0, 1); //连接PB4

PORT_Init(PORTB, PIN5, PORTB_PIN5_HALL_IN1, 1); //连接PB5

PORT_Init(PORTB, PIN6, PORTB_PIN6_HALL_IN2, 1); //连接PB6

PORTB-》PULLU |= ((1 《《 PIN4) | (1 《《 PIN5) | (1 《《 PIN6)); //上拉使能

TIMR_Init(TIMR0, TIMR_MODE_TIMER, CyclesPerUs*4, 65536, 0); //最大测量脉宽4us*65536 = 262ms

TIMRG-》HALLEN = 1; //HALL模式控制

TIMRG-》HALLIF = 7; //HALL中断状态

TIMRG-》HALLIE = 1; //HALL中断使能

NVIC_EnableIRQ(HALL_IRQn); //设置中断优先级

TIMR_Start(TIMR0);

}

//霍尔检测中断

void HALL_Handler(void)

{

TIMRG-》HALLIF = 7; //清除中断

printf(“%dus ”, TIMRG-》HALLSR); //输出霍尔值

}

使用TIMRG-》HALLSR可获取当前霍尔值。

具体详情可登录华芯微特官网:http://www.synwit.cn/

共享文件夹:ftp://221.217.59.230/

QQ技术交流群:492524359 等方式获取最新支持。

编辑:jq

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

    关注

    31

    文章

    5281

    浏览量

    119746
  • 接口
    +关注

    关注

    33

    文章

    8422

    浏览量

    150665
  • 电机
    +关注

    关注

    142

    文章

    8857

    浏览量

    144744
  • 定时器
    +关注

    关注

    23

    文章

    3228

    浏览量

    114254

原文标题:SWM20x系列电机框架搭建:TIMR_HALL篇

文章出处:【微信号:gh_737991c81b3d,微信公众号:恒美股份】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    SWM241系列、主流领域 LCD断码屏、TFT液晶屏

    个I2C 接口(支持主/从选择)、1 个 CAN 模块,此外还具有 1 个 16 位看门狗定时器,8 组 32 位加强型定时器(可触发 DMA),4 路 8 通道 16bit PWM
    发表于 09-03 10:30

    屏驱MCU-SWM320系列

    、互补、中心对称等多种输出模式 ◼ 支持死区控制 ◼ ADC 采样触发 ⚫ 定时器模块 ◼ 6 路 32 位通用定时器 ◆ 具备独立中断 ◆ 可做计数器使用◆ 支持输入单脉冲捕获功能
    发表于 08-05 09:31

    定时器的工作方式介绍

    定时器是计算机和嵌入式系统中常见的一种硬件模块,用于实现定时和计数功能定时器的工作方式通常由一组寄存
    的头像 发表于 07-12 10:29 608次阅读

    定时器相关的寄存有哪些类型

    在微控制编程中,定时器是一种非常常见的功能模块,用于实现各种定时和计数功能定时器的工作原理是
    的头像 发表于 07-12 10:25 641次阅读

    使用555定时器的可调双定时器电路

    定时器 IC 555 是最通用和最常用的 IC 之一,因为它的应用范围更广,如 PWM放大器、延迟定时器、开关电路、占空比选择、时钟脉冲发生等。这也可用于各种应用,如精确
    的头像 发表于 02-25 15:16 1913次阅读
    使用555<b class='flag-5'>定时器</b>的可调双<b class='flag-5'>定时器</b>电路

    浅谈时间间隔计数定时器间隔测量功能

    与频率计数一样,定时器计数或间隔定时器也具有许多组成测试仪器的模块。它们与计数中使用的非常
    的头像 发表于 02-08 07:32 1554次阅读

    555定时器的基本功能 555定时器的工作原理及其应用

    555定时器是一种非常常见和常用的集成电路,它具有广泛的应用领域,例如计时、频率分频、脉冲宽度调制等。本文将详细介绍555定时器的基本功能、工作原理以及应用。 一、555定时器的基本
    的头像 发表于 01-18 11:12 1.3w次阅读

    通用定时器具有什么功能和作用

    通用定时器是一种常见的电子设备,具有广泛的应用领域。它的主要功能是根据设定的时间参数,控制和管理各种电气设备的开关,并按照预定时间进行操作。通用定时器的作用十分重要,不仅在日常生活中有
    的头像 发表于 12-29 10:21 2921次阅读

    西门子博途:SIMATIC定时器功能概述

    在控制工程中,以下经典定时器功能已经建立了很长一段时间(SIMATIC定时器功能,也称为“S5定时器”)
    的头像 发表于 12-18 17:30 4247次阅读
    西门子博途:SIMATIC<b class='flag-5'>定时器</b><b class='flag-5'>功能</b>概述

    SWM166圆形旋钮屏一款新奇的功能

    位计数+8 位预分频) 基础定时器 1个 16 位正交编码(QEI)模块 1 个 16 位的 MPU 接口
    发表于 11-24 23:38

    SWM166D8U6 M0+内核带CAN 高抗干扰屏驱MCU

    SWM166D8U6 是一颗主要应用于屏幕驱动的32位MCU,内嵌 ARM® Cortex®-M0 内核,凭借其出色的性能以及高可靠
    发表于 11-20 16:52

    国产SWM241系列替代瑞萨R5F100LEA

    SWM241系列性能完美兼容瑞萨的R5F100LEA,提供更高性价比的小家电32位MCU
    发表于 11-20 15:43

    SWM341系列86盒智能开关应用

    SWM341系列 86盒智能开关应用
    的头像 发表于 11-10 18:25 1031次阅读
    <b class='flag-5'>SWM</b>341<b class='flag-5'>系列</b><b class='flag-5'>之</b>86盒智能开关应用

    定时器设计实现

    由于目前C++标准中没有现成的定时器,本设计使用C++11相关语法并进行封装。 本定时器包含一个TimerManager类用于创建定时器和进行定时任务管理,TimerManager会创
    的头像 发表于 11-08 16:50 550次阅读

    SWM34S系列高性能屏驱MCU 应用于储能、充电桩的仪表/显示屏

    提供配套图形上位机辅助开发接口丰富,适合各种接口屏幕可对接云平台 屏驱MCU
    发表于 11-08 16:36