搜索
bottom↓
回复: 13

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

[复制链接]

出0入0汤圆

发表于 2014-8-26 17:57:10 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_Rita 于 2014-8-26 18:07 编辑

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

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

电平转换速度(slew rate)

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

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

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

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

工作电压:1.8V



需要注意的是对于一些高速的工作模式,例如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系列,其它系列会有不同,但万变不离其中,设计时留意下就好。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2014-8-26 18:21:53 | 显示全部楼层
有更新啦,感兴趣的朋友过来围观啊~~

出0入0汤圆

发表于 2014-8-26 18:44:39 | 显示全部楼层
板凳

只有GPIO吗?期待更多内容。

出0入0汤圆

发表于 2014-8-26 19:04:52 | 显示全部楼层
感谢版主的耐心讲解。

出0入0汤圆

发表于 2014-8-26 19:08:59 | 显示全部楼层
对了,有个问题请教下,命名为
GPIO_0 ~ GPIO_19的这种GPIO
和GPIO1_[0]、GPIO3_[1]的这种GPIO使用上有什么区别。

出0入0汤圆

发表于 2014-8-26 22:29:42 | 显示全部楼层
谢谢楼主分享

出0入0汤圆

发表于 2014-8-26 23:24:16 | 显示全部楼层
分享让我们成长!

出0入0汤圆

 楼主| 发表于 2014-8-27 15:32:52 | 显示全部楼层
浪里白条 发表于 2014-8-26 19:08
对了,有个问题请教下,命名为
GPIO_0 ~ GPIO_19的这种GPIO
和GPIO1_[0]、GPIO3_[1]的这种GPIO使用上有什 ...

应该没有什么却别的,只是名称不同。

出0入0汤圆

 楼主| 发表于 2014-8-27 15:34:25 | 显示全部楼层
zhangchaoying 发表于 2014-8-26 18:44
板凳

只有GPIO吗?期待更多内容。

后续会一直有文档更新,望继续关注哈~~

出0入0汤圆

发表于 2014-8-27 15:55:44 | 显示全部楼层
为什么不讨论一下推挽输出方式呢 ????

出0入0汤圆

发表于 2014-8-27 16:38:17 | 显示全部楼层
了解一下,谢谢分享

出0入0汤圆

发表于 2014-8-27 16:42:33 | 显示全部楼层
现在IO配置也越来越方便了,特别是NXP的,非常方便的.

出0入0汤圆

发表于 2014-8-27 17:03:41 | 显示全部楼层
多谢版主的讲解

出0入0汤圆

发表于 2014-9-1 13:26:54 | 显示全部楼层
感谢分享,GPIO这个词16位机里面就没有过吧?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-10 10:49

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表