打印

AM335x芯片的eCAP捕获功能应该如何初始化

[复制链接]
2347|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
coslight|  楼主 | 2016-8-8 12:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zhangmangui| | 2016-8-8 22:58 | 只看该作者
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下载

使用特权

评论回复
评分
参与人数 1威望 +4 收起 理由
coslight + 4
板凳
coslight|  楼主 | 2016-8-9 12:46 | 只看该作者
谢谢回复,问题已解决。

使用特权

评论回复
地板
mini1986| | 2016-9-4 13:11 | 只看该作者
楼主分享下经验,让大家学习学习......

使用特权

评论回复
5
hellosdc| | 2016-9-4 22:41 | 只看该作者
没有代码吗?

使用特权

评论回复
6
hellosdc| | 2016-9-4 22:43 | 只看该作者
是要在linux运行吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

927

帖子

5

粉丝