S32K3学习笔记---S32K3之MCU模块

这篇具有很好参考价值的文章主要介绍了S32K3学习笔记---S32K3之MCU模块。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

S32K3学习笔记—S32K3之MCU模块

1、前言

​ 后续关于MCAL的配置都是基于EB29.0,RTD3.0的配置,MCU是基于S32K324。前期312、344也都使用过,也是第一次使用NXP的多核,后续将记录各个模块学习过程。

环境安装及参考资料如下:

​ 芯片手册:S32K3XXRM.pdf

​ EB工具 :EB29.0安装包

​ RTD及demo路径:RTD3.0和Demo

​ EB安装步骤:该博主写的很详细,参考一下[S32K3从0入门]NXP S32K3 环境安装及配置

2、模块作用

​ 对于刚开始接触MCAL来讲,MCU模块算是比较基础且重要的一个模块,因为基本上所有的外设都和MCU模块相关联。此模块很大如果不搞清楚可能导致很多问题,因此单独记录一下这个模块。MCU模块最主要的作用就是配置时钟、设置工作模式等。此模块主要是根据芯片手册来配置,一定要多看芯片手册

3、EB配置

​ 关于这个模块的配置,可以按照以下顺序来进行配置。先分总的几个大类时钟源,再具体到某些特定的模块。否则要做很多无用功。

3.1.通用配置

​ 对于不同模块的general都差不多是使能一些API,整个模块的通用配置啥的,如果没啥特殊需求就按照demo来配置就好

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

1.对于时钟源,我们不用的就需要失能,比如SXOCS如果不失能,会影响GPI功能

2.如果我们需要对多核做些操作,需要使能Core Boot Address Control


nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

1.这个模块主要是外部晶振配置,按照实际项目修改就好了

3.2.时钟配置

​ 根据芯片手册第六章Clocking得知,MCU的时钟源可由FIRC、SIRC、FXOCS、SXOCS、(锁相环)PLL生成,这些时钟都可以按照手册推荐的配置。下面是这几种时钟源的配置

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

1.如果FIRC在MCU控制下,则将其设置为TRUE。如果为FALSE,则MCU驱动程序将不会写入相应的寄存器

2、3.根据FIRC时钟分频因子,就可以得到时钟频率

4.是否支持standby模式使用

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

1.这个是特定的,供其他参考时钟使用,如果没用到,可以失能

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

1.默认使能晶振功能。如果我们需要用到GPI功能的IO,一定要失能该功能,否则功能不正常

2.指定了“计数值结束”,用于在重置后或开启时由振荡器稳定计数器进行比较。

3、4. 晶振断电控制,使能需要外接晶振

接下来就是PLL时钟的配置。

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机
nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机
nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

1.使能PLL时钟

3.调制类型选择-以标称频率为中心

4.StepSize = [McuPllFdMdp * (Mfi + McuPllFdMfn / 18432) * 18432] / (100 * McuPllFmStepNo).

5.StepNo=McuPllClockSelection)/(2McuPllFdFmodMcuPllDvRdiv)

6、7、8.使能PHI0、PHI1,并设置分频系数

9、2. PLL_VCO = 16M/2*120 = 960M

​ PLL_PHI0 = 960M / ( 5 + 1) = 160M

​ PLL_PHI1 = 960M / ( 5 + 1) = 160M

​ 接下来关于MC_CGM mux 0 clocks的时钟树,在EB里面选择时钟来源,和选择对应的分频系数得到我们所需要的频率就好。

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

1.选择时钟源,按需选择,我此处选择PLL_PHI0_CLK

2.从PLL_PHI0_CLK 给到CORE_CLK的时钟需要的分频系数

3.默认Common trigger divider update,两种触发更新手册有详细的介绍,包括具体流程

4.PLL_PHI0_CLK时钟/分频系数 = 你需要的频率

其他的几个时钟也是类似,按照芯片手册设置好分频系数就行

​ 从McuCgm0ClockMux1 到McuCgm0ClockMux11的配置都一样,我们只需要选择对于的时钟来源,设置好分频系数得到我们想要的频率就好。

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

1.选择STM0_CLK的时钟源,从芯片手册看有三个FXOSC_CLK、FIRC_CLK、AIPS_PLAT_CLK

2.使能STM0_CLK时钟输出

3、4.根据你需要的频率去配置分频系数

​ 在配置完MCU模块之后,就需要将这些时钟给到其他模块使用,EB里面是在McuClockReferencePoint里面操作,类似于索引

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

此处的时钟参考点是和其他模块建立连接的,可以根据具体用到哪个模块来添加对应的时钟参考点。

​ 至此,MCU的时钟树配置基本完成,对于S32K3的时钟有个大的了解,之后在新增模块啥的,也知道怎么去配置时钟。主要是提供一种思路,具体细节还需要多看手册,具体到需求去配置。

3.3.模式配置

​ S32K3模式有两种,正常模式和低功耗模式,主要看MCU休眠方案,一般MCU断电就可不考虑低功耗模式,下面介绍一种正常工作的配置,低功耗模式后续再记录

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

1.选择工作模式: RUN

2.只有在 Mode为SOC_STANDBY才可以选择主核

3.是否使能锁步核,该配置只用古S32K39X

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

1.使能Partition0的所有配置

2.CM7_0默认配置,不受MCU控制

3、4、5 :主要是从核的启动流程决定的,使能CM7_1时钟以及启动地址

​ 外设时钟使能,这个地方很容易遗忘,前期在刚开始配置的时候可以全部外围时钟先使能,负载率会高点而已,等后期将负载率或优化的时候把不用的外围时钟再使能。本人前期再此犯过错,最后调试的时候看寄存器发现时钟没使能,挺难查的。

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

3.4.其他

