打印
[i.MX]

【经验分享】如何灵活使用飞思卡尔i.MX应用处理器的GPIO

[复制链接]
16805|299
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 FSL_TICS_Rita 于 2014-8-26 18:08 编辑

如何灵活使用飞思卡尔i.MX应用处理器的GPIO
从事i.MX应用处理器的应用设计客户支持工作几年以来,经常会收到GPIO使用或者与其直接相关的问题。而且问题不仅仅来自于初次使用i.MX处理器 客户,也有很多是来自从事产品开发多年的工程师。由于i.MX应用处理器具有较高的复杂性,导致硬件设计和软件开发是由不同的人/团队来负责的,从而使一 些软件硬件衔接部分成了一个类似于三不管的灰色地带。硬件设计者认为是软件去使用所以不太关心,而软件人员对硬件相关的知识基础弱,比较难于深入理解怎样 使用。但其在设计中的重要性是不容忽视的,否则会导致很多潜在的问题。

通常GPIO会占到芯片超过一半的管脚数量,在此分享一些飞思卡尔i.MX应用处理器GPIO的功能点的使用经验,希望能帮助设计人员避免问题,优化设计,让设计成为一件快乐的事。

电平转换速度(slewrate

对于这个功能的详细描述一直没有出现在飞思卡尔官方发布的文档中,经应用团队的努力下,在最新的IMX6DQRMRev2版已经加入。通过文档大家可以了解到电平转换速度依赖于三个寄存器DSE,SRESPEED)的配置,电平转换速率的输出结果有四级。

顾名思义,这是一个可以调整高低电平切换上升和下降时间速度的设置项,在一般的应用中使用芯片默认的设置就可以了。在需要微调SIEMI性能时可以尝试修改配置。

于这个功能并没有设计成可以精确的控制转换时间,只是以四种不同源驱动工作频率的形式体现的(四种源驱动频率分别为 50MHz100MHz150MHz200MHz)。由此可知我们只能以一种对比趋势的定性方式使用它。下面使用飞思卡尔官方提供的IBIS模型结 MentorGraphic公司的HyperLynx9.1仿真工具得到一组近似结果供大家参考。

仿真模型:GPIO单端输出 外加5pF负载

工作电压:1.8V

file:///C:\Users\B45499\AppData\Local\Temp\msohtmlclip1\01\clip_image001.jpg

需要注意的是对于一些高速的工作模式,例如SD口的HS104工作模式,IO的电平转换速率是已经被设定死的,不能调节了。

应用举例:降低并行显示接口所有IO的电平转换速度对改善该接口带来的EMI性能有一定的效果。

