一、队伍介绍
本参赛队队名为“Supernova”,报名编号:CICC2796。本篇为蜂鸟E203系列分享第四篇。
本篇介绍的内容是蜂鸟E203在黑金XC7A200T型FPGA上完成外设通过总线与核进行的通信。
二、前言
在此之前我们已经完成了对蜂鸟E203中断的使用,本次我们将使用蜂鸟E203的gpio外部中断完成核对总线上外设的配置。
三、中断程序
1、首先在board.h文件中定义我们将要使用的GPIO口(共32个GPIO口,我们使用其中两个用于中断触发)。
2、在main函数中完成对使用到的GPIO口的初始化操作。
1.关闭用于输出的gpio的输入使能,并打开其输出使能。
2. 关闭用于输入的gpio的输出使能,并打开其输入使能。
3.配置gpio中断触发条件为下降沿触发。(共有四种触发中断的方式,我们在此选用下降沿触发的方式)
3、外部中断的相关函数配置。
4、中断函数。
由于我们将外设挂在PWM0所在地址空间(我们将PWM0模块给删去了),所以我们的外设地址区间为0x1002 3000 -- 0x1002 3FFF。我们将外设模块连接上ICB总线,共有以下8个与总线通信的信号
我们在外设模块中定义地址0x1002
3000作为我们外设配置寄存器的地址(配置寄存器共32位),通过触发中断函数的执行对此地址写入我们想要写入的值来完成对我们外设的配置。
(注意:中断程序中最后需要对中断等待标志寄存器写入1,从而结束中断操作)
四、上板
生成.bit文件并烧录到FPGA开发板,每次触发一次中断,观察外设是否按照我们中断函数的要求进行操作。
最终下板可以看到,当我们触发中断后,外设进行了我们预想的操作,此次试验成功。
五、总结
这次主要完成了使用蜂鸟E203中断通过ICB总线传输配置信息,并正确的配置好外设的操作。