eCAP模块也是主要的C2000的控制模块 主要有两个功能 辅助外部系统时钟频率 和生成一个简单的PWM波形 eCap的主要模型 就是捕捉输入信号频率 或者占空比的一个模块 主要有一个32位计数器 输入时钟最快达到200兆 以及内部的四个捕捉寄存器 用于存储捕捉事件发生时计时器的技术值 急性选择寄存器 可以选择这四个寄存器 捕捉时刻电频跳变的模式 当然可以是从低变高 或者是从高变低 来组成 最后可以通过分频模块对输入信号进行分频 eCAP模块 也可以用于输出一个简单的PWM 用于驱动风扇 LED灯等简单功能 同样这个技术下 32位计数器就是时机 相当于PWM的TB模型的TBCPR CAP1作为TPPRD计算器 可以设定输出PWM的周期 CAP3是CAP1的shadow 而CAP2作为compare计算器 当TBCPR等于CAP2的值的时候 输出就可以翻转 CAP4就是CAP2的shadow 所以 这模式下 eCAP管脚可以输出一个固定占空比的PWM波形 称为APWM 这个模式也叫做APWM模式 eCAP的主要寄存器前面已经介绍 下面具体看一下如何配置 ECCTL1的高八位 主要是用于时机在仿真模型下 如何运行 以及输入时钟分频数 以及使能eCAP模块的计数器 ECCTL1的低八位的CAPOL 因为设置CAP计算器 在收到何种出发信号后 再开始捕捉 可以设置上跳跃 还是下跳跃 CTRRST计算器用来连续计算模式 还是差值计算模式 简单说 就是一个跳沿触发事件出发后 是清楚当前计数器 还是继续计数 前者用于周期捕捉 后者用于占空比捕捉 ECCTL2计算器高八位可以设置APWM 在匹配占空比后是低电频还是高电频 CAP/APWM位可以设置 是当做eCAP捕捉模块 还是当做APWM模块使用 同时可以强制触发一次同步事件 eCAP也可以像PWM模块一样被同步 当收到信号 或事件调制为出发后 就会把CTRPHSD寄存器中的 值 相当于相位计算器 存储到TSCTR的周期计数器中 ECCTL2的第八位可以设置是否接受同步信号 以及收到同步信号后 如何传给eCAP模块 还可以停止实际接受技术 以及在顺序出发后 重新开始等待CAP1的事件还是停止 顺序出发时 是在一个eCAP时间出发后停止 以及单次捕捉出发 或者连续捕捉出发的设置 ECEINT用于手动设置中断 设置在时机等于周期值或者比较值时触发中断 并且可以使能是否允许中断异处功能 eQEP也是一个非常重要的控制外设 它的主要功能是为外部增量时 光电编码器 提供解码接口 可以更方便地使用硬件方式 到编码器角度值 图中Ch.A和Ch.B是编码器两个二极管的输出口 一般这两个二极管 都会发出相差四分之一度的信号 整理为输入信号就是为00、01、11 和10 这样的循环通过这个序列的解码 就能看到转速和方向 同样 QEP的基础也是一个32位的实际计数器 输入时钟是系统时钟 然后通过解码器 算出角度差的时间 从而算出转速和方向 连接方法只要将A线对A线 B线对B线 连接到QEP编码器 以及Index连接到I线就可以