STM32 CUBEMX配置TMC5160电机驱动简要指南

  1. TMC5160简介

                1.1、引脚图

         1.2、关键引脚

               1.2.1 模式选择引脚

                 1.2.2 时钟和SPI引脚

                  1.2.3 驱动使能引脚

 2.SPI发送数据结构

        发送到 TMC5160 的每个数据报由一个地址字节和四个数据字节组成。 这方便对 TMC5160 的寄存器组直接进行 32 位数据字通信。 每个寄存器有 32 位数据, 即使少于 32 位。

        结合寄存机表格总结下:一次发送40位数据 先发送8位寄存器地址,32位数据位

注意:

        1、读和写选择由地址字节的最高位( SPI 数据报的第 39 位 )控制。 读为 0, 写为 1。
因此, 0x80 必须加到地址中才能进行写操作。

        2、在整个 SPI 总线通讯期间, CSN 必须为低。 当 CSN 变高时, 内部移位寄存器的内容被锁存到内部控制寄存器中, 并被识别为从主设备到从设备的命令。 如果发送超过 40 位, 则只有 CSN 上升沿之前接收的最后 40 位被识别为有效命令。
 

3.STM32驱动

采用硬件SPI方式

发送函数如下:

void SPI_SendByte(uint8_t add , uint32_t datagram)
{
	
	HAL_GPIO_WritePin(CSN_GPIO_Port, CSN_Pin, GPIO_PIN_RESET); 	//SPI_CS片选拉低	
	
	uint8_t Data[5];
	Data[0] = add;
	Data[1]=(uint8_t)(datagram >> 24);
	Data[2]=(uint8_t)(datagram >> 16);
	Data[3]=(uint8_t)(datagram >> 8);
    Data[4]=(uint8_t)(datagram);	
	//Data[4]=(uint8_t)(datagram >> 8);
	
        if(HAL_SPI_Transmit(&hspi1,Data,5,1000) == HAL_OK)
        {
			HAL_GPIO_WritePin(CSN_GPIO_Port, CSN_Pin, GPIO_PIN_SET); 	//SPI_CS片选拉1

        }
		else;
		
			HAL_GPIO_WritePin(CSN_GPIO_Port, CSN_Pin, GPIO_PIN_SET); 	//SPI_CS片选拉1
		
		__NOP();
    
}

主函数调用时,自行添加 0X80。

配置完成后,可参照数据手册验证硬件连接

 发送模式:

SPI_SendByte(0x80,0x00000004);//stealthchop

鱼翻藻鉴,鹭点烟汀。

 

物联沃分享整理
物联沃-IOTWORD物联网 » STM32 CUBEMX配置TMC5160电机驱动简要指南

发表评论