微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于TMS320C6455的高速SRIO接口设计

基于TMS320C6455的高速SRIO接口设计

时间:11-30 来源:互联网 点击:
3.3 SRIO基本读写和门铃操作

根据包的格式的不同,将事务划分成很多类型,其中最重要的类型有三种:NREAD(基本读操作)、NWRITE(基本写操作)、DOORBELL(门铃操作)。 通过这三种类型的组合就可以完成所有的存储器读写操作。在介绍读写操作之前,先介绍一下与SRIO有关的DMA操作。

在C6455上,SRIO数据传输和DMA传输是结合的。此DMA与EDMA方式是独立的,当进行SRIO传输时,DMA以自动方式启动。对与发送方来说,DMA将数据从L2 SRAM搬移到SRIO端口,对于接收方来说,DMA将数据从SRIO端口搬移到L2 SRAM内存。因此,在进行传输时,读写地址是直接显示在包里的,而且此地址就是被读写的DSP的地址。换句话说,DSP可以对另一片DSP的L2 SRAM直接进行读写操作。图4就是自动DMA的传输操作。


读写操作和门铃操作主要由图5中的7个寄存器进行控制,这些寄存器里的值会自动加入到包中。在SRIO总线上,每个SRIO设备都有一个相应的设备地址,设备地址好比一个SRIO设备的ID,用于区别不同的SRIO设备。当SRIO总线上的一个SRIO设备进行读写访问时,它发送的包就含有设备地址,只有自身设备地址与包的设备地址符合的SRIO设备才会对此次传输做出响应。SRIO Address MSB和SRIO Address LSB共同构成64-bit寻址,指示的是被访问SRIO设备的地址。开发板上只用到32-bit寻址,因此,SRIO Address MSB为0,SRIO Address LSB指示的是被访问的DSP的地址。DSP address指示的是本地DSP的地址。Byte_count这一项给出的是传输字节数,一次读写操作(可以是很多包)最多可以传送4Kbytes的数据。DestID是目标设备的ID号,用来区分SRIO总线上的设备。Drbll Info用于门铃事件,通过此位段的设置,从而向目标DSP产生中断。Packet Type用来指示此次传输的类型,例如NREAD、NWRITE和DOORBELL等。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top