智能车制作

标题: FTM正交解码模块测速!!大家看看怎么回事 [打印本页]

作者: 真实的谎言    时间: 2013-4-2 16:50
标题: FTM正交解码模块测速!!大家看看怎么回事
我用FTM 的正交解码模块测速,因为学校买的是单相的编码器,我用QUADMODE=1;时即B相用于方向,我给拉高了,即一直为加计数,用A相接编码器输出;
可问题是 我用FTM输出PWM时和示波器左下角的那个1000Hz输出时测得和理论值几乎一样的数据,可一接上编码器,稍微一动就会有较大的数,上千啊,而且会保留,再动时又会成为0等,变化是乱的啊
代码如下
PORT_PCR_REG(PORTA_BASE_PTR, 8) = PORT_PCR_MUX(6);      // 选择PTA8的正交解码功能
            PORT_PCR_REG(PORTA_BASE_PTR, 9) = PORT_PCR_MUX(6);

            PORT_PCR_REG(PORTA_BASE_PTR, 8) |= PORT_PCR_PE_MASK | PORT_PCR_PS_MASK ;      //开弱上拉
            PORT_PCR_REG(PORTA_BASE_PTR, 9) |= PORT_PCR_PE_MASK | PORT_PCR_PS_MASK ;      //开弱上拉

            SIM_SCGC6 |= SIM_SCGC6_FTM1_MASK;                           //使能FTM1时钟

            FTM1_MODE     |=  FTM_MODE_WPDIS_MASK;                                        // 写保护禁止  

            FTM1_QDCTRL   |=  FTM_QDCTRL_QUADMODE_MASK;                                   // B向确定方向A向计数
            //FTM1_QDCTRL   &=  FTM_QDCTRL_PHAPOL_MASK;                                    //PHAPOL=0:普通极性
            //FTM1_QDCTRL   |=  FTM_QDCTRL_PHBPOL_MASK;                                    //PHBPOL=1:反向极性
            FTM1_QDCTRL   |=  FTM_QDCTRL_PHAFLTREN_MASK;                       //PHAFLTREN=1:A相输入滤波使能。
            FTM1_QDCTRL   |=  FTM_QDCTRL_PHBFLTREN_MASK;                      //PHAFLTREN=1:B相输入滤波使能。
            FTM1_FILTER   |= FTM_FILTER_CH0FVAL(5);
            FTM1_FILTER   |= FTM_FILTER_CH1FVAL(5);

            FTM1_CNTIN     =  0;                                                          // FTM1计数器初始值为0  
            FTM1_MOD       =  65535;                                                      // 结束值  
            FTM1_QDCTRL   |=  FTM_QDCTRL_QUADEN_MASK;                                     // 启用FTM1正交解码模式
            FTM1_MODE     |=  FTM_MODE_FTMEN_MASK;                                         // FTM1EN=1   
            FTM1_CNT       =  0;  


作者: 真实的谎言    时间: 2013-4-2 16:52
我用QUADMODE=1;时即B相用于方向,我给拉高了,即一直为加计数,这样不知道可不可以啊??
作者: ☆_。寒泉..+    时间: 2013-4-2 17:20
我直接用short int 保存 FTM_CNT,如果一段时间内正转脉冲数大于反转,则CNT为正值脉冲数,反之为反

作者: 强者    时间: 2013-4-2 19:28
在学习中。。。。。。
作者: qinlu123    时间: 2013-4-2 19:50
为什么不用脉冲累加呢?
作者: 真实的谎言    时间: 2013-4-3 13:28
脉冲累加只有一路计数器啊?(低功耗定时器模块)
作者: tong__yi    时间: 2013-4-6 15:15
有程序原地址吗,给个呗
作者: Moved_to_move    时间: 2013-4-25 21:19
请问怎么接引脚啊,我只测一路
作者: 小海海    时间: 2014-5-9 18:16





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2