版主: 51FPGA

分享到:
共1条 1/1 1   

请教microblaze连接axi_uartlite的波特率问题

    [您是本帖的第2713位阅读者]
lemonxin
我是MM
高级会员

最后登陆时间:2017-09-22 16:15:10

直达楼层
1# 发表于 2017-09-22 16:58:04

最近在学习xilinx的microblaze,做了一个闪灯和串口的小实验,发现串口波特率有点问题,不知道怎样解决,问题如下:

1、首先,我在vivado下设置的串口ip核波特率为9600,8个数据比特,如图所示:

2、然后综合实现生成BIT文件后进入SDK部分编写C代码,用的是HELLO WORLD 模版,打印hello,并加入了闪灯的代码,如图所示。根据硬件平台生成串口配置C代码中波特率也是9600,在图中可以看到。

3、烧写进FPGA后,在PC端的串口调试助手观察FPGA发过来的数据,当波特率设为9600时,传过来的是乱码,当换为4800后,就接收正常,如图所示:

4、大神们能解释一下这是为什么吗?为什么波特率匹配(9600)却乱码,不匹配(4800)却能接受正常?还有一个问题,就是vivado的串口IP核没有设置停止位的选项,那么这个ip核默认停止位是几位? PC端接收时停止位应该设置为几位?在实验过程中,我用示波器抓了一下串口数据,发现FPGA发出来的数据携带两个比特的停止位(10),PC端接收时停止位设置为1和2,都能成功接到hello,不懂为什么设置为1时也能收到。求大神赐教,小女子感激不尽~




关键词:microblaze    SDK    串口    波特率    
共1条 1/1 1   
快速回复主题
  • 匿名不能发帖!请先 [ 登陆 注册 ]