TI-C2000-捕获模块ECAP应用-以欧姆龙E6B2-CWZ6C测速编码器为例

本文介绍了使用TI F28335微控制器的Ecap模块捕获欧姆龙E6B2-CWZ6C测速编码器信号的过程。通过配置Ecap控制寄存器实现捕获事件,并利用捕获寄存器计算速度信息。F2837xD的配置与F28335的主要区别在于捕获输入引脚的灵活性,可通过Crossbar(X-BAR)机制选择任意GPIO口作为捕获输入。
摘要由CSDN通过智能技术生成

基于TI的F2833xD的捕获模块应用

文章信息

撰写日期 2018.12.20
完稿日期 2018.12.20
最近维护 2019.07.14
本文作者 multimicro
联系方式 multimicro@qq.com
GitHub https://github.com/wifialan
本文地址 https://blog.csdn.net/multimicro/article/details/85112066

开发环境

环境说明 详细信息 备注信息
操作系统 Win10_x64
CCS版本 Code Composer Studio v8 官网地址
controlSUITE controlSUITE for C2000 MCUs 官网地址
F28335 硬汉F28335开发板(150MHz时钟频率)
欧姆龙E6B2编码器 E6B2-CWZ6C 1000 P/R

捕获模块简介

F28335的Ecap模块捕获过程如下
在这里插入图片描述

该定时器是捕获模块专用定时器,在设定好捕获事件后,每捕获一个事件,对应的各级捕获寄存器就会把时间记录在捕获寄存器里面,通过这些时间信息即可计算出速度信息。
Ecap模块中比较重要的寄存器

  • eCAP控制寄存器ECCTL1
    用于配置触发捕获事件的条件和对应的计数器(一共四级,详见程序注释)
  • eCAP控制寄存器ECCTL2
    用于配置eCAP的工作模式,包括进入中断的方式等
  • eCAP捕获寄存器eCAPx
    用于记录各级捕获事件发生时的时间
  • 其余寄存器在代码中查看其作用

对与F2837xD,其配置捕获模块的程序和F28335的程序完全一样,唯一的不同就是配置Ecap输入引脚方式不同,F28335有固定的Ecap输入引脚,而F2837xD的捕获输入因为加入了Crossbar(X-BAR)机制,使得配置输入引脚其他C2000系列DSP更加灵活,可以使用任何一个GPIO口作为捕获输入,在TI官方的F2837xD文档Technical Reference Manual上面可以看到如下配置捕获引脚的说明(P1955):
在这里插入图片描述
F2837xD配置捕获输入的GPIO口的程序就两行:

在这里插入图片描述

若想进一步了解X-BAR,参考上面提到的文档P1151页。


详细代码

/*
 * ecap.c
 *
 *  Created on: 2018年12月14日
 *      Author: multimicro
 */


#include "project.h"

void InitECapture()
{
    InitECapture1();
    InitECapture2();
    InitECapture3();
}

void InitECapture1()
{
    ECap
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值