STM32F103xx系列称为增强型产品,增强型产品的最高时钟频率可以达到72MHz。增强型产品的英文名称为Performance Line。
STM32F101xx系列称为基本型产品,基本型产品的最高时钟频率可以达到36MHz。基本型产品的英文名称为Access Line。
根据设计,当ADC模块的频率为14MHz时,可以达到ADC的最快采样转换速度。
要得到14MHz的ADC频率,就要求SYSCLK的频率是14MHz的倍数,即14MHz、28MHz、42MHz、56MHz、70MHz、 84MHz等;对于基本型产品14MHz和28MHz处于它的最大允许频率范围内;对于增强型产品,14MHz、28MHz、42MHz、56MHz和 70MHz几种频率都在它的最大允许频率范围内,但因为ADC预分频器的分频系数只有2、4、6、8这几个,使用70MHz不能得到最大的14MHz,所以要想得到最快的ADC转换速度,在增强型产品上能用的最快SYSCLK频率是56MHz。
ADC的速度由2个参数决定,它是采样时间和转换时间之和:
即:TCONV = 采样时间 + 12.5个ADC时钟周期
在STM32中,ADC的采样时间是由用户程序在一组预定的数值中选择,按照ADC的时钟周期计算,共有8种选择:
1.5、7.5、13.5、28.5、41.5、55.5、71.5和239.5
按最小的1.5个时钟周期的采样时间计算,最短的TCONV等于14个时钟周期,如果ADC的时钟频率是14MHz,则ADC的速度为每秒100万次。
注意:当ADC的时钟频率超过14MHz时,ADC的精度将会显著下降。
关键字:STM32 ADC 速度
引用地址:
关于STM32 ADC速度的问题
推荐阅读最新更新时间:2024-11-13 11:39
stm32输入捕获,捕获高电平
输入捕获就是用定时器检测引脚上的电平时间,可以检测高电平时间和低电平时间,然后可以算引脚上信号的频率和占空比。 基本思路就是利用定时器的输入捕获功能。 定时器捕获到高电平或低电平就会进入捕获中断 例如: 我们要捕获高电平时间 0 设置定时器计数频率和装载值,一般设置1MHz,65535 1 设置定时器捕获为高电平捕获 2 进入捕获中断后,获取CNT计数值或CCRx值,定时器捕获到电平后会把CNT的值保存到CCRx。 设置成低电平捕获。 3 再次进入捕获中断,获取CNT计数值-上次的CNT值=总高电平时间。 设置成高电平捕获。 4 重复2-3即可完成下一次捕获。当然还要考虑溢出的情况,
[单片机]
STM32基于固件库学习笔记(13)ADC读取电压值
ADC简介 STM32f103 系列有 3 个 ADC(STM32F101/102 系列只有 1 个 ADC),精度为 12 位,每个 ADC 最多有 16 个外部通道。其中ADC1和 ADC2 都有 16个外部通道,ADC3根据 CPU 引脚的不同通道数也不同,一般都有8 个外部通道。 ADC 可以独立使用,也可以使用双重模式(提高采样率)。STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。它有 18 个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。 模拟看门狗特性允许应用程序检测输入电压是
[单片机]
用 STM32 通用定时器做微秒延时函数(STM32CubeMX版本)
环境: 开发板:STM32F4探索者(正点原子) 1.配置定时器时钟 选择时钟源 这里选择的是内部时钟,来自 RCC 的TIMxCLK,在通用定时器框图中我们可以看到如下: 而我们可以在 STM32F4xx中文参考手册中找到,TIM2 在外设总线1(APB1上),因此其时钟为 84MHz,如下图所示: 2.计数器时钟频率及计数模式 除了配置定时器的时钟,还需要配置计数器时钟频率,我们要实现微秒延时,因此计数器时钟频率应该是1MHz, 而要实现还需要以下3个参数: 预分频系数 根据STM32F4xx中文参考手册中的时钟频率计算,如下图所示: 其中fCK_PSC就是通用定时器框图中的CK_PSC, 即值为8
[单片机]
STM32通过按键中断点亮led灯
首先是led头文件,其中调用的一些库是原子的我只是借鉴一下 侵删 #ifndef __LED_H #define __LED_H #include sys.h #define LED PCout(13) // PA8 void LED1_Init(void);//³õʼ»¯ #endif led的c文件 #include led.h //初始化PB5和PE5为输出口.并使能这两个口的时钟 //LED IO初始化 void LED1_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockC
[单片机]
在PCB级采用时间交替超高速模数转换器
采用时间交替模数转换器(ADC),以每秒数十亿次的速度采集同步采样模拟信号,对于设计工程师来说,这是一项极大的技术挑战,需要非常完善的混合信号电路。时间交替的根本目标是通过增加转换器,在不影响分辨率和动态性能的前提下使采样频率增倍。 本文探讨时间交替模数转换器的主要技术难点,并提供切实可行的系统设计指导,包括可解决上述问题的创新性元件功能和设计方法。本文还提供从7Gsps双转换器芯片“交替解决方案”测得的FFT结果。最后,文章还描述了实现高性能所需的应用支持电路,包括时钟源和驱动放大器。 对更高采样速度的需求不断增加 何时提高采样频率会更加有益,其中的原因又是什么呢?这个问题有多种答案。模数转换器的采样速度基本上直接决定了可
[电源管理]
STM32在Ubuntu上编写USB上位机程序实现
libusb 介绍 libusb是开源的C库,使用该库是的用户可以在应用程序中直接访问 USB 设备,无需为 USB 设备编写内核驱动。libusb支持多个平台 (linux, window, ios),所以可以很方便地将应用程序移植到其他平台。 linux libusb 安装 从网上下载libusb的源码,下载地址:http://www.libusb.org/, 下载后编译安装。 # tar jxvf libusb-1.0.20.tar.bz2 # cd libusb-1.0.20 # ./configure # make # sudo make install ubuntu下可以通过以下命令快速安装。
[单片机]
STM32内存地址说明
STM32内存分配 在MDK编译过程中,内存的划分如下: Code是存储程序代码的。 RO-data是存储const常量和指令。 RW-data是存储初始化值不为0的全局变量。 ZI-data是存储未初始化的全局变量或初始化值为0的全局变量。 Flash=Code + RO Data + RW Data; RAM=RW-data+ZI-data; 此内存划分暂未包括堆栈,堆栈会在程序运行时,占用RAM。 堆栈的内存占用就是MDK里,RAM分配给RW-data+ZI-data之后的地址开始分配的。
[单片机]
STM32中对GPIO的配置与使用
其实学习单片机最先熟悉的无非就是I/O口的操作。STM32的GPIO也好理解,就8种模式。了解什么功能使用什么模式,怎么配置就可以了。废话不多说,了解一下GPIO口吧。学习时大家应该都有资料,我就不多贴资料了,下图是GPIO(STM32F10x)的电路图。(51的I/O口不需要配置,电平输送不但简单,而且不能像GPIO集成各种协议一起使用,如SPI,SPI协议后面也会介绍) 我大致将配置模式介绍一下,并将使用该模式的功能也对应一下 输入模式:(相对MCU) 1. 浮空--外部输入何种电平,该引脚就是何种电平。 结构体模式配置:GPIO_Mode_IN_FLOATING 2.上拉--顾名思义,接VDD的开关开启,接上上拉
[单片机]