Cube MX 开发高精度电流源跳坑过程/SPI连接ADS1255/1256系列问题总结/STM32 硬件SPI开发过程

文章目录

    • 概要
    • 整体架构流程
    • 技术名词解释
    • 技术细节
    • 小结

概要

1.使用STM32F系列开发一款高精度恒流电源,用到了24位高精度采样芯片ADS1255/ADS1256系列。

2.使用时发现很多的坑,详细介绍了每个坑的具体情况和实际的解决办法。

坑1:波特率设置要正确,错误的波特率读到的数据会是错误的,不稳定的

设置为18M,太高了,会导致采样不稳定。

Cube MX 开发高精度电流源跳坑过程/SPI连接ADS1255/1256系列问题总结/STM32 硬件SPI开发过程_第1张图片

设置为256K,效果很稳定,但采样速率会下降,大概40K的采样频率;

Cube MX 开发高精度电流源跳坑过程/SPI连接ADS1255/1256系列问题总结/STM32 硬件SPI开发过程_第2张图片

Cube MX 开发高精度电流源跳坑过程/SPI连接ADS1255/1256系列问题总结/STM32 硬件SPI开发过程_第3张图片

坑2:极性设置为边沿设置

2.1 设置极性为1时,采样数据不稳定:

Cube MX 开发高精度电流源跳坑过程/SPI连接ADS1255/1256系列问题总结/STM32 硬件SPI开发过程_第4张图片

2.2设置极性为2时,采样数据正常:

Cube MX 开发高精度电流源跳坑过程/SPI连接ADS1255/1256系列问题总结/STM32 硬件SPI开发过程_第5张图片

坑3:大小端设置

3.1 跟局芯片进行设置,ADS1255/ADS1256为大端模式

Cube MX 开发高精度电流源跳坑过程/SPI连接ADS1255/1256系列问题总结/STM32 硬件SPI开发过程_第6张图片

4.引脚配置

Cube MX 开发高精度电流源跳坑过程/SPI连接ADS1255/1256系列问题总结/STM32 硬件SPI开发过程_第7张图片

Cube MX 开发高精度电流源跳坑过程/SPI连接ADS1255/1256系列问题总结/STM32 硬件SPI开发过程_第8张图片

初始化代码过程如下:

  MX_GPIO_Init();
  MX_SPI2_Init();
  MX_TIM2_Init();
  /* USER CODE BEGIN 2 */

	HAL_Delay(100);
	/* µÈ´ýÉϵçÎȶ¨£¬µÈ»ù×¼µçѹµç·Îȶ¨, BSP_ADS1255_Init() ÄÚ²¿»á½øÐÐ×ÔУ׼ */	
  BSP_ADS1255_Init();	
	ADC_ID = BSP_ADS1255_ReadID();
	BSP_ADS1255_Config(ADS1255_GAIN_2, ADS1255_10SPS);	/* ÅäÖÃADC²ÎÊý£º ÔöÒæ1:1, Êý¾ÝÊä³öËÙÂÊ 100Hz */	

	HAL_TIM_Base_Start_IT(&htim2);

小结

SPI通信过程中,需要注意每一个配置的细节,马马虎虎去设置参数,最终会导致你在调试过程中花费大量的时间去找各种的Bug,很难快速跟上项目开发的节奏。

你可能感兴趣的:(GD32国产化芯片开发设计之路,stm32,人工智能,嵌入式硬件)