摘要
大多数Stellaris®系列微控制器提供了一个以上的布局和外设模块的信号引脚。GPIO信号引脚的复用功能也为系统设计提供了多种可能。本应用笔记提供引脚实现多路复用的概述,并举例说明了系统设计师如何定义了引脚配置和复用功能的使用。
简介
Stellaris®系列微控制器对多种外设提供了引脚的复用功能。这些微处理器可以将引脚配置成通用GPIO口也可以配置成复用功能,这样,能为不同的系统设计自定义最好的引脚使用方案。其余的引脚,例如VDD,GND,晶振输入输出引脚或是USB等功能引脚,这些引用只有各自的独占功能及固定引脚位置。
本应用笔记提供实现引脚多路复用的概述,举例说明了设计师在使用不同的Stellaris®微控制器该如何定义了引脚配置和引脚复用功能。
引脚复用概述
多数GPIO引脚在配置前处于复位状态,以下引脚处在各自的默认状态:
- JTAG/SWD引脚在上电时默认配置为debugger模式;
- UART0 Rx/Tx 引脚在Bootloader时可以操作ROM;
- SSI0引脚在Bootloader时可以操作ROM;
- I2C引脚在Bootloader时可以操作ROM;
通过以下4步配置引脚第二功能:
- 调用SysCtlPeripheralEnable()使能引脚的时钟;
- 调用SysCtlPeripheralEnable()使能外设时钟;
- 调用GPIOPinConfigure()来配置第二功能;
- 调用GPIOPinTypexxx()来配置引脚的复用功能的属性配置。
当对引脚进行再分配时,建议首先对系统需要做一个列表,而且我们必须考虑以下三个重要因素:
- 每个引脚可以重新配置的可能位置。有些引脚功能只能配置为固定的一个引脚,而有些可以配置给很多引脚;
- 有些引脚功能最好分配给相同的GPIO端口,这样也方便数据写入。
- 一些具有相似功能的引脚具有可替代性。例如,如果需要4个CCP功能,我们可以选择CCPx中任何的一个或几个。
可重新分配引脚如图所示(见附件1)。
示例
官方提供了20个demo示例来说明各个引脚的第二功能复用的配置。(见附件2)
附件1:TI 《Configuring Stellaris® Microcontrollers with Pin Multiplexing》Application Report AN01274 April 2010;下载地址
附件2:20个官方demo示例;下载地址