中国高校课件下载中心 》 教学资源 》 大学文库

沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第10章 DMA控制器

文档信息
资源类别:文库
文档格式:PPT
文档页数:43
文件大小:428.5KB
团购合买:点击进入团购
内容简介
本章讲述了DMA控制器,包括DMA的结构和主要特征、DMA的功能描述、DMA库函数和DMA应用实例。
刷新页面文档预览

DMA控制器第10章

第10章 DMA控制器

本章讲述了DMA控制器,包括DMA的结构和主要特征、DMA的功能描述、DMA库函数和DMA应用实例

本章讲述了DMA控制器,包括DMA的结构和主要特征 、DMA的功能描述、DMA库函数和DMA应用实例

10.1DMA的结构和主要特征DMA(DirectMemoryAccess,直接存储器存取)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输,无须CPU干预,是所有现代计算机的重要特色。在DMA模式下,CPU只需向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样在很大程度上减轻了CPU资源占有率,可以大大节省系统资源。DMA主要用于快速设备和主存储器成批交换数据的场合。在这种应用中,处理问题的出发点集中到两点:一是不能去失快速设备提供出来的数据,二是进一步减少快速设备输入/输出操作过程中对CPU的打扰。这可以通过把这批数据的传输过程交由DMA来控制,让DMA代替CPU控制在快速设备与主存储器之间直接传输数据。当完成一批数据传输

10.1 DMA的结构和主要特征 DMA(Direct Memory Access,直接存储器存取)用来 提供在外设和存储器之间或者存储器和存储器之间的高速数 据传输,无须CPU干预,是所有现代计算机的重要特色。在 DMA模式下,CPU只需向DMA控制器下达指令,让DMA控制 器来处理数据的传送,数据传送完毕再把信息反馈给CPU, 这样在很大程度上减轻了CPU资源占有率,可以大大节省系 统资源。DMA主要用于快速设备和主存储器成批交换数据的 场合。在这种应用中,处理问题的出发点集中到两点:一是 不能丢失快速设备提供出来的数据,二是进一步减少快速设 备输入/输出操作过程中对CPU的打扰。这可以通过把这批 数据的传输过程交由DMA来控制,让DMA代替CPU控制在快 速设备与主存储器之间直接传输数据。当完成一批数据传输

之后,快速设备还是要向CPU发一次中断请求,报告本次传输结束的同时,“请示”下一步的操作要求。STM32的两个DMA控制器有12个通道(DMA1有7个通道,DMA2有5个通道),每个通道专门用来管理来自一个或多个外设对存储器访问的请求。还有一个仲裁器来协调各个DMA请求的优先权。DMA的功能框图如图10-1所示STM32F103VET6的DMA模块具有如下特征。1)12个独立的可配置的通道(请求):DMA1有7个通道,DMA2有5个通道。2)每个通道都直接连接专用的硬件DMA请求,每个通道都支持软件触发。这些功能通过软件来配置

之后,快速设备还是要向CPU发一次中断请求,报告本次传 输结束的同时,“请示”下一步的操作要求。 STM32的两个DMA控制器有12个通道(DMA1有7个通道 ,DMA2有5个通道),每个通道专门用来管理来自一个或多 个外设对存储器访问的请求。还有一个仲裁器来协调各个 DMA请求的优先权。DMA的功能框图如图10-1所示。 STM32F103VET6的DMA模块具有如下特征。 1)12个独立的可配置的通道(请求):DMA1有7个通 道,DMA2有5个通道。 2)每个通道都直接连接专用的硬件DMA请求,每个通道 都支持软件触发。这些功能通过软件来配置

3)在同一个DMA模块上,多个请求间的优先权可以通过软件编程设置(共有4级:很高、高、中等和低),优先权设置相等时由硬件决定(请求0优先于请求1,以此类推)。4)独立数据源和目标数据区的传输宽度(字节、半字、全字)是独立的,模拟打包和拆包的过程。源和目的地址必须按数据传输宽度对齐。5)支持循环的缓冲器管理。6)每个通道都有3个事件标志(DMA半传输、DMA传输完成和DMA传输出错),这3个事件标志通过逻辑“或”运算成为一个单独的中断请求。7)存储器和存储器间的传输。8)外设和存储器、存储器和外设之间的传输

3)在同一个DMA模块上,多个请求间的优先权可以通过 软件编程设置(共有4级:很高、高、中等和低),优先权设 置相等时由硬件决定(请求0优先于请求1,以此类推)。 4)独立数据源和目标数据区的传输宽度(字节、半字、 全字)是独立的,模拟打包和拆包的过程。源和目的地址必 须按数据传输宽度对齐。 5)支持循环的缓冲器管理。 6)每个通道都有3个事件标志(DMA半传输、DMA传输 完成和DMA传输出错),这3个事件标志通过逻辑“或”运算 成为一个单独的中断请求。 7)存储器和存储器间的传输。 8)外设和存储器、存储器和外设之间的传输

