FPGA实验报告 - 图文 联系客服

发布时间 : 星期三 文章FPGA实验报告 - 图文更新完毕开始阅读

第四部分 实验(设计)

实验一 指令译码器的设计

一、实验目的

1. 学习VHDL 程序的设计技巧; 2. 掌握VHDL 语言译码电路的设计; 3. 掌握选择信号赋值语句的设计方法。

二、实验器材

1. KH-310 下载板;

三、实验内容

设计一个简单的指令译码器,按指定的要求,对两个逻辑变量进行运算,并将运算的结果在发光二极管上显示。

四、文件档名

加载:decoder.sof 烧录:decoder.pof

工程项目文件:decoder.qpf

五、实验原理

abcdata1data2abcd1d2d_outdataoutDECODER 图4.1.1 指令译码器

图4.1.1是一个简化的指令译码器,对应于由a、b、c 3个位构成的不同指令码,由data1和data2输入的两个值进行不同的逻辑操作,并将结果从dataout输出,当不满足所列指令码时,将输出高阻态。 表1

指令值(cba) 001 010 011 100 101 逻辑运算 data1 与 data2 data1 或 data2 data1 非 data2 data1 异或 data2 data1 同或 data2

六、实验连线

输入信号:译码器输入开关c、b、a 接拨动开关I01(拨码开关SW3 左1 P1) 、I02(拨码开关SW3 左2 P2)、I03(拨码开关SW3 左3 P3),输入数据data1、data2接IO9(拨码开关SW4 左1 P11)、 IO10(拨码开关SW3 左2 P12) 输出信号: LED 模块O25 P43;

七、实验操作

改变译码器的输入值(a、b、c)和输入数据值(data1、data2),输出数据按设计值输出。

八、实验程序

仿真波形

实验二 步进电机状态机设计

一、实验目的

1. 学习VHDL 程序的设计技巧; 2. 掌握时序电路的设计方法;

3. 掌握步进电机控制的VHDL设计方法。 4 熟悉Quartus的仿真器的使用。

二、实验器材

1. KH-310 下载板; 2. KH-310 时钟模块;

三、实验内容

使用VHDL语言,编制一个4相步进电机控制程序,由发光二极管指示步进电机的相序,要求正反转控制,通过改变时钟频率实现调速。

四、文件档名

加载:state_stepper_b.sof 烧录:state_stepper_b.pof

工程项目文件:state_stepper_b.qpf

五、实验原理

状态机的一个常用的用处是构成控制步进电机的逻辑电路。表1给出了用于顺时针和逆时针驱动步进电机的二进制码。状态机的设计中我们需要提到一些称为常态和次态的状态,表2列举了步进电机的状态转换顺序。

控制输入S00001dir=1dir=1转化方向dir=0S31000dir=0dir=0S10010状态名输出状态值dir=0S20100dir=1

表1 步进电机顺时针和逆时针旋转的二进制码

CW 0001(S0) 0010(S1) 0100(S2) 1000(S3) 0001(S0) CCW 1000(S3) 0100(S2) 0010(S1) 0001(S0) 1000(S3)

表2 步进电机顺时针和逆时针旋转的状态转换图 顺时针旋转 现态 S0 S1 S2 S3 S1 S2 S3 S0 次态 逆时针旋转 现态 S3 S2 S1 S0 S2 S1 S0 S3 次态 六、实验连线

输入信号:

时钟clk 接10Hz 输入(SW7) P152;方向dir接拨动开关I01(拨码开关SW3 左1)P1 ; 输出信号:4 位输出信号接LED 模块O25—O28。P43~P46;

七、实验操作

下载程序,将SW7 拨至第二段(10Hz),此时,LED 灯的前1 位会有规律的闪烁。 改变方向开关的电平信号,指示灯的移动方向立即改变。