首页 理论教育TI芯片引脚复用详解

TI芯片引脚复用详解

【摘要】:图4-53引自《DM 3730芯片手册》中第2449的表。图4-53DM 3730引脚复用相关寄存器图4-54DM 3730引脚配置寄存器设置从图4-54中可见,引脚的设置除了具体针对模块功能之外,还有不同的引脚属性配置。2引脚复用管理数据结构下面看看TI的引脚复用的重要数据结构和详细说明。3引脚复用管理相关函数引脚的管理分为整体和设备模块相关两部分。对于omap_hwmod相关的代码会在TI的SoC电源管理部分进行详细介绍。

1ᤫ硬件引脚控制寄存器

首先来看看硬件上引脚复用提供给软件接口寄存器,如图4-53所示。图4-53引自《DM 3730芯片手册》中第2449的表。

图4-53中引用的只是DM 3730引脚控制相关寄存器的一部分,从中可见对于某个固定的引脚可能会有不同的模式,而不同的模式表示该引脚为不同的功能模块提供服务,特殊的是safe_mode并不为具体的功能模块服务。从硬件的角度,引脚为safe_mode时,即使打开输入功能硬件也不会出现误传信号的问题。

引脚配置寄存器的设置如图4-54所示。图4-54引自《DM 3730芯片手册》中第2444页框图。

978-7-111-49426-3-Chapter04-305.jpg

图4-53 DM 3730引脚复用相关寄存器

978-7-111-49426-3-Chapter04-306.jpg

图4-54 DM 3730引脚配置寄存器设置

从图4-54中可见,引脚的设置除了具体针对模块功能之外,还有不同的引脚属性配置(比如上下拉,以及电源管理的属性)。从这些设置的内容可见,引脚复用属于横切功能,所以从设计的角度还是要考虑对于不同设备的支持。这就要求数据结构设计合理,并且要有通用性。

2ᤫ引脚复用管理数据结构

下面看看TI的引脚复用的重要数据结构和详细说明。

978-7-111-49426-3-Chapter04-307.jpg

978-7-111-49426-3-Chapter04-308.jpg

978-7-111-49426-3-Chapter04-309.jpg

3ᤫ引脚复用管理相关函数

引脚的管理分为整体和设备模块相关两部分。先来看看整体的引脚管理,主要形成omap_mux_partition的信息,具体的代码与分析如下:(www.chuimin.cn)

978-7-111-49426-3-Chapter04-310.jpg

978-7-111-49426-3-Chapter04-311.jpg

这些工作主要是在板级初始化的时候做。板级初始化阶段就可以进行特定的引脚设置工作,相应的引脚参数是由特定的omap_board_mux来进行设置,在board-omap3evm.c中进行相关设置的代码如下:

978-7-111-49426-3-Chapter04-312.jpg

与设备相关的引脚管理的接口函数和详细分析如下:

978-7-111-49426-3-Chapter04-313.jpg

978-7-111-49426-3-Chapter04-314.jpg

978-7-111-49426-3-Chapter04-315.jpg

978-7-111-49426-3-Chapter04-316.jpg

978-7-111-49426-3-Chapter04-317.jpg

978-7-111-49426-3-Chapter04-318.jpg

978-7-111-49426-3-Chapter04-319.jpg

978-7-111-49426-3-Chapter04-320.jpg

978-7-111-49426-3-Chapter04-321.jpg

从以上分析可见,TI提供的引脚管理已经包括了引脚总的管理,以及专门针对设备模块的引脚管理,其中还涉及了电源管理相关的功能,是比较完整的架构。只是完全基于TI处理器的特点进行设计的,并没有考虑进一步的抽象,没有将操作和属性分别抽象出来,这一点与pin control架构还是有差别的,但是从功能完整性的角度来看已经是完整的方案了,可以帮助理解pin control架构。在设备模块引脚管理的代码中可见omap_hwmod,该结构是所有设备模块的抽象,与系统管理以及电源管理息息相关,该结构虽然与TI处理器有紧密关系,但也是非常清晰合理的上层抽象,所以作为设备模块的资源之一的引脚管理信息自然应该包含在其中。对于omap_hwmod相关的代码会在TI的SoC电源管理部分进行详细介绍。