​ 有些比较细节的东西都是犯过错才总结出来的。如果用到高速的时钟我们需要使能LMAUTOEN,不使能可能导致大量的热量积攒导致MCU烧掉,这个NXP论坛也是提出了解决方案。具体参考如下:S32K344 Last Mile Regulator

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

nxps32k311 gpio三态,AUTOSAR-MCAL,学习,笔记,单片机

1.RTD3.0是支持单独使能LMAUTOEN的,此处使能就好了,如果不支持就像论坛那样,不进行电源管理初始化,给到默认值就行

3.5 展望

​ MCU模块很庞大,有很多的配置项启动没有用过,只能说后续有需要再继续研究。一般都是在出问题之后去查芯片手册,然后解决问题。

​ 后续将不会单独的以一个模块来记录,感觉这样比较空旷,不便于理解,后续将以实现某功能来记录各个模块。文章来源地址https://www.toymoban.com/news/detail-776737.html

到了这里,关于S32K3学习笔记---S32K3之MCU模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • S32K3系列单片机开发笔记(SIUL是什么/配置引脚复用的功能·)

    今天花时间看了一下,SIUL2模块的相关内容,并参照文档,以及例程作了一些小记录,知道该如何使用这个外设,包括引脚的配置,中断配置,以及常用函数的使用等,但对其中的一些细节还需要跟深入的学习和了解。 系统集成单元:System Integration Unit Lite2 (SIUL2) 提供外部设

    2023年04月25日
    浏览(34)
  • S32K3 MCAL配置之GPT 基于EBtresos

    GPT GPT可以为系统配置定时器通道给需要定时功能的模块,比如OS需要一个时间刻度来周期执行TASK; 计时器按照用户设置进行计时,达到预定的时间通过中断通知系统,系统可在通知函数内进行服务调度; 涉及模块:GPT MCU Platform 在GptChannelConfiguration添加GPT通道 双击GPT通道进

    2024年02月02日
    浏览(30)
  • S32K3系列 --- 硬件I2C Mcal配置

    网上看到很多I2C的教程,基本都是模拟I2C,现在S32K3的芯片支持硬件I2C,我想着就配一个硬件的出来吧,这边记录一下,供大家学习。 这里主要教大家如何去配置,去使用。 原理的话可以参考这篇文章: 一文搞懂I2C通信总线_i2c通信的详细讲解-CSDN博客 I2C时序 这里我们用I2C与

    2024年01月18日
    浏览(34)
  • S32K3系列MCAL配置详解之 UART(串口)基于EB tresos

    UART 串口通讯(Serial Communication)是指外设和计算机间,通过数据信号线、地线等,按位进行传输数据的一种通讯方式。严格意义上来讲串口通讯并不属于AUTOSAR MCAL 模块依赖:UART PORT MCU 串口配置相对比较简单,首先在uartchannel选项卡下新增一个配置项,双击进入 时钟参考等会儿

    2024年02月13日
    浏览(35)
  • S32K系列MCU学习介绍

    最近因为工作需要,在学习恩智浦的S32K312,开发一款汽车PDU。 S32K系列是恩智浦公司于2017年推出的面向汽车电子的微控制器。S32K3 系列包括基于 Arm Cortex-M7 的 MCU,采用单步、双步和锁步内核配置,支持 ASIL B/D 安全应用。功能包括具有恩智浦固件的硬件安全引擎,支持固件无

    2023年04月25日
    浏览(29)
  • 一步一步搭建S32K14x的AutoSar项目----MCAL之MCU模块

    1-1、时钟对于任何一款微控制器是很重要的,所以我们首先要了解S32K144的时钟树,才能为后续的MCAL中MCU模块配置做好准备,废话不多说,先上一张图片,聊了解下 对应芯片手册的第27章 Clock Distribution 。 1、SOSC 就是连接外部的高速时钟,我们一般情况下会优先选择它,精准

    2024年01月22日
    浏览(38)
  • S32K3XX单片机DMA原理深度解析

    首先我们需要了解,什么是 DMA ? DMA 的中文名称叫做 直接内存访问 ( Direct Memory Access ),是一种不需要CPU参与,就能实现数据传输的技术(从一个地址空间到另一个地址空间)。也就是说,在不需要 CPU 插手的情况下,完成内存与外存之间的数据传输,从而 CPU 可以被解放

    2024年02月04日
    浏览(42)
  • S32K系列MCU介绍和资料搜集

    S32K系列微控制器,是NXP推出的专门面向汽车电子和工业应用场合的微控制器。基于Arm®Cortex®-M系列的可扩展、低功耗微控制器,获得了AEC-Q100认证,具有高级功能安全、信息安全和软件支持,适用于工业和汽车ASIL B/D车身、区域控制和电气化应用。 S32K系列MCU有多个系列型号,

    2024年02月15日
    浏览(44)
  • S32K142 MCU锁死解锁

    本文主要介绍S32K142 MCU锁死(Jlink报错:0x400-0x40F indicate that readout p’rotection is set)的原因简介以及如何使用 J-Link Commander 工具解🔒。 一、故障现象 二、原因分析 基于S32K144的芯片锁死,一般有如下几种可能:   1. 时钟配置异常 ,MCU被倍频以及不配置时钟,都有可能造成

    2024年02月04日
    浏览(42)
  • 【Autosar】MCAL - MCU(NXP - S32K14x)

    MCAL - 汇总 配置工具:EB Tresos Studio 芯片类型:S32K146 MCU模块提供了访问 内核 相关功能的API,例如配置时钟、初始化RAM、设置低功耗模式、提供复位接口等。 1.1 时钟介绍 从上图可以看到最左边为输入时钟源,右边为输出时钟 ,为了让系统运行在合适的时钟频率环境下,我们

    2024年02月04日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包