MCU开发中,RTD的介绍与模块详解

一、恩智浦 NXP S32K3平台开发,相关概念介绍

1.1 RTD

RTD:(Real Time Drivers)是一种实现复杂软件接口抽象的体系结构,就是基于S32K3平台开发时,NXP为我们提供了一个平台。

它结合了AUTOSAR和专有软件体系结构的低级驱动程序,将以前的MCAL和SDK合并到了一个软件平台。如此,简化了汽车软件开发的成本和复杂性问题。

1.2 MCAL

MCAL(Microcontroller Abstraction Layer)是 Autosar(Automotive Open System Architecture)中的一个重要组成部分。MCAL 提供了一组与底层硬件相关的 API 和服务,使高层应用程序能够与底层硬件进行通信和交互,以便实现系统的功能。

常见的 MCAL 模块包括:

DIO(Digital Input/Output)模块:用于控制数字输入和输出,如控制车灯等。
ADC(Analog-to-Digital Converter)模块:用于将模拟信号转换成数字信号,以便交给 MCU 进行处理。
PWM(Pulse Width Modulation)模块:用于生成脉冲宽度调制信号,以控制电机、空调等设备。
ICU(Input Capture Unit)模块:用于捕获外部输入信号的时间信息,并将其转换成数字信号。
GPT(General Purpose Timer)模块:提供一个通用定时器,用于处理周期性的任务。
WDG(Watchdog Timer)模块:用于监测系统运行状态,防止应用程序出现错误而导致系统崩溃。
此外,MCAL 模块是整个 Autosar 框架中相对底层的组件,为下层硬件提供了一个抽象层,使上层应用程序能够更加方便地进行开发和移植,从而提高了系统的灵活性和可维护性。

二、恩智浦 NXP S32K3平台 的RTP模块

模块名(英文全称)解释
ADC(Analog-to-Digital Converter)用于将模拟信号转换成数字信号,以便交给 MCU 进行处理。
DMA (Direct Memory Access)直接内存访问,是一种允许某些处理器或硬件子系统在没有中央处理器干预的情况下读取和写入主内存的技术。
C40 (Cotex-40)一个高性能、低功耗的微处理器系列,用于汽车电子和其他嵌入式应用。
CACHE (高速缓冲存储器)一种用于提高计算机性能的技术,通过存储常用的数据和指令来减少从主内存访问数据的时间延迟。
CLOCK (时钟发生器)为计算机系统提供计时和同步信号的设备或模块。
EMIOS (Enhanced Modular I/O Subsystem)增强型模块化输入/输出子系统,是一个高性能、可配置的模块,用于处理和控制各种输入/输出信号和接口。
PWM(Pulse Width Modulation)用于生成脉冲宽度调制信号,以控制电机、空调等设备。
FLEXCAN (Flexible Controller Area Network)一种用于汽车和其他嵌入式系统的串行通信协议,用于连接电子控制单元(ECU)。
LPI2C (Low Power Inter-Integrated Circuit)一种低功耗版本的 I2C 通信协议,用于在微控制器和其他设备之间进行通信。
LPUART (Low Power Universal Asynchronous Receiver/Transmitter)低功耗版本的 UART(通用异步收发器),用于在微控制器和其他设备之间进行异步串行通信。
OSLF (Operating System Layer Framework)操作系统层框架,是一个为嵌入式系统提供操作系统功能的软件框架。
POWER (Power Management)电源管理模块,用于控制和管理设备的电源供应,以优化能源使用和提高设备的性能。
QSPI (Quad SPI)四线 SPI(串行外设接口)协议,用于在微控制器和其他设备之间进行高速串行通信。
SCHM (Schedule Manager)调度管理器,用于管理和调度嵌入式系统中的任务和中断。
SIUL2 (Silicon Labs UNI-CORE2)Silicon Labs 的 UNI-CORE2 是基于 ARM Cortex-M4 的微控制器系列,用于各种嵌入式应用。

三、模块详解

3.1 EMIOS (Enhanced Modular I/O Subsystem) 增强型模块化输入/输出子系统

Emios提供了丰富的输入输出功能,使得MCU能够与外部设备进行通信和控制。

