当前位置: 首页 > news >正文

[MSPM0开发]之二MSPM0G3507之IOMUX功能概述(基于driverlib库)

一 IOMUX概述

MSPM0G3507中IOMUX外设主要功能:数字功能选择、反相控制、驱动强度( 如果
适用) 、上拉或下拉电阻( 如果适用), 以及唤醒配置( 如果适用于某些 IO, 用于从SHUTDOWN关断模式唤醒) 。

IOMUX 可管理数字 IO 的配置。 IOMUX 配置的主要功能包括:
• 选择将哪个外设复用到每个数字 IO 引脚( 例如, GPIO 或 UART 外设)(是的,这里GPIO也是外设
• 数字输入路径配置
– 迟滞控制
– 输入路径启用/禁用
– 输入逻辑反转控制
• 数字输出路径配置
– 驱动强度控制
– 输出连接启用/禁用
– 输出逻辑反转( 与输入逻辑反转共享控制)
– 逻辑高电平至高阻态输出转换( 用于开漏型接口)
– 禁用连接到 IO 的外设时保持“最后状态”
• 唤醒配置( 用于从 SHUTDOWN 模式唤醒)
– 从 PINCM 寄存器的唤醒状态位读取唤醒源
– 唤醒比较电平
– 释放 SHDNIOREL
– 唤醒启用/禁用
• 上拉和下拉电阻控制
数字IO结构类型
数字IO类型
对应sysconfig的这里
sysconfig
ADC、DAC模拟外设与IOMUX没有任何关系,当某个引脚开启ADC或者DAC功能时,通常其IOMUX设置为高组态(默认状态)

二 IO功能框图

IO功能结构框图

-5V 容限开漏数字 IO 提供迟滞和逻辑电平控制
-上拉电阻、下拉电阻永远需要在IOMUX中配置
- SWD引脚默认在SWD模式

TTL 模式( 左) 和 CMOS 模式( 右) 之间的输入逻辑电平差异见下图
在这里插入图片描述
迟滞功能即图中右图↑↓箭头区域

三 外设功能分配过程

3.1 外设初始化顺序

在 BOOTRST 之后为 IO 设置初始的 IOMUX 配置时, 应用软件可以通过向 PF 字段写入相应的外设选择值, 同时设置与目标引脚对应的 PINCMx 寄存器中的 PC 和 INENA 位, 从支持的选项中选择要连接到 IO 的数字外设。
必须先设置给定外设的 IOMUX 配置, 然后再初始化连接到 IO 的外设以运行。
即:先配置IOMUX,再配置外设功能 如:gpio、spi、i2c、uart、timer的输出通道、adc、dac、i2s、can等等

3.2 运行中修改外设功能

为数字 IO 配置外设功能后, 要在运行时更改该 IO 的外设功能选择, 应按以下过程操作:

  1. 禁用当前连接的外设功能
  2. 将相应 PINCMx 寄存器中的 PC 位( 输出连接位) 和 INENA( 输入连接位) 清零
  3. 将 0x0 写入 PINCMx 中的 PF 字段以清除数据路径中的逻辑
  4. 通过将外设功能 ID 写入 PF 寄存器来选择新的外设功能
  5. 设置 PINCMx 寄存器中的 PC 和 INENA 位以连接新选择的外设
  6. 启用新选择的外设以运行

3.3 输出高组态的使用

高组态输出
运行过程中高电平切换高组态,直接修改对应的“Z1位”即可

3.4 shutdown唤醒配置和唤醒后“复位操作”

配置支持唤醒的 IO 以便从 SHUTDOWN 模式唤醒, 请执行以下操作:

  1. 设置 INENA 位以使输入状态从 IO 传播到唤醒逻辑。
  2. 通过设置或清除目标引脚对应的 PINCMx 寄存器中的 WCOMP 位来选择用于唤醒的比较电平。
  3. 通过设置目标引脚对应的 PINCMx 寄存器中的 WUEN 位来启用唤醒。
  4. 通过 SYSCTL 中的相应命令进入 SHUTDOWN 模式

3.5 shutdown唤醒后的恢复过程

应用软件必须按照以下过程来恢复从 SHUTDOWN 模式退出时的 IO 状态:

  1. 必要时按照如下方式检查哪个 IO 触发了从 SHUTDOWN 模式唤醒:
    a. 重新配置与要测试唤醒状态的 IO 对应的 PINCMx 寄存器, 并设置外设连接 (PC) 位( PC 位用于门控WAKESTATE 指示) 。
    b. 测试与待测试 IO 对应的 PINCMx 寄存器中的 WAKESTATE 位, 确定该特定 IO 是否根据先前配置的WCOMP 和 WUEN 配置接收到了 WAKE 状态。
  2. 将任何其余的 IOMUX PINCM 寄存器重新配置为正确的状态。
  3. 重新配置通过 IOMUX 连接到引脚的外设并启用它们。
  4. 释放 SYSCTL 中的 SHUTDOWN IO 锁定。
  5. 清除 PINCMx 寄存器中的 WUEN 位以复位 WAKESTATE 状态。

相关文章:

  • SPORT(Serial Port)接口
  • 2.4goweb加解密和jwt
  • 物美“外贸转内销”极速绿色通道正式开启
  • ubuntu20.04 openvino的yolov8推理(nncf量化)
  • 【LINUX】学习宝典
  • spring security oauth2.0的四种模式
  • 二战蓝桥杯所感
  • Manus:开启智能新时代的通用型 AI Agent
  • ckeditor4.22版本 ckfinder php8版本下,上传提示400的问题
  • service和endpoints是如何关联的?
  • 信号FFT分析
  • 解决VS2022中scanf报错C4996
  • 创建小红书批量发布笔记RPA机器人并且添加卡密管理系统
  • Python map函数介绍
  • 快速搭建WordPress网站的主题
  • YOLOv11 解读
  • Python与去中心化存储:从理论到实战的全景指南【无标题】
  • Python 的 re.split()
  • 十二、C++速通秘籍—静态库,动态库
  • HBuilder创建项目步骤
  • 党刊网站怎么做/开发一个网站的步骤流程
  • 建网站需要什么编程技术/免费的建站平台
  • 有没有专门做装修的网站/关于seo的行业岗位有哪些
  • 旅行网站开发需求说明书/网络营销与直播电商学什么
  • 顺德乐从有做阿里巴巴的网站吗/百度下载安装免费
  • 秦皇岛网站制作的流程/网站建设公司哪家好