- TMC5160簡介
????????????????1.1、引腳圖
?????????1.2、關鍵引腳
?????????????? 1.2.1 模式選擇引腳
?????????????????1.2.2 時鐘和SPI引腳
??????????????????1.2.3 驅動使能引腳
?2.SPI發(fā)送數據結構
????????發(fā)送到 TMC5160 的每個數據報由一個地址字節(jié)和四個數據字節(jié)組成。 這方便對 TMC5160 的寄存器組直接進行 32 位數據字通信。 每個寄存器有 32 位數據, 即使少于 32 位。
??????? 結合寄存機表格總結下:一次發(fā)送40位數據 先發(fā)送8位寄存器地址,32位數據位
注意:
??????? 1、讀和寫選擇由地址字節(jié)的最高位( SPI 數據報的第 39 位 )控制。 讀為 0, 寫為 1。
因此, 0x80 必須加到地址中才能進行寫操作。
??????? 2、在整個 SPI 總線通訊期間, CSN 必須為低。 當 CSN 變高時, 內部移位寄存器的內容被鎖存到內部控制寄存器中, 并被識別為從主設備到從設備的命令。 如果發(fā)送超過 40 位, 則只有 CSN 上升沿之前接收的最后 40 位被識別為有效命令。
?
3.STM32驅動
采用硬件SPI方式
發(fā)送函數如下:
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。
配置完成后,可參照數據手冊驗證硬件連接
?發(fā)送模式:
SPI_SendByte(0x80,0x00000004);//stealthchop
魚翻藻鑒,鷺點煙汀。文章來源:http://www.zghlxwxcb.cn/news/detail-735608.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-735608.html
到了這里,關于【STM32+CUBEMX】TMC5160電機驅動簡要配置的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!