Emios的作用主要体现在以下几个方面:

  • 增强型输入输出:Emios具备高速度、高精度、高可靠性的输入输出能力,能够满足各种复杂的应用需求。通过Emios,MCU可以轻松地与各种传感器、执行器、显示器等外部设备进行数据交互。
  • 模块化设计:Emios采用模块化的设计理念,可以根据具体的应用需求选择合适的模块进行配置。这种设计方式不仅提高了开发灵活性,还降低了开发成本和时间。
  • 集成度高:Emios集成了多种常用的IO功能,如数字IO、模拟IO、PWM输出等。通过Emios,MCU可以方便地实现各种控制和监测功能,而无需额外扩展其他硬件设备。
  • 可扩展性强:Emios还提供了丰富的扩展接口,可以与其他硬件设备进行无缝连接和通信。这种可扩展性使得MCU的应用范围更加广泛,能够满足各种不同的需求。

综上所述,Emios在MCU开发领域中扮演了关键的角色,它提供了强大的输入输出功能、灵活的模块化设计和可扩展性强的接口,使得MCU能够更好地实现各种控制和监测功能。

3.1.0 eMISO 实例与通道

S32K314上,
一共支持 eMISO 实例 3 个; 每个 eMISO 实例,支持 24通道;

3.1.1 通道状态

initial
uninitialized
idle

3.1.2 通道极性

eMIOS通道的极性通常指的是数字信号的电平状态。具体来说,极性是指信号在逻辑高或逻辑低状态时的电压值。

一般来说,逻辑高(或正)和逻辑低(或负)是相对于MCU内部基准电压而言的。逻辑高电压通常被定义为正电压,而逻辑低电压则被定义为负电压。

在eMIOS通道中,极性可以通过配置寄存器来设置。不同的极性设置会影响到信号的电压阈值和电平状态,进而影响信号的读取和识别。

3.2 PWM(Pulse Width Modulation)脉冲宽度调制

在MCU(微控制单元)开发领域,PWM(脉冲宽度调制)扮演着重要的角色,它是一种用于控制和生成脉冲信号的技术。PWM广泛应用于各种领域,包括电机控制、LED亮度调节、音频输出等。

PWM的作用主要体现在以下几个方面:

  • 模拟信号控制:PWM是一种用于控制模拟信号的技术。通过调整脉冲宽度和周期,PWM可以模拟出不同的电压或功率级别。这使得MCU可以利用PWM技术实现对模拟信号的数字控制。
  • 节能和功率控制:在许多应用中,如电机控制和LED亮度调节,PWM用于实现节能和功率控制。通过调整脉冲宽度,MCU可以精确地控制设备的功耗和输出功率,从而实现节能和延长设备使用寿命的目的。
  • 通信和数据传输:PWM还可用于通信和数据传输。通过改变脉冲宽度或频率,MCU可以发送特定的数据或命令。这种技术在远程控制、传感器网络和数据传输等方面具有广泛的应用。
  • 音频处理:在音频输出方面,PWM用于生成音频信号。通过调整脉冲宽度和频率,MCU可以生成各种不同的音频信号,从而实现音频输出和控制。

总之,PWM在MCU开发领域中发挥着重要的作用,它可以用于模拟信号控制、节能和功率控制、通信和数据传输以及音频处理等方面。通过PWM技术,MCU可以实现更加精确和灵活的控制功能,满足各种不同的应用需求。

3.2.1 具体使用

核心概念:
PWM实例
|— 通道1 波形周期 2s
|— 通道2 波形周期 3s

每个PWM实例中,有多个通道,每个通道有一个波形周期的参数。
PWM占空比(duty cycle):是指在一个脉冲周期内,高电平时间与整个周期时间的比值。

PWM的实现原理是通过调节脉冲宽度来模拟不同的电压或功率级别。

举例:
控制风扇时,可以在OPWFMB模式下设置波形占空比。占空比为100%时,代表着风扇一直转。
具体地,

  1. 设置一个PWM实例的某个通道的波形占空比。
  2. 设置通道启用

启用后 eMIOS会按PWM设置好的参数 输出 波形,控制风扇转动。

四、LDO芯片

LDO芯片:低压差线性稳压器(Low Dropout Regulator)

MPS(Monolithic Power Systems)是一家全球领先的高性能电源解决方案半导体公司,位于美国加州。主要做高性能的模拟集成电路和混合信号集成电路产品,其中电源管理芯片是他们公司最NB的
MPQ2022 是其中一款电源管理芯片(Automotive Dual Phantom Antenna LDO 汽车双幽灵天线 - 低压差线性稳压器)

随着汽车电子系统的复杂性和集成度不断提高,越来越多的功能和系统需要在汽车上实现,这导致了汽车对电源的需求不断增加。因此,现代汽车通常会使用多个LDO芯片来提供稳定的电源供应,以确保各个系统和部件的正常运行。

