原创 【TI博客大赛】TI C2000 Delfino TMS320F28335 GPIO引脚的输入限制

2012-11-19 20:45 3283 31 37 分类: 处理器与DSP

    写在最前,不喜请略过。本博文的主要内容已在QQ空间、人人网、网易博客、百度空间等平台发表过,最近进行了排错和稍稍修改,作者为Mr_D_prince(斌斌-龙臻),也就是本人,前两者均为我在非技术论坛的昵称。在技术论坛我更喜欢newofcortexm3这个昵称,原因无他,我就是个技术新人。之所以文章类型为什么是整理,是因为博文的主要内容均来自TI相关的技术手册,我只是做了下解读或者整理。

    用户可以通过GPIO限制选择寄存器来选择GPIO引脚的输入限制类型。主要由输入异步,仅与SYSCLKOUT同步,采用采样窗限制这几种限制类型。本博文主要讲第三种类型。
    GPIO控制寄存器GPxCTRL(x=A,B,C)为配置为输入限制的引脚指定了采样周期。采样周期介于限制采样周期之内,是相对于系统时钟周期的倍数,由该寄存器的QUALPRDn位来指定,一个采样周期可以用来配置8路输入信号,具体的配置请见表1。而GPIO限制选择寄存器GPxQSELy(x=A,B,C;y=1,2)指定了采样窗是3个采样点还是6个采样点。当有3个或6个连续的采样周期相同时,输入信号才会被采集。
20121119203108908.jpg
表1:GPIO Port A Qualification Control (GPACTRL) Register Field Descriptions

以上介绍的两个寄存器主要是为GPIO的采样窗限制功能进行了必要的配置。下面我引入图1Qualification Using Sampling Window)和图2Input Qualifier Clock Cycles),来使大家清楚地知道GPIO的输入限制是怎样完美的去除我们不需要的噪声的。

20121119203523826.jpg

图1:Qualification Using Sampling Window

20121119203721436.jpg

图2:Input Qualifier Clock Cycles

因为输入的信号时异步的,为了同步,在限制窗开始之前必须要有一个 SYSCLKOUT 的延迟。在图2中,输入限制将忽略这个尖刺小脉冲。QUALPRD位域值限制采样周期,8位值范围为0~255。QUALPRD0时,无限制输入,此时采样周期与SYSCLKOUT同步。对于任意一个“n”值,限制周期 = 2*n个系统时钟周期(SYSCLKOUT),即每2*n个系统时钟周期,GPIO引脚进行一次采样。当6个采样都为同一个值时,才可以确定一个输入。具体的采样周期的配置和采样窗的配置可参考上文列出的表格。

    当有输入限制时将检测输入变化,输入必须稳定(5*QUALPRD*2)个SYSCLKOUT周期,以保证检测时6个采样点的采样相同。例如QUALPRD=1时,输入必须有10个或者10个以上的稳定的SYSCLKOUT周期,因为外部信号是异步驱动的,11SYSCLKOUT周期宽度的脉冲可以确保可靠的识别。
    欲完整了解GPIO可参考附件。由于水平有限,难免会有错误,一切以TI提供的技术手册为准。

文章评论6条评论)

登录后参与讨论

用户1845853 2015-8-1 17:37

用户377235 2015-6-3 21:40

牛逼大笑

用户377235 2015-5-15 16:17

非常感谢,理解很久了,被你一段话给点通了。

用户1552001 2015-3-24 21:53

不粗

用户377235 2013-11-6 22:39

谢谢,我收藏了

用户377235 2013-10-5 11:12

讲的挺详细的。谢谢!!!

用户377235 2012-11-25 15:36

好,支持!

用户377235 2012-11-24 23:29

写得不错噢,支持!

用户593939 2012-11-19 23:13

学习,参考了

用户593939 2012-11-19 23:09

学习,参考了
相关推荐阅读
用户606080 2013-04-01 16:20
[博客大赛]MSP-EXP430FR5739实验板初体验
    本文由Ken Lee独立整理完成,首发于QQ空间,转载请注明作者与出处。作者水平有限,难免存在错误,不足之处请指正。由于个人原因,原署名斌斌-龙臻,Mr_D_prince不再使用,由Ken L...
用户606080 2013-04-01 11:47
[博客大赛]FRAM
本文由Ken Lee独立整理完成,首发于QQ空间,转载请注明作者与出处。作者水平有限,难免存在错误,不足之处请指正。由于个人原因,原署名斌斌-龙臻,Mr_D_prince不再使用,由...
用户606080 2013-02-25 18:09
评论:@BonnieBaker's Blog 博客中提到的“Bruce Trump系列:为什么运算放大器会发生振荡——两种常见...”
讲的很细致...
用户606080 2012-11-24 16:58
【TI博客大赛】TI C2000 Delfino TMS320F28335的28335_Ram_lnk.cmd文件
       写在最前,不喜请略过。本博文的主要内容已在QQ空间、人人网、网易博客、百度空间等平台发表过,最近进行了排错和修改,作者为Mr_D_prince(斌斌-龙臻),也就是本人,前两者均为我...
用户606080 2012-11-24 16:35
关于博文发表的若干问题
      今天我算是给ednchina的博文发表的功能做了测试了,真的窝了一肚子的火。 首先没法用高级编辑模式来写博客,每次点击都告诉我未授权,却没提醒怎样获得授权。 普通模式编辑,一点...
我要评论
6
31
关闭 站长推荐上一条 /2 下一条