AM335X的PWMSS分三个部分:
- Enhanced PWM Module(ePWM);
- Enhanced Capture Module(eCAP);
- Enhanced Quadrature Encoder Pulse Module(eQEP).
1. eQEP概述
eQEP,顾名思义,为正交编码器解码模块。
参阅AM335X 技术参考手册,你会了解到其有四种工作模式。而其中前两种模式是与编码器相关的。
Mode0: Quadrature Count Mode
从图中可以看出,其是通过编码器输出的A,B两个方波的相位来决定是加还是减,并且以方波的上升沿和下降沿作为计数。
Mode1: Direction Count Mode
输入两个信号: 一个为脉冲输入信号,另一个为方向信号。
通过脉冲输入信号来计数,通过方向信号的高或低电平来判断是加还是减。
了解了上述工作模式后,在进行编码器应用时,就可以选择合适的编码器,并配置合适的eQEP模式进行。
2. 驱动
因为在TI发布的SDK包及starterware下都无驱动,所以会有一些客户在应用过程中问及此处的问题。
关于驱动,其实可以参考一个open source的源码:
0882.dtsi_for_eqep.tar.gz
该源码是基于beaglebone 或beaglebone-black的平台进行开源项目beaglebot的。
由于其是linux-3.8的,同样是device tree的架构,所以我们可以比较方便的移植到AM335X SDK07.00的linux-3.12中。
附上移植完的dtsi文件,驱动源码可以直接使用patch中的。
或者通过git clone https://github.com/Teknoman117/beaglebot.git下载
|