TMC262数据手册
通常来说,这款两相双极步进电机驱动器有很高的性比价,同时拥有做先进的功能。它外部有合适的MOS管,可以驱动不同尺寸大小的步进电机。拥有STEP/DIR和SPI两种驱动模式。
用途
纺织机,缝纫机
工厂自动化
实验室自动化
液体处理设备
医疗
办公自动化
打印机和扫描仪
门禁系统
自动取款机
Pos机(销售终端)
泵和阀门
日光反射控制器
数控机床
特点
使用外部的P管N管使电机电流的最大值达到8A(大电流)
最大值达到60V的直流工作电压(高压)
最大细分倍数为256(高分辨率)
芯片是5*5mm QFN32的封装(最小的尺寸)
使用同步整流算法(低功耗)
门驱动控制斜率和电流(合适的磁场干扰)
过流,短路,过温和欠压保护(保护和诊断功能)
无传感器负载检测电路(拖延保护)
自适应电流控制节能达75%(智能节能)
修改微细分的值增加电机输出电流的平滑度(微细分)
高精度斩波使电机拥有最好的正弦波波形和良好的过零点(扩张周期)
说明
TMC262驱动器是一款两相步进电机驱动器。它有在工业上处于领先地位的设置,包括高分辨率的微分,无传感器负载检测,自适应电流算法,低共振斩波运算和标准的SPI和STEP/DIR通讯接口。TMC262驱动器有四个外置的P&N管,电机有达到8A的最大电流和达到60V的最大直流工作电压。有完善的保护诊断电路,这使得电机能够安全可靠的运行。
高度集成化,高效的能量利用率以及外部组件小型化设计(小型封装的元器件)使得该驱动器成本大大的降低,与其他同类型产品相比有极大的竞争力。
实例:
高功率和小尺寸
TMC262驱动器在功率利用效率和功能的多样化很是可圈可点,可以应用于不同的领域和不同型号的步进电机,同时降低了生产成本。在芯片,PCB硬件以及高效的软件设计水平的支持下加快了设计周期和销售速度,拥有强大的市场竞争力。TRINAMIC的智能节能技术提高了能源利用效率,进一步节省了成本。
STEPROCKER
相比于传统的热传递冷却,它能够满足所有的冷却要求。通过论坛,应用软件,原理图,开放的工程来源和演示函数等方式,运动控制体系支持STEPROCKER。
TCMC模块能够驱动11号步进电机
这个微型步进电机驱动器有1.2A输出功率并且能够直接安装在28号步进电机上。小型尺寸封装的双MOS管使得驱动器有一个非常紧凑和灵活的PCB布局。
TMC262开发平台评估
这个测试版是一个基于TMC262的开发平台。
在个人电脑上运行控制软件,可以了解到它在USB和RS232串口通信是很有特点的。
在40V的直流工作电压,外置的MOS管的驱动电流能达到6A。
它的控制软件规定了一个很好用的用户界面。在这个界面中你可以设置控制参数并且使电机的动态响应可视化。
电机运动可以通过外部的信号源和输入信号得到控制。
目录
- 工作原理
- 核心思想
- 控制界面
- 机械负荷
- 电流控制
- 管脚定义
- 封装外形
- 信号描述
- 内部结构
- 负载检测
- 阈值设置
- 检测频率和滤波
- 电机失速检测
- 负载检测范围
- 自适应电流控制
- 电流设置
- SPI接口
- 总线信号
- 总线时钟
- 总线结构
- 寄存器写指令
- 驱动控制寄存器
- 斩波控制寄存器
- 智能节能控制寄存器
- 负载检测和电流设置控制寄存器、
- 驱动设置寄存器
- 读寄存器
- 设备初始化
- STEP/DIR 接口
- 时钟
- 微细分表
- 改变分辨率
- 插入微细分
- 减少停顿(过零点处理)
- 电流设置
- 采样电阻
- 斩波运算
- 循环斩波模式
- 固定关断时间模式
- 功率管的不同阶段
10.1先断后通逻辑
10.2ENN输入
10.3斜率控制
11 诊断和保护
11.1短路检测
11.2开路负载检测
11.3过温检测
11.4欠压检测
12 供电时序
13 系统时钟
13.1频率选择
14 mos管实例
15 外部电源
16 布线考量
16.1采样电阻
16.2裸板
16.3电源滤波
16.4布线实例
17 极限参数
18 电气特性
18.1操作范围
18.2直流和交流的范围
19 封装数据
19.1平面尺寸
19.2芯片封装数据
20 免责声明
21 静电敏感设备
22 图表
23 修订历史
24 参考文献
- 工作原理
如上图1.1所示,TMC262芯片在智能运动控制(μC)与mos管之间,mos管是用来驱动两相步进电机。拉高后,在TMC262中嵌入式单片机通过SPI串口通讯发送相关的控制参数和模式选择来完成程序的初始化。单片机可能直接执行运动控制功能,如图1.1上部分所示,也可能发送指令到运动控制芯片来实现运动控制,如图1.1下部分TCM439所示。通过STEP接口输入的脉冲信号,和DIR接口的方向控制信号,运动控制器能够精确控制运动位置。TMC262有一个微步计数器和正弦列表将这些信号转化为线圈电流(这些电流控制了电机的位置)。如果单片机要直接实现运动控制功能,就需要在TMC262的SPI接口上输入线圈电流的值,在这时候STEP/DIR接口的功能会变得无用。这种运行方式需要相应的软件去跟踪步进电机的位置并且参考正弦列表去计算线圈电流。为了优化功耗和散热,可以通过软件来实时的修改调整智能节能、负载检测和电流设置的参数,例如在不同的运行模式下,实现电机运行速度和功耗的均衡。运动控制功能是一个硬实时的任务,它对嵌入式单片机的可靠施行和其他任务可能是一种负担。TMC429卸载了运动控制功能,3个步进电机能够可靠地实现单片机的少许服务需求。软件只需要发送目标位置,TMC429就能够产生精确的脉冲数目。通过SPI总线,软件就能够完美的控制TMC262和TMC429芯片的运行。
1.1主要概念
TMC262步进电机驱动器完成了多个高级专利,这些专利是TRINAMIC产品独有的。在很多步进电机的应用上,这些专利提高精确度,提高能源利用效率,使产品有跟高的可靠性,使运动动作更加流畅,更利于电机的冷却。
Stallguard 使用线圈的反电动势进行高精度符合测量
Coolstep 自适应电流控制能降低75%的能源损耗
Spreadcycle 高精度斩波算法有助于代替传统的固定关断时间的算法
Microplyer 微细分的内插程序比STEP/DIR接口更有助于提高微步距的平滑度
除了增强这些寄存器性能,TRINAMIC步进电机驱动器也提供安全检测和防范因短路、开路、超温、欠压引起的电机故障,并且加强了发生故障的设备的恢复性。
1.2控制界面
步进电机驱动器有两种驱动方式,分别是SPI接口控制模式和STEP/DIR接口控制模式。SPI接口用于给芯片写入控制信息和读取芯片和电机的状态信息。必须使用这个接口使步进电机驱动器的相关参数和能够驱动电机的必要模式初始化。该接口也可以直接设置流经步进电机线圈的电流,同样的也可以代替使用STEP和DIE信号的步进电机,因此步进电机能够通过SPI接口单独控制电机的运动。STEP/DIR接口是一种传统的步进电机控制接口,用于补充TRINAMIC设计的步进电机驱动器。只使用SPI接口的CPU开销比查找正弦列表和发出线圈电流的最新值稍微多一些。
1.2.1SPI接口
SPI接口是一个串行通信接口,它和总线的时钟同步。当上位机发送字节给下位机时,下位机同步的发送字节给上位机。SPI主机和TMC262之间的通信是由20位的命令字节和20位的状态字节构成。在低速是,SPI的指令速率通常对应这相似的微步速率。在高速时,速度受限于CPU频带宽度达到10-100khz,所以应用程序可能需要改变整步时的分辨率。
1.2.2STEP/DIR接口
驱动器默认使用STEP/DIR接口。在上升沿触发还是双边沿触发不同模式,受到DEDGE位的控制。上升沿触发模式是双边沿触发模式电机转速的一半,这样有利于通信速度慢的接口的通信比如光学隔离接口。每一个触发的信号边沿,系统都会从方向信号的高低电平来决定电机是顺时针旋转还是逆时针旋转。可以选择整步还是微步,微步的话有整步的1/2、1/4、1/8、1/16、1/32、1/64、1/128、1/256的区分。在微步细分时,由微步骤分辨率控制的量,方向信号低态会增加微步计数器,高台会减小微步计数器。有一个内部表将计数器的转换为正弦和余弦值,这个内部表用来控制微步状态的电机电流。
1.3机械负荷传感
TMC262 stallguard2提供高分辨率的负载检测电路通过测量电动势来确定机械的负载。
除了检测电机失速之外,这个特性还可以用于在没有限位开关或近程检测器时电机的定位。
Coolstep节能机械装置使用stallguard2减少电机的电流,这个电流的最小值必须满足电机负载的实际需求。
1.4电流控制
流入电机线圈的电流被用来控制循环斩波模式。有两种斩波模式:传统的常系数斩波模式和循环斩波模式。循环斩波模式能提供更加流畅操作和更大的功率效率在大范围的速度和负载上。
- 管脚定义
2.1封装外形
2.2信号描述
名称
|
管脚
|
类型
|
功能描述
|
GND
|
1
|
数字地 模拟地
| |
13
| |||
HA1
|
2
|
O (VS)
|
高端p型mos管输出 用来驱动VHS去控制mos管的导通和截止
|
HA2
|
3
| ||
HB1
|
23
| ||
HB2
|
22
| ||
BMA1
|
5
|
I (VS)
|
桥接输出的检测输入 用来短接到地,保护电路。
不用的时候受限于VS
|
BMA2
|
4
| ||
BMB1
|
20
| ||
BMB2
|
21
| ||
LA1
|
6
|
O 5V
|
低端mos管驱动输出 用来驱动5VOUT去控制mos管的导通和截止
|
LA2
|
7
| ||
LB1
|
19
| ||
LB2
|
18
| ||
SRA
|
8
|
AI
|
斩波驱动程序的采样电阻输入
|
SRB
|
17
| ||
5VOUT
|
9
|
内部的5V线性稳压器的输出。这个电压用来给低端驱动和内部模拟电路供电。外接一个滤波电容,电容靠近9和13引脚,另一端接地。470nf的陶瓷电容对大部分应用程序是足够的。或者一个钽电容(10μF或更多)能够提高mos管栅极性能。
| |
SDO
|
10
|
DO VIO
|
SPI的数据输出端(三态)
|
SDI
|
11
|
DI VIO
|
SPI的数据输入端(测试模式的扫描测试输入端)
|
SCK
|
12
|
DI VIO
|
SPI接口的串行时钟输入
(在测试模式扫描测试转变位使能输入)
|
CSN
|
14
|
DI VIO
|
SPI接口的芯片选择输入
|
ENN
|
15
|
DI VIO
|
禁止使能输入端 关闭所有mos管
|
CLK
|
16
|
DI VIO
|
系统时钟输入端。低电平 使用内部时钟,高电平 禁用内部时钟知道断电
|
VHS
|
24
|
高端电源电压输入(10v)
| |
VS
|
25
|
电机电源电压
| |
TST_ANA
|
26
|
AO VIO
|
模拟模式的测试输入端,正常运行时保持常开状态
|
SG_TST
|
27
|
DO VIO
|
电机失速保护,高电平有效
|
GNDP
|
28
|
功率管的接地,直接接地
| |
VCC_IO
|
29
|
所有数字引脚的电源输入输出端,数字逻辑供电,可调3.3v和5v
| |
DIR
|
30
|
DI VIO
|
方向信号的输入端,通过随机抽取的高低电平决定电机的转动方向,内置的滤波器提供一个60ns的小脉冲信号。
|
STEP
|
31
|
DI VIO
|
步进信号输入端,内置的滤波器提供一个60ns的小脉冲信号。
|
TST_MODE
|
32
|
DI VIO
|
测试模式的输入端使芯片进入测试模式正常状态常接地
|
- 内部结构
主要功能有:
振荡器和时钟选择器 |
提供了系统时钟,(1.片上振荡器 2.外部信号源)
|
步进和方向信号接口 |
使用微步计数器和正弦列表生成目标电流(线圈电流)
|
SPI接口 |
接收直接设置线圈电流值的指令
|
数据选择器 |
从正弦列表和SPI接口选择一种来控制输入电机线圈的电流
|
乘法器(倍频器) |
当电流大于电机负载的需求值或者所设计的芯片电流的尺寸参数时,使之按比例减小
|
数字模拟转换器和电流比较器
|
将数字的电流值转换为模拟信号,用来与采样电阻上的电压相比较,当模拟值大于采样电阻电压值时,比较器停止输出斩波驱动电压
|
先断后通门驱动 |
确保没有重复的脉冲信号,通过提高脉冲电压和控制脉冲斜率来关闭功率mos管
|
片上稳压器 |
为驱动器的P沟道mos管栅极和片上数字模拟电路提供高端电压
|
4 stallguard2 负载检测
stallguard2提供了一种可以精确测量电机负载的功能。它可以用于电机的失速检测,也可以用于检测负载减小时引起的电机失速,比如当负载减小时,控制着线圈电流的自适应减小。(stallguard2是一种比早期的stallguard更加精确的技术)
如图4.1所示。stallguard2的测量值在一定负载、速度、电流设置的情况下是呈线性变化的。当电机负载的最大时,stallguard2的值趋近于0或接近于0.这相当于负荷角是90°(线圈磁场和转子磁铁间夹角)。这也是最节能的操作点。
- 上图的开始值取决于电机和操作条件
- Stallguard的最小值达到0,这表明电机有堵转的危险。而这个点就是Stallguard的阈值。
- 电机在这个点失速。负荷角超过90°并且可用的扭矩下沉。????????????
两个参数控制Stallguard2并返回一个状态值。
名称 |
描述 |
设置值 |
备注 |
SGT |
7位带符号的整数(二进制数0—1000000)用来设置Stallguard2的阈电平(这个阈电平是用来声明SG_TST的输出量)也用来设置读出值的最佳测量范围。负值用来增加敏感度,正值用来减小敏感度,这样就需要更大的转矩来表示失速。0是最好的初始值。不推荐操作值低于-10
|
0
|
敏感度中间值
|
|
灵敏度低
| ||
-1--- -64
|
灵敏度高
| ||
SFILT |
Stallguard的滤波模式能得到更大的精度。如果设置为1,将减少测量频率(每4个整步测量一次),如果设置为0,则不滤波。虽然电机的机械不对称性有滤波补偿,但是响应时间是有代价的。未滤波操作时建议迅速进行失步检测,滤波操作时建议进行更加精确的负载检测。
|
0
| |
1
|
滤波模式
| ||
SG |
Stallguard的10位无符号整数测量值。更高的值表示较低的机械负荷。一个较低的值表示有更高的负荷和更高的负荷角。至于失速检测,在失速前,调整SGT的值返回一个0值或略高于最大负载值。
|
0--1023
|
0:最大负荷
较低值:较大负荷 较高值:较低负荷 |
4.1阈值设置
由于Stallguard SG的值对电机的具体特征和特殊应用的依赖需要满足的一定的电机负载和速度,最简单的方法就是调整Stallguard SG的阈值。适合与一个特定的电机类型和操作条件的SGT的值是需要在实际的应用中得到优化。
这个过程是:
- 为了你的应用和监控SG,按一个合理的速度操作电机。
- 请慢慢的增加电机的机械负载。如果在电机失速前SG的值变为0,减小SGT的值。最好的SGT的初始值是0.SGT是有符号数,所以它同时有正数和负数。
- 当SG的值在0和400之间时,在电机失速前,缓慢地增加负载来达到最佳设置。在无负荷的情况下,SG的值会增加100或更多。在大多数情况下,SGT可以在某种程度上协调运动速度。当电机失速和失速输出SG_TST时,SG趋近于0.这就意味着步进电机丢步。
系统时钟频率会影响SG。当需要最佳的性能时,应选用外置的晶振时钟。供电电压也会影响SG。因此更加精确的值需要更加严格的规则。SG测量需要有更高的分辨率,这儿有几种方法增加它的精确度,如下列所述。
4.1.1可变速度操作
在一定的速度范围内,Stallguard阈值SG的快速调整提高了负载检测SG的准确性。也提高了能源利用率。这是由SG驱动的。在不同的速度下,两个SGT值之间的线性差值的不断优化是一个简单的算法,用这个算法可以在大多数的动态调整中获得好处。如图4.2所示。这个图片显示一个最优的SGT黑色曲线和一个两点间插补的红色曲线。
蓝色曲线是无负载时Stallguard2的读数
黑色曲线是最佳SGT设置时的读数
红色虚线是简化SGT设置时的读数
0点是低限制时失速检测 4转
275点时反电动势达到供电电压时
横轴是电机的转速
竖轴时SGT的读数
4.1.2小型电机的高转矩波动和共振
一个有大启动转矩的电机说表明:随着电机电流的变化,尤其是在低电流时,Stallguard2的SG测量值也在快速变化。对于这些电机来说,为了获得最高的精度,这种依赖关系需要得到与修正速度相似的方式的校正
4.1.3电机内电阻与电机温度的关系
电机在一个广泛的温度范围内工作需要有温度校正,因为电机的线圈电阻(内电阻)会随着温度的升高而上升。这样随温度增加引起的SG的线性减少就可以得到修正,同样的电机效率的降低也一样可以得到修正。
4.1.4 Stallguard2测量的准确性和重复性
再生产过程中,同一种电机类型的应用程序需要使用一个固定的SGT值。大多数的一一对应的Stallguard2测量的变化是由电机结构的制造公差引起的。在其他所有参数保持稳定的情况下,Stallguard2所提供的测量误差可以低至:
测量误差=±max(1,|SGT|)
4.2检测频率和滤波
Stallguard2的SG值在电机完成一个整步时都会被更新.这样就能够够安全的检测到电机的失步,因为电机失步总是在电机完成4个整步时发生.在实际应用中,特别是使用微步功能时,更加精确的测量是比每个整步都要校正更加重要,因为机械负载从不在一步到另一步时瞬间改变.对于应用程序来说,SFILT位的滤波功能超过四个负载测量.当需要高精密度放入测量时,应该使用滤波器.滤波器能够弥补电机结构的变化,比如说A相B相磁性的错位.当需要加强负载变化的快速响应时,不应该使用滤波器,比如说高速时的失速检测.
4.3电机的失速检测
为了能够安全的检测到电机失速,失速时的临界值应该用一个特殊的SGT设置值表示.因此,为了监视SG的值,你应该确定电机的最大负载,这个负载值是在不失速时的最大值.比如说某个值在0到400之间.考虑到参数的偏离(误差),安全阈值应该在可操作范围内.所以,你的单片机软件应该设置一个失速阈值,这个阈值应该略高于电机发生失速的最小值.当SGT到达失速临界值或0时,应该有一个响应信号,这个信号能够反映电机处于什么样的状态,比如说电机无负载(SG=0)和电机到达最大负载(SG=MAX).这个值应该能够反应至少100和几个100的区别,这样的话就能够最大程度的反映偏移量.如果电机有最大负载时,SGT的读数是0,一个高电平有效的失速输出信号将从SG_TST管脚输出.
4.4 Stallguard2的操作限制
Stallguard2在极端的运动速度下是不能可靠地运行的:非常低的电机速度(对于电机来说,小于1rad/s)能够生成一个低的反电动势并且会造成测量的不稳定,它取决于环境条件(比如温度等等)。其他的情况将导致极端的SGT设置和对电机负载的SG测量值的不良响应。当完整的正弦电流不能流进电机线圈时,非常高的运动速度也能导致不良反映。
这下速度通常的特点是反电动势趋近于电源电压。
5自适应电流控制
Coolstep 允许大量节约能源,特别是在有不同的负载或较高工作周期的操作。因为步进电机应用程序需要在保留30%到50%的力矩的状态下工作,甚至一个有固定负载的应用程序能够有效的节约能源因为在需要的时候Coolstep能够自动的保留力矩。降低功耗能够使系统更加易于散热,增加电机寿命,还能够降低电源供电和冷却组件的成本。
降低一半的电机电流就能够减少1/4的电机输出功率。
能源效率:功耗降低到75%
电机产生耕地的热量:改变机械精度
减少冷却组件:电机和驱动器的冷却设备
更低的电机成本:在工作的时候
Efficiency:效率
Velocity:转速
绿线:Coolstep的效率
褐色线:保留50%力矩时的效率
图5.1显示42号步进电机在和保留50%力矩时的效率增益。Coolstep在超过60rpm时效率大于保留50%力矩时的效率。
Coolstep是有几个参数控制,但是有两个参数是理解它是如何工作的关键:
参数 |
描述 |
范围 |
备注 |
SEMIN
|
4位的无符号整数用来设置较低阈值,如果SG的值小于这个阈值,coolstep为了覆盖10位的SG值的下半部分范围,4位的SEMIN的值扩展到32倍
|
0--15
|
阈值下限= SEMIN*32
(最大值15*32=480) |
SEMAX
|
4位的无符号整数用来设置较高阈值。如果SG采样等于或高于该阈值的次数足够多,coolstep会减小两个线圈的电流。阈值上限=(SEMIN+ SEMAX+1)*32
|
0--15
|
阈值上限=(SEMIN+ SEMAX+1)*32
(最大值(15+15+1)*32=991) |
图5.2显示了coolstep的操作区域。黑线代表了SG测量值,蓝线代表了电机的机械负荷,红线代表了电机线圈电流。当电机负载增加时,SG的值低于SEMIN,Coolstep增加电流。当电机负载降低并且SG的值高于(SEMIN+ SEMAX+1)*32时,电流减少。
X轴有5个阶段
- 负荷角最佳化
- 负荷增加则电流增加
- 负荷角最佳化
- 电机负载减小则电流缓慢减小
- 负荷角最佳化
参数
|
描述
|
范围
|
备注
|
CS
|
电流设置。缩减来自内置的正弦列表或SPI接口的线圈电流值。为了实现高精度电机操作,工作电流在16到32范围内缩减,因为按比例缩减的电流值减小了微步的分辨率,这个值还控制着通过coolstep设置的电流的最大值。
|
0--31
|
比例因素:1/32.2/32….32/32
|
SEUP
|
每次SG的测量值小于阈值下限时线圈电流的增量.电流增加速度.
|
0--3
|
补宽:1 2 4 8
|
SEDN
|
SG的测量值大于阈值上限时,线圈电流时递减的.
电流减小速度.
|
0--3
|
SG的测量次数减小:32 8 4 1
|
SEIMIN
|
控制按比例缩减的线圈电流的下限值的模式位.如果这个位设置,电流的极限值是1/4CS.如果这个位是明确的,极限值是电流的1/2CS
|
0
|
最小的电机驱动电流:CS的1/2
|
1
|
CS的1/4
| ||
状态字
|
描述
|
范围
|
备注
|
SE
|
5位无符号整数报告缩放后的有效电流值是由coolstep决定。这个值是由1除以32相似,因此它的范围是1/32—32/32.这个值不大于CS的值或不小于1/4CS和1/2CS任何一个,它取决于SEIMIN的设置值。
|
0--31
|
实际上,按比例换算的电机电流设置:1/32.2/32….32/32
|
5.1调节coolstep
调节coolstep之前,首先要调整stallguard2 SGT阈值水平,从而影响到SG负载测量值的范围。Coolstep使用SG操作电机使电机处于90°的最佳负载角。
电流的增长速度是由SEUP决定的,并且电流的衰减速度是由SEDN决定的。它们能够被分别调整,因为他们处于不同的响应触发。这些参数的编辑允许线圈电流增加比下降更快,因为穿过阈值是一个更加严肃的事件,它需要有更快的响应速度。如果响应速度太慢了,电机会失速。相比之下,在穿过阈值上限有一个缓慢地响应速度可能不需要冒任何更大风险,比如错失了节约电力的机会。
Coolstep操作被缩放的电流参数CS和SEIMIN位所限制。
5.1.1响应时间
为了电机负载增加时能够快速响应,使用一个高电流逐步增加SEUP。如果电机负载缓慢地改变,一个较低的逐步增加的电流被用来避免电机电流振荡。如果被SFILT控制的滤波器使能,测量负载值和限制速度将减少1/4.
5.1.2低速和备用操作
因为stallguard2在失速和速度很低时不能测量电机负载,所以在低速时的电流应该被当做一个特定应用程序的默认值和与失速电流联合减少通过SPI接口的程序化设置.
6SPI接口
在电机被驱动前TMC262需要通过SPI接口设置配置参数和模式位.SPI也被用来读取状态返回值和各位的值.
6.1总线信号
TMC262的SPI总线有4中信号:
SCK 总线时钟输入
SDI 串行数据输入
SDO 串行数据输出
CSN 芯片选择输入(低电平有效)
通过芯片选择输入CSN的低电平信号,SPI启用从机.数据传输是和总线时钟SCK同步的,在系统时钟的上升沿从机自锁来自SDI数据,并且在系统时钟的下降沿时驱动数据到SDO.最高有效位会被首先发送.TMC262的总线事物至少需要20个系统时钟周期.如果多于20个时钟,通过一个内部移位寄存器在20个时钟延时后额外的位(被传输到SDI的位)将被传输出去(通过SDO).这可以用于多个芯片之间更好的连接.在整个总线事物期间,CSN必须是低电平.当CSN是高电平时, 内部移位寄存器锁存内部控制寄存器并且被认为是一个主机到从机的命令.如果发送超过了20位,仅仅只有20位在CSN上升前被接受,这被识别为一种命令.
6.2总线时钟选择
SPI接口是与内部系统时钟同步的,这限制了SPI总线时钟SCK,是它的时钟是系统时钟频率的一半.如果系统时钟是基于片上的振荡器,必须使用额外的10%的安全限度来确保数据传输的可靠性.所有的SPI输入和ENN输入一样都是内部过滤以避免触发信号短于20ns。图6.1显示了SPI总线事务的时间参数,下面的表指明了它们的值。
SPI接口时间选择 |
数字特征 时钟周期是tCLK | |||||
参数 |
表示 符号 |
条件 |
最小值 |
典型值 |
最大值 |
单位 |
SCK在CSN改变之前或之后有效值 |
tCC |
|
10 |
|
|
ns |
CSN的高端时钟 |
tCSH |
在CSN高电平前SCK有一个高端tCLK仅供与系统时钟同步的最短时间 |
tCLK |
> 2tCLK+10 |
|
ns |
SCK的低端时钟 |
tCL |
仅供与系统时钟同步的最短时间 |
tCLK |
> tCLK+10 |
|
ns |
SCK的高端时钟 |
tCH |
仅供与系统时钟同步的最短时间 |
tCLK |
> tCLK+10 |
|
ns |
SCK使用内部时钟的频率 |
fSCK |
|
|
|
4 |
MHz |
SCK使用外部16MHz时钟的频率 |
fSCK |
|
|
|
8 |
MHz |
SCK上升沿之前SDI设置的时间 |
tDU |
假设最低的OSC频率 |
10 |
|
|
ns |
SCK上升沿之后SDI拥有的时间 |
tDH |
假定同步时钟 |
10 |
|
|
ns |
SCK下降沿之后数据输出地建立时间 |
tDO |
SDO上没有电容性负载 |
|
|
tFILT+5 |
ns |
SDI SCK CSN的过滤器延时 |
tFILT |
上升和下降沿 |
12 |
20 |
30 |
ns |
6.3总线架构
SPI从机可以链接和使用单片机选择行。如果连接从机,他们表现得像一个长移位寄存器。举个例子,两个电机驱动器之间的链接需要有40个发送位。用链接移动到每个寄存器的最后一位在CSN处于上升沿是被加载到一个内部寄存器上。例如,24或32位可以被发送到一单一的电机驱动器上,但是在CSN走高之前,它缠住了最后的20个接受位。
Mechanical Feedback or virtual stop switch:机械反馈或虚拟停止开关
Real time Step/Dir Interface:实时的Step/Dir 接口
TMC429 triple stepper motor controller:TMC429 三项步进电机驱动器
Reference switch processing参考开关处理
SPI to master:SPI控制
3x linear RAMP Generator:3倍斜率发生器
Step/Dir信号发生器
Output select SPI or Step & Dir:输出选择SPI或Step/Dir
Interrupt Controller:中断控制器
Position Comparator:位置比较器
Microstep table:微细分表列
Serial driver interface:串口驱动程序接口
Step Multiplier:步进乘法器
Sine Table4*256 entry:正弦列表4*256条目
Chopper:斩波器
Gate driver:门驱动器
SPI control, Config & Diags:SPI控制、配置以及自我检测功能
Protection & Diagnostics:保护和诊断
2 x Current Comparator:2倍电流比较器
2 Phase Stepper:两相步进电机
Realtime event trigger:实时事件触发
Motion command SPI (TM):SPI的运动命令
System interfacing:系统接口
Configuration and
diagnostics SPI (TM:SPI的保护和诊断
Third driver and motor
Second driver and motor:三/相步进电机极其驱动器
图6.2显示了一个典型的应用程序接口。SPI总线被用于嵌入式单片机的一个运动控制器和更多的电机驱动器的控制寄存器的初始化。Step/Dir接口被用于运动控制器和电机驱动器之间。
6.4 寄存器写命令
TMC262的SPI总线事物是5个只写寄存器中的一个写命令,这五个寄存器有配置参数和模式位:
寄存器
|
描述
|
驱动控制寄存器
|
驱动控制寄存器有不同的控制模式,不同的控制模式取决于运动控制器的接口是否采用step/dir接口
|
斩波设置寄存器
|
斩波设置寄存器拥有斩波器参数和模式设置位
|
步进优化设置寄存器
|
步进优化设置寄存器有关于步进优化的参数和模式设置位
|
保护和诊断设置寄存器
|
保护和诊断设置寄存器有关于保护和诊断的参数和模式设置位
|
驱动器设置寄存器
|
驱动器设置寄存器有可以控制功率场效应管和保护电路的参数和模式位。其中有一个SDOFF位用来控制step/dir接口还有一个RDSEL参数用来控制SPI事物里的返回值
|
在下面的介绍中,多位二进制值以%符号为前缀,例如%0111
6.4.1 写命令概述
下面表中显示了5个写命令寄存器的格式。19、18位还有部分的17位选择被写入的寄存器,如粗体所示。根据SDOFF位选择的不同,驱动控制寄存器有两种格式。被显示是0的必须写入0,被显示是1的必须写入1,下面的部分,详细的描述了给出的每一个参数和模式位。
位\寄存器
|
驱动控制寄存器
(SDOFF=1)
|
驱动控制寄存器(SDOFF=0)
|
斩波设置寄存器
|
步进优化设置寄存器
|
保护和诊断设置寄存器
|
驱动器设置寄存器
|
19
|
0
|
0
|
1
|
1
|
1
|
1
|
18
|
0
|
0
|
0
|
0
|
1
|
1
|
17
|
PHA
|
0
|
0
|
1
|
0
|
1
|
16
|
CA7
|
0
|
TBL1
|
0
|
SFILT
|
TST
|
15
|
CA6
|
0
|
TBL0
|
SEIMIN
|
0
|
SLPH1
|
14
|
CA5
|
0
|
CHM
|
SEDN1
|
SGT6
|
SLPH0
|
13
|
CA4
|
0
|
RNDTF
|
SEDN0
|
SGT5
|
SLPL1
|
12
|
CA3
|
0
|
HDEC1
|
0
|
SGT4
|
SLPL0
|
11
|
CA2
|
0
|
HDEC0
|
SEMAX3
|
SGT3
|
0
|
10
|
CA1
|
0
|
HEND3
|
SEMAX2
|
SGT2
|
DISS2G
|
9
|
CA0
|
INTPOL
|
HEND2
|
SEMAX1
|
SGT1
|
TS2G1
|
8
|
PHB
|
DEDGE
|
HEND1
|
SEMAX0
|
SGT0
|
TS2G0
|
7
|
CB7
|
0
|
HEND0
|
0
|
0
|
SDOFF
|
6
|
CB6
|
0
|
HSTRT2
|
SEUP1
|
0
|
VSENSE
|
5
|
CB5
|
0
|
HSTRT1
|
SEUP0
|
0
|
RDSEL1
|
4
|
CB4
|
0
|
HSTRT0
|
0
|
CS4
|
RDSEL0
|
3
|
CB3
|
MRES3
|
TOFF3
|
SEMIN3
|
CS3
|
0
|
2
|
CB2
|
MRES2
|
TOFF2
|
SEMIN2
|
CS2
|
0
|
1
|
CB1
|
MRES1
|
TOFF1
|
SEMIN1
|
CS1
|
0
|
0
|
CB0
|
MRES0
|
TOFF0
|
SEMIN0
|
CS0
|
0
|
6.4.2 读响应概述
下表显示读响应的格式。驱动器设置寄存器中的RDSEL参数选择读响应的格式。
位
|
RDSEL=%00
|
RDSEL=%01
|
RDSEL=%10
|
19
|
MSTEP9
|
SG9
|
SG9
|
18
|
MSTEP8
|
SG8
|
SG8
|
17
|
MSTEP7
|
SG7
|
SG7
|
16
|
MSTEP6
|
SG6
|
SG6
|
15
|
MSTEP5
|
SG5
|
SG5
|
14
|
MSTEP4
|
SG4
|
SG4
|
13
|
MSTEP3
|
SG3
|
SG3
|
12
|
MSTEP2
|
SG2
|
SG2
|
11
|
MSTEP1
|
SG1
|
SG1
|
10
|
MSTEP0
|
SG0
|
SG0
|
9
|
-
|
-
|
-
|
8
|
-
|
-
|
-
|
7
|
STST
| ||
6
|
OLB
| ||
5
|
OLA
| ||
4
|
S2GB
| ||
3
|
S2GA
| ||
2
|
OTPW
| ||
1
|
OT
| ||
0
|
SG
|
6.5驱动控制寄存器(Driver Control Register (DRVCTRL))
驱动控制寄存器的格式取决于SDOFF模式位的状态。
SPI模式 :SDOFF设置在这个模式,STEP/DIR不使能,驱动控制寄存器在SPI接口,可
以通过这个接口指明通过每个线圈的电流。
STEP/DIR模式 :SDOFF设置在这个模式,STEP/DIR使能,在STEP/DIR接口,驱动控制寄存器是一个配置寄存器。
6.5.1 SPI模式下的驱动控制寄存器(DRVCTRL Register in SPI Mode)
驱动控制寄存器
|
SPI模式下的驱动器控制(SDOFF=1)
| ||
位
|
名字
|
功能
|
备注
|
19
|
0
|
寄存器地址位
| |
18
|
0
|
寄存器地址位
| |
17
|
PHA
|
A极
|
通过线圈A的电流信号:
0:电流从OA1引脚流到OA2
1:电流从OA2引脚流到OA1
|
16
|
CA7
|
A极电流的最高有效位
|
通过A线圈的电流大小。它的范围是0—248,如果滞后或抵消他们的全部。滞后或抵消后得到的值不超过255
|
15
|
CA6
| ||
14
|
CA5
| ||
13
|
CA4
| ||
12
|
CA3
| ||
11
|
CA2
| ||
10
|
CA1
| ||
9
|
CA0
|
A极电流的最低有效位
| |
8
|
PHB
|
B极
|
通过线圈B的电流信号:
0:电流从OB1引脚流到OB2
1:电流从OB2引脚流到OB1
|
7
|
CB7
|
B极电流的最高有效位
|
通过B线圈的电流大小。它的范围是0—248,如果滞后或抵消他们的全部。滞后或抵消后得到的值不超过255
|
6
|
CB6
| ||
5
|
CB5
| ||
4
|
CB4
| ||
3
|
CB3
| ||
2
|
CB2
| ||
1
|
CB1
| ||
0
|
CB0
|
B极电流的最低有效位
|
6.5.2 STEP/DIR模式下的驱动控制寄存器(DRVCTRL Register in STEP/DIR Mode)
驱动控制寄存器
|
SPI模式下的驱动器控制(SDOFF=0)
| ||
位
|
名字
|
功能
|
备注
|
19
|
0
|
寄存器地址位
| |
18
|
0
|
寄存器地址位
| |
17
|
0
|
保留
| |
16
|
0
|
保留
| |
15
|
0
|
保留
| |
14
|
0
|
保留
| |
13
|
0
|
保留
| |
12
|
0
|
保留
| |
11
|
0
|
保留
| |
10
|
0
|
保留
| |
9
|
INTPOL
|
能否修改步进信号(倍频)
|
0:不能修改步进信号
1:步进信号乘以16倍
|
8
|
DEDGE
|
能否双边沿触发步进信号
|
0:上升沿触发,下降沿不触发
1:双边沿触发
|
7
|
0
|
保留
| |
6
|
0
|
保留
| |
5
|
0
|
保留
| |
4
|
0
|
保留
| |
3
|
MRES3
|
STEP/DIR模式下微步分辨率
|
每90°微步:
%0000:256
%0001: 128
%0010:64
%0011:32
%0100:16
%0101:8
%0110: 4
%0111: 2(半步)
%1000:1(整步)
|
2
|
MRES2
| ||
1
|
MRES1
| ||
0
|
MRES0
|
6.6斩波设置寄存器(Chopper Control Register (CHOPCONF))
斩波设置寄存器
|
斩波设置
| ||
位
|
名字
|
功能
|
备注
|
19
|
1
|
寄存器地址位
| |
18
|
0
|
寄存器地址位
| |
17
|
0
|
寄存器地址位
| |
16
|
TBL1
|
空白时间
|
空白时间间隔,系统时间周期下:
%00:16 %01:24 %10:36 %11:54
|
15
|
TBL0
| ||
14
|
CHM
|
斩波模式
|
这个模式位影响了HDEC、HEND、HSTRT参数在下面的解释。
0:标准模式(传播周期)、
1:与快速衰减时间保持恒定.
当到达额定电流,快速衰减时间也结束。快速衰减是在准时之后。
|
13
|
RNDTF
|
随机关断时间
|
允许随机化慢衰减阶段持续时间
0:斩波关断时间随着关断时间位的设置而被固定
1:随机模式,关断时间可以随时调整
dN CLK = -12 … +3 clocks.
|
12
|
HDEC1
|
磁滞衰减间隔时间
或快速衰减模式
|
CHM=0 :磁滞衰减周期设置,按系统时钟周期
%00:16 %01:32 %10:48 %11:64
CHM=1:HDEC1=0:电流比较器能够在计时器到时时终止快速衰减阶段。
HDEC1=1:只有定时器能够终止快速衰减阶段。
HDEC0: 快速衰减时间最高有效位设置
|
11
|
HDEC0
| ||
10
|
HEND3
|
磁滞结束(低)值
或正弦偏移量
|
CHM=0 :%0000…%11111
磁滞衰减设置值是-3,-2,-1,0….12
(这个设置的1/512添加到电流设置中)
这个磁滞值被用于磁滞斩波
CHM=1 :%0000…%1111
补偿值是-3,-2,-1,0….12
正弦波补偿和它1/512的值用于添加到每一个正弦波条目的绝对值。
|
9
|
HEND2
| ||
8
|
HEND1
| ||
7
|
HEND0
| ||
6
|
HSTRT2
|
磁滞开始(高)值
或快速衰减时间设置
|
CHM=0 :磁滞补偿开始到HEND结束
%000:1 %100:5 %001:2 %101:6
%010:3 %110:7 %011:4 %111:8
有效范围:HECD+HSTRT<=15
CHM=1 :快速衰减持续时间的三个最低有效位
快速衰减时间是系统时间周期的倍数:
NCLK=32*(HDEC0+HSTRT)
|
5
|
HSTRT1
| ||
4
|
HSTRT0
| ||
3
|
TOFF3
|
关断时间/MOS管
不使能
|
慢衰减持续时间。如果TOFF为0,MOS管关断.如果TOFF不是0,慢衰减时间是系统时间周期的倍数。NCLK=12+(32*TOFF)(最小时间是64倍的时间周期)
%0000:驱动不使能,所有桥关闭
%0001:1(用于最小的24倍时钟的TBL)
%0010…%1111:2…15
|
2
|
TOFF2
| ||
1
|
TOFF1
| ||
0
|
TOFF0
|
6.7步进优化控制寄存器(coolStep Control Register (SMARTEN))
步进优化设置寄存器
|
步进优化设置
| ||
位
|
名字
|
功能
|
备注
|
19
|
1
|
寄存器地址位
| |
18
|
0
|
寄存器地址位
| |
17
|
1
|
寄存器地址位
| |
16
|
0
|
保留
| |
15
|
SEIMIN
|
最小的步进优化电流
|
0:1/2CS电流设置
1:1/4CS电流设置
|
14
|
SEDN1
|
电流衰减速度
|
每个线圈电流的衰减都能保证智能保护值的采样必须大于等于上阈值的次数:
%00:32 %01:8
%10:2 %00:1
|
13
|
SEDN0
| ||
12
|
0
|
保留
| |
11
|
SEMAX3
|
高端步进优化阈值伴随着一个来自较低阈值的补偿
|
如果智能保护功能的SG采样测量值等于或大于(SEMIN+SEMAX+1)*32足够次数,那么线圈电流的比例因素会降低。
|
10
|
SEMAX2
| ||
9
|
SEMAX1
| ||
8
|
SEMAX0
| ||
7
|
0
|
保留
| |
6
|
SEUP1
|
电流增加速度
|
每次电流增加的步数,智能保护功能的SG采样值低于较低阈值
%00:1 %01:2 %10:4 %11:8
|
5
|
SEUP0
| ||
4
|
0
|
保留
| |
3
|
SEMIN3
|
更低的步进优化阈值/步进优化不使能
|
如果SEMIN的值是0,步进优化功能不使能。如果SEMIN不是0并且智能保护功能的SG采样值低于SEMIN*32,优化步进的电流比例因子增加。
|
2
|
SEMIN2
| ||
1
|
SEMIN1
| ||
0
|
SEMIN0
|
6.8保护和诊断控制寄存器(stallGuard2 Control Register (SGCSCONF))
保护和诊断设置寄存器
|
保护和诊断设置
| ||
位
|
名字
|
功能
|
备注
|
19
|
1
|
寄存器地址位
| |
18
|
1
|
寄存器地址位
| |
17
|
0
|
寄存器地址位
| |
16
|
SFILT
|
滤波使能
|
0:标准模式,最快的响应时间
1:滤波模式,每补偿4个整步电机的结构更新一次,有最高的精度。
|
15
|
0
|
保留
| |
14
|
SGT6
|
阈值
|
智能保护阈值控制着关于读出和失速指示(SG_TST)输出最佳的测量范围.较低的值导致较高的灵敏度。较低的转矩需要显示失速。阈值是一个有两个补码的有符号整数。这个值建议不低于-10.
范围:-64到+63
|
13
|
SGT5
| ||
12
|
SGT4
| ||
11
|
SGT3
| ||
10
|
SGT2
| ||
9
|
SGT1
| ||
8
|
SGT0
| ||
7
|
0
|
保留
| |
6
|
0
|
保留
| |
5
|
0
|
保留
| |
4
|
CS4
|
电流大小
|
电流大小通过SPI和STEP/DIR设置
%0000…%11111:1/32,2/32,3/32,…32/32
这个值加1除以32,因此范围是1/32到32/32
举个例子:CS=20是21/32的电流
|
3
|
CS3
| ||
2
|
CS2
| ||
1
|
CS1
| ||
0
|
CS0
|
6.9驱动器控制寄存器(Driver Control Register (DRVCONF))
驱动器设置寄存器
|
驱动器设置
| ||
位
|
名字
|
功能
|
备注
|
19
|
1
|
寄存器地址位
| |
18
|
1
|
寄存器地址位
| |
17
|
1
|
寄存器地址位
| |
16
|
TST
|
保留测试模式
|
正常工作时,必须被清除,当设置时,
SG_TST脚输出暴露的数字测试值,TEST_ANA脚输出暴露的模拟测试值。测试值的选择被SGT1和SGT0控制。
TEST_ANA: %00:测试分析2倍Vth
%01:测试分析DAC输出
%10:测试分析Vdd一半
SG_TST: %00:comp_A
%01:comp_B
%10:时钟
%11:导通xy
|
15
|
SLPH1
|
高端斜率控制
|
%00:最小值
%01:最低温度补偿模式
%10:中间温度补偿模式
%11:最大值
在温度补偿模式中,如果温度过热达到警报温度时,MOS管门极驱动力增加。这个补偿的温度取决于高端斜率控制。
|
14
|
SLPH0
| ||
13
|
SLPL1
|
低端斜率控制
|
%00:最小值 %01:最小值
%10:中间值 %11:最大值
|
12
|
SLPL0
| ||
11
|
0
|
保留
| |
10
|
DISS2G
|
短接到地保护
不使能
|
0:短路保护使能 1:短路保护不使能
|
9
|
TS2G1
|
短接到地检测
定时器
|
%00:3.2μs %01:1.6μs
%10: 1.2μs %11:0.8μs
|
8
|
TS2G0
| ||
7
|
SDOFF
|
STEP/DIR接口
不使能
|
0:使能STEP/DIR操作
1:不使能STEP/DIR操作,SPI接口被用于移动电机
|
6
|
VSENSE
|
采样电阻固定
电压电流比例
|
0:全面的采样电阻电压是306mV
1: 全面的采样电阻电压是165mV
(这里的全面指的是电流的31个设置和255个数字模拟转化器的值)
|
5
|
RDSEL1
|
选择读出值
(读出位)
|
%00:微步位置返回值 %01:负载检测水平状态返回
%10:负载检测和智能节能电流水平返回
%11:保留,不用
|
4
|
RDSEL0
| ||
3
|
0
|
保留
| |
2
|
0
|
保留
| |
1
|
0
|
保留
| |
0
|
0
|
保留
|
6.10 读响应
对于每一个写命令发送到电机驱动器,会有一个20位的响应被电机驱动器返回。由于驱动控制寄存器中RDSEL参数的选择,这个响应有3种格式。下面的表格显示了这些格式。软件不能取决于任何显示保留位的值。
驱动控制的状态
|
读响应
| ||||
位
|
名称
|
功能
|
描述
| ||
RDSEL=%00
|
%01
|
%10
| |||
19
|
MSTEP9
|
SG9
|
SG9
|
线圈A微步计数器
stallGuard2 SG9:0价值
stallGuard2值SG9:5和coolStep值SE4:0
|
在正弦表中,用步进/方向模式下的微步位置。MSTEP9是极性位:
0:电流从OA1针到OA2针脚。
1:电流从OA2插针到OA1针脚。
|
18
|
MSTEP8
|
SG8
|
SG8
| ||
17
|
MSTEP7
|
SG7
|
SG7
| ||
16
|
MSTEP6
|
SG6
|
SG6
|
SG9:0 stallGuard2值
| |
15
|
MSTEP5
|
SG5
|
SG5
| ||
14
|
MSTEP4
|
SG4
|
SE4
| ||
13
|
MSTEP3
|
SG3
|
SE3
| ||
12
|
MSTEP2
|
SG2
|
SE2
|
stallGuard2值SG9:5和实际的coolStep缩放值SE4:0。
| |
11
|
MSTEP1
|
SG1
|
SE1
| ||
10
|
MSTEP0
|
SG0
|
SE0
| ||
9
|
保留
| ||||
8
|
保留
| ||||
7
|
STST
|
静止指示器
|
0:没有检测到的静止状态。
1:在最后的2^20(1048576)个系统时钟周期中,没有出现步进脉冲的上升沿。
| ||
6
|
OLB
|
打开负载指示器
|
0:没有检测到打开负载的条件。
1:在最后的脉冲周期,线圈有恒定的极性时,没有发生过斩波的事件。只有当电流达到最高设置的1/16可以清除这一位!
提示:这个位只是一个状态指示器。当这个位被设定时,芯片不会采取任何其他动作。在快速运动和静止时可能出现错误的迹象。只在慢动作时检查这一点。
| ||
5
|
OLA
| ||||
4
|
S2GB
|
高端晶体管的短路检测位
|
0:没有达到短接到地的关闭条件。
1:短到地达到关闭状态。
每次短路时,短路计数器就会增加,此时斩波循环被暂停。计数器因每一个相位极性的变化而减少。当计数器达到3次,mos管关闭。保持MOSFETs关闭状态,直到关闭条件通过禁用和重新启用驱动程序来清除。关闭状态通过取消ENN(使能)输入或清除TOFF(关断时间)参数来重置。
| ||
3
|
S2GA
| ||||
2
|
OTPW
|
过温警报
|
0:温度没有达到过热的警告条件。
1:温度达到了警告阈值(警报最大值)
| ||
1
|
OT
|
过温停止
|
0:温度没有达到过热的关闭条件。(警报温度小于关闭温度)
1:温度达到使mos管关闭的条件。
| ||
0
|
SG
|
保护诊断状态
|
0:没有达到电机失速的检测条件。
1:已经达到stallGuard2的阈值,此时SG_TST输出高电平。
|
6.11 驱动器初始化
下面的SPI命令序列是启用驱动程序和斩波初始化的一个示例:
SPI = $901B4; // 迟滞模式
Or
SPI = $94557; // 关断时间常数 模式
SPI = $D001F; // 电流设置:$d001F (最大电流)
SPI = $EF010; // 高端驱动强度,stallguard 读 ,SDOFF=0
SPI = $00000; // 256 微细分设置
首先测试coolstep 的电流控制:
SPI = $A8202; // 在coolstep 中设置最小电流是1/4CS
配置参数应调至电机和应用程序,以获得最佳性能。
7 STEP/DIR 接口
步骤和DIR输入提供了一个简单的标准接口,与许多现有的动作兼容。控制器。微plyer阶梯脉冲插值器带来了高分辨率的平滑运动。
微步应用于最初设计用于粗糙的步进和减少脉冲的频带宽度。
7.1 时钟
图7.1显示了步进和方向脉冲信号的时间参数,下面的表给出了它们的参数规范。当在DRVCTRL寄存器中设置了DEDGE模式位时,步进脉冲信号的两个边沿都是活跃。如果DEDGE被清除,只有上升沿是活跃的。步进和方向脉冲被取样和被协调使其与系统时钟同步。内部模拟滤波器消除信号上的故障,例如由PCB的导线过长使信号引起的故障。如果信号源远离芯片,特别是用电缆传送信号时,信号应被过滤或用不同的铜线传输。
STEP /DIR 接口的时钟
|
数字特征 时钟周期是tCLK | |||||
参数
|
象征
|
条件
|
最小值
|
典型
|
最大值
|
单位
|
步进脉冲频率
|
fSTEP |
DEDGE=0
|
1/2 fCLK | |||
DEDGE=1
|
1/4 fCLK | |||||
整步脉冲频率
|
fFS |
fCLK/512 | ||||
步进脉冲低电平时间
|
tSL |
max(tFILTSD, tCLK+20) |
ns
| |||
步进脉冲高电平时间
|
tSH |
max(tFILTSD, tCLK+20) |
ns
| |||
STEP /DIR设置时间
|
tDSU |
20
|
ns
| |||
步进脉冲后方向脉冲低电平时间
|
tDSH |
20
|
ns
| |||
STEP /DIR高峰过滤时间
|
tFITSD |
双边沿
|
36
|
60
|
85
|
ns
|
STEP /DIR相对于上升的CLK输入的采样
|
tSDCLKHI |
上升沿
|
ns
|
7.2 微细分列表
内部微细分表将正弦函数从0°映射到90°,并且相应的也允许使用该表将正弦和余弦函数从0°映射到360°。这个角度被编码为一个由微步计数器提供的10位无符号整型MSTEP。当微步进这个表的时候,应用到计数器上的增量的大小是由在DRVCTRL寄存器中的微步骤分辨率设置MRES控制的。根据DIR的输入,微步骤计数器被增加了(DIR=0)或减少了(DIR=1),每一步都是每一步活动的边缘。尽管在表的最后一个季度中有许多项是相等的,但是电子的角度不断变化,因为正弦波或余弦波都在一个区域内,在这个区域中,当前的矢量变化单调地从位置到位置。图7.2显示了该表。最大的值是248,这就留下了用来增加偏移量的空间