其实,我一开始还以为实验箱不会有什么问题只是让我们多学习东西才做这个测试的,结果发现还真的有不少问题。
1、实验准备部分
安装驱动时,win10系统无法正确安装usb-blaster
Windows 8及以上的系统无法正常安装USB-Blaster驱动,在网上查找后发现了相关的解决办法
按部就班完成工作后,就可以安装USB-Blaster驱动了。
2.各实验情况
实验一:拨码开关程序设计
一、实验目的
1.了解拨码开关的工作方式。
2.学习LED灯的共阳极接法及FPGA通过拨码开关控制LED的实现方法。
二、实验内容
认识拨码开关;学习LED的共阳极接法;学习用FPGA通过拨码开关控制LED的亮灭。
三、实验过程
1.打开文件。
2.编译文件。
3.编译成功后,进行管脚的分配;再选择菜单栏Assignments----->DeviceDevice and Pin Options----->Unused Pins----->Reserve all unused pins,将其改为As input tri-stated。点击OK,退出。
4.重新编译。
5.将计算机与实验箱连接,进入下载程序界面。
6.点击下载界面左上角的Hardware Setup...,进入图2.3.12界面。当前的硬件选择为USB-Blaster[USB-0],然后关闭。
7.点击start。
四、我的运行结果。
运行结果:失败。
在程序编译、管脚分配、接线连接都没错的情况下,无法显示结果。准确情况,无论拨哪一个开关,led灯都不会有任何的反应。
由于实验比较早,这个实验没有截图。初步怀疑是拨码开关的哪里有问题。
实验二:跑马灯实验设计
一、实验目的
学习使用FPGA实现LED灯循环点亮(即跑马灯)。
二、实验内容
学习使用FPGA对系统时钟分频来控制各LED灯以等时间间隔循环点亮(即跑马灯)。
三、实验过程
1.打开文件。
2.编译文件。
3.编译成功后,进行管脚的分配;再选择菜单栏Assignments----->DeviceDevice and Pin Options----->Unused Pins----->Reserve all unused pins,将其改为As input tri-stated。点击OK,退出。
4.重新编译。
5.将计算机与实验箱连接,进入下载程序界面。
6.点击下载界面左上角的Hardware Setup...,进入图2.3.12界面。当前的硬件选择为USB-Blaster[USB-0],然后关闭。
7.点击start。
四、我的实验结果
运行结果:成功。
通过实验二,确定LED灯没有问题,所以实验一只有可能是拨码开关的问题。
实验三:数码管显示矩阵键盘数据程序设计
一、实验目的
1.了解矩阵键盘的工作方式。
2.学习使用数码管显示键盘的发送数据。
二、实验内容
1.学习矩阵键盘的工作原理及控制方法。
2.用数码管显示矩阵键盘发送的数据。
三、实验过程
1.打开文件。
2.编译文件。
3.编译成功后,进行管脚的分配;再选择菜单栏Assignments----->DeviceDevice and Pin Options----->Unused Pins----->Reserve all unused pins,将其改为As input tri-stated。点击OK,退出。
4.重新编译。
5.将计算机与实验箱连接,进入下载程序界面。
6.点击下载界面左上角的Hardware Setup...,进入图2.3.12界面。当前的硬件选择为USB-Blaster[USB-0],然后关闭。
7.点击start。
四、我的运行结果:失败
实验情况:实验三接通后数码管发光,但是按键无反应
依据之后的实验,我觉得可能是程序的问题。比如clk的端口可能不是PIN_G1.
实验四:数码管显示计数器程序设计
一、实验目的
1.了解数码管的工作方式。
2.学习使用数码管显示一个四位计数器。
二、实验内容
学习使用FPGA对系统时钟分频计数,并在数码管上显示。
三、实验过程
1.打开文件。
2.编译文件。
3.编译成功后,进行管脚的分配;再选择菜单栏Assignments----->DeviceDevice and Pin Options----->Unused Pins----->Reserve all unused pins,将其改为As input tri-stated。点击OK,退出。
4.重新编译。
5.将计算机与实验箱连接,进入下载程序界面。
6.点击下载界面左上角的Hardware Setup...,进入图2.3.12界面。当前的硬件选择为USB-Blaster[USB-0],然后关闭。
7.点击start。
四、我的实验结果
运行结果:失败
实验情况:实验箱无反应,应该是器材的问题
实验五:LCD12864程序设计
一、实验目的
1.了解LCD12864液晶的工作原理。
2.掌握用FPGA控制LCD12864显示预设字符的设计方法。
二、实验内容
学习LCD12864液晶的工作原理;学习用FPGA驱动LCD12864来显示预设字符。
三、实验过程
1.打开文件。
2.编译文件。
3.编译成功后,进行管脚的分配;再选择菜单栏Assignments----->DeviceDevice and Pin Options----->Unused Pins----->Reserve all unused pins,将其改为As input tri-stated。点击OK,退出。
4.重新编译。
5.将计算机与实验箱连接,进入下载程序界面。
6.点击下载界面左上角的Hardware Setup...,进入图2.3.12界面。当前的硬件选择为USB-Blaster[USB-0],然后关闭。
7.点击start。
四、我的实验结果
运行结果:成功。
然而实验指导书有错误,实验指导书中clk的端口有两个,文字叙述为PIN_G1,图上为PIN_G22。最终证实PIN_G22正确。
实验六:PC发送串口接收程序设计
一、实验目的
1.了解串行端口传输数据的基本帧格式。
2.掌握串行端口接收数据的硬件描述基本设计方法。
3.学习在PC端使用串口助手发送数据,及用数码管和LED来显示串口助手发送的数据。
二、实验内容
学习串行端口传输数据的基本帧格式;在PC端使用串口助手软件向实验箱发送数据,并将数据通过数码管和LED来显示。
三、实验过程
1.打开文件
2.编译文件
3.编译成功后,进行管脚的分配;再选择菜单栏Assignments----->DeviceDevice and Pin Options----->Unused Pins----->Reserve all unused pins,将其改为As input tri-stated。点击OK,退出。
4.重新编译。
5.将计算机与实验箱连接,进入下载程序界面。
6.点击下载界面左上角的Hardware Setup...,进入图2.3.12界面。当前的硬件选择为USB-Blaster[USB-0],然后关闭。
7.点击start。
8.将USB转串口线连接到实验箱和计算机
9.打开串口调试助手
10.查看串口连接线所占用的PC端口(计算机——>管理——>端口)
11.在打开的串口调试助手界面中点击“打开串口”,之后设置串口端口(串口连接线的数字),波特率(9600),校验位(无),数据位(8),停止位(1)等信息,最后在下方的发送区(小的空白区)输入要发送的数据。勾选发送区上边的“HEX发送”,此时数据将以16进制的形式发送到FPGA。设置完成后点击“发送”
四、我的实验结果
运行结果:成功
虽然成功,但是有个很重要的问题。真实使用的串口调试助手与实验指导书是不同的。并没有HEX发送与HEX显示,有的是十六进制发送与显示。不过在这两个实验上没有影响。
实验七:串口发送键盘数据程序设计
一、实验目的
1.了解串行端口传输数据的基本帧格式和矩阵键盘的工作原理。
2.掌握串行端口发送外部数据的硬件描述基本设计方法。
3.学习在PC端使用串口助手接收键盘发送的数据,及用数码管来显示键盘发送的数据。
二、实验内容
学习串行端口发送数据的基本帧格式和矩阵键盘的工作原理;按下矩阵键盘的按键,在PC端使用串口助手进行数据接收,并将数据显示在数码管上。
三、实验过程
1.打开文件
2.编译文件
3.编译成功后,进行管脚的分配;再选择菜单栏Assignments----->DeviceDevice and Pin Options----->Unused Pins----->Reserve all unused pins,将其改为As input tri-stated。点击OK,退出。
4.重新编译。
5.将计算机与实验箱连接,进入下载程序界面。
6.点击下载界面左上角的Hardware Setup...,进入图2.3.12界面。当前的硬件选择为USB-Blaster[USB-0],然后关闭。
7.点击start。
8.将USB转串口线连接到实验箱和计算机
9.打开串口调试助手
10.查看串口连接线所占用的PC端口(计算机——>管理——>端口)
11.在打开的串口调试助手界面中点击“打开串口”,之后设置串口端口(串口连接线的数字),波特率(9600),校验位(无),数据位(8),停止位(1)等信息,最后在下方的发送区(小的空白区)输入要发送的数据。勾选发送区上边的“HEX显示”。
12.在实验箱上按下数字
四、我的实验结果
运行结果:成功
实验八:SM3密码杂凑算法程序设计
一、实验目的
1.了解串行端口传输数据的基本帧格式。
2.了解SM3密码杂凑算法的基本原理。
3.学习实现SM3算法的硬件描述设计方法。
4.学习在PC端使用串口助手发送明文,并接收返回的密文。
二、实验内容
学习SM3算法的硬件描述设计方法;在PC端使用串口助手向实验箱发送明文,然后接收返回的密文数据,检验设计的正确性。
三、实验过程
1.打开文件
2.编译文件
1.打开文件。
2.编译文件。
3.编译成功后,进行管脚的分配;再选择菜单栏Assignments----->DeviceDevice and Pin Options----->Unused Pins----->Reserve all unused pins,将其改为As input tri-stated。点击OK,退出。
4.重新编译。
5.将计算机与实验箱连接,进入下载程序界面。
6.点击下载界面左上角的Hardware Setup...,进入图2.3.12界面。当前的硬件选择为USB-Blaster[USB-0],然后关闭。
7.点击start。
8.将USB转串口线连接到实验箱和计算机
9.打开串口调试助手
10.查看串口连接线所占用的PC端口(计算机——>管理——>端口)
11.在打开的串口调试助手界面中点击“打开串口”,之后设置串口端口(串口连接线的数字),波特率(9600),校验位(无),数据位(8),停止位(1)等信息,最后在下方的发送区(小的空白区)输入要发送的数据。勾选发送区上边的“HEX显示”与“发送新行”
四.我的实验结果
运行结果:失败
因为给的软件里根本没有“发送新行”这一项……
实验九:SM4分组密码程序设计
一、实验目的
1.了解串行端口传输数据的基本帧格式。
2.了解SM4分组密码的基本原理。
3.学习实现SM4算法的硬件描述设计方法。
4.学习在PC端使用串口助手发送明文,并接收返回的密文。
二、实验内容
学习SM4算法的硬件描述设计方法;在PC端使用串口助手向实验箱发送明文,然后接收返回的密文数据,检验设计的正确性。
三、实验过程
1.打开文件。
2.编译文件。
3.编译成功后,进行管脚的分配;再选择菜单栏Assignments----->DeviceDevice and Pin Options----->Unused Pins----->Reserve all unused pins,将其改为As input tri-stated。点击OK,退出。
4.重新编译。
5.将计算机与实验箱连接,进入下载程序界面。
6.点击下载界面左上角的Hardware Setup...,进入图2.3.12界面。当前的硬件选择为USB-Blaster[USB-0],然后关闭。
7.点击start。
8.将USB转串口线连接到实验箱和计算机
9.打开串口调试助手
10.查看串口连接线所占用的PC端口(计算机——>管理——>端口)
11.在打开的串口调试助手界面中点击“打开串口”,之后设置串口端口(串口连接线的数字),波特率(9600),校验位(无),数据位(8),停止位(1)等信息,最后在下方的发送区(小的空白区)输入要发送的数据。勾选发送区上边的“发送新行”
12.15.发送时,先发送16字节的待加密数据。在发送区输入待加密数据后点击发送。串口调试助手接受区显示“OK”时,表示待加密的数据被正确接受。若未返回“OK”,则需将模块复位后重新输入待加密数据,重新发送。之后再输入16字节的密钥,点击发送。串口助手接受区显示“OK”时,表示密钥的数据被正确接受,同时接受区可以读取到模块返回的加密数据。若未返回“OK”,则需将模块复位后重新输入待加密数据,并重新开始执行以上步骤。
四、我的实验结果
运行结果:失败
同实验八,串口助手上没有“发送新行”这一项,没法做
3.A8与FPGA链接测试
这部分是20145225唐振远做的,这里只提供实验结果
实验结果:成功。