状态保存器(Keeper

飞思卡尔i.MX应用处理器的GPIO包含输入和输出两组状态保存器。

使能输入状态保存器可以在IO供电NVCC_xxx关掉之后,使输入缓冲器的输出自动维持在关电之前的逻辑状态。其价值可以在低功耗的应用中得到体现。

使能输出状态保存器可以在内核供电关掉之后,使IO的输出自动维持在关电之前的逻辑状态(需要注意的是输出状态保存器不能与上下拉同时工作)。其价值同样可以体现在低功耗的应用中。
应用举例:输入状态保存器可以允许IO的供电由外部输入逻辑来控制,不必担心状态由于外部输入逻辑关电丢失,当外部电路没有状态变化时可以关闭电源达到节电的目的。而输出状态保存器则可以允许内核关电,不必担心输出逻辑丢失。

开漏(open-drain

开漏(OD)是针对场效应管而言的,类似于三极管的集电极开路(OC)。I2C总线就是OD门电路的典型应用。

飞思卡尔i.MX应用处理器的大部分GPIO都支持开漏模式,这使得设计上可以很灵活的实现线与逻辑以及不同电压域的输出控制。

用举例:当需要使用GPIO来控制外设时,工作电平不匹配也能不是没有办法了,只要将GPIO设置为开漏模式,外面增加上拉电阻连接到受控电路逻辑电平即 可,不必担心电平不匹配带来的漏电流或者电路损坏。(当然一定要注意,外部逻辑电平不能高于GPIO本身的最大耐压值)

上下拉(pull-up/pull-down

上下拉就是指上下拉电阻,所有飞思卡尔i.MX应用处理器的GPIO都包含这个功能。需要指出的是上下来是一个相对独立的功能,不受限于输出或输入设置。也就是说当GPIO作为输入时可以使能上拉或者下拉,作为输出时也可以使能上拉或下拉。

当对上拉下电路的电流驱动能力要求不高时,片内的上下拉可以代替电路板上的上下拉设计,达到简化电路和降成本的目的。

应用举例:由于上下拉的独立性,在系统调试的时候外部控制芯片的程序可能还没有准备好,可以通过控制上下拉来对某些IO进行进行逻辑或功能测试。

附注:该功能提供的上下拉电阻的阻值误差较大,请根据数据手册和具体应用来权衡。

后记:

由于i.MX应用处理器包含众多系列,本文介绍的功能是基于目前最新的i.MX6系列,其它系列会有不同,但万变不离其中,设计时留意下就好

文档见附件。

游客,如果您要查看本帖隐藏内容请回复

相关帖子

沙发
FSL_TICS_Rita|  楼主 | 2014-8-26 18:23 | 只看该作者
有更新啦,感兴趣的朋友过来围观啊~~

使用特权

评论回复
板凳
aeromoon| | 2014-8-27 08:54 | 只看该作者
支持一下

使用特权

评论回复
地板
stargrass| | 2014-8-27 13:36 | 只看该作者
谢谢,楼主分享

使用特权

评论回复
5
bestray| | 2014-8-27 15:06 | 只看该作者
Mark

使用特权

评论回复
6
FSL_TICS_Rita|  楼主 | 2014-8-27 18:10 | 只看该作者
感谢大家支持啊~~

使用特权

评论回复
7
wanghu6652| | 2014-8-28 10:45 | 只看该作者
非常有用的资料,谢谢分享

使用特权

评论回复
8
l989898| | 2014-8-29 13:42 | 只看该作者
关注

使用特权

评论回复
9
x_ll_x| | 2014-9-1 15:57 | 只看该作者
讲的很详细

使用特权

评论回复
10
qq4988| | 2014-9-1 16:01 | 只看该作者
参考一下

使用特权

评论回复
11
zjwyczj| | 2014-9-2 12:21 | 只看该作者
不错

使用特权

评论回复
12
gongyuan073| | 2014-9-2 14:03 | 只看该作者
现在正在使用i.mx257 感觉资料很少呀

使用特权

评论回复
13
feil008| | 2014-9-5 16:55 | 只看该作者
非常不错,值得学习。

使用特权

评论回复
14
FSL_TICS_Rita|  楼主 | 2014-9-5 17:02 | 只看该作者
gongyuan073 发表于 2014-9-2 14:03
现在正在使用i.mx257 感觉资料很少呀

是滴,现在使用i.mx6比较多,并且一直在更新。i.mx25用的不是很多,所以资料也没有更新的。不过你有问题也是可以在本论坛中创帖交流的~~

使用特权

评论回复
15
FSL_TICS_Rita|  楼主 | 2014-9-5 17:03 | 只看该作者
gongyuan073 发表于 2014-9-2 14:03
现在正在使用i.mx257 感觉资料很少呀

不过关于GPIO的用法几乎是差不多的,你可以参考的。

使用特权

评论回复
16
fivecctv11| | 2014-9-7 13:49 | 只看该作者
支持

使用特权

评论回复
17
FSL_TICS_Rita|  楼主 | 2014-9-9 11:17 | 只看该作者
fivecctv11 发表于 2014-9-7 13:49
支持

非常感谢您的支持,欢迎有问题在本论坛中创帖提问哈~~大家一起交流和讨论。

使用特权

评论回复
18
ferenc2| | 2014-9-15 10:21 | 只看该作者
还没使用到GPIO,先留着

使用特权

评论回复
19
jileleke| | 2014-9-15 17:14 | 只看该作者
支持

使用特权

评论回复
20
FSL_TICS_Rita|  楼主 | 2014-9-15 18:15 | 只看该作者
常感谢大家的支持,欢迎有问题在本论坛中创帖提问哈~~大家一起交流和讨论

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

6158

帖子

94

粉丝