DSP

DSP 28335的GPIO输入限定采样

2019-07-13 10:24发布

DSP 28335的GPIO输入限定采样         上一篇稍微了解了28335GPIO口的数据选择寄存器,今天 继续跟着手册走  到了输入限定采样问题  这个牵涉到了一个控制寄存器-GPxCTRL 顺便最后把其他的几个控制寄存器一起说大笑
先了解输入限定采样吧   为什么会有这么一个2B的概念呢  屌丝的理解就是:首先呢 这是对输入的IO而言的  一般呢 我们把IO设置为输入状态 就是要读取这个IO口的状态  比如说 0-10ms之间这段时间IO口一直是个低电平  但是呢由于噪声咋 或者其他因素的影响在某一瞬间出现了一个高电平 但是这个高电平是不应该出现的  我们是不需要他  但是28335这个二货并不知道呀  所以他就会认为这个高电平是一个有效信号  就有可能因此出现大问题喽   那么如何避免这种毛刺问题呢   NB的TI就有了这个输入采样限制这个概念  说白了就是我28355判断你是否是高低电平来了不根据你瞬间的状态 我设定一个限定周期  比如我的周期是10us   那么那这个高电平需要一直持续10us我才认为你是高电平  才承认这是一个有效信号   这样就大大降低了毛刺现象  嘿嘿  大概就是这个意思吧  !!  就这个概念上图啦     其实这个图上已经解释的很清楚了  但是屌丝的我依旧看了很久才看明白  简单说一下里面的一些小东西  先看最上面的那个时序:GPIO  Signal就是IO口引脚上的信号 说爆了 就是高低电平白   其中每两个数字之间的间隔图中叫做Tw(SP):采样周期  就是他隔多长时间读取一下这个IO的状态  这个采样周期呢是由我们一开始提到的控制寄存器GPxCTRL设定的(后面说如何设定)。 下一个就是采样窗口Tw(SW)(Sampling  Window )这个概念:其实我已开始老不明白Tw(SW)Tw(SP)的关系  哈哈 原谅一个二货的无知   其实他俩的关系就是Tw(SW)=n*Tw(SP)啦  只是这个n貌似只能去3或者6而已啦   就相当于一个"大周期"我觉得 。这个3或者6是由另一个寄存器GPxQSEL 设定的(后面介绍)安静
好啦 这样我想应该都可以明白输入限定采样是咋回事了吧   好了 上图2B寄存器-GPxCTRL-控制寄存器   上面说了用来设定采样周期  一切 在图里  不说啦 哈哈

控制寄存器2-GPxQSEL
简单说一下  他是寄存器中每两个位控制一个IO口的采样窗口  两个二进制自然有四种组合 00:和系统时钟同步 这样很容易出现毛刺现象  一般为了稳定 不采用   再看最后一个11:为异步时钟(娘的  其实 我也不知道啥意思  但是 装个B还是写一下)他适用于这个引脚被选为外设功能的时候   但是如果引脚是GPIO—Input  此时将等同于00组合 控制寄存器3:GPAMUX    引脚功能选择寄存器   简化说一下吧 如果用到什么功能直接按照说策说明配置就行了  没什么需要理解的       配置各个引脚的功能,0:I/O功能,1:外设功能。 控制寄存器4: GPxDIR     GPIO x Direction Register (GPIO0 to 31)(32-63)(64-95)
                                       配置每个引脚是输入还是输出,0:数字量输入;1:数字量输出。
控制寄存器5:   GPxPUD  GPIO x Pull Up Disable Register (GPIO0 to 31)(32-63)(64-95)
                                          使能或禁止jie口的内部上拉

哎哎呀  实在是累了   大概就这样吧  现在一个二极管的程序还不

会写呢  就在这里装逼了   溜啦