查看: 1010|回复: 0

MPC8260的两种DMA传输系统结构特点

[复制链接]

该用户从未签到

发表于 2011-1-15 14:03:06 | 显示全部楼层 |阅读模式
分享到:
  MPC8260是一种嵌入式PowerPC微处理器,具有双核结构:1个高性能的MPC603e 64位RISC微处理器内核和1个专为通信设计的32位RISC通信处理模块。CPM能够分担PowerPC内核大部分的外围通信任务,其中就包含两个DMA控制器,即串行直接存储器存取通道,所以这种双处理器的体系结构比单处理器具有更强的通信控制功能。
  主控板上的FPGA和SDRAM都是挂接在MPC8260的60x总线上的,所以只能利用IDMA来实现二者之间的DMA传输。根据传输启动的触发方式不同,IDMA可分为握手信号控制的IDMA传输和CP命令控制的IDMA传输两种。以下是MPC8260的两种DMA传输系统结构特点
    1 握手信号控制的IDMA传输
  握手信号控制的IDMA传输主要用于外设和内存之间的数据传输。每个IDMA通道都有3个握手信号用于传输握手控制:DMA请求信号DREQ、DMA应答信号DACK和DMA结束信号DONE。这种方式PowerPC内核只需要参与IDMA通道初始化,之后的
传输过程全部由CP按照通道参数设置和握手信号控制数据的收发,在最大程度上释放内核。
    握手信号控制的缺点在于:
    ① SDRAM中的数据和MPC8260的数据同步比较复杂。
    ② 每次发出请求信号后都要进行总线仲裁,并且在得到总线使用权之后一次只能够传输外设端口大小或者32位的数据,总线利用率低。
    ③ 握手控制逻辑和时序比较复杂,加重了FPGA内部控制逻辑设计的负担。
  握手信号控制的IDMA传输方式基本上不占用内核资源,但是由于总线带宽有限且利用率较低,所以在连续高速的通信条件下会造成内核长时间得不到总线使用权而一直处于等待状态。因此,握手信号控制的IDMA一般只适用于由外设发起的、数据不是太频繁的传输使用。
    2 CP命令控制的IDMA传输
  MPC8260的IDMA还可以通过向CP命令寄存器中写入START_IDMA命令进行内部触发。每次启动传输以后PowerPC内核就被释放,传输的源地址、目的地址和传输数据长度等参数由CP按照在IDMA通道初始化的信息控制执行。每次传输的最大
长度为4 GB。
  相比握手信号控制的IDMA传输,在这种方式下,PowerPC内核除了需要初始化IDMA通道以外还要以命令的形式启动每一次的传输,所以要占用多一些的内核资源。不过,在一次传输启动之后最多可以传输4 GB的数据,所以只要每次传输的数据长度比较长,内核写一个寄存器的额外开销就完全可以忽略不计。同时,由于内部命令触发方式不需要握手信号,不需要频繁地每几个字节就竞争一次总线控制权,所以这种方式的传输效率更高、传输速度更快。内部命令触发方式是以空间换时间——用前端大的缓冲区来换取传输速度的提升。
  考虑到主控板上软硬件系统的瓶颈都在于总线带宽,而存储资源相对比较丰富,所以选择CP命令控制的IDMA传输作为数据流从FPGA到SDRAM的传输方式。
本文来自     http://www.glspower.org/c452.html
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

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



手机版|小黑屋|与非网

GMT+8, 2024-5-14 21:34 , Processed in 0.110188 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.