【Quadrature Decoding】是编码技术的一种,用于精确跟踪旋转运动物体的位置。在本实验中,我们将使用增强型时间处理单元(eTPU)进行四相解码,以读取光学编码器的数据并更新一个16位的位置计数寄存器,以此追踪轮子的位置。光学编码器会生成与轮子旋转相关的正交信号,这些信号通过eTPU的四相解码功能转化为位置信息,既可以用计数表示,也可以转换为角位置。 【eTPU】全称为Enhanced Time Processing Unit,是CPU的一个协处理器,专为定时控制设计。它能与CPU并行工作,执行内建的功能或用户自定义的程序,存储在专用RAM中。Freescale(现为NXP半导体)提供了针对不同应用的特殊eTPU软件,包括交流和直流电机控制、汽车应用(如曲轴位置感应、点火和燃油控制),以及本文重点讨论的四相解码功能。尽管MPC5553微控制器在不同的外围设备(如eMIOS)上集成了四相解码,但实验中将直接使用eTPU。 【Lab 2: eTPU】的目的是让学生熟悉如何利用eTPU实现四相解码。实验中,学生需要利用eTPU的“慢模式”解码,以读取光学编码器的信号,并实时更新位置计数。同时,还需要用调试器验证轮子的位置,将位置信息输出到16个LED上,展示计数器的溢出和下溢现象,以检验解码的准确性和范围。 【文件和文档】中提到了一些重要的参考资料,包括Freescale的应用笔记AN2842,它详细介绍了如何使用eTPU的四相解码功能,包括操作模式、性能及编程示例。MPC5553微控制器参考手册的第18.4节则描述了内存映射和寄存器定义。此外,实验所需的代码文件包括`etpu_set.h`、`etpu_util.h`、`etpu_util.c`、`etpu_qd.h`和`etpu_ppa.h`等,它们包含了eTPU的自动生成代码、函数原型和其他必要的功能。 【编程任务】要求学生编写`fqd.c`中的函数,基于提供的`fqd_template.c`模板文件。其中包括初始化eTPU的`init_FQD()`、读取编码器位置的`ReadFQD_pc()`、更新位置计数的`updateCounter()`以及将计数转换为角度的`updateAngle()`。这些函数将构成实现四相解码的关键部分,确保能够正确地处理来自光学编码器的信号,并实时更新和显示轮子的角位置。 Quadrature Decoding是一种重要的位置检测技术,而eTPU作为专门的定时控制协处理器,为其实现提供了高效且灵活的解决方案。通过这个实验,学习者不仅能够深入了解四相解码的工作原理,还能掌握如何利用eTPU的硬件资源来实现这一功能,这对于嵌入式系统设计和电机控制等领域具有重要意义。
剩余10页未读,继续阅读
- 粉丝: 38
- 资源: 725
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- asp.net 原生js代码及HTML实现多文件分片上传功能(自定义上传文件大小、文件上传类型)
- whl@pip install pyaudio ERROR: Failed building wheel for pyaudio
- Constantsfd密钥和权限集合.kt
- 基于Java的财务报销管理系统后端开发源码
- 基于Python核心技术的cola项目设计源码介绍
- 基于Python及多语言集成的TSDT软件过程改进设计源码
- 基于Java语言的歌唱比赛评分系统设计源码
- 基于JavaEE技术的课程项目答辩源码设计——杨晔萌、李知林、岳圣杰、张俊范小组作品
- 基于Java原生安卓开发的蔚蓝档案娱乐应用设计源码
- 基于Java、Vue、JavaScript、CSS、HTML的毕设设计源码