您当前的位置:首页 > 美文分享

Avalon总线的功能_浅谈AVALON总线的应用及要求

时间:2023-02-08 08:41:10

Avalon总线的功能_浅谈AVALON总线的应用及要求

在NIOS的使用中,我们经常使用自定义外设,然后通过AVALON交换架构与NIOSII进行通信。

AVALON总线实际上是一种交换架构的协议。当自定义外设挂在AVALON总线上时,一定要注意地址对齐。

AVALON总线要求自定义外设数据的位宽必须是8、16、32,所以如果位宽是32,那么就不需要对齐。如果数据位宽度为8,即外设数据总线位宽为8,NIOS数据总线位宽为32,则应考虑地址对齐。这种地址对齐是存储器地址对齐。当NIOS向从外设写入数据时,由于位宽不相等,NIOS会执行四次写操作,将一个32位的数分成四个8位的数据写入从外设。NIOS以同样的方式从外围设备读取数据。在读使能有效后的下一个时钟,从外设必须将数据放到总线上,并且应该是4个数据。如果只有一个字节有效,其他三个字节可以用零填充。

比如在QSYS下挂外设,系统一般会分配一个内存映射地址,比如0x3322,所以外设的地址就是从这里开始的。对于8位数据,存储在存储器中的四个连续数据的地址是0x3322、0x3323、0x3320和0x3321,它们由存储器决定。调试过SDRAM的朋友应该知道。特别是当NIOS读取外围数据时,很容易出错。比如NIOS读数据时,连续四个外设数据是0xaa,0x00,0x00,0x00,也就是说只有0xaa有效,所以根据上面的地址和小端存储方式,地址对应的数据是0x3322-"0xaa,0x3323-"0x00,0x3320-"0x00,0x3321-"如果位宽为16位,NIOS在读写外设时会有两次读写过程。同样如上,注意地址对齐。

标签:外设地址数据

外设

最新文章