欢迎来到天天文库
浏览记录
ID:39010822
大小:403.31 KB
页数:13页
时间:2019-06-23
《STM32ADC与DMA的关系》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、STM32ADC与DMA宋维STM32ADC的特点12位精度,最快1uS的转换速度,具备2个以上独立的ADC控制器。这意味着,STM32可以同时对多个模拟量进行快速采集,这个特性不是一般的MCU具有的。STM32AD转换器输入通道连接一个模拟信号,在一定的时序和时间控制下,将模拟量转变成数字量。微处理器可以通过读取AD转换器的数据寄存器获得该数字量。组注入组规则组AD转换模式单次转换:一个通道,一次转换。连续转换:一个通道,不停地转换。单次的组转换:对于一个通道组(注入组或规则组),逐个转换。连续的组转换:一个组转换完成后,又从头开始。AD寄存器状态寄存器:是否转换中、完成标志位、电压看门
2、狗标志位。控制寄存器:开启看门狗、不连续模式、扫描模式、中断允许、温度和电压检测允许、软件触发转换、选择外部触发、数据对齐方式、是否DMA、复位校准、是否连续转换、软开关ADC。采样时间寄存器:设定采样时间。看门狗阈值寄存器:规则通道组序列寄存器:共有3个注入通道组序列寄存器:共有1个,最多4通道。数据寄存器寄存器举例ADC1->CR1=0x00000100;ADC是个复杂的问题,涉及硬件设计,电源质量,参考电压,信号预处理等等问题。我们只就如何在MCU内完成一次ADC作讨论。DMAMCU内部分为主处理器和外设两个部分。主处理器是执行我们指令的主要部分,外设则是串口I2CADC等等用来实现
3、特定功能的设备。主处理器在干什么?逻辑判断?计算算法?搬运!如:把USART的数据接收下来,存起来;把ADC的数据接收下来,存起来;把要发送的数据,存起来,一个个的往USART里放。CPU花时间搬运不划算,怎么办?让外设和内存间建立一个通道,在主处理器允许下,让外设和内存直接读写,这样就释放了主处理器。这就产生了DMA。MCU是公司,老板是主处理器,员工是外设,仓库就是内存。增加一个仓管。STM32的优点之一有一个与CPU并行运行的模块:DMA。,其全称是:DirectMemoryAccess。DMA是STM32中一个独立与Cortex-M3内核的模块,有点类似与ADC、PWM、TIMER
4、等模块;主要功能是通信“桥梁”的作用,可以将所有外设映射的寄存器“连接”起来,这样就可以高速问各寄存器,其传输不受CPU的支配。传输是双向的。DMA在AD转换中的作用ADC采集到的数据是不能直接用的。一次,总有离谱的时候;所以要多采几次。即,也可以说,单次ADC无意义。所以要多采几次,于是数据传输量大。所以dma就有用途了。
此文档下载收益归作者所有