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

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

3天内不再提示

S32K3电机控制资源精华汇总

立功科技 来源:立功科技 2023-01-05 10:53 次阅读

本文导读

NXP推出的S32K3XX系列微控制器电机控制方面具有丰富的外设资源,相比较上个系列S32K1xx来说,控制方式有明显的不同。S32K3xx微控制器通过eMIOS、LCU、BCTU和ADC硬件外设对电机实现控制,显得更加灵活和方便。

NXP S32K3xx系列微控制器,相比较上个系列S32K1xx来说存在着诸多亮点,从主频,外设资源、安全等级以及安全加密等都有很大的提升。虽然S32K3是S32K1的升级版,但是很多外设以及功能实现方式却完全不同。单纯从电机控制方面来说,S32K3xx硬件外设eMIOS、LCU、BCTU和ADC的组合方式,相比较S32K1xx的FTM、PDB和ADC明显不同,对电机的控制更加灵活方便。

S32K3xx系列微控制器具有生成PWM、输入捕获和输出比较功能的eMIOS、可以自由灵活配置的小型FPGA外设LCU、专门为了方便控制ADC触发的BCTU和多路ADC通道。S32K3这些硬件资源足以对PMSM、BLDCACIM等电机进行控制。下面一起来了解S32K3xx eMIOS、LCU、BCTU和ADC外设的功能介绍。

eMIOS

eMIOS(Enhanced Modular IO Subsystem,增强型模块化IO子系统),该外设主要用于生成PWM、捕获外部信号和输出比较。eMIOS内部有计数总线机制,可以支持各通道使用不同的时钟频率计数,且每个通道都是独立,可以自由配置各种模式。 eMIOS通道可以配置的模式按照功能可以分类如下:

66524526-8c42-11ed-bfe3-dac502259ad0.png

以S32K344举例,其具有3个eMIOS实例,每个emios实例具有24个通道,每个通道有四种通道类型(X、Y、G和H)区分,比如Y类型通道就只支持SAIC SAOC OPWMB OPWMT功能,其他通道类型支持的模式可以在用户手册自行查找。 但并不是所有模式只要一个通道配置成该模式,该模式功能就可以实现的。有些模式是需要用另一个通道配置成计数总线模式,用另一个通道给该模式提供时钟频率,该模式才可以正常工作。比如以OPWMT模式为例,手册规定OPWMT模式时钟必须是由MC或者MCB模式通道提供,所以就需要将一个通道配置成MC或者MCB模式去提供时钟,另一个通道配置成OPWMT模式才能起作用。

LCU

LCU(Logic Control Unit,逻辑控制单元), LCU用于创建小型组合时序逻辑电路,该外设主要是与eMIOS或者SIUL2外设组合使用,将eMIOS生成的PWM或者SIUL2输入的电平经过LCU进行查表操作,从而输出对应的PWM或者电平。因为LCU可以理解为一个FPGA,其实现逻辑电路的灵活性也给电机控制提供了更多可能性。 一个LCU内部由3个LC组成,一个LC具有4个输入和4个输出,同时还具有强制控制功能,如图1所示。LC将输入的信号,通过查找表(LUT)产生输出信号,可以通过TRGMUX给到对应的外设,而查找表(LUT)就是LCU的核心内容,可由软件自由设置。用户可以使用LCU编程为与或非和异或等逻辑器件,也可以编程为S-R触发器,D触发器,JK触发器,增量编码器以及ACIM、PMSM和BLDC电机控制器。

667e2268-8c42-11ed-bfe3-dac502259ad0.jpg

图1LCU内部框图

eMIOS+LCU组合使用

eMIOS和LCU的组合使用需要借助TRGMUX进行连接。以产生互补的PWM为例,如图2所示,eMIOS产生的PWM,通过TRGMUX连接到LCU其中一个LC的输入,LC内部进行查表,从而在LC的输出端产生一对互补的PWM波形。

6691be0e-8c42-11ed-bfe3-dac502259ad0.jpg

图2 eMIOS和LCU组合使用

