This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335X eQEP及其驱动介绍

Other Parts Discussed in Thread: AM5708

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的源码:

该源码是基于beaglebone 或beaglebone-black的平台进行开源项目beaglebot的。

由于其是linux-3.8的,同样是device tree的架构,所以我们可以比较方便的移植到AM335X SDK07.00的linux-3.12中。

附上移植完的dtsi文件,驱动源码可以直接使用patch中的。

或者通过git clone github.com/.../beaglebot.git下载