一、队伍介绍
本参赛队队名为“Supernova”,报名编号:CICC2796。本篇为蜂鸟E203系列分享第三篇。
本篇介绍的内容是蜂鸟E203在黑金XC7A200T型FPGA上点亮LED并实现流水灯。
二、前言
在此之前我们已经将蜂鸟E203在黑金XC7A200T型FPGA开发板上,所以我们完成一次LED点灯来验证移植的正确性,并利用GPIO中断程序来完成对LED的亮灭控制,为以后使用中断程序实现主要功能做准备。
三、LED程序
1、首先在board.h文件中定义我们将要使用的GPIO口(共32个GPIO口,我们用到五个,三个用于LED输出,两个用于中断触发)。
2、在main函数中完成对使用到的GPIO口的初始化操作。
1.关闭用于输出的gpio的输入使能,并打开其输出使能。
2. 关闭用于输入的gpio的输出使能,并打开其输入使能。
3.配置gpio中断触发条件为低电平触发。(共有四种触发中断的方式,我们在此选用低电平触发的方式)
3、外部中断的相关函数配置。
4、根据自己的功能需求写好中断函数。
(注意:中断程序中最后需要对中断等待标志寄存器写入1,从而结束中断操作)
5、在main函数中写一个实现流水灯的无限循环函数(这样便于通过LED灯亮灭状态对中断函数是否真正执行进行判断,如若中断函数功能正确并且执行完中断函数后又跳回执行中断前的状态,则整个中断操作完成。)
程序始终处于流水灯状态,当按下触发中断的按键后,所有LED都熄灭,松开按键每个LED又恢复到中断前的亮灭状态。
四、上板
将生成的.verilog文件转换成.coe文件,将其固化到itcm的RAM
IP核中,在顶层模块中将使用到的GPIO口引出,并写好相应的管脚约束文件,之后生成.bit文件并烧进FPGA开发板中。
五、总结
这次主要完成了对于蜂鸟E203中断的使用,整个流程比较简单,但中断的使用也十分重要,在此和大家分享一下。