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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3839|回复: 2

[原创] 例说FPGA连载54:NAND Flash实例之Avalon-ST总线

[复制链接]
发表于 2016-12-1 17:51:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
例说FPGA连载54NAND Flash实例之Avalon-ST总线

特权同学,版权所有

配套例程和更多资料下载链接:

http://pan.baidu.com/s/1c0nf6Qc


1.jpg


相对于Avalon-MM总线基于地址映射的访问方式,Avalon-ST总线更适合于高带宽、低时延的单向数据流传输。举个实例来说,如图6.12所示,对于一个简单的图像采集显示系统,在衔接一些高数据吞吐量的接口上就可以让Avalon-ST总线派上用场。假设这个实例系统中NIOS II处理器负责将前端采集的图像进行解码或是其他处理,然后再送给显示终端。那么在图像采集的前端就会产生大量的数据吞吐量,而在图像显示刷新的后端也会有大量的数据搬运工作,那么这些任务交给Avalon-ST并且配合DMA来搞定最合适不过了。

2.jpg

6.12 图像采集显示系统


我们同样可以用一个最简单的Avalon-ST接口来领会其工作原理,如图6.13所示。在这个Avalon-ST的源端(source)和宿端(sink)之间只用了2个控制信号validready就可以轻松完成单向数据流data的传输。其实这样简单的传输控制方式我们在逻辑设计中也是非常频繁的用到,但是若深入研究Avalon-ST总线的一整套传输机制,那可还真是有学问。

3.jpg

6.13 Avalon-ST接口


通信的机理也蛮简单的,ready信号用于指示数据宿(DATA Sink)端是否准备就绪,是否可以接受数据源(DATA Source)端传输过来的数据信号data。而数据源端在需要发送数据的时候也会先检查ready信号是否处于有效状态,若是有效,则拉高valid使之有效,同时将需要传输的数据赋给数据信号data。数据宿端根据valid信号的有效与否决定是否接收当前的数据。当然,这里省略了时钟信号,每次数据传送通常都是按照时钟信号一个节拍一个节拍的工作。


如图6.14所示,对于这个简单的Avalon-ST总线传输而言,在宿端拉高ready信号以后源端发送过来的数据(valid有效时)才会被接收。图中的clk0时刻valid信号有效,但是ready信号无效,所以此时传输的数据无效(Invalid);clk1时刻valid信号和ready同时有效,那么数据DATA1就能被宿端接收;clk2时刻valid无效则不锁存任何数据;clk3时刻DATA2被锁存;clk4时刻由于ready信号无效则传输数据无效;后续依次类推。

4.jpg

6.14 Avalon-ST总线传输时序波形


简单的接口模型和示意图让我们看清了Avalon-ST总线的本来面目,在实践中应用Avalon-ST总线也就不再困难。





发表于 2018-7-3 21:24:51 | 显示全部楼层
好好好。
发表于 2018-7-15 22:20:31 | 显示全部楼层
好好好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-27 17:00 , Processed in 0.028941 second(s), 7 queries , Gzip On, Redis On.

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