zoukankan      html  css  js  c++  java
  • DMA

    DMA:如果将一串字符串通过串口传送到外设中去,用传统的方法,则CPU将不断的去扫描UTSTAT这个寄存器,在字符发送期间,CPU将不能做任何其他事情。为了解决这个问题,则在诞生了DMA

    CPU只需要告诉DMA控制器,目标地址和目的地址就行了,其他事情就直接交由DMA去完成。

    DMA控制器控制:
    通道数

    2440支持4channelDMA 通道

    请求源

    由上图说示,每一个通道支持6个请求源,所谓请求源就是指,哪些支持哪些通信去使用DMA

    工作时序

    由上图所示可以看出,DMA请求信号响应大约两个时钟周期后,响应信号开始响应,大约响应三个时钟周期后,将DMA正式接管总线

    工作模式

    请求模式(demand模式):如果DMA完成一次请求信号后,request信号任然有效,DMA就任务这是下一次请求信号,并继续下一次信息传输。

    握手模式(handshake模式):DMA完成一次请求后,等待request信号无效,在等待下一次的请求信号有效后,再进行信息传输

    DMA 源地址数据寄存器:

    作用分析:

    用于将告诉DMA 源数据的起始地址是多少,并将该地址写入其中

    源地址控制寄存器:

    作用分析:

    用于决定数据传送通道使用什么通道,和数据源地址增长变化形式。

    DMA目的地址数据寄存器:

    作用分析:

    用于将存放传送数据的目的地起始地址

    DMA目的控制寄存器

    作用分析:

    用于存放目的地址的控制信息

    控制字详情:

    这里采用APB总线,又因为这里的目的地址就只有UTHX0所以INC0

    DMA控制寄存器(该控制寄存器级别略大):

    作用分析:

    用于选择DMA源,中断源软件类型还是硬件类型,传输完成后是否继续传输,给定所传输数据的大小

    控制字详情:

    DMA开关寄存器

    作用:用于使能DMA

    控制字详情:

  • 相关阅读:
    [root@192 ~]# ls /etc/sysconfig/network-scripts
    解决unknown import path "golang.org/x/sys/unix": unrecognized import path "golang.org/x/sys"
    Centos 修改IP地址、网关、DNS
    Centos7 下安装golang
    yum国内镜像配置
    grep -R --include=*.log warning /var/log
    第五章 单例模式(待续)
    第四章 工厂模式(待续)
    第三章 装饰者模式(待续)
    第二章 观察者模式(待续)
  • 原文地址:https://www.cnblogs.com/big-devil/p/8589399.html
Copyright © 2011-2022 走看看