一、版本信息
1.本文使用SMT32F407为例,使用HAL库,SPI通信。
2.CS5531、CS5532、CS5533、CS55534理论上相通,本文以CS5532为例。
二、参考程序
三、CS5532理解注意事项
3.1 波特率

讯享网
如上图所示,波特率最大为2MHz。
3.2 SPI模式

如上图所示,CS片选有效后,SDI、SDO在SCLK的第一个时钟延采集高低电平,第二个时钟转换数据。
对应STM32程序设置如下:
void MX_SPI3_Init(void) {
hspi3.Instance = SPI3; hspi3.Init.Mode = SPI_MODE_MASTER; hspi3.Init.Direction = SPI_DIRECTION_2LINES; hspi3.Init.DataSize = SPI_DATASIZE_8BIT; hspi3.Init.CLKPolarity = SPI_POLARITY_LOW; hspi3.Init.CLKPhase = SPI_PHASE_1EDGE; hspi3.Init.NSS = SPI_NSS_SOFT; hspi3.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_32; hspi3.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi3.Init.TIMode = SPI_TIMODE_DISABLE; hspi3.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; hspi3.Init.CRCPolynomial = 10; if (HAL_SPI_Init(&hspi3) != HAL_OK) {
Error_Handler(); } }
讯享网
3.3 SPI对应GPIO口上下拉设置
讯享网void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle) {
GPIO_InitTypeDef GPIO_InitStruct = {
0}; if(spiHandle->Instance==SPI3) {
/* USER CODE BEGIN SPI3_MspInit 0 */ /* USER CODE END SPI3_MspInit 0 */ /* SPI3 clock enable */ __HAL_RCC_SPI3_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE(); /SPI3 GPIO Configuration PC10 ------> SPI3_SCK PC11 ------> SPI3_MISO PC12 ------> SPI3_MOSI */ GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF6_SPI3; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); GPIO_InitStruct.Pin = GPIO_PIN_12; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_PULLDOWN; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF6_SPI3; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); /* USER CODE BEGIN SPI3_MspInit 1 */ /* USER CODE END SPI3_MspInit 1 */ }
3.4 中文手册有误
中文翻译手册中,单双极性处有误,正确的请参考英文手册。

英文的才正确。


四、调试过程遇到的问题和bug
4.1读取转换全部为0xFF
分析:

由上图可知,由于时序图中的td时间不确定,未等到SDO拉低,然后读取转换结果将出现全部为0xFF或者0x00的情况。
4.2 SPI的波形存在异常
紫色:NSS片选信号
黄色:SCLK时钟信号
蓝色:MOSI信号
绿色:MISO信号

由上图可知,MOSI信号发生了缓慢下降,这是由于没有下拉设置的原因。
4.3 AD转换时间过长
以下为7.5SPS下的单词转换时间


五、程序和手册下载
附件为STM32与CS5532的通信程序。测试无bug。
点击下载资料

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/36101.html