9)闪存、SRAM、外设的SRAM、APB1、APB2和AHB外设均可作为访问的源和目标。10)可编程的数据传输最大数目为65536

9)闪存、SRAM、外设的SRAM、APB1、APB2和AHB 外设均可作为访问的源和目标。 10)可编程的数据传输最大数目为65536

ICodeNFlashFlashDCode接口控制器Cortex-M3介核心系统NSRAMLDMA1DMA通道1N复位和时钟控制(RCC)通道2个N桥1→通道7桥2WAAPB2APB1仲裁器个DMA请求ADC1GPIOCDACSP13/12SPWRSPI2/12SADC2GPIODAHB从设备BKPIWDGUSARTIGPIOECAN1WWDGSPHEXTICAN2TIMIRTCAFIO12C2TIM7DMA2GPIOA通道1I2C1TIM6GPIOBUART5TIM5★通道2UART4TIM4DMA请求TIM3USART3USART2TIM2通道5VWA仲裁器个AHB从设备17以太网MACUSBOTGFS图10-1DMA的功能框图

图10-1 DMA的功能框图 Cortex-M3 核心 Flash 接口控制器 ICode DCode 仲裁器 AHB从设备 通道7 通道1 通道2 DMA1 仲裁器 AHB从设备 通道5 通道1 通道2 DMA2 以太网MAC USB OTG FS ADC1 ADC2 复位和时钟 控制(RCC) 桥2 桥1 Flash SRAM 系统 DMA 总线矩阵 DMA DMA DMA请求 DMA请求 APB2 APB1 USART1 USART2 USART3 UART4 UART5 SPI1 TIM1 GPIOA GPIOB GPIOC GPIOD GPIOE EXTI AFIO DAC PWR BKP CAN1 CAN2 I2C2 I2C1 SPI3/I2S SPI2/I2S IWDG WWDG RTC TIM6 TIM7 TIM5 TIM4 TIM3 TIM2

10.2 DMA的功能描述DMA控制器和Cortex-M3核心共享系统数据总线,执行直接存储器数据传输。当CPU和DMA同时访问相同的目标(RAM或外设)时,DMA请求会暂停CPU访问系统总线若干个周期,总线仲裁器执行循环调度,以保证CPU至少可以得到一半的系统总线(存储器或外设)使用时间

10.2 DMA的功能描述 DMA控制器和Cortex-M3核心共享系统数据总线,执行 直接存储器数据传输。当CPU和DMA同时访问相同的目标( RAM或外设)时,DMA请求会暂停CPU访问系统总线若干个 周期,总线仲裁器执行循环调度,以保证CPU至少可以得到 一半的系统总线(存储器或外设)使用时间

10.2.1DMA处理发生一个事件后,外设向DMA控制器发送一个请求信号。DMA控制器根据通道的优先权处理请求。当DMA控制器开始访问发出请求的外设时,DMA控制器立即发送给外设一个应答信号。当从DMA控制器得到应答信号时,外设立即释放请求。一旦外设释放请求,DMA控制器同时撤销应答信号。如果有更多的请求,外设可以在下一个周期启动请求。总之,每次DMA传送由3个操作组成:1)从外设数据寄存器或者从当前外设/存储器地址寄存器指示的存储器地址读取数据,第一次传输时的开始地址是DMACPARx或DMACMARx寄存器指定的外设基地址或存储器单元

发生一个事件后,外设向DMA控制器发送一个请求信号 。DMA控制器根据通道的优先权处理请求。当DMA控制器开 始访问发出请求的外设时,DMA控制器立即发送给外设一个 应答信号。当从DMA控制器得到应答信号时,外设立即释放 请求。一旦外设释放请求,DMA控制器同时撤销应答信号。 如果有更多的请求,外设可以在下一个周期启动请求。 总之,每次DMA传送由3个操作组成: 1)从外设数据寄存器或者从当前外设/存储器地址寄存 器指示的存储器地址读取数据,第一次传输时的开始地址是 DMA_CPARx或DMA_CMARx寄存器指定的外设基地址或存 储器单元。 10.2.1 DMA处理

2)将读取的数据保存到外设数据寄存器或者当前外设/存储器地址寄存器指示的存储器地址,第一次传输时的开始地址是DMACPARx或DMACMARx寄存器指定的外设基地址或存储器单元。3)执行一次DMACNDTRx寄存器的递减操作,该寄存器包含未完成的操作数目

2)将读取的数据保存到外设数据寄存器或者当前外设/ 存储器地址寄存器指示的存储器地址,第一次传输时的开始 地址是DMA_CPARx或DMA_CMARx寄存器指定的外设基地 址或存储器单元。 3)执行一次DMA_CNDTRx寄存器的递减操作,该寄存 器包含未完成的操作数目

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档