7362|7

569

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

LM3S8962 GPIO 接口研究(连载) [复制链接]

1。 硬件特性研究:

GPIO模块由 7个物理GPIO 模块组成,每个对应一个独立的GPIO端口(端口A, 端口B, 端口C, 端口
D, 端口E, 端口F, 和端口G, )。GPIO模块遵循FiRM规范,并且支持5-42 个可编程的输入/输出管
脚,具体取决于正在使用的外设。

   问题分析,针对LM3S8962的7个GPIO 模块,参考如下图

 

 

 

上图是LM3S8962 LQFP100封装的原理图:

 

GPIO A端口:管脚如下分配:

  PA0/U0RX :  A端口的A0管脚,同时兼容串口0的RX(接收),  26脚

  PA1/U0TX :  A端口的A1管脚,同时兼容串口0的TX(发送),27脚

  PA2/SS0CLK: A端口的A2管脚,同时兼容SSI总线的Clk(时钟),28脚

  PA3/SS0Fss: A端口的A3管脚,同时兼容SSI总线的Fss(片选),29脚

  PA4/SS0Rx: A端口的A4管脚,同时兼容SSI总线的Rx(接收),30脚

  PA5/SS0Tx: A端口的A5管脚,同时兼容SSI总线的Tx(时钟),31脚

  PA6/CCPI  : A端口的A6管脚,同时兼容捕获/比较/PWM1,34脚

  PA7           :   A端口的A7管脚,无复用管脚,35脚

 

 

如果使用上面8个管脚为普通的IO管脚,需要做如下设置:方能有效:

 

第一步:使能GIPOA ,设置A端口硬件有效,使用下面的语句:

 

    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);    ,这是GPIO端口的驱动函数

   SYSCTL_PERIPH_GPIOA: 使能A端口8个GPIO位的函数值

 

第二步:设置管脚的输入输出类型:

 GPIOPinTypeGPIOOutput( GPIO_PORTA_BASE,GPIO_PIN_0 | GPIO_PIN_1 |GPIO_PIN_2 |GPIO_PIN_3);

 GPIOPinTypeGPIOOutput: 这是GPIO端口IO管脚输入输出类型设置的驱动函数

 GPIO_PIN_0:                         管脚类型设置的函数驱动值

前面两步是必须的。

 

第三步,可以设置管脚输出电流(如果设置为输出类型)

 GPIOPadConfigSet(GPIO_PORTA_BASE,GPIO_PIN_0,GPIO_STRENGTH_4MA,GPIO_PIN_TYPE_STD);

 上面这个函数,设置GPIO A端口,输出电流4毫安。

 关于函数的具体含义见后续贴子中。

 

第四步:可以设置管脚输出值了:

   GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_3,0x00);  该函数设置A3输出为0

   GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_3,0x08);  该函数设置A3输出为1

 

上面简单,操作GPIO A端口写功能,不清楚的地方,坛友可以补充

 

 

   

 

最新回复

确实不错,对初学者的帮助很大。。。。  详情 回复 发表于 2010-12-14 15:28
 
点赞 关注

回复
举报

826

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

这个是TI的安装完之后那个群星的文件夹的程序吧

我在用ZLG的程序跑,感觉那个很专业。:$
 
 

回复

640

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 
LM3S8962的GPIO口引脚排列比较整齐连续, NXP的M0、M3的GPIO口的引脚排列很散。
 
 
 

回复

569

帖子

0

TA的资源

一粒金砂(高级)

4
 

GPIO 功能描述以及分析

重要: 除了5个JTAG/SWD管脚(PB7 和PC[3:0])之外,所有GPIO管脚默认都是三态管脚
(GPIOAFSEL=0, GPIODEN=0, GPIOPDR=0, 且 GPIOPUR=0)。JTAG/SWD 管脚
默认为 JTAG/SWD 功能(GPIOAFSEL=1, GPIODEN=1 且 GPIOPUR=1)。通过上电
复位(POR)或外部复位(RST),可以让这两组管脚都回到其默认状态。

 

