在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4592|回复: 5

[求助] 基于APB的uart的fifo数据读取

[复制链接]
发表于 2016-4-8 20:36:57 | 显示全部楼层 |阅读模式
200资产
最近在做基于apb的uart,uart接收到的数据先存储于fifo,在fifo中的数据达到设计要求时,就发出一中断,表示数据已经准备好,可以读取,具体时序如下所示: 捕获.PNG

ready_int表示数据准备好的中断信号,apb接收到次中断后,拉高apb_sel选择信号,
其中fifo的读使能为,rd_en = apb_sel && !apb_en(忽略读写信号),不知这样合不合理?
因为数据要在apb_en变为高电平稳定下来,所以也不确定自己的设计是否合理?望指点指点!

最佳答案

查看完整内容

你的UART模块是基于APB接口的slave,FIFO的读使能是根据APB总线译码得到的,完全取决于APB的master什么时候来读FIFO,作为UART只能被动接受被读,唯一可以控制APB master行为的就是你送出的表明FIFO ready的状态信号。FIFO的读使能 rd_en = apb_sel & (~apb_write) & (~apb_enable) & (apb_addr == FIFO_ADDR) ; FIFO读出的数据寄存一拍到apb_rdata上,使得数据是在apb_enable为高时有效。 ...
发表于 2016-4-8 20:36:58 | 显示全部楼层
你的UART模块是基于APB接口的slave,FIFO的读使能是根据APB总线译码得到的,完全取决于APB的master什么时候来读FIFO,作为UART只能被动接受被读,唯一可以控制APB master行为的就是你送出的表明FIFO ready的状态信号。FIFO的读使能 rd_en = apb_sel & (~apb_write) & (~apb_enable) & (apb_addr == FIFO_ADDR) ; FIFO读出的数据寄存一拍到apb_rdata上,使得数据是在apb_enable为高时有效。
发表于 2016-4-9 12:52:06 | 显示全部楼层
这个看楼主使用的fifo接口时序了,是FWFT吗? 楼主可否讲fifo接口的 timing 一起给出,才好判断
发表于 2016-4-11 09:22:02 | 显示全部楼层
不对吧。读使能应该在apb_en高的时候有效,不然你的截图里面会读三次FIFO,而实际应该是只读两次。总线去读这些外设一般都有一个周期的延时,数据一般在apb_en下一个周期给出。
 楼主| 发表于 2016-4-11 21:48:53 | 显示全部楼层
回复 3# harry_hust


   谢谢!
 楼主| 发表于 2016-4-11 21:50:44 | 显示全部楼层
回复 2# silencefpga


   谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-25 08:17 , Processed in 0.025333 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表