这上面只是eMIOS+LCU的一个应用,还可以有其他的应用方式,具体要根据实际场景进行使用。

ADC

S32K3XX系列微控制器ADC具有可选分辨率:8/10/12/14 bit,转化结果始终为15bit宽;在80MHz转化时钟下采样和转化时间约为1us,即高达1M samples/sec,且转化精度为+/-6LSB。

S32K3XX系列微控制器最多有3个ADC,每个ADC具有8个精密通道,16个标准通道,和最多支持32路外部通道,这三种通道的转化优先级顺序为:精密通道>标准通道>外部通道。其中精密通道和标准通道是实实在在可以在芯片引脚上可以找到复用引脚的,但外部通道却不一样,看手册描述一个ADC支持32路外部通道ADC,但看说手册发现一个ADC的外部通道输入引脚就只有4个,那么怎么支持32路外部通道呢? 每个ADC提供三个外部解码信号(“MA”),用于从外部多路选择器选择一个通道(最多八个)输入到ADC的外部通道引脚,如图3所示。因为一个ADC有4个外部通道输入引脚,就可以有四个8通道数据选择器,所以最多连接32个外部通道。需要注意的是,ADCx_MA是格雷编码的,因此它不会从0到7连续计数,它计数顺序为0、1,3,2,6,7,5,4。

66a3f60a-8c42-11ed-bfe3-dac502259ad0.jpg

图3ADC外部通道硬件实现框图

ADC支持三种转化模式:

正常转换:支持一次转换和连续转换。

注入转换:仅支持单次转换。注入转换可以在一组输入通道已经开始转化的过程中,注入另一组输入通道进行转换。

BCTU转换:由BCTU外设触发ADC,每次触发运行一次转换,转化支持单一和列表转化。

BCTU

BCTU(Body Cross-triggering Unit),BCTU外设可以理解就是为了方便控制ADC触发的外设。BCTU用于接收ADC转化请求触发输入,将请求路由到一个或多个ADC。BCUT触发源有三种方式:eMIOS定时器通道;TRGMUX输入和软件触发。BCTU具有多个并行转换功能,可以同时触发3个ADC同时进行转化,使用eMIOS同时触发ADC的框图如图4所示:

66cc042e-8c42-11ed-bfe3-dac502259ad0.jpg

图4BCTU同时触发多个ADC

并且,BCTU还具有对ADC通道有重复触发的功能,支持单个通道转化多次、单个触发产生一连串的转化、以及转化过程中暂停,等另一个触发过来再转化等功能,同时每个ADC具有两个FIFO来缓存ADC转化结果。

应用场景

如图5所示是S32K3xx外设硬件对带霍尔传感器的无刷直流电机BLDC的控制框图。

66e2496e-8c42-11ed-bfe3-dac502259ad0.jpg

图5S32K3xx对BLDC的控制框图

图中①路径是通过“eMIOS-TRGMUX-LCU”输出六路三相PWM,从而给到三相无刷电机驱动器对电机进行控制;

图中②路径是通过“TRGMUX-LCU-TRGMUX-eMIOS”获取霍尔传感器的速度,通过TRGMUX和LCU结合,实现了根据霍尔信号硬件自动换向的,无需内核的干预。 图中③路径是通过“eMIOS-BCTU-ADC”或者eMIOS重装载时通过“EMIOS-TRGMUX-BCTU-ADC”触发ADC采集外部电压。

审核编辑:汤梓红

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

    关注

    48

    文章

    6803

    浏览量

    147595
  • NXP
    NXP
    +关注

    关注

    60

    文章

    1214

    浏览量

    177083
  • 电机控制
    +关注

    关注

    3464

    文章

    1699

    浏览量

    264357
  • adc
    adc
    +关注

    关注

    95

    文章

    5644

    浏览量

    539381
  • LCU
    LCU
    +关注

    关注

    0

    文章

    8

    浏览量

    3546

原文标题:【技术分享】S32K3电机控制资源精华汇总

