光电编码器的线数为1024,四倍频后一转产生4096个脉冲,精度为0.0879o为了满足精度要求,本设计采用了16位可逆计数器,计数范围为-65536~65535 。Altera设计软件的LPM(宏功能模块)模块用来实现这个计数模块 。
接口电路的设计与实现本次设计使用的软件为Altera公司的Quartus II,选用的芯片为CycloneⅲIII的EP3C16Q240 。该芯片拥有15,408个逻辑单元、56个乘法器、4个锁相环和20个全局时钟网络,内存容量为504Kbit,最大工作频率为437.5MHz,输入输出电压为3.3V[8] 。如此强大的资源足以实现设计的预期功能 。
子模块1的原理图设计
FPGA具有动态系统重构和静态可重复编程的特点,使得通过像软件一样的编程来修改硬件的功能成为可能 。我们可以通过原理图输入或硬件描述语言来设计和实现一个数字系统 。根据上一节对原理的介绍,生成倍频、鉴相、计数模块的顶层文件原理图,如图5所示 。
图5顶层示意图
其中,输入是正交编码信号A和B,输出是16位计数结果 。顶层原理图分为两部分,一是倍频鉴相模块,如图6所示;一个是计数模块,利用自己的宏功能模块实现 。经过倍频鉴相后,编码信号产生四倍频信号F4_CLK和方向信号ENADD,再通过pluse_count实现16位可逆计数功能 。当ENADD为高电平时,即码盘正转时,实现加法计数;当ENADD为低电平时,即码盘反转时,实现减法计数 。
图6倍频鉴相示意图
2编译和下载
在Quartus II中,依次进行以下操作:新建项目、选择目标芯片、绘制原理图、引脚分配、设置芯片参数和配置选项,然后可以编译设计文件 。
编译后,将在项目文件夹中生成两个后缀为sof和pof的下载文件 。这两个文件的区别在于,前者通过JTAG端口下载到FPGA芯片(FPGA芯片是配置好的),程序直接运行,但断电后程序消失;后者通过AS口下载到配置芯片,上电后会自动完成配置并运行程序 。
前者下载速度快,一般用于FPGA调试过程 。但是后者写EPCS配置芯片(实际上是串行FLASH)比较慢,一般用于开发后期的程序固化 。本设计也遵循调试阶段,采用JTAG模式刻录下载,程序确定后采用AS模式刻录下载[11] 。
波形仿真及分析编译后,我们使用Quartus II自带的模拟器进行功能仿真,验证设计的逻辑是否正确 。建立矢量源文件时,首先将编码信号A设置在B 90o之前,得到如图7所示的仿真结果;然后在b超前设置编码信号A 90o,得到如图8所示的仿真结果 。
从图7和图8可以看出,当信号A领先B 90o时,即电机正转时,方向信号处于高电平,实现四倍频,一个周期内加计数四次;相反,b超前信号A 90o时,即电机反转时,方向信号处于低电平,也实现了四倍频,一个周期内减四次 。因此,仿真结果与理论分析完全一致,该接口电路逻辑正确,具有实际意义 。
在实际调试阶段,编码器与电路板连接良好,实时信号由QuartusII的Signaltap II采集显示 。结果也与预期相符,进一步验证了设计的可靠性 。
图7信号A领先B 90o的仿真结果
图8b超前A 90o信号模拟结果
小结基于FPGA的增量式编码器接口设计实现了编码信号数据的采集和处理,克服了使用ASIC(专用集成电路)处理数据带来的编译复杂、通用性差的缺点 。该接口电路具有适用性好、集成度高、抗干扰能力强、运行可靠、数据处理速度快等优点 。适用于各种需要增量编码器测量位置和速度的场合 。
推荐阅读
- practice究竟可不可以接动词不定式 practice是什么意思
- 常用极惯性矩公式 惯性矩公式
- 摄氏温度换算公式 摄氏度换算
- 有ω符号的表情 标点符号表情
- 铝合金压铸件质量与模具设计的关系 压铸工艺与模具设计
- 文章的表达方式有哪五种 文章表达方式有哪些
- 少年创客征文智造未来 创模征文
- 中式混搭装修效果图 彰显古代风情
- 单身公寓装修设计知识大全
- 按钮开关原理,揭秘按钮开关的工作模式!