这些LDO芯片可能用于各种不同的应用场景,如车载信息娱乐系统、车身控制、照明系统、安全系统、电池管理、发动机控制、传感器、车载通信等。

  1. 车载信息娱乐系统:车载音频播放器、车载导航系统、收音机天线、移动网络4G/5G天线
  2. 车身控制:控制车辆的灯光、门窗、座椅等
  3. 自动驾驶:在自动驾驶技术中,大量的传感器和执行器需要稳定的电源供应

除了汽车电子领域外,也广泛应用于以下行业:

行业应用场景
通信设备手机、平板、基站、路由器等
工业控制传感器、执行器、控制器等
航空航天传感器、控制系统和通信设备等
消费电子电视、音响、游戏机等
医疗设备监护仪、呼吸机、超声设备等
智能家居智能灯泡、智能插座、智能恒温器等
网络设备路由器、交换机、调制解调器等

4.1 实际应用

LDO1 车辆前后电源
LDO2 车辆左右电源
LDO3 turner天线、8V-MIC IVI
LDO4 行车记录仪、MIK系列微控制器
LDO5 电池管理系统(充电)、V2X模块(车联网)的电源电压
LDO6 8V_MIC(TBOX),GPS天线(TBOX)


RTD 的模块太多了,暂时就遇到这两个,先介绍到这儿。
后期遇到的多了,打算把模块横展开,再写两篇,看情况吧。


本文完。

觉得有用的话,动动你发财的小手手,点个赞,^(∩_∩)^ 谢谢~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/670730.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业数字化转型面临什么挑战?

数字化转型是一个复杂且持续的过程,涉及将数字技术集成到组织的各个方面,从根本上改变组织的运营方式和为客户提供价值的方式。虽然具体的挑战可能因企业的性质和规模而异,但一些常见的挑战包括: 1.抵制变革: 文化阻…

Java入门之JavaSe(韩顺平p1-p?)

学习背景: 本科搞过一段ACM、研究生搞了一篇B会后,本人在研二要学Java找工作啦~~(宇宙尽头是Java?)爪洼纯小白入门,C只会STL、python只会基础Pytorch、golang参与了一个Web后端项目,可以说项目小…

Flink-CDC实时读Postgresql数据

前言 CDC,Change Data Capture,变更数据获取的简称,使用CDC我们可以从数据库中获取已提交的更改并将这些更改发送到下游,供下游使用。这些变更可以包括INSERT,DELETE,UPDATE等。 用户可以在如下的场景使用cdc: 实时数据同步:比如将Postgresql库中的数据同步到我们的数仓中…

《Docker极简教程》--Docker基础--基础知识(二)

