• 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

    控制字详情:

  • 相关阅读:
    人机博弈,吃子棋游戏(一)基本介绍
    cesm下载备注
    mysql数据库批量高速插入
    持续学习
    顺序表的功能实现
    Broccoli & Babel使用演示样例
    rk3188调试记录
    Operation not allowed on a unidirectional dataset错误?
    dbExpress操作中用TDBGrid显示数据
    dbexpress连接mysql提示Operation not allowed on a unidirectional dataset
  • 原文地址:https://www.cnblogs.com/big-devil/p/8589399.html
Copyright © 2020-2023  润新知