文章出处:【微信号:立功科技,微信公众号:立功科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    学习一下S32K3的ADC模块

    小猫爪:S32K3学习笔记05-S32K3之ADC1 前言2 资源简介3 ADC详解3.1 ADC mux-mode channels3.2 ADC内部框架
    发表于 03-01 06:09

    用于EIM和ERM外围设备的S32K3 RTD相关问题

    我们正在为 S32K3 44设备 进行 ECC 错误处理(在 SRAM 和闪存中),但我还没有在 RTD 版本 4.4.2.0.0 D2203 上找到相关的 Ip 驱动程序。我看到针对不同的设备(S32K3 1..)提出了一些 SDK 示例。 我们可以将这些样本用于
    发表于 03-17 06:58

    如何在项目中编译S32K3 HSE FW?

    在an744810-HSE FW install for S32K3xx (1.0).pdf中可以看到如图所示的描述,但是在democode中找不到相关的设置文件。文件在哪个路径下,文件名是什么?如何在项目中编译S32K3 HSE FW?
    发表于 03-24 08:57

    s32k3的MBDT需要autosar?

    我们最近决定为我们的项目使用 S32K3,目前正在从 MPC574 切换到 S32K3 开发套件。一位同事为 s32k3 安装了 MBDT,并报告说他还必须安装一些 autosar 驱动程序
    发表于 03-27 07:25

    S32K3 MCAL支持哪些版本的Autosar?

    我有几个关于 Autosar 的问题1.S32K3 MCAL支持哪些版本的Autosar?2. Autosar R19-11 支持不支持?3. S32K3 MCAL 是免费的。如果S32K
    发表于 03-27 07:52

    S32K1或S32K3是否支持IEC60730?

    S32K1 或 S32K3 是否支持 IEC60730?
    发表于 04-03 08:38

    S32DS和S32K3在软件下载页面中不再可用怎么解决?

    在SW32K3_FreeRTOS_10_5_0_CD2_3_0_0_DS_updatesite_D2301_ReleaseNotes中,需要安装特定版本的S32DS和S32K3开发包。但是它们在软件
    发表于 04-03 07:44

    S32K3 ADC滤波电容选择范围?

    S32K3 数据表上,图 33 [SAR ADC 输入电路]。您能否阐明滤波电容 (CF) 的选择范围。这个值有什么公式吗?Ps:S32K312 MCU时钟:120 MHz,ADC时钟速度:80 MHz
    发表于 04-06 09:05

    在哪里可以获取S32DS和S32K3软件包下载包?

    在SW32K3_FreeRTOS_10_5_0_CD2_3_0_0_DS_updatesite_D2301_ReleaseNotes中,需要安装特定版本的S32DS和S32K3开发包。但是它们在软件
    发表于 04-06 07:06

    S32K3 ADC的外部通道如何使用?

    S32K3 ADC的外部通道使用方法 .
    发表于 04-17 07:28

    如何设置S32K3的调试密码?

    1、如何设置S32K3的调试密码?阿拉伯数字配置调试密码后如何解锁帐号?1、S32K3怎么配置调试密码?2、配置完成测试密码如何解锁?
    发表于 04-18 09:54

    如何唤醒S32K3睡眠模式?

    S32K3睡眠模式如何唤醒
    发表于 04-20 13:12

    S32K3当人为短路晶体导向S32K3产品复原位进入sBAF,是不是看门狗还能起作用?

    关于S32K3:当人为短路晶体导向S32K3产品复原位进入sBAF,是不是看门狗还能起作用?
    发表于 04-24 07:55

    是否可以在S32K3上实施IEC 60730软件B类?

    我们很乐意在下一代产品中使用 S32K3。我们的一些现有客户要求产品符合 IEC 60730 软件 B 类标准。 是否可以在 S32K3 上实施 IEC 60730 软件 B 类?是否有任何现有的库/模块/支持 S32K3
    发表于 05-06 07:47

    有没有关于S32K1和S32K3 SDK接口函数区别的文档?

    基于SDK,从S32K1移植到S32K3,有没有S32K1和S32K3 SDK接口函数区别的文档,谢谢!
    发表于 05-12 06:52