概述
Ameba 系列的 I/O 提供灵活的连接能力,支持与片上的模拟和数字电路接口进行连接。详见 I/O 框图 所示。
有关 PAD 连接片上信号的配置方法,请参阅 引脚复用 章节。本节主要介绍 PAD 支持的功能与编程方法。
I/O 框图
功能特性
引脚控制模块支持灵活的 I/O 电气特性控制:
内部上拉/下拉电阻
可配置的片上电阻网络,支持上拉/下拉/高阻控制
部分引脚上拉/下拉电阻阻值可调
可编程的 Driving Strength 挡位
可编程驱动能力,多档位可选
可编程 Slew Rate 控制
可调节信号边沿陡峭度,支持快速/慢速模式切换
PAD 控制与编程接口
PAD API 参考
芯片通过 {SDK}/component/soc/amebaxxx/fwlib/include/ameba_pinmux.h
头文件提供完整的 PAD 控制接口。
API |
描述 |
---|---|
PAD_PullCtrl |
配置 Active 模式下 PAD Pull 类型 |
PAD_SleepPullCtrl |
配置 Sleep 模式下 PAD Pull 类型 |
PAD_ResistorCtrl |
配置 PAD 上拉/下拉阻值类型 |
PAD_DrvStrength |
配置 PAD 驱动能力挡位 |
PAD_InputCtrl |
开启/关闭 PAD 数字路径控制 |
PAD_SlewRateCtrl |
配置 PAD 上升沿/下降沿速率 |
备注
有关 PAD 特性参数,如:上下拉阻值信息、驱动能力、电压特性及信号边沿速率等性能指标请查询芯片数据手册。
低功耗模式引脚状态管理
PAD 在 Active 与低功耗模式下的 PU/PD 功能分别由不同寄存器进行控制。这种设计允许在低功耗模式下为每个引脚独立配置片内的上拉或下拉电阻。
PAD 输入状态
普通睡眠模式(PG 或 CG)
所有 PAD 的 PU/PD 功能均生效。
深度睡眠模式
大多数 PAD 的 PU/PD 功能仍然生效;
某些 PAD 的供电会被关闭,导致这些引脚的 PU/PD 失效,因此可能呈现浮空状态。
如果与这些 PAD 相连的电路需要被拉到高或低状态,则需要在 PCB 上使用外部电阻器。
备注
深度睡眠模式下, PU/PD 功能无效的 PAD,请查询芯片数据手册。
PAD 输出状态
普通睡眠模式(PG 或 CG)
PAD 输出的状态将 保持睡眠前的状态 。
例如,在睡眠之前,如果 I/O 设置为输出 1,系统进入 PG 或 CG 后,此 I/O 仍将保持输出 1 不变。
深度睡眠模式
Active 下设置的 1/0 输出状态将失效。
例如,在睡眠之前,如果 I/O 设置为输出 1,系统进入深度睡眠后,则 I/O 将无法保持输出 1 状态。
模拟数字共用引脚使用规范
部分 PAD 设计为既可连接到模拟电路,也可与数字电路通信。为确保模拟信号的完整性,这些 PAD 用作模拟功能时,需断开与数字路径连接 (例如,作为 ADC 的输入)。
ADC 与 Cap-touch PAD
对于该部分 PAD,支持其与 ADC, Cap-touch 模拟电路及数字电路连接。默认情况作为数字功能。
备注
支持该功能的 PAD, 请查询 ADC 或 Cap-touch 章节介绍。
当配置其作为 ADC 或 Cap-touch pin 时,需执行以下操作 :
步骤 1:关闭数字通路连接
PAD_InputCtrl(PinName, DISABLE);
步骤 2:Pull Control 配置为浮空状态
PAD_PullCtrl(PinName, GPIO_PuPd_NOPULL);
步骤 3:与 ADC 或 Cap-touch pin 功能相关的其它配置,详见 ADC 或 Cap-touch 章节介绍。
当配置其为数字功能时,需执行以下操作 :
需先调用如下接口使能数字通路连接,再按需进行引脚复用即可。
PAD_InputCtrl(PinName, ENABLE);
Audio PAD
无。
对于该部分 PAD,支持与 Audio 电路接口或数字电路接口连接。 默认用作 Audio 功能 。
备注
支持该功能的 PAD, 请查询 Audio 章节。
当配置其用作 Audio 功能时 :
需先调用如下 API 以关闭数字通路连接
APAD_InputCtrl(PinName, DISABLE);
其它与 Audio 功能相关配置,请参阅 Audio 章节。
当配置其为数字功能时,需按序执行以下操作 :
步骤 1:开启数字通路连接
APAD_InputCtrl(PinName, ENABLE);
步骤 2:Mute Audio 操作
关于该操作,我们已在
Pinmux_Config()
处理好,直接调用该 API 进行引脚复用即可。如您对该处理过程感兴趣,请查询硬件设计指南。
对于该部分 PAD,支持与 Audio 电路接口或数字电路接口连接。 默认用作 Audio 功能 。
备注
支持该功能的 PAD, 请查询 Audio 章节。
当配置其用作 Audio 功能时 :
需先调用如下 API 以关闭数字通路连接
APAD_InputCtrl(PinName, DISABLE);
其它与 Audio 功能相关配置,请参阅 Audio 章节。
当配置其为数字功能时,需按序执行以下操作 :
步骤 1:开启数字通路连接
APAD_InputCtrl(PinName, ENABLE);
步骤 2:Mute Audio 操作
关于该操作,我们已在
Pinmux_Config()
处理好,直接调用该 API 进行引脚复用即可。如您对该处理过程感兴趣,请查询硬件设计指南。
对于该部分 PAD,支持与 Audio 电路接口或数字电路接口连接。 默认用作 Audio 功能 。
备注
支持该功能的 PAD, 请查询 Audio 章节。
当配置其用作 Audio 功能时 :
需先调用如下 API 以关闭数字通路连接
APAD_InputCtrl(PinName, DISABLE);
其它与 Audio 功能相关配置,请参阅 Audio 章节。
当配置其为数字功能时,需按序执行以下操作 :
步骤 1:开启数字通路连接
APAD_InputCtrl(PinName, ENABLE);
步骤 2:Mute Audio 操作
关于该操作,我们已在
Pinmux_Config()
处理好,直接调用该 API 进行引脚复用即可。如您对该处理过程感兴趣,请查询硬件设计指南。
对于该部分 PAD,支持与 Audio 电路接口或数字电路接口连接。 默认用作 Audio 功能 。
备注
支持该功能的 PAD, 请查询 Audio 章节。
当配置其用作 Audio 功能时 :
需先调用如下 API 以关闭数字通路连接
APAD_InputCtrl(PinName, DISABLE);
其它与 Audio 功能相关配置,请参阅 Audio 章节。
当配置其为数字功能时,需按序执行以下操作 :
步骤 1:开启数字通路连接
APAD_InputCtrl(PinName, ENABLE);
步骤 2:Mute Audio 操作
关于该操作,我们已在
Pinmux_Config()
处理好,直接调用该 API 进行引脚复用即可。如您对该处理过程感兴趣,请查询硬件设计指南。
无。
USB PAD
当配置其作为 USB PAD 时,需执行以下操作 :
配置 PU/PD 为浮空状态,该操作已在底层驱动代码实现,您无需额外操作。更多技术细节请参阅 USB 章节。
当从 USB 功能切换至其它功能时 :
仅需执行相应的 USB 去初始化操作,并按需进行引脚复用即可,无需额外操作。
无。
无。
无。
对于该部分 PAD,在使能 USB 时需打开数字通路,否则需关闭数字通路。
相关操作已在底层驱动代码实现,您无需额外操作。更多技术细节请参阅 USB 章节。
当配置其作为 USB PAD 时,需执行以下操作 :
步骤 1:关闭 PAD 数字通路连接;
步骤 2:配置 PU/PD 为浮空状态。
以上操作均已在底层驱动代码实现,您无需额外操作。更多技术细节请参阅 USB 章节。
当从 USB 功能切换至其它功能时 :
仅需执行相应的 USB 去初始化操作,并按需进行引脚复用即可,无需额外操作。