TMC2660C 应用开发的快速参考手册使用--中文笔记。
# TMC2660C 步进电机驱动芯片
> **原文档**: TMC2660C DATASHEET (Rev.1.02/2021-JUN-17)
> **制造商**: TRINAMIC Motion Control GmbH & Co. KG (现为 Maxim Integrated 一部分)
> **翻译整理**: 基于技术文档的详细解读
*手册原文:https://www.analog.com/media/en/technical-documentation/data-sheets/TMC2660C_datasheet_rev1.03.pdf*
---
## 目录
1. [芯片概述](#1-芯片概述)
2. [特性与优势](#2-特性与优势)
3. [应用领域](#3-应用领域)
4. [功能框图](#4-功能框图)
5. [引脚定义](#5-引脚定义)
6. [工作原理](#6-工作原理)
7. [独立模式配置](#7-独立模式配置)
8. [StallGuard2 负载检测](#8-stallguard2-负载检测)
9. [CoolStep 自适应电流控制](#9-coolstep-自适应电流控制)
10. [SPI 接口详解](#10-spi-接口详解)
11. [STEP/DIR 接口](#11-stepdir-接口)
12. [电流设置与检测电阻](#12-电流设置与检测电阻)
13. [斩波器操作](#13-斩波器操作)
14. [功率 MOSFET 级](#14-功率-mosfet-级)
15. [诊断与保护](#15-诊断与保护)
16. [电源时序与系统时钟](#16-电源时序与系统时钟)
17. [与非 C 型的兼容性](#17-与非-c-型的兼容性)
18. [PCB 布局指南](#18-pcb-布局指南)
19. [电气参数](#19-电气参数)
20. [封装信息](#20-封装信息)
---
## 1. 芯片概述
TMC2660C 是一款用于双相步进电机的**集成式功率驱动芯片**,内置功率 MOSFET,无需外部驱动电路。
### 核心参数
| 参数 | 规格 |
|:---|:---|
| 驱动电流 | 每线圈最高 4A 峰值,2.2A RMS 连续,2.8A RMS 峰值 |
| 供电电压 | 5V ~ 30V DC(TMC2660C 支持低至 5V 操作)|
| 微步分辨率 | 最高 256 微步/全步 |
| 封装 | QFP-44 (10mm × 10mm) |
| 控制接口 | SPI + STEP/DIR(可选)|
| 内置功能 | StallGuard2™、CoolStep™、SpreadCycle™、MicroPlyer™ |
### TMC2660C 相比 TMC2660 的改进
| 改进项 | 说明 |
|:---|:---|
| 更静音的斩波操作 | 低速度下电机运行更安静 |
| VCC_IO 监控 | 内部复位电路监控 IO 电压,确保干净的上电/下电 |
| 过温滞回 | 过温关断后,需降温至 120°C 以下才重新启用 |
| 降低功耗 | 内部电路功耗降低,发热更少 |
| 改进的输入电平 | 5V 供电时 CMOS 输入电平提高,噪声抑制能力增强 |
| 更快的 STEP/DIR 滤波 | 减少丢失短脉冲的风险 |
| 时钟故障保护 | 外部时钟失效时自动切换回内部时钟(需配置)|
| 低边短路检测 | 检测对 VS 短路和过流(需配置 EN_S2VS)|
---
## 2. 特性与优势
### 驱动能力
- **高达 4A 电机电流**(每线圈)
- **最高 30V DC** 供电电压
- **256 微步分辨率**(最高)
- **紧凑封装** 10×10mm QFP-44
### 低功耗设计
- 极低的 R<sub>DS(ON)</sub>(N 沟道 63mΩ,P 沟道 93mΩ @ 25°C)
- 同步整流
- EMI 优化的可编程斜率
### 保护与诊断
- 对地短路保护
- 过温保护(100°C 预警,136°C/150°C 关断可选)
- 欠压检测
- 过流保护
- **对 VS 短路保护**(TMC2660C 特有)
### TRINAMIC 专有技术
| 技术 | 功能 | 效果 |
|:---|:---|:---|
| **StallGuard2™** | 无传感器负载检测 | 高精度检测电机堵转,可用于无传感器回零 |
| **CoolStep™** | 负载自适应电流控制 | 节能高达 75%,降低发热 |
| **MicroPlyer™** | 微步插值器 | 16 微步输入平滑插值到 256 微步 |
| **SpreadCycle™** | 高精度斩波算法 | 最佳电流正弦波形,零 crossing 优化 |
| 改进的静音操作 | TMC2660C 特有 | 低速度下更安静的电机运行 |
---
## 3. 应用领域
- 纺织机械、缝纫机
- 工厂自动化、实验室自动化
- 液体处理设备
- 医疗设备
- 办公自动化(打印机、扫描仪)
- 安防监控(CCTV)
- ATM、现金循环机、POS 机
- 泵和阀门
- 定日镜控制器
- **CNC 机床**
---
## 4. 功能框图
┌─────────────────────────────────────────────────────────────┐
│ TMC2660C │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │STEP/DIR │───→│ 微步 │───→│ 正弦表 │───┐ │
│ │ 接口 │ │ 乘法器 │ │4×256项 │ │ │
│ └─────────┘ └─────────┘ └────┬────┘ │ │
│ ↓ │ │
│ ┌─────────┐ │ ┌────────┐
│ │ X │←────┘ │ 半桥 1 │──→ OA1/OA2
│ │ (乘法器)│←────────→│ (A相) │
│ ┌─────────┐ ┌─────────┐ └────┬────┘ └────────┘
│ │ SPI │───→│ 数字 │ │ │
│ │ 接口 │←───│ 控制 │←──────┘ ┌────────┐
│ └─────────┘ └────┬────┘ │ 半桥 2 │──→ OB1/OB2
│ │ │ (B相) │
│ ┌──────────────┼──────────────┐ └────────┘
│ ↓ ↓ ↓ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │CoolStep™│ │StallGuard│ │ 保护 & │ │
│ │ 节能 │ │ 2™ │ │ 诊断 │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ ↑ ↑ │
│ └──────────────┘ │
│ ↑ │
│ ┌────┴────┐ │
│ │ 2×电流 │←──────────────────────────────────┘
│ │ 比较器 │
│ └────┬────┘
│ ↑
│ ┌────┴────┐
│ │ 2×DAC │
│ └─────────┘
└─────────────────────────────────────────────────────────────┘
↑ SRA/SRB (检测电阻输入)
↑ BRA/BRB (桥底部)
---
## 5. 引脚定义
### 5.1 封装顶视图(QFP-44)
┌───┐
OA1 (2,3) │ 1 │ NC (1)
OA1 (7,8) │ │ OB1 (33)
VSA (4) │ │ OB1 (26,27)
OA2 (5,6) │ │ VSB (30)
OA2 (10,11) │ │ OB2 (28,29)
BRA (9) │ │ OB2 (23,24)
│ │ BRB (25)
┌───────────┤ ├───────────┐
│ TMC2660C-PA QFP44 │
│ │
└───────────┤ ├───────────┘
SRA (12) │ │ SRB (22)
5VOUT (13) │ │ CLK (21)
SDO (14) │ │ NC (20,34)
SDI (15) │ │ ENN (19)
SCK (16) │ │ CSN (18)
GND (17) │ │ GND (39)
GND (44) │ │ VHS (35)
TST_MODE(43)│ │ VS (36)
STEP (42) │ │ TST_ANA/ST_ALONE (37)
DIR (41) │ │ SG_TST (38)
VCC_IO (40) │ │ GND (39)
└───┘
### 5.2 引脚详细说明
| 引脚 | 编号 | 类型 | 功能 |
|:---|:---|:---|:---|
| **OA1** | 2,3,7,8 | 输出 | A 相半桥 1 输出,接电机线圈 A 一端。多个引脚需用粗线并联散热 |
| **OA2** | 5,6,10,11 | 输出 | A 相半桥 2 输出,接电机线圈 A 另一端 |
| **OB1** | 26,27,31,32 | 输出 | B 相半桥 1 输出 |
| **OB2** | 23,24,28,29 | 输出 | B 相半桥 2 输出 |
| **VSA/VSB** | 4,30 | 电源 | A/B 相桥正电源,需充分滤波 |
| **BRA/BRB** | 9,25 | 模拟输入 | A/B 相桥负电源,通过检测电阻连接 |
| **SRA/SRB** | 12,22 | 模拟输入 | 检测电阻输入,用于斩波电流调节 |
| **5VOUT** | 13 | 输出 | 内部 5V 线性稳压器输出,需 470nF 陶瓷电容接地 |
| **SDO** | 14 | 数字输出 | SPI 串行数据输出 |
| **SDI/CFG3** | 15 | 数字输入 | SPI 数据输入 / 独立模式:微步分辨率选择 |
| **SCK/CFG2** | 16 | 数字输入 | SPI 时钟输入 / 独立模式:斩波滞后选择 |
| **CSN/CFG1** | 18 | 数字输入 | SPI 片选(低有效)/ 独立模式:电流选择 |
| **ENN** | 19 | 数字输入 | 功率 MOSFET 使能(低有效),高电平关闭所有 MOSFET |
| **CLK** | 21 | 数字输入 | 系统时钟输入,接地使用内部振荡器 |
| **VHS** | 35 | 电源 | 高边供电电压(电机电源 -10V)|
| **VS** | 36 | 电源 | 电机供电电压(9-29V)|
| **TST_ANA/ST_ALONE** | 37 | 模拟输出/数字输入 | TMC2660C:接 VCC_IO 启用独立模式(非 SPI)|
| **SG_TST** | 38 | 数字输出 | StallGuard2 输出,电机堵转时高电平 |
| **VCC_IO** | 40 | 电源 | 数字 IO 供电(3.3V 或 5V)|
| **DIR** | 41 | 数字输入 | 方向输入,STEP 有效边沿采样 |
| **STEP** | 42 | 数字输入 | 步进输入,有效边沿触发微步 |
| **TST_MODE** | 43 | 数字输入 | 测试模式,接地为正常操作 |
| **NC** | 1,20,33,34 | - | 无内部连接,可接电源改善散热 |
---
## 6. 工作原理
### 6.1 控制接口
TMC2660C 提供两种控制接口:
| 接口 | 用途 | 特点 |
|:---|:---|:---|
| **SPI** | 配置参数、直接电流控制 | 20 位命令,全双工,最高 8MHz |
| **STEP/DIR** | 传统步进控制 | 脉冲控制位置和方向 |
**上电后必须通过 SPI 初始化**,即使使用 STEP/DIR 模式也需要配置基本参数。
### 6.2 关键概念
#### StallGuard2™ 负载检测
- 通过测量电机反电动势检测机械负载
- 负载越高,SG 值越低
- 可用于:
- 无传感器堵转检测
- 无传感器回零(撞机械限位)
- CoolStep 的负载反馈
#### CoolStep™ 自适应节能
- 根据 StallGuard2 测量值自动调整电流
- 负载轻时降低电流,负载重时增加电流
- 节能高达 75%,减少发热
#### SpreadCycle™ 斩波
- 高精度斩波算法,自动优化快衰减时间
- 四阶段周期:开通 → 慢衰减 → 快衰减 → 慢衰减
- 比传统恒关断时间模式更平滑、更高效
#### MicroPlyer™ 插值
- 将 16 微步输入插值到 256 微步输出
- 用粗分辨率输入获得细分辨率平滑度
- 测量 STEP 周期,均匀分配 16 个微步
---
## 7. 独立模式配置
独立模式是最简单的使用方式,无需 SPI 通信,通过 3 个引脚配置基本参数。
### 7.1 配置引脚
| 引脚 | 接 GND | 接 VCC_IO | 说明 |
|:---|:---|:---|:---|
| **CSN (CFG1)** | 电流 50% (CS=15) | 电流 100% (CS=31) | 用于静止电流降低 |
| **SCK (CFG2)** | 低滞后 (HSTRT=2, HEND=4) | 中滞后 (HSTRT=6, HEND=4) | 大电机用低滞后,NEMA17 或高速电机用中滞后 |
| **SDI (CFG3)** | 256 微步 | 16 微步 + 插值到 256 | 根据步进脉冲发生器选择 |
### 7.2 独立模式默认配置
启用独立模式时(ST_ALONE 接 VCC_IO),以下功能自动启用:
| 参数 | 默认值 | 说明 |
|:---|:---|:---|
| EN_PFD | 1 | 共振抑制开启 |
| OT_SENSE | 1 | 136°C 过温检测(TMC2660C)|
| SHRTSENSE | 1 | 高边短路高灵敏度 |
| S2VS | 1 | 低边短路保护启用 |
| SLPL/SLPH | 3 | 驱动强度最大 |
| TOFF | 4 | 关断时间 |
| TBL | 36 时钟 | 消隐时间 |
| SGT | 2 | StallGuard 阈值(适合 42mm 以上电机回零)|
### 7.3 独立模式接线
VCC_IO ──┬──→ VCC_IO (40)
├──→ ST_ALONE (37) [启用独立模式]
├──→ CSN (18) [接 GND 或 VCC_IO 选择电流]
├──→ SCK (16) [接 GND 或 VCC_IO 选择滞后]
└──→ SDI (15) [接 GND 或 VCC_IO 选择分辨率]
STEP (42) ←── 步进脉冲输入
DIR (41) ←── 方向输入
ENN (19) ←── 使能(低有效,可接地常开)
---
## 8. StallGuard2 负载检测
### 8.1 工作原理
StallGuard2 测量值 SG 与电机负载成**线性反比关系**:
SG 值
1000 │ ╲
800 │ ╲ 起始值取决于电机和工况
600 │ ╲
400 │ ╲
200 │ ╲
0 │__╲__
0 25 50 75 100 负载 (% 最大扭矩)
↑
SG=0,堵转危险
负载角 >90°,扭矩下降
### 8.2 关键参数
| 参数 | 名称 | 范围 | 说明 |
|:---|:---|:---|:---|
| **SGT** | StallGuard 阈值 | -64 ~ +63 | 有符号数,负值更敏感,正值需要更大扭矩才指示堵转 |
| **SFILT** | 滤波器 | 0/1 | 0=标准模式(快响应),1=滤波模式(每 4 全步更新,高精度)|
### 8.3 调谐步骤
1. **运行电机**在应用典型速度
2. **监测 SG 值**(通过 SPI 读回)
3. **逐步增加负载**直到接近堵转
- 如果电机先堵转而 SG>0:减小 SGT(更负)
- 如果 SG=0 而电机未堵转:增加 SGT(更正)
4. **优化设置**:最大负载时 SG 在 0-400 之间,无负载时 SG>100
### 8.4 速度补偿
SG 值随速度变化,可变速度应用需要动态调整 SGT:
SGT
20 │ ●────●────●
│ ╱
10 │ ●────●────●
│ ╱
0 │__→ 速度 (RPM)
0 50 100 150 200 250 300 350
---
## 9. CoolStep 自适应电流控制
### 9.1 工作原理
根据 StallGuard2 测量值自动调整电机电流:
↑ 电流
│ ┌────────┐
CS │ │ │ ← 最大电流(由 CS 设定)
(上限) │────┘ └────
│ ┌───┐
│ ┌────┘ └──┐ ← 根据负载调整
│────┘ └──
½或¼CS │ ← 最小电流(由 SEIMIN 设定)
(下限) │
└────────────────────→ 时间
↑ ↑ ↑
负载增加 负载减小 负载增加
### 9.2 关键参数
| 参数 | 名称 | 范围 | 功能 |
|:---|:---|:---|:---|
| **SEMIN** | 下阈值 | 0-15 | SG < SEMIN×32 时增加电流;SEMIN=0 禁用 CoolStep |
| **SEMAX** | 上阈值偏移 | 0-15 | SG ≥ (SEMIN+SEMAX+1)×32 时减小电流 |
| **SEUP** | 电流递增步长 | 0-3 | 00=1, 01=2, 10=4, 11=8 |
| **SEDN** | 电流递减延时 | 0-3 | 00=32, 01=8, 10=2, 11=1 次测量 |
| **SEIMIN** | 最小电流限制 | 0/1 | 0=½ CS, 1=¼ CS |
| **CS** | 电流缩放 | 0-31 | 最大电流设定,CoolStep 在此基础上调节 |
### 9.3 配置建议
```c
// 启用 CoolStep,快速响应负载增加,缓慢节能
SEMIN = 4; // 下阈值 4×32=128
SEMAX = 8; // 上阈值 (4+8+1)×32=416
SEUP = 3; // 每次增加 8 步(快速响应)
SEDN = 1; // 8 次测量后减 1 步(缓慢节能)
SEIMIN = 1; // 最小电流 ¼ CS
10. SPI 接口详解
10.1 通信协议
| 特性 | 规格 |
|---|---|
| 模式 | SPI Mode 3 (CPOL=1, CPHA=1) |
| 数据长度 | 20 位 |
| 时钟频率 | 内部时钟时 ≤4MHz,外部 16MHz 时钟时 ≤8MHz |
| 传输方式 | 全双工,发送命令同时接收状态 |
10.2 时序
CSN ──┐ ┌──
└──────────────────────────────┘
tCC tCL tCH tCC
SCK ─────┐ ┌──┐ ┌──┐ ┌──┐ ┌────
╱╲ └──┘ └──┘ ... └──┘ ╱╲
SDI ───┐ ┌────┐ ┌────┐ ┌────┐───
╱╲ │bit19│ │bit18│ ... │bit0│ ╱╲
SDO ─────┐ ┌────┐ ┌────┐ ┌────┐──
╱╲ │bit19│ │bit18│ ... │bit0│
↑
tDO 数据输出有效(SCK 下降沿后)
10.3 寄存器映射
| 寄存器 | 地址 (bit19-17) | 功能 |
|---|---|---|
| DRVCTRL | 000 | 驱动控制(STEP/DIR 或 SPI 模式) |
| CHOPCONF | 100 | 斩波器配置 |
| SMARTEN | 101 | CoolStep 配置 |
| SGCSCONF | 110 | StallGuard2 配置和电流缩放 |
| DRVCONF | 111 | 驱动配置(SDOFF、斜率、保护等) |
10.4 关键寄存器位定义
DRVCTRL(地址 000)
STEP/DIR 模式(SDOFF=0):
bit9: INTPOL - 启用 MicroPlyer 插值 (1=16x→256x)
bit8: DEDGE - 双边沿触发 (1=上升+下降沿都有效)
bit3-0: MRES - 微步分辨率
0000=256, 0001=128, 0010=64, 0011=32
0100=16, 0101=8, 0110=4, 0111=2(半步), 1000=1(整步)
SPI 模式(SDOFF=1):
bit17: PHA - A 相极性 (0=OA1→OA2, 1=OA2→OA1)
bit16-9: CA[7:0] - A 相电流幅度 (0-248)
bit8: PHB - B 相极性
bit7-0: CB[7:0] - B 相电流幅度 (0-248)
CHOPCONF(地址 100)
bit16-15: TBL - 消隐时间 (00=16, 01=24, 10=36, 11=54 时钟)
bit14: CHM - 斩波模式 (0=SpreadCycle, 1=恒关断时间)
bit13: RNDTF - 随机 TOFF (1=启用,减少 EMI)
bit12-11: HDEC - 滞后递减间隔 (00=16, 01=32, 10=48, 11=64 时钟)
bit10-7: HEND - 滞后结束值 / 正弦偏移 (-3 到 12)
bit6-4: HSTRT - 滞后起始偏移 (1-8,实际值=HEND+偏移)
bit3-0: TOFF - 关断时间 (0=驱动关闭, 1-15=慢衰减时间)
推荐 SpreadCycle 配置:
CHOPCONF = 0x901B4; // TBL=2(36), CHM=0, HEND=6, HSTRT=0, TOFF=4
SGCSCONF(地址 110)
bit16: SFILT - StallGuard 滤波器 (1=每 4 全步更新)
bit14-8: SGT - StallGuard 阈值 (-64 到 +63,有符号)
bit4-0: CS - 电流缩放 (0-31,实际电流=(CS+1)/32)
DRVCONF(地址 111)
bit16: TST - 测试模式 (必须=0)
bit15-14: SLPH - 高边斜率控制 (00=最小, 11=最大+温度补偿)
bit13-12: SLPL - 低边斜率控制
bit10: DISS2G - 禁用对地短路保护 (0=启用)
bit9-8: TS2G - 短路检测延时 (00=3.2μs, 11=0.8μs)
bit7: SDOFF - 禁用 STEP/DIR (1=SPI 模式)
bit6: VSENSE - 检测电压范围 (0=310mV, 1=165mV)
bit5-4: RDSEL - 读回数据选择 (00=微步, 01=SG, 10=SG+SE, 11=诊断)
bit3: OTSENS - 过温阈值 (TMC2660C: 0=150°C, 1=136°C)
bit2: SHRTSENS - 高边短路灵敏度 (TMC2660C: 1=高灵敏度)
bit1: EN_PFD - 被动快衰减/5V 支持 (TMC2660C)
bit0: EN_S2VS - 对 VS 短路保护 (TMC2660C)
bit0-bit3 仅对 TMC2660C 有作用。为 TMC2660 (bit0-bit3保留)设置这些位/功能没有任何效果。将设置设为 0 时,TMC2660 和 TMC2660C 的表现完全相同。
10.5 读回数据格式
由 RDSEL 选择:
| RDSEL | 读回内容 | 用途 |
|---|---|---|
| 00 | MSTEP[9:0] | 微步位置 |
| 01 | SG[9:0] | StallGuard2 值 |
| 10 | SG[9:5] + SE[4:0] | StallGuard + CoolStep 电流 |
| 11 | 完整诊断状态 | 所有标志位和检测器 |
诊断状态位(RDSEL=11):
bit19-10: 保留 (读为 1)
bit9: UV_7V - <7V 欠压标志
bit8: ENN 状态 - ENN 引脚状态
bit7: S2VSB - B 相对 VS 短路
bit6: S2GB - B 相对地短路
bit5: S2VSA - A 相对 VS 短路
bit4: S2GA - A 相对地短路
bit3: OT150 - 150°C 过温
bit2: OT136 - 136°C 过温 (TMC2660C)
bit1: OT120 - 120°C 过温释放
bit0: OT100 - 100°C 过温预警
10.6 初始化序列示例
// 标准初始化序列
void TMC2660_Init() {
// 1. 配置斩波器为 SpreadCycle 模式
SPI_Send(0x901B4); // CHOPCONF
// 2. 配置电流和 StallGuard
SPI_Send(0xD001F); // SGCSCONF: CS=31, SGT=0
// 3. 配置驱动,启用 STEP/DIR,低驱动强度
SPI_Send(0xE0000); // DRVCONF: SDOFF=0, VSENSE=0
// 4. 配置 256 微步
SPI_Send(0x00000); // DRVCTRL: MRES=0 (256微步)
// 5. (可选)启用 CoolStep
SPI_Send(0xA8202); // SMARTEN: 启用 CoolStep
}
11. STEP/DIR 接口
11.1 时序参数
| 参数 | 符号 | 最小值 | 说明 |
|---|---|---|---|
| STEP 低电平时间 | tSL | max(tFILT, tCLK+20ns) | |
| STEP 高电平时间 | tSH | max(tFILT, tCLK+20ns) | |
| DIR 到 STEP 建立时间 | tDSU | 20ns | DIR 在 STEP 边沿前稳定 |
| DIR 到 STEP 保持时间 | tDSH | 20ns | DIR 在 STEP 边沿后保持 |
| 输入滤波时间 | tFILT | 12-40ns | TMC2660C 更短,减少丢步 |
DEDGE=1 时(双边沿触发):
- 每个 STEP 周期产生 2 个微步
- 最高 STEP 频率减半:fSTEP(max) = fCLK/4
11.2 微步表
芯片内置 256 条目正弦表(实际为 0-90° 的 256 点,通过对称扩展到 360°)。
正弦表特性:
- 最大值:248(为偏移/滞后留余量)
- 分辨率:约 0.35°/步
- 对称性:利用正弦/余弦对称性减少存储
11.3 MicroPlyer 插值器
将 16 微步输入插值到 256 微步输出:
STEP 输入: ┌──┐ ┌──┐ ┌──┐ ┌──────┐ ┌──┐
───┘ └──┘ └────┘ └──┘ └──┘ └───
MicroPlyer: ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
(16个微步) (16个微步,周期更短)
电机角度: 平滑连续变化
工作条件:
- 最小 STEP 频率:16Hz(16MHz 时钟时)
- 低于此频率触发 STST(静止)标志
- 需要稳定的 STEP 频率,50% 占空比最佳
12. 电流设置与检测电阻
12.1 电流计算公式
RMS 电流:
IRMS = (CS + 1) / 32 × (VFS / RSENSE) × 1/√2
瞬时电流:
IMOT = (CURRENT_A/B / 248) × (CS + 1) / 32 × (VFS / RSENSE)
其中:
- CS:电流缩放值(0-31)
- VFS:满量程检测电压(VSENSE=0 时 310mV,VSENSE=1 时 165mV)
- RSENSE:检测电阻值
12.2 检测电阻选择
| RSENSE | VSENSE=0 时 IRMS | VSENSE=1 时 IRMS | 适用场景 |
|---|---|---|---|
| 0.33Ω | 0.7A | 0.35A | 小电机 |
| 0.22Ω | 1.0A | 0.53A | |
| 0.15Ω | 1.5A | 0.8A | |
| 0.12Ω | 1.8A | 1.0A | |
| 0.10Ω | 2.2A | 1.2A | 标准配置 |
| 0.075Ω | 2.9A | 1.6A | 需确认散热 |
12.3 检测电阻电路
桥输出 (OA1/OA2/OB1/OB2)
│
┌─────┴─────┐
│ MOSFET │
│ 半桥 │
└─────┬─────┘
│
┌─────┴─────┐
│ 10-47Ω │ ← 可选输入保护电阻
│ (串联) │
└─────┬─────┘
├──→ SRA/SRB (到芯片)
│
┌─────┴─────┐
│ RSENSE │ ← 检测电阻 (0.1Ω典型)
│ (0.1Ω) │
└─────┬─────┘
│
┌─────┴─────┐
│ 470nF │ ← 滤波电容到地
│ (到GND) │
└─────┬─────┘
│
GND (独立过孔,不与其他地共享)
关键布局要点:
- 检测电阻接地必须独立,不与其他地共享走线
- SRA/SRB 走线尽量短,远离开关噪声
- 使用开尔文连接,检测点直接连到电阻焊盘
13. 斩波器操作
13.1 斩波阶段
↑ 电流
│ ┌──┐
目标 │ ╱ ╲
+滞后 │──┘ ╲
目标 │────────╲────
│ ╲
目标 │ ╲
-滞后 │ ╲──┐
│ 开通 慢 快 慢
│ (on) (sd) (fd) (sd)
└────────────────────→ 时间
开通(on):电流流向目标方向
慢衰减(sd):电流再循环
快衰减(fd):电流反向流动快速降低
13.2 SpreadCycle 模式(推荐)
四阶段周期:开通 → 慢衰减 → 快衰减 → 慢衰减
参数设置:
| 参数 | 功能 | 推荐值 |
|---|---|---|
| TOFF | 慢衰减时间 | 2-5(对应 10-20μs @ 16MHz) |
| TBL | 消隐时间 | 2-3(36-54 时钟,覆盖开关振铃) |
| HEND | 滞后结束值 | 4-6 |
| HSTRT | 滞后起始偏移 | 0-2 |
| HDEC | 滞后递减速度 | 0-2 |
调谐方法:
- 从 HSTRT=0, HEND=0 开始
- 增加 HSTRT 直到低速运行平滑
- 用示波器观察电流波形,确保过零点无凹陷
- 如果高速有噪声,增加 HEND
13.3 恒关断时间模式
三阶段周期:开通 → 快衰减 → 慢衰减
适用场景: 简单应用,对噪声要求不极高
参数:
- TFD(HSTRT+HDEC0):快衰减时间
- OFFSET(HEND):正弦波偏移,修正过零点误差
- NCCFD(HDEC1):是否用电流比较器终止快衰减
14. 功率 MOSFET 级
14.1 内置 MOSFET 参数
| 参数 | 条件 | 典型值 | 最大值 |
|---|---|---|---|
| N 沟道 RDS(ON) | T=25°C | 63mΩ | 76mΩ |
| P 沟道 RDS(ON) | T=25°C | 93mΩ | 110mΩ |
| N 沟道 RDS(ON) | T=150°C | 110mΩ | - |
| P 沟道 RDS(ON) | T=150°C | 160mΩ | - |
14.2 栅极驱动
| 参数 | 规格 |
|---|---|
| 低边栅极电压 | 5V(来自 5VOUT) |
| 高边栅极电压 | 10V(VS - VHS ≈ 10V) |
| 斜率控制 | 4 级可调(SLPL/SLPH) |
14.3 先断后通(Break-Before-Make)逻辑
内部 BBM 逻辑测量栅极电压,确保:
- 关断低边 MOSFET 并放电栅极
- 延迟直到栅极电压安全
- 再开通高边 MOSFET
自动优化死区时间,与斜率设置无关。
14.4 斜率控制设置
| SLPL/SLPH | 模式 | 应用建议 |
|---|---|---|
| 00 | 最小斜率 | 最小 EMI,但开关损耗大 |
| 01 | 最小+温度补偿 | 默认推荐 |
| 10 | 中等+温度补偿 | 高速应用 |
| 11 | 最大+温度补偿 | 最小开关损耗,EMI 较大 |
TMC2660C 建议: SLPH 使用温度补偿模式(+TC),高温时自动增加驱动强度。
15. 诊断与保护
15.1 短路保护(TMC2660C 增强)
| 保护类型 | 检测方式 | 配置 |
|---|---|---|
| 高边短路(S2G) | 检测高边 MOSFET 压降 | TS2G 设置延时 |
| 低边短路(S2VS) | 检测检测电阻+低边 MOSFET 压降 | EN_S2VS=1 启用 |
| 过流检测 | 低边短路检测器兼任 | 自动启用 |
短路响应:
- 检测到过流 → 短路计数器 +1
- 斩波周期暂停
- 极性改变时计数器 -1
- 计数器达到 3 → 永久关断桥臂
- 需重新使能(ENN 或 TOFF=0)复位
15.2 开路检测
| 标志 | 说明 | 注意 |
|---|---|---|
| OLA | A 相开路 | 仅在低速/额定速度检测 |
| OLB | B 相开路 | 静止时无法检测(电流可能为0) |
检测原理: 检查是否能达到目标电流。无斩波事件 = 可能开路。
限制:
- 全步/半步操作可能误触发
- 欠压、高速、短路、过温也可能触发
- 纯指示标志,芯片不自动动作
15.3 温度保护
| 级别 | 温度 | 动作 | TMC2660C 特性 |
|---|---|---|---|
| 预警 | 100°C | OTPW=1,可软件降流 | - |
| 释放 | 120°C | 过温释放 | - |
| 关断低 | 136°C | OT=1,驱动关闭 | OTSENS=1 可选 |
| 关断高 | 150°C | OT=1,驱动关闭 | 默认(OTSENS=0) |
TMC2660C 滞回特性: 触发过温关断后,必须降温至 120°C 以下才重新启用,防止反复开关。
15.4 欠压检测
| 条件 | 阈值 | 动作 |
|---|---|---|
| EN_PFD=0 | VS < 7V | 复位,所有寄存器清0,MOSFET 关闭 |
| EN_PFD=1 | VS < 4.5V | 同上,但允许 5V 单电源操作 |
注意: VCC_IO 也被监控(TMC2660C),欠压时同样复位。
16. 电源时序与系统时钟
16.1 电源启动序列
VCC_IO (3.3V/5V) ──┐
│
↓ 可先于或后于 VS 启动
VS (9-29V) ────────┼──→ 内部稳压器启动
↓
约 100μs 延时
↓
芯片退出复位,可 SPI 通信
16.2 系统时钟选项
| 时钟源 | 频率 | 配置 |
|---|---|---|
| 内部振荡器 | 13.5MHz 典型(10-17.5MHz) | CLK 引脚接地 |
| 外部时钟 | 8-20MHz(推荐 10-16MHz) | CLK 引脚接外部方波 |
外部时钟注意事项:
- 占空比 40-60%
- 不能浮空,必须上电即有确定电平
- 切换时钟前必须关闭 MOSFET(ENN=1 或 TOFF=0)
- TMC2660C:EN_S2VS=1 启用时钟故障保护,失效时自动切回内部时钟
16.3 时钟频率选择
| 频率 | 适用场景 |
|---|---|
| 4-10MHz | 高电感电机,低速应用 |
| 10-16MHz | 推荐,大多数应用最佳 |
| 16-20MHz | 需要最高速度,确保占空比 |
17. 与非 C 型的兼容性
17.1 TMC2660C 向下兼容 TMC2660
现有设计迁移时需考虑:
| 项目 | TMC2660 | TMC2660C | 影响 |
|---|---|---|---|
| 斩波器静音 | 标准 | 更静音 | C 型有效电流约高 2-3% |
| VCC_IO 监控 | 无 | 有 | 增加 50μA 消耗,欠压复位 |
| 过温滞回 | 无 | 有 | 关断时间更长,需软件检测 |
| 输入电平 | 固定 0.8V/2.4V | 随 VCC_IO 变化 | 5V 系统检查高电平阈值 |
| STEP/DIR 滤波 | 较长 | 较短 | 减少丢步,但噪声敏感 |
| CLK 滤波 | 标准 | 更好(10ns) | 检查高速 SPI 时序 |
17.2 C 型新增功能(需配置启用)
| 功能 | 配置位 | 说明 |
|---|---|---|
| 时钟故障保护 | EN_S2VS=1 | 外部时钟失效切回内部 |
| 低边短路检测 | EN_S2VS=1 | 检测对 VS 短路 |
| 高边高灵敏度 | SHRTSENS=1 | 更好保护高边 MOSFET |
| 136°C 过温 | OTSENS=1 | 更敏感保护 |
| 5V 操作/共振抑制 | EN_PFD=1 | 降低欠压阈值,增加被动快衰减 |
18. PCB 布局指南
18.1 关键布局原则
1. 检测电阻(最重要)
✓ 正确布局: ✗ 错误布局:
SRA ──┬──RsA──┐ SRA ──┬──RsA──┬──┐
│ │ │ │ │
└──→过孔─┘ 到GND平面 └──→过孔1 过孔2─┘(共享地)
│ (地弹噪声!)
BRA ──┘ BRA ──┘
SRB ──┬──RsB──┐ SRB ──┬──RsB──┐
│ │ │ │
└──→过孔─┘ 到GND平面 └──→过孔3─┘(独立)
│ (RsA/RsB 地独立)
BRB ──┘ BRB ──┘
要点:
- 每个检测电阻独立接地过孔到地平面
- 不共享接地走线或过孔
- SRA/SRB 走线短,远离开关噪声
2. 功率输出散热
顶层(元件面): 内层/底层:
┌─────────────────┐ ┌─────────────────┐
│ ┌───┐ ┌───┐ │ │ │
│ │OA1│ │OA2│ │ │ 大面积地铜 │
│ └───┘ └───┘ │ │ 多个过孔 │
│ TMC │ │ 垂直散热 │
│ 2660C │ │ │
│ ┌───┐ ┌───┐ │ │ │
│ │OB1│ │OB2│ │ │ │
│ └───┘ └───┘ │ │ │
└─────────────────┘ └─────────────────┘
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
粗走线 + 多过孔 → 内层地平面散热
要点:
- OA1/OA2/OB1/OB2 用粗铜皮(≥1mm 每安培)
- 利用 NC 引脚(1,33)辅助散热,连到 VSA/VSB
- 对称布局,均衡散热
3. 去耦电容放置
| 电容 | 位置 | 值 |
|---|---|---|
| 5VOUT | 紧贴引脚 13,GND 到引脚 17 | 470nF 陶瓷 |
| VS | 紧贴芯片 | 100nF 陶瓷 |
| VSA/VSB | 紧贴芯片 | 100nF 陶瓷 + >100μF 电解 |
| VCC_IO | 紧贴芯片 | 100nF 陶瓷 |
| VHS | 到 VS | 100nF 陶瓷 |
19. 电气参数
19.1 绝对最大额定值
| 参数 | 符号 | 最小 | 最大 | 单位 |
|---|---|---|---|---|
| 供电电压 | VVS | -0.5 | 30 | V |
| 禁用状态供电(ENN=高) | VVSDIS | - | 60 | V |
| 逻辑供电 | VVCC | -0.5 | 6.0 | V |
| IO 供电 | VVIO | -0.5 | 6.0 | V |
| 逻辑输入电压 | VI | -0.5 | VVIO+0.5 | V |
| 每线圈 RMS 电流(TA≤50°C,20cm² 板) | IOC | - | 2.2(连续)/ 2.8(峰值) | A |
| 结温 | TJ | -50 | 150 | °C |
19.2 工作范围
| 参数 | 符号 | 最小 | 最大 | 单位 |
|---|---|---|---|---|
| 结温 | TJ | -40 | 125 | °C |
| 供电电压(TMC2660C) | VVS | 5 | 29 | V |
| IO 供电电压 | VVIO | 3.00 | 5.25 | V |
19.3 关键电气特性
电源电流
| 条件 | 典型值 | 最大值 |
|---|---|---|
| 工作(16MHz,40kHz 斩波) | 8mA | - |
| MOSFET 关闭(12MHz) | 5mA | - |
| 静态(时钟停止) | 3.5mA | 5mA |
检测电压
| VSENSE | 满量程检测电压 | 适用 |
|---|---|---|
| 0 | 310-340mV | 标准,更稳健 |
| 1 | 155-190mV | 低功耗,检测电阻功耗减半 |
数字输入电平(TMC2660C)
| 电平 | 条件 | 电压 |
|---|---|---|
| 低电平 | - | < 0.3 × VVIO |
| 高电平 | - | > 0.7 × VVIO |
19.4 热特性
| 条件 | 热阻 | 说明 |
|---|---|---|
| 20cm² 4 层板,单桥斩波 | 80 K/W | 最坏情况(半流静止) |
| 20cm² 4 层板,双桥斩波 | 50 K/W | 全流静止 |
| 20cm² 4 层板,电机运行 | 37 K/W | 正常运行 |
| 50cm² 4 层板,电机运行 | 28 K/W | 更好散热 |
功率耗散示例(24V,30kHz,快斜率):
- 2A RMS:2.6W
- 2.2A RMS:3.2W
- 2.8A RMS:5.0W
20. 封装信息
20.1 封装尺寸(PQFP-44)
| 参数 | 参考 | 最小 | 标称 | 最大 | |
|---|---|---|---|---|---|
| 含引脚尺寸(X/Y) | A | - | 12 | - | mm |
| 本体尺寸(X/Y) | C | - | 10 | - | mm |
| 引脚长度 | D | - | 1 | - | mm |
| 总厚度 | E | - | - | 1.6 | mm |
| 引脚宽度 | H | 0.30 | - | 0.45 | mm |
| 引脚间距 | K | - | 0.8 | - | mm |
20.2 订购信息
| 器件型号 | 封装 | 温度范围 | 标记 |
|---|---|---|---|
| TMC2660C-PA | PQFP44(无铅) | -40°C 至 +125°C | TMC2660C-PA |
| TMC2660C-PA-T | 卷带包装 | 同上 | - |
附录:快速参考
常用 SPI 命令
| 功能 | 命令值 | 说明 |
|---|---|---|
| 启用驱动,SpreadCycle | 0x901B4 |
标准斩波配置 |
| 启用驱动,恒关断时间 | 0x94557 |
经典斩波配置 |
| 最大电流 | 0xD001F |
CS=31 |
| 低驱动强度,读 SG | 0xE0000 |
SDOFF=0,STEP/DIR 模式 |
| SPI 模式启用 | 0xE0080 |
SDOFF=1,关键! |
| 256 微步 | 0x00000 |
STEP/DIR 模式 |
| 启用 CoolStep | 0xA8202 |
最小电流 ¼ CS |
故障排查速查
| 现象 | 检查点 | 解决 |
|---|---|---|
| 电机不转 | ENN=0?TOFF>0?VS>UV? | 检查使能,发送配置 |
| 抖动/噪声大 | 斩波参数,HEND/HSTRT | 调整滞后,或换 SpreadCycle |
| 电流不足 | RSENSE,VSENSE,CS | 换小电阻,或增 CS |
| 高速无力 | VS 电压,电流设置 | 提高电压,检查 CS |
| 过热 | 散热面积,静止电流 | 增大铜面积,半流静止 |
| SG 误触发 | SGT 值,速度范围 | 调整 SGT,避免低速 |
| SPI 无响应 | 时序,CSN 高电平 | 检查 20 位,确保锁存 |
文档版本:基于 TMC2660C DATASHEET Rev.1.02/2021-JUN-17
注意:所有参数以最新英文数据手册为准,本笔记仅供参考
```
TMC2660C 数据手册的完整中文 Markdown 笔记翻译,涵盖了:
- 芯片概述 - 基本参数和 C 型改进
- 特性与优势 - 所有关键技术和保护功能
- 应用领域 - 典型应用场景
- 功能框图 - 内部架构说明
- 引脚定义 - 44 引脚 QFP 详细说明
- 工作原理 - 核心概念解释
- 独立模式 - 最简单的使用方式
- StallGuard2 - 无传感器负载检测详解
- CoolStep - 自适应节能控制
- SPI 接口 - 完整的寄存器映射和配置
- STEP/DIR 接口 - 时序和 MicroPlyer
- 电流设置 - 检测电阻选择和计算
- 斩波器操作 - SpreadCycle 和恒关断时间模式
- 功率 MOSFET - 栅极驱动和斜率控制
- 诊断与保护 - 短路、开路、温度、欠压
- 电源与时钟 - 时序和时钟选择
- 兼容性 - 与非 C 型的差异
- PCB 布局 - 关键布局和散热指南
- 电气参数 - 绝对最大额定值和工作特性
- 封装信息 - 机械尺寸和订购代码
。