欢迎来到天天文库
浏览记录
ID:59519683
大小:1.17 MB
页数:38页
时间:2020-11-06
《片上电子信息系统-基于EDA的FPGA-串口通信及串口中断.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、片上电子信息系统课程设计指导书一、课程设计目的和要求设计一个片上电子信息系统,培养工程实践创新能力。在相关课程知识的拓宽、提高和综合应用的基础,强化培养理论联系实际能力、系统设计能力、实际动手能力。二、课程设计方式学生在教师指导下按照设计题目和任务,认真分析、查找资料,按照各阶段基本要求,按时完成各项内容。十四周:星期二、三下午3:00。。。星期四、五下午9:00十五周:暂定上午三、课程设计任务l任务一在开发板FPGA内部实现一个Microblaze软核,通过对其外设GPIO编程使开发板上的6盏LED灯闪烁。头文件#include"xparameter
2、s.h"#include"xgpio_l.h"参考函数1.XGpio_mSetDataDirection(BaseAddress,Channel,DirectionMask)此函数用于设置GPIO的方向。参数说明:BaseAddress:GPIO的基地址,可从xparameters.h头文件获得,下同。Channel:GPIO通道(1或者2)选择,针对本实验,此参数固定为1,下同。DirectionMask:GPIO输入输出选择,1选择输入,0选择输出。无返回值2.XGpio_mSetDataReg(BaseAddress,Channel,Data)此
3、函数用于往GPIO置数,GPIO会输出用户设置的数据。参数说明:BaseAddress:GPIO的基地址Channel:GPIO通道(1或者2)选择Data:写入寄存器的数据无返回值l任务二PC机通过串口RS232控制6盏LED灯,如果上位机发送‘1’(char),则LED亮,并且FPGA通过串口给PC机发送字符串“LEDON!”,否则LED灭,FPGA通过串口向PC机发送字符串“LEDOFF!”。//串口助手头文件#include"xparameters.h"#include"xuartlite_l.h"#include"xgpio_l.h"参考函数
4、1.XGpio_mSetDataDirection(BaseAddress,Channel,DirectionMask)参数说明:BaseAddress:GPIO的基地址Channel:GPIO通道(1或者2)选择DirectionMask:GPIO输入输出选择,‘1’选择输入,‘0’选择输出无返回值2.XGpio_mSetDataReg(BaseAddress,Channel,Data)参数说明:BaseAddress:GPIO的基地址Channel:GPIO通道(1或者2)选择Data:写入寄存器的数据无返回值3.XUartLite_SendByt
5、e(BaseAddress,Data)此函数作用是往串口发送数据。参数说明:BaseAddress:UartLite的基地址Data:uart发送的8bits数据无返回值4.XUartLite_RecvByte(BaseAddress)此函数作用是从串口接受数据。参数说明:BaseAddress:UartLite的基地址返回值:8bitsuart接收的数据l任务三上位机通过串口向FPGA发送不多于4个字符(char)的10进制数,各个数据之间以空格键分隔,以回车键结束。然后在Microblaze内部进行最简单的FIR滤波,将数据与其前一个数据相加,即y
6、(n)=x(n)+x(n-1),然后以字符型的10进制数输出,数据之间依然以空格分隔。头文件#include"xbasic_types.h"#include"xparameters.h"#include"xstatus.h"#include"xuartlite.h"#include"xuartlite_l.h"函数说明1.XUartLite_SendByte(BaseAddress,Data)参数说明:BaseAddress:UartLite的基地址Data:uart发送的8bits数据无返回值2.XUartLite_RecvByte(BaseAddr
7、ess)参数说明:BaseAddress:UartLite的基地址返回值:8bitsuart接收的数据l任务四(选作)在程序的主循环中使LED灯闪烁。同时监听串口中断,如果串口上有接收数据,则把数据转发回PC机串口。需要使用Microblaze中断方式。头文件#include"xparameters.h"#include"xintc.h"//interruptcontroller#include"xuartlite_l.h"//uart#include"xgpio_l.h"//gpio函数说明1microblaze_enable_interrupts(
8、);使能microblaze全局中断,在程序开头调用。2XIntc_RegisterHandl
此文档下载收益归作者所有