TI中文支持网
TI专业的中文技术问题搜集分享网站

求解答!关于5509A DMA控制器 single index 地址增长方式的疑惑

 automatic  post increment 方式下,每个element tranfer 后,16位和32位的 datatype数据 的 automatic  post increment为 address=address+2

和address=address+4,single index的地址方式下,地址增长为 address=address+element index.    我的问题就是,16位或者32位datatype下为什么element

index的值必须是2×N+1或者4×N+1?按照对automatic  post increment 方式的理解,应该是2×N或者4×N才对,费解。

           

Tony Tang:

可以查看一下第8节:Updating address in a channel. 里面提到DMA的传输后其记录的当前地址为传输的最后一个字节的地址,举个例子,如果从0地址传了32bit的数,则传完时DMA控制器记录的当前地址为3,若以4为索引,下一个数应该从8开始,那么3+(4+1)即为8,这个1也就是将DMA的当前地址往后移一个字节。

francescoli diego:

回复 Tony Tang:

您好Tony Tang先生,我在实验中遇到了一个关于dma  element index 方面的问题,麻烦您帮我分析一下。

      实验内容:单个ADS1278 接5509a串口1,ADS1278的八个通道全部开启。DMA将串口1数据读取到sdram缓冲区,首地址设rcv0,搬运数据类型为32位.

      第一次关键参数设置(调试成功):目的地址增长方式为 single  index ,element index=1,仿真器写入程序运行。信号发生器发出正弦信号,接入ADS1278第一个通道。

在CCS中观察通道1转换的波形。下图第一张为CCS graph 参数设置,第二张为显示的波形,

           

          遇到的问题:

        现在我把关键参数修改一下:

                目的地址增长依然方式为 single  index ,element index=9,CCS graph 参数设置中index increment改为24.再次实验后就显示波形就不成功了,如下图。

            

              为什么第一次显示成功,而第二次所失败呢???

   

francescoli diego:

回复 Tony Tang:

Tony Tang

可以查看一下第8节:Updating address in a channel. 里面提到DMA的传输后其记录的当前地址为传输的最后一个字节的地址,举个例子,如果从0地址传了32bit的数,则传完时DMA控制器记录的当前地址为3,若以4为索引,下一个数应该从8开始,那么3+(4+1)即为8,这个1也就是将DMA的当前地址往后移一个字节。

赞(0)
未经允许不得转载:TI中文支持网 » 求解答!关于5509A DMA控制器 single index 地址增长方式的疑惑
分享到: 更多 (0)