显示页面 讨论 修订记录 反向链接 本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 =====旋转调节系统设计===== ----- ====实验任务==== * 任务:基于 STEP-MAX10M08核心板 和 STEP BaseBoard V3.0底板 完成旋转调节系统设计并观察调试结果 * 要求:转动底板上的旋转编码器,调整核心板数码管数值在0~99之间变化,右旋增加,左旋减小。 * 解析:通过FPGA编程驱动旋转编码器获取操作信息,根据操作信息控制变量增加或减小,最后驱动独立式数码管将变量显示出来。 ====实验目的==== 在基础数字电路实验部分我们已经掌握了FPGA驱动独立显示数码管的原理及方法,本实验主要学习旋转编码器的驱动原理,最后完成旋转调节系统总体设计。 * 熟悉独立显示数码管驱动模块的应用 * 掌握旋转编码器的工作原理及驱动方法 * 完成旋转调节系统总体设计 ====设计框图==== 根据前面的实验解析我们可以得知,该设计可以拆分成三个功能模块实现, * Encoder:通过驱动旋转编码器获取操作信息数据。 * Decoder:根据旋转编码器操作信息控制变量在0~99范围内加减变化。 * Segment_led:通过驱动核心板独立数码管将变量数据显示在数码管上。 顶层模块Amp_Adjust通过实例化三个子模块并将对应的信号连接,最终实现旋转调节系统的总体设计。 {{:4-Top-Down层次设计.png?500|Top-Down层次设计}}{{:4-模块结构设计.png?500|模块结构设计}} ====实验原理==== ===旋转编码器介绍=== 旋转编码器(rotary encoder)也称为轴编码器,是将旋转位置或旋转量转换成模拟或数字信号的机电设备。旋转编码器用在许多需要精确旋转位置及速度的场合,如工业控制、机器人技术、专用镜头、电脑输入设备(如鼠标及轨迹球)等。 旋转编码器以码盘刻孔方式不同分为:绝对式和增量式两类。 * 绝对式编码器:具有多个不同二进制权重的代码环,每个不同角度产生一个独特的数字代码,表示编码器的绝对位置 * 增量式编码器:旋转过程中提供周期性输出,不能定位绝对位置,只能用于感知运动方向和增量 STEP BaseBoard V3.0底板上集成的旋转编码器就是机械增量式的。 ===旋转编码器连接=== STEP BaseBoard V3.0底板上旋转编码器的电路图如下: {{:4-旋转编码器电路.png?800|旋转编码器电路}} ===旋转编码器驱动设计=== ===系统总体实现=== ====实验步骤==== - 双击打开Quartus Prime工具软件; - 新建工程:File → New Project Wizard(工程命名,工程目录选择,设备型号选择,EDA工具选择); - 新建文件:File → New → Verilog HDL File,键入设计代码并保存; - 设计综合:双击Tasks窗口页面下的Analysis & Synthesis对代码进行综合; - 管脚约束:Assignments → Assignment Editor,根据项目需求分配管脚; - 设计编译:双击Tasks窗口页面下的Compile Design对设计进行整体编译并生成配置文件; - 程序烧录:点击Tools → Programmer打开配置工具,Program进行下载; - 观察设计运行结果。 ====实验现象====