需要注意:三态管脚就是说 IO脚为输入和输出以及高阻态,所以IO可以与外部总线连接在一起,不影响外设

                 上电复位POR, 仅是上电瞬间执行复位动作;该复位检测电源上电执行的,内部执行,芯片无外部复位也不影响工作。

                 外部复位RST,  可以通过外部复位按钮执行,接外部复位芯片;

LM3S8962的 参考原理图,复位管脚连接如下:

 

64脚执行外部复位 RST#, 低电平有效。该管脚需要外部上拉,保证程序正常工作

 

JTAG 复位连接:复位信号89脚,需要外部上拉,该管脚如果没有接到JTAG 接口信号里面,ARM程序下载完成后,需要掉电复位。

 

 

 

 

 

 

 

 

 

 
 
 

回复

569

帖子

0

TA的资源

一粒金砂(高级)

5
 

GPIO 功能框图以及分析

 

上图是,LM3S8962 GPIO模块的功能框图,从上图可以看出,GPIO模块能完成的功能:

GPIO 模式控制:切换GPIO管脚代表的功能,即通用IO脚与专用IO脚间的切换。

怎样切换:操作方法是这样的。通过对寄存器(GPIO备用功能选择寄存器GPIOAFSEL(寄存器名字))配置即可

 

寄存器 10: GPIO 备用功能选择(GPIOAFSEL),偏移量 0x420
GPIOAFSEL 寄存器是模式控制选择寄存器。向该寄存器中的任意位写“1”表示选择该GPIO线路所
对应的硬件控制(功能)。由于所有的位都在复位时都会清零,因此在默认的情况下,并无GPIO线
被设为硬件控制(功能)。
确认(commit)控制寄存器提供了保护层以防止对重要硬件外设的意外编程。写 GPIO 可选功能选
择 (GPIOAFSEL) 寄存器的保护位不确认存储,除非 GPIO 锁定 (GPIOLOCK) 寄存器
已被解锁且 GPIO 确认 (GPIOCR) 寄存器的相应位已被设为1。

 

GPIO模块默认都是配置通过的IO管脚,需要配置外设管脚,需要向GPIOAFSEL对应位写‘1’。

Commit 控制寄存器、GPIO锁定、GPIO确认寄存器对(GPIOAFSEL) 进行保护,防止以防止对重要硬件外设的意外编程。

 

 
 
 

回复

569

帖子

0

TA的资源

一粒金砂(高级)

6
 

GPIO的备用功能选择寄存器GPIOAFSEL分析

重要: 除了5个JTAG/SWD管脚(PB7 和PC[3:0])之外,所有GPIO管脚默认都是三态管脚
(GPIOAFSEL=0, GPIODEN=0, GPIOPDR=0, 且 GPIOPUR=0)。JTAG/SWD 管脚
默认为 JTAG/SWD 功能(GPIOAFSEL=1, GPIODEN=1 且 GPIOPUR=1)。通过上电
复位(POR)或外部复位(RST),可以让这两组管脚都回到其默认状态。
小心 – 如果JTAG管脚在设计中用作GPIO,那么PB7和PC2不能同时接外部下拉电阻。如果这两个
管脚在复位过程都被拉至低电平,那么控制器会出现不可预测的行为。一旦这种情况发生,应移除
其中一个下拉电阻,或者把两个下拉电阻都移除,并且使用RST复位或关机后重新上电。
此外,可以建立一个软件程序来阻止调试器与Stellaris®微控制器相连。如果加载到Flash的程序代
码立即将JTAG管脚变成它们的GPIO功能,那么在JTAG管脚功能切换前调试器将没有足够的时间
去连接和中止控制器。这会将调试器锁在元件外。通过使用一个基于外部或软件的触发器来恢复
JTAG功能的软件程序就可以避免这种情况发生。

 

上面红色注意事项提示我们使用GPIO的 JTAG管脚做通用IO时注意事项,为了避免这个问题,硬件设计建议:

PB7,PC2都用10K电阻上拉,JTAG管脚在程序运行后,延迟一段时间才设置JTAG管脚为通用IO管脚。避免上述问题。

 
 
 

回复

196

帖子

0

TA的资源

一粒金砂(高级)

7
 
正需要。。楼主 很详细。。。。。。谢了
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(初级)

8
 
确实不错,对初学者的帮助很大。。。。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表