一、Docker引擎 1.1 Docker引擎的组成和功能 Docker 引擎是 Docker 平台的核心组件,它负责容器的创建、管理和运行。Docker 引擎主要包括两个主要组件:Docker 守护程序(Docker Daemon)和 Docker 客户端(Docker Clien…

deepin20.9安装及配置

安装deepin20.9很简单,刻录u盘 安装 一路next apt install nginx global vim-nox debian11 使用apt安装php, 使php多版本共存_debain11 php5-CSDN博客 vim LeaderF安装问题 - 知乎 debian10安装vue环境, 包括安装node.js-CSDN博客 debian安装vue3 nodejs20-CSD…

Python初学者学习记录——python基础综合案例:数据可视化——动态柱状图

一、案例效果 通过pyecharts可以实现数据的动态显示,直观的感受1960~2019年世界各国GDP的变化趋势 二、通过Bar构建基础柱状图 反转x轴和y轴 标签数值在右侧 from pyecharts.charts import Bar from pyecharts.options import LabelOpts# 构建柱状图对象 bar Bar()…

二进制安全虚拟机Protostar靶场(7)heap2 UAF(use-after-free)漏洞

前言 这是一个系列文章&#xff0c;之前已经介绍过一些二进制安全的基础知识&#xff0c;这里就不过多重复提及&#xff0c;不熟悉的同学可以去看看我之前写的文章 heap2 程序静态分析 https://exploit.education/protostar/heap-two/#include <stdlib.h> #include &…

环境配置:Ubuntu18.04 ROS Melodic安装

前言 不同版本的Ubuntu与ROS存在对应关系。 ROS作为目前最受欢迎的机器人操作系统&#xff0c;其核心代码采用C编写&#xff0c;并以BSD许可发布。ROS起源于2007年&#xff0c;是由斯坦福大学与机器人技术公司Willow Garage合作的Switchyard项目。2012年&#xff0c;ROS团队从…

力扣面试题 05.03. 翻转数位(前、后缀和)

Problem: 面试题 05.03. 翻转数位 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.将十进制数转换为二进制数&#xff08;每次按位与1求与&#xff0c;并且右移&#xff09;&#xff1b; 2.依次求取二进制数中每一位的前缀1的数量和&#xff0c;和后缀1的数量和…

计算机项目SpringBoot项目 办公小程序开发

从零构建后端项目、利用UNI-APP创建移动端项目 实现注册与登陆、人脸考勤签到、实现系统通知模块 实现会议管理功能、完成在线视频会议功能、 发布Emos在线办公系统 项目分享&#xff1a; SpringBoot项目 办公小程序开发https://pan.baidu.com/s/1sYPLOAMtaopJCFHAWDa2xQ?…

极狐GitLab 使用阿里云作为 OmniAuth 身份验证 provider

使用阿里云作为 OmniAuth 身份验证 provider 您可以启用阿里云 OAuth 2.0 OmniAuth provider并使用您的阿里云账户登录极狐GitLab。 创建阿里云应用 登录阿里云平台&#xff0c;在上面创建一个应用。阿里云会生成一个 client ID and secret key 供您使用。 登录到阿里云平台…

P9420 [蓝桥杯 2023 国 B] 子 2023 / 双子数--2024冲刺蓝桥杯省一

点击跳转例题 子2023思路&#xff1a;dp。最开始想着枚举&#xff0c;但是超时&#xff0c;想着优化以下&#xff0c;但是还是不行。 那么切换算法&#xff0c;应该是dp&#xff1a; 1.f [i] 表示当前字符串 以 2023 为第 i 位的数量方案&#xff1a;如f [0] 表示 前i个字符串…

PHP实现DESede/ECB/PKCS5Padding加密算法兼容Java SHA1PRNG

这里写自定义目录标题 背景JAVA代码解决思路PHP解密 背景 公司PHP开发对接一个Java项目接口&#xff0c;接口返回数据有用DESede/ECB/PKCS5Padding加密&#xff0c;并且key也使用了SHA1PRNG加密了&#xff0c;网上找了各种办法都不能解密&#xff0c;耗了一两天的时间&#xf…

C语言:内存函数

创作不易&#xff0c;友友们给个三连吧&#xff01;&#xff01; C语言标准库中有这样一些内存函数&#xff0c;让我们一起学习吧&#xff01;&#xff01; 一、memcpy函数的使用和模拟实现 void * memcpy ( void * destination, const void * source, size_t num ); 1.1 使…

微信小程序(三十四)搜索框-带历史记录

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.搜索框基本模板 2.历史记录基本模板 3.细节处理 源码&#xff1a; index.wxml <!-- 1.点击搜索按钮a.非空判断b.历史记录&#xff08;去重&#xff09;c.清空搜索框d.去除前后多余空格2.删除搜索 3.无搜索…

Golang 学习(一)基础知识

面向对象 Golang 也支持面向对象编程(OOP)&#xff0c;但是和传统的面向对象编程有区别&#xff0c;并不是纯粹的面向对象语言。 Golang 没有类(class)&#xff0c;Go 语言的结构体(struct)和其它编程语言的类(class)有同等的地位&#xff0c;Golang 是基于 struct 来实现 OOP…

部署 Zabbix 监控平台

部署 Zabbix 监控平台 目录 部署 Zabbix 监控平台一、 Zabbix简介Zabbix 特性Zabbix监控功能 二、Zabbix 概述Server数据库Web 界面ProxyAgent数据流Zabbix serverZabbix agentzabbix配置文件 三、部署Zabbix1&#xff1a;部署监控服务器1.1安装 LNMP 环境1.2 修改 Nginx 配置文…

Linux内核与驱动面试经典“小”问题集锦(2)

接前一篇文章&#xff1a;Linux内核与驱动面试经典“小”问题集锦&#xff08;1&#xff09; 问题2 问&#xff1a;spin_lock和spin_lock_irq以及spin_lock_irqsave的区别是什么&#xff1f;也可以说它们之间有什么区别和联系&#xff1f; 备注&#xff1a;此题是自旋锁问题的…

Unity类银河恶魔城学习记录1-14 AttackDirection源代码 P41

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili PlayerPrimaryAttackState.cs using System.Collections; using System.Co…

C语言的malloc(0)问题

malloc(0)详解 首先来解释malloc&#xff08;0&#xff09;的问题&#xff0c;这个语法是对的&#xff0c;而且确实也分配了内存&#xff0c;但是内存空间是0&#xff0c;就是说返回给你的指针是不能用的&#xff0c;感觉奇怪吧&#xff1f;但是从操作系统的原理来解释就不奇怪…