你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32U5的ADC测试

[复制链接]
落花又见流水 发布时间:2023-3-12 21:13
STM32U5的ADC最高可达14bit采样位数。采样率达2.5Mbps。
下面就来测试一下它的ADC外设。
首先打开 STM32CubeMX,按下图选择开发板模式创建工程。如果没有装STM32U5的开发包,可以点右边的INSTALL安装。
1.jpg
搜索U5,选择NUCLEO-U575开发板,这样可以直接初始化板上的一些已有外设了。如下图所示。然后点击右上角START PROJECT,开始配置工程。
2.jpg
下图就是开始工程配置了,可以看到一开始就有一些默认外设已配置好了。
3.jpg
首先选择ICACHE和DCACHE,打开这两个。打开时之后一般默认设置就好了。
3-1.jpg 3-2.jpg
下面选择ADC1外设,打开使能通道8,即PA3脚。使用单端模式。
4.jpg

! C3 A# {, i* \9 b) X! K- M
再就配置ADC的参数。时钟频率,数据位数,采样模式,采样通道设置,采样触发设置等等。
1 _) r- x. x' t6 K. T8 _1 m- ]
5.jpg
6.jpg 7.jpg

6 ?+ _0 q) U7 l$ ^. S/ P
设置完采样相关的参数后,使能ADC中断,通过中断模式读取数据。
7-1.jpg
0 y8 z5 I% \0 R! Q
由于ADC采样使用了TIM6触发采样,下面就要设置TIM6的参数。
设置每100us采样触发一次ADC。
8.jpg

- {2 g# W% |6 \
下一步设置MCU的主频时钟树,非常简单,默认160MHz。
9.jpg
下面设置工程名称和保存路径,以及开发包库版本。然后点击右上角的按钮生成代码。
10.jpg 11.jpg 12.jpg
等待代码生成完成就可以直接打开工程了。
13.jpg
打开生成的代码工程,此时还没有完成ADC采样功能。只是有了基本框架,下面就是要添加额外的代码控制了。
首先要使能ADC的电源VDDA,在main初始如下位置添加代码:
   HAL_PWREx_EnableVddA();
   HAL_PWREx_EnableVddIO2();
这里如果没添加的话,ADC功能是无法正常工作的。
14.jpg

: `8 ^5 C% e+ h9 U4 m
然后添加ADC的校准,此处参考例程。代码如下:
  if (HAL_ADCEx_Calibration_Start(&hadc1, ADC_CALIB_OFFSET, ADC_SINGLE_ENDED) != HAL_OK)
  {
    /* Calibration Error */
    Error_Handler();
  }
再就是启动TIM6和ADC1了。添加如下代码启动
  HAL_TIM_Base_Start(&htim6); //启动TIM6
  HAL_ADC_Start_IT(&hadc1); //中断方式启动ADC1转换。
15.jpg
添加了启动转换,下面还要添加读取采样数据。直接重载ADC中断转换完成回调函数,代码如下:
uint32_t adc_value[2];
volatile uint32_t adc_index = 0;
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
{
    if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))
    {
        adc_value[adc_index++] = HAL_ADC_GetValue(hadc);
    }
    if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS))
    {
        adc_index  = 0;
    }
}
16.jpg

# j, L4 b) K" Z
下面就可以编译下载了,编译无错误。
17.jpg
下面就可以在IDE中查看读取的数据了。我在PA3口接了一个声音传感器,可以采样其模拟值。
18.jpg

& G$ F- y; N5 P, }
测试采样数值挺稳定的,14bit的数据跳动范围都小于8。性能看来很不错。

5 g7 {" E# F- @! l- }
赞 收藏 评论1 发布时间:2023-3-12 21:13

举报

1个回答
lugl 回答时间:2023-3-13 08:29:09

多谢分享

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版