MicroBlaze之串口中断

AXI UART IP核 提供 UART信号 与 AMBA(高级 微控制器 总线体系结构 高级可扩展接口 )之间的AXI接口,并提供异步串行数据 传输 的 控制接口。

AXI UART IP核的顶层框图

 

 AXI Interface(AXI接口):

该模块实现了寄存器访问和数据传输的AXI4 LITE接口;

(实现AXI4 LITE接口)

UART Lite Register(UART Lite寄存器模块):

此模块包括内存映射寄存器。

它由1个控制寄存器、1个状态寄存器、1对收/发FIFO组成,这2个FIFO都有16字节的深度;

当接收FIFO变为非空或当发送FIFO变为空时,生成上升沿敏感的中断;

此中断可以使用中断启用/禁用来屏蔽。

(接收FIFO为空,发送FIFO为非空,生成中断;启用/禁用信号来屏蔽)

UART Controler(UART控制模块):

该模块包括RX Control(接收控制)、TX Control(发送控制)、BRG(BUAD Rate Generate)、Interrupt Control(中断控制)4个模块组成。

(接收控制、发送控制、波特率生成、中断控制)

AXI UART IP核提供了AXI4-LITE接口,通过AXI4-LITE接口读取状态寄存器或配置UART Control模块(复位收发FIFO、启用中断);

当AXI UART接收数据后,RX Control模块和BRG模块产生的波特率把串行数据转换成并行数据,写入接收FIFO;

然后处理器通过AXI4 LITE接口,读出接收FIFO里的数据;

发送时,处理器中的数据通过AXI4 LITE接口写入发送FIFO,然后经RX Control根据BRG模块产生的波特率,将并行数据转换为串行数据。

任务:

根据AXI UART IP核的中断,完成数据收发。

系统框图

 

AXI UART 模块产生中断信号,

中断控制器检测到中断信号后,产生输出中断信号,传入MicroBlaze。


 

设计完Block Design后,先验证,后保存。

之后先“Generate Output Products”,后“Create HDL Wrapper”。

管脚约束,生成Bit,导出硬件,启动Vitis。

软件大致框架:

1、头文件

2、宏定义相关ID

3、实例化

4、中断处理函数声明

5、main函数

5.1 初始化串口

5.2 初始化中断控制器

5.3 关联中断源和中断处理函数

5.4 使能串口中断、打开中断控制器、使能中断控制器

5.5 异常处理

5.5.1 初始化中断异常

5.5.2 关联中断异常和中断控制器

5.5.3 使能中断异常

6 中断处理函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值