Поддержите пожалуйста сайт

Интегрированный драйвер двигателя с микрошагм и SPI

L6470


В разработкеВ разработке

ОСОБЕННОСТИ

Приложения

Описание

Устройство L6470, реализованное в аналоговой смешанной сигнальной технологии, представляет собой передовое полностью интегрированное решение, подходящее для управления двухфазными биполярными шаговыми двигателями с микрошаговой системой. Он объединяет двойной мост с полным RDS (вкл.) DMOS с всеми переключателями мощности, оснащенными точной схемой считывания тока onchip, подходящей для недиссипативного управления током и максимальной токовой защиты. Благодаря уникальной системе управления достигается истинное разрешение 1/128 шагов. Цифровое ядро управления может генерировать пользовательские профили движения с ускорением, замедлением, скоростью или целевым положением, легко запрограммированным через специальный набор регистров. Все команды и регистры данных, в том числе те, которые используются для установки аналоговых значений (т.е. Значения управления током, точки срабатывания защиты по току, мертвой точки, частоты ШИМ и т.Д.), Отправляются через стандартный SPI 5 Мбит/с. Очень богатый набор защит (тепловое, низкое напряжение на шине, перегрузка по току, остановка двигателя) позволяет разрабатывать полностью защищенное приложение, как того требуют самые требовательные приложения для управления двигателем.


Электрические характеристики

Таблица 2. Абсолютные максимальные значения

ОбозначениеПараметрУсловия измерениязначениеед.
VDDНапряжение питания логического интерфейса5.5V
VSНапряжение питания двигателяVSA= VSB= VS48V
VGND,diffДифференциальное напряжение между
AGND, PGND и DGND
±0.3V
VbootПиковое напряжение начальной загрузки55V
VREGВыход внутреннего стабилизатора
и напряжение питания логики
3.6V
VADCINИнтегрированный диапазон входного
напряжения АЦП(ADCIN pin)
-0.3 до +3.6V
VOSCДиапазон напряжения выводов
OSCIN и OSCOUT
-0.3 до +3.6V
Vout_diffДифференциальное напряжение между
VSA, OUT1A, OUT2A, PGND и
VSB, OUT1B, OUT2B, PGND pins
VSA= VSB= VS48V
VLOGICДиапазон напряжения логических входов-0.3 до +5.5V
Iout(1)R.m.s. выходной ток3A
Iout_peak(1)Импульсный выходной ток TPULSE< 1 ms7A
TOPРабочая температура перехода-40 до 150°C
TsДиапазон температур хранения-55 до 150°C
PtotОбщая рассеиваемая мощность (TA= 25 ºC)(2)5W
  1. Максимальный предел выходного тока связан с тепловым контактом с полигоном, рассеивающим тепло. Фактический предел должен удовлетворять максимальным ограничениям теплового рассеивания.
  2. HTSSOP28 установлен на EVAL6470H.

Таблица 3. Рекомендуемые условия эксплуатации

ОбозначениеПараметрУсловия измерениязначениеед.
VDDНапряжение питания логического интерфейса логические выходы 3.3 V3.3V
логические выходы 5 V5
VSНапряжение питания двигателяVSA= VSB= VS 845V
Vout_diffДифференциальное напряжение между
VSA, OUT1A, OUT2A, PGND и
VSB, OUT1B, OUT2B, PGND pins
VSA= VSB= VS45V
VREG,inНапряжение питания логикиVREG напряжение от внешнего источника  3.2  3.3 V
VADCИнтегрированный диапазон входного
напряжения АЦП(ADCIN pin)
0VREGV

VSA= VSB= 36 V; VDD= 3,3V; внутренний регулятор 3V; TJ= 25°C, если не указано иное.

Таблица 5. Электрические характеристики

ОбозначениеПараметрУсловия измеренияMin.Typ.Max.ед.
Основные параметры
VSthOnVS UVLO порог включения7.58.28.9V
VSthOffVS UVLO порог выключения6.67.27.8V
VSthHystVS UVLO пороговый гистерезис0.711.3V
IqТок двигателя в покоеВыбран внутренний генератор;
VREG= 3.3 V ext.; CP плавающий
0.50.65mA
Tj(WRN)Температура термического предупреждения130°C
Tj(SD)Температура термического отключения160°C
Charge pump
VpumpVoltage swing for charge pump oscillator 10V
fpump,minMinimum charge pump oscillator frequency(1) 660kHz
fpump,maxMaximum charge pump oscillator frequency(1) 800kHz
IbootAverage boot currentfsw,A= fsw,B= 15.6 kHz
POW_SR = '10'
1.11.4mA
Выходной DMOS транзистор
RDS(on)Сопротивление открытого
верхнего ключа
Tj= 25°C, Iout= 3 A0.37Ω
Tj= 125 °C, (2) Iout= 3 A0.51
RDS(on)Сопротивление открытого
нижнего ключа
Tj= 25°C, Iout= 3 A0.18
Tj= 125 °C, (2) Iout= 3 A0.23
IDSSТок утечкиOUT = VS 3.1mA
OUT = GND-0.3
trВремя нарастания(3) POW_SR = '00', Iout= +1 A100ns
POW_SR = '00', Iout= -1 A80
POW_SR = '11', Iout= ±1 A100
POW_SR = '10', Ilout= ±1 A200
POW_SR = '01', Iout= ±1 A300
tfВремя спада(3) POW_SR = '00'; Iout= +1 A90ns
POW_SR = '00'; Iout= -1 A110
POW_SR = '11', Iout= ±1 A110
POW_SR = '10', Iout= ±1 A260
POW_SR = '01', Iload= ±1 A375
SRout_rСкорость нарастания
выходного сигнала
POW_SR = '00', Iout= +1 A285V/μs
POW_SR = '00', Iout= -1 A360
POW_SR = '11', Iout= ±1 A285
POW_SR = '10', Iout= ±1 A150
POW_SR = '01', Iout= ±1 A95
SRout_fСкорость спада
выходного сигнала
POW_SR = '00', Iout = +1 A320V/μs
POW_SR = '00', Iout= -1 A260
POW_SR = '11', Iout= ±1 A260
POW_SR = '10', Iout= ±1 A110
POW_SR = '01', Iout= ±1 A75
Мертвое время и гашение
tDTМертвое время(1) POW_SR = '00'250ns
POW_SR = '11', fOSC= 16 MHz375
POW_SR = '10', fOSC= 16 MHz625
POW_SR = '01', fOSC= 16 MHz875
tblankВремя затупления(1) POW_SR = '00'250ns
POW_SR = '11', fOSC= 16 MHz375
POW_SR = '10', fOSC= 16 MHz625
POW_SR = '01', fOSC= 16 MHz875
Диоды исток-исток
VSD,HSПрямое напряжение открытого верхнего диодаIout= 1 A 11.1V
VSD,LSПрямое напряжение открытого нижего диодаIout= 1 A 11.1V
trrHSВремя обратного восстановления верхнего диодаIout= 1 A 30ns
trrLSВремя обратного восстановления нижего диодаIout= 1 A 100ns
Логические входы и выходы
VILВходное напряжение низкого
логического уровня
0.8V
VIHВходное напряжение высокого
логического уровня
2V
IIHВходной ток высокого
логического уровня(4)
VIN= 5V1μA
IILВходной ток низкого
логического уровня(5)
VIN= 0V-1μA
VOLВыходное напряжение низкого
логического уровня(6)
VDD= 3.3 V, IOL= 4 mA0.3V
VDD= 5 V, IOL= 4 mA0.3
VOHВыходное напряжение высоккого
логического уровня
VDD= 3.3 V, IOH= 4 mA2.4V
VDD= 5 V, IOH= 4 mA4.7
RPU
RPD
CS подтягивающий и STBY подтягивающий к земле CS = GND;
STBY/RST = 5V
335430565
IlogicТок питания внутренней логики 3.3V VREG внешнее питание,
внутренний генератор
3.74.3mA
Ilogic,STBYТок потребления внутренней логики в
режиме ожидания
3.3V VREG внешнее питание22.5μA
fSTCKЧастота входного сигнала шагов2MHz
Внутренний генератор и внешний драйвер генератора
fosc,iЧастота внутреннего генератораTj= 25°C,
VREG= 3.3 V
-3%16+3%MHz
fosc,eЧастота программируемого внешнего генератора832MHz
VOSCOUTHOSCOUT напряжение высокого уровня
источника тактовых импульсов
Внутренний генератор 3.3 V VREG
внешнее питание; IOSCOUT= 4 mA
2.4V
VOSCOUTLOSCOUT напряжение низкого уровня
источника тактовых импульсов
Внутренний генератор 3.3 V VREG
внешнее питание; IOSCOUT= 4 mA
0.3V
trOSCOUT
tfOSCOUT
OSCOUT время нарастания и спада источника синхронизации Внутренний генератор20ns
textoscЗадержка переключения внутреннего на внешний генератор 3ms
tintoscЗадержка переключения внешнего на внутренний генератор 1.5μs
SPI
fCK,MAXМаксимальная тактовая частота SPI(7)5MHz
trCK
tfCK
Время нарастания и спада синхосигнала SPI(7)CL = 30 pF 25ns
thCK
tlCK
Время высокого и низкого участка синхосигнала SPI(7)75 ns
tsetCSЗадержка выбора микросхемы(7)350ns
tholCSЗадержка ожидания выбора микросхемы(7)10ns
tdisCSЗадержка отключения выбора микросхемы(7)800ns
tsetSDIЗадержка установки ввода данных(7)25ns
tholSDIЗадержка ожидания ввода данных(7)20ns
tenSDOЗадержка разрешения выходных данных(7)38ns
tdisSDOЗадержка отключения выходных данных(7)47ns
tvSDOЗадержка действительных выходных данных(7)57ns
tholSDOВремя удержания выхода данных(7)37ns
Ввод переключателя (SW)
RPUSWSW входной подтягивающий резисторSW = GND6085110
ШИМ (PWM) модуляторы
fPWMПрограммируемая частота
ШИМ (PWM)(1)
fosc= 16 MHz2.862.5kHz
fosc= 32 MHz5.6125
NPWMРазрешение ШИМ (PWM)8bit
Обнаружение остановки
ISTALL,MAXМаксимальный программируемый порог срабатыванияSTALL_TH = '1111111'4A
ISTALL,MINМинимальный программируемый порог срабатыванияSTALL_TH = '0000000'31.25mA
ISTALL,RESПрограммируемое разрешение порога срабатывания31.25mA
Защита от перегрузки по току
IOCD,MAXМаксимальное программируемое пороговое значение
обнаружения перегрузки по току
OCD_TH = '1111'6A
IOCD,MINМинимальное программируемое пороговое значение
обнаружения перегрузки по току
OCD_TH = '0000' 0.375A
IOCD,RESРазрешение программируемого порога обнаружения
перегрузки по току
0.375A
tOCD,FlagOCD времени задержки сигнала флагаdIout/dt = 350 A/μs 6501000ns
tOCD,SDOCD времени задержки выключенияdIout/dt = 350 A/μs
POW_SR = '10'
600ns
Ожидание
IqSTBYТок покоя питания двигателя
в режиме ожидания
VS= 8 V2634μA
VS= 36 V3036
tSTBY,minМинимальное время ожидания10μs
tlogicwuВключение питания и время пробуждения логики3845μs
tcpwuCharge pump power-on and wake-up time Силовые мосты отключены,
Cp= 10 nF, Cboot= 220 nF
650μs
Внутренний регулятор напряжения
VREGВыходное напряжение регулятора напряжения2.933.2V
IREGВыходной ток регулятора напряжения40mA
VREG,dropПадение выходного напряжения
регулятора напряжения
IREG= 40mA 50mV
IREG,STBYВыходной ток регулятора
напряжения в режиме ожидания
10mA
Интегрированный аналого-цифровой преобразователь
NADCРазрешение аналого-цифрового преобразователя5bit
VADC,refОпорное напряжение
аналого-цифрового преобразователя
VREGV
fSЧастота дискретизации
аналого-цифрового преобразователя
fPWMkHz
  1. Точность зависит от точности частоты генератора.
  2. Испытано при 25°C в ограниченном диапазоне и гарантируется характеристикой.
  3. Время нарастания и спада зависит от значения напряжения питания двигателя. Обратитесь к значениям SRout, чтобы оценить фактическое время нарастания и спада.
  4. Недействительно для контакта STBY/RST с внутренним вподтягивающим к земле резистором.
  5. Недействительно для контактов SW и CS, которые имеют внутренние подтягивающие резисторы.
  6. Включены выходы FLAG, BUSY и SYNC.
  7. Подробнее см. Рисунок 17 на стр. 38 - Диаграмма таймингов SPI.

СХЕМА ВЫВОДОВ

Рисунок 2. Корпус HTSSOP28 (вид сверху)

Выход 1 моста A1 HTSSOP28 28Выход 2 моста A
Питание моста A227Силовая земля
Ожидание и сброс326Питание моста A
Внешний переключатель425шаг
Вход АЦП524Флаг состояния
Регулятор 3V623Выбор кристалла
Генератор вывод 1722Вывод BUSY\SYNC
Генератор вывод 2821Цифровая земля
Аналоговая земля920Вход данных
Выход осциллятора CP1019Синхронизаця
Бутстрапное напряжение1118Выход данных
Питание моста B1217Питание логики
Силовая земля1316Питание моста B
Выход 1 моста B1415Выход 2 моста B

Рисунок 3. Корпус POWERSO36 (вид сверху)

Силовая земля1 POWERSO36 36Выход 2 моста A
Выход 1 моста A235Выход 2 моста A
Выход 1 моста A334Питание моста A
Питание моста A433Питание моста A
Питание моста A532шаг
Ожидание и сброс631Флаг состояния
Внешний переключатель730Выбор кристалла
Вход АЦП829Вывод BUSY\SYNC
Регулятор 3V928Цифровая земля
Генератор вывод 11027Вход данных
Генератор вывод 21126Синхронизаця
Аналоговая земля1225Выход данных
Выход осциллятора CP1324Питание логики
Бутстрапное напряжение1423Питание моста B
Питание моста B1522Питание моста B
Питание моста B1621Выход 2 моста B
Выход 1 моста B1720Выход 2 моста B
Выход 1 моста B1819Силовая земля

Таблица 6. Описание выводов

No.НаименованиеТипФункция
HTSSOPPOWERSO
1724VDDСиловойНапряжение питания логических выходов (подтяжка)
69VREGСиловойВыход вутреннего регулятора напряжения 3V и
3.3V внешнее питание логики
710OSCINАналоговый входОсциллятор, контакт 1. Для подключения внешнего генератора
или источника синхронизации. Если этот контакт не используется,
его следует оставить неподключенным.
811OSCOUTАналоговый выходОсциллятор, контакт 2. Для подключения внешнего генератора.
Когда используется внутренний генератор, на этом выводе
может быть 2/4/8/16 MHz. Если этот контакт не используется,
его следует оставить неподключенным.
1013CPВыходВыход осциллятора заряда конденсатора
1114VBOOTНапряжение питанияБутстрапное напряжение питания драйвера верхнего ключа
силовых DMOS oмостов (A и B)
58ADCINАналоговый входВход внутреннего аналого-цифрового преобразователя
2, 264, 5,
33, 34
VSAИсточник питания Вывод питания полного моста A.
Он должен быть подключен к VSB.
12, 1615, 16,
22, 23
VSBИсточник питания Вывод питания полного моста B.
Он должен быть подключен к VSA.
27, 131, 19PGNDGround PowerСиловая земля
12, 3OUT1AСиловой выходПолный мост A выход 1
2835, 36OUT2AСиловой выходПолный мост A выход 2
1417, 18OUT1BСиловой выходПолный мост B выход 1
1520, 21OUT2BСиловой выходПолный мост B выход 2
912AGNDGroundАналоговая земля.
47SWЛогический входВходной сигнал внешнего переключателя.
Если не используется, контакт должен быть подключен к VDD.
2128DGNDGroundЦифровая земля
2229BUSY\SYNCВыход с открытым стоком По умолчанию вывод BUSY устанавливается низким,
когда устройство выполняет команду. В противном
случае вывод может быть сконфигурирован для
генерации сигнала синхронизации.
1825SDOЛогический выходВыход данных для последовательного интерфейса
2027SDIЛогический входВход данных для последовательного интерфейса
1926CKЛогический входСинхронизаця последовательнного интерфейса
2330CSЛогический входВыбор кристалла для последовательного интерфейса
2431FLAGВыход с открытым стоком Флаг состояния. Внутренний транзистор с открытым стоком
подтягивает вывод к в GND при возникновении
запрограммированного аварийного состояния (потеря шага,
OCD, термическое предупреждение или выключение, UVLO,
неправильная команда, невыполнимая команда)
36STBY\RSTЛогический вход Ожидание и сброс. Низкий логический уровень сбрасывает
логику и переводит устройство в режим ожидания. Если он
не используется, он должен быть подключен к VDD.
2532STCKЛогический входВход тактового сигнала шага
EPADEPADExposed padGroundInternally connected to PGND, AGND
and DGND pins

Типовое включение

Таблица 7. Номиналы для типового включения

ОбозначениеНоминал
CVS220 nF
CVSPOL100 μF
CREG100 nF
CREGPOL47 μF
CDD100 nF
CDDPOL10 μF
D1Charge pump diodes
CBOOT220 nF
CFLY10 nF
RPU39 kΩ
RSW100 Ω
CSW10 nF
RA2.7 kΩ (VS= 36 V)
RB62 kΩ (VS= 36 V)

Рис. 4. Применение управления биполярным шаговым двигателем с помощью L6470

Рис. 4

Блок-схема

Рис. 1. Блок-схема

Рис. 4

Последовательный интерфейс

Интегрированный 8-разрядный последовательный периферийный интерфейс (SPI) используется для синхронной последовательной связи между микропроцессором хоста (всегда ведущим) и L6470 (всегда подчиненным).

SPI использует выходы выбора чипа (CS), последовательных тактовых импульсов (CK), последовательных входов данных (SDI) и вывода последовательных данных (SDO). Когда CS высокий, устройство не выбрано, и линия SDO неактивна (с высоким импедансом).

Связь начинается, когда CS принудительно низкий. Линия CK используется для синхронизации передачи данных.

Все команды и байты данных сдвигаются в устройство через вход SDI, начиная с самого старшего бита. SDI отбирается на восходящих фронтах CK.

Все байты выходных данных сдвигаются из устройства через выход SDO, начиная с самого старшего бита. SDO фиксируется на падающих фронтах CK. Когда возвращаемое значение с устройства недоступно, отправляется весь нулевой байт.

После каждой передачи байта вход CS должен подниматься и поддерживаться на высоком уровне, по меньшей мере, для CS, чтобы позволить устройству декодировать принятую команду и поместить возвращаемое значение в регистр SHIFT.

Все временные требования показаны на рисунке 17 (см. Раздел 3: Электрические характеристики на стр. 11 для значений).

Несколько устройств могут быть подключены в конфигурации последовательной цепи, как показано на рисунке 18.

Рис. 17. Временная диаграмма SPI

Рис. 17

Рис. 18. Последовательная конфигурация

Рис. 18

Руководство по программированию

Таблица 9. Описание регистров и флагов

Адрес
[Hex]
Имя регистраФункция регистраДлина
[bit]
Reset
Hex
Reset
value
Remarks(1)
h01ABS_POSТекущая позиция220000000R, WS
h02EL_POSЭлектрическое положение90000R, WS
h03MARKПоложение метки220000000R, WS
h04SPEEDТекущая скорость20000000R
h05ACCУскорение1208A 125.5e-12 step/tick2 (2008 step/s2)R, WS
h06DECЗамедление1208A 125.5e-12 step/tick2 (2008 step/s2)R, WS
h07MAX_SPEEDМаксимальная скорость10041248e-6 step/tick (991.8 step/s)R, WR
h08MIN_SPEEDМинимальная скорость130000 step/tick (0 step/s)R, WS
h09KVAL_HOLDKVAL удержания8290.16•VSR, WR
h0AKVAL_RUNKVAL постоянной скорости8290.16•VSR, WR
h0BKVAL_ACCKVAL начала разгона8290.16•VSR, WR
h0CKVAL_DECKVAL начала торможения8290.16•VSR, WR
h0DINT_SPEEDСкорость пересечения14040815.4e-6 step/tick (61.5 step/s)R, WH
h0EST_SLPНаклон начала8190.038% s/stepR, WH
h0FFN_SLP_ACCКонечный наклон ускорения8290.063% s/stepR, WH
h10FN_SLP_DECКонечный наклон торможения8290.063% s/stepR, WH
h11K_THERMКоэффициент тепловой компенсации401.0R, WR
h12ADC_OUTВыход АЦП(ADC)5XX(2)R
h13OCD_THПорог OCD483.38 AR, WR
h14STALL_THПорог STALL7402.03 AR, WR
h15FS_SPDСкорость полного шага10027150.7e-6 step/tick (602.7 step/s)R, WR
h16STEP_MODEШаговый режим87128 microstepsR, WH
h17ALARM_ENРазрешение тревоги8FFВсе аварийные сигналы включеныR, WS
h18CONFIGКонфигурация IC162E88Внутренний генератор, 2 MHz OSCOUT
clock, компенсация напряжения питания
отключена, включен режим максимального
тока, скорость нарастания = 290 V/µs,
Частота PWM = 15.6 kHz.
R, WH
h19STATUSCостояние16XXXX(2)Высокоимпедансное состояние,
Флаг UVLO/Reset установлен.
R
h1ARESERVEDЗарезервированный адрес
h1BRESERVEDЗарезервированный адрес
  1. R: читаемый, WH: доступен для записи только в том случае, если выходы имеют высокий импеданс, WS: доступен для записи только при остановленном двигателе, WR: всегда доступен для записи.
  2. В соответствии с условиями запуска.

ABS_POS

Регистр ABS_POS содержит текущее абсолютное положение двигателя в соответствии с выбранным режимом шага; единица сохраненного значения равна выбранному режиму шага (полный, половина, четверть и т. д.). Значение находится в формате дополнений 2 и составляет от -221 до +221-1.

При включении питания регистр инициализируется в «0» (позиция HOME).

Любая попытка записать регистр при запуске двигателя приводит к игнорированию команды и увеличению значения флага NOTPERF_CMD.


EL_POS

Регистр EL_POS содержит текущее электрическое положение двигателя. Два MSbits указывают текущий шаг, а остальные биты указывают текущий микрошаг (выраженный в step / 128) на шаге.

Таблица 10. Структура регистра EL_POS

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
STEPMICROSTEP

Когда регистр EL_POS записывается пользователем, новое электрическое положение немедленно устанавливается. Когда записывается регистр EL_POS, его значение должно быть замаскировано, чтобы соответствовать режиму шага, выбранному в регистре STEP_MODE, чтобы избежать неправильной генерации значения микрошага (см. Раздел 9.1.19 на стр. 47 ); в противном случае полученная микрошаговая последовательность станет неверна.

Любая попытка записать регистр при запуске двигателя вызывает игнорирование команды и установку флага NOTPERF_CMD (см. Раздел 9.1.22 ).


MARK

Регистр MARK содержит абсолютную позицию, называемую MARK, в соответствии с выбранным режимом шага; единица сохраненного значения равна выбранному режиму шага (полный, половина, квартал и т. д.). Он находится в формате дополнения 2 и составляет от -221 до +221-1.


SPEED

Регистр SPEED содержит текущую скорость двигателя, выраженную в step/tick (формат беззнаковый с фиксированной точкой 0,28).

Для преобразования значения SPEED в step/s, можно использовать следующую формулу:

Формула 4

где SPEED - целое число, хранящееся в регистре, и tick - 250ns. Доступный диапазон составляет от 0 до 15625 step/s с разрешением 0,015 step/s.

Примечание. Диапазон, эффективно доступный пользователю, ограничен параметром MAX_SPEED.

Любая попытка записи в регистр игнорируется и устанавливается флаг NOTPERF_CMD (см. Раздел 9.1.22 на стр. 55 ).


ACC

Регистр ACC содержит профиль ускорения, выраженный в step/tick2 (формат беззнаковый с фиксированной точкой 0,40).

Для преобразования значения ACC в step/s2, можно использовать следующую формулу:

Формула 5

где ACC - целое число, хранящееся в регистре, и tick - 250 нс.

Доступный диапазон составляет от 14,55 до 59590 step/s2 с разрешением 14,55 step/s2.

Значение 0xFFF регистра зарезервировано и оно никогда не должно использоваться.

Любая попытка записи в регистр при работе двигателя игнорируется и устанавливается флаг NOTPERF_CMD (см. Раздел 9.1.22 ).


DEC

Регистр DEC содержит профиль замедления, выраженный в step/tick2 (формат беззнаковый с фиксированной точкой 0,40).

Для преобразования значения DEC в step/s2, можно использовать следующую формулу:

Формула 6

где DEC - целое число, хранящееся в регистре, и tick - 250 нс.

Доступный диапазон составляет от 14,55 до 59590 step/s2 с разрешением 14,55 step/s2.

Любая попытка записи в регистр при работе двигателя игнорируется и устанавливается флаг NOTPERF_CMD (см. Раздел 9.1.22 ).


MAX_SPEED

Регистр MAX_SPEED содержит профиль максимальной скорости, выраженный в step/tick (формат беззнаковый с фиксированной точкой 0,18).

Для преобразования значения MAX_SPEED в step/s, можно использовать следующую формулу:

Формула 7

где MAX_SPEED - целое число, хранящееся в регистре, и tick - 250 нс.

Доступный диапазон составляет от 15,25 до 15610 step/s с разрешением 15.25 step/s.


MIN_SPEED

Регистр MIN_SPEED содержит следующие параметры:

Таблица 11. Структура регистра MIN_SPEED

Bit 12Bit 11Bit 10Bit 9Bit 8Bit 7Bit 6 Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
LSPD_OPTMIN_SPEED

Параметор MIN_SPEED содержит профиль минимальной скорости, выраженный в step/tick.

Для преобразования значения MIN_SPEED в step/s, можно использовать следующую формулу:

Формула 8

где MIN_SPEED - целое число, хранящееся в регистре, и tick - 250 нс.

Доступный диапазон составляет от 0 до 976.3 step/s с разрешением 0.238 step/s.

Когда бит LSPD_OPT установлен высоко, функция оптимизации низкой скорости включена, а значение MIN_SPEED указывает порог скорости, ниже которого работает компенсация. В этом случае профиль минимальной скорости устанавливается в ноль.

Любая попытка записи в регистр при работе двигателя игнорируется и устанавливается флаг NOTPERF_CMD.


KVAL_HOLD, KVAL_RUN, KVAL_ACC и KVAL_DEC

Регистр KVAL_HOLD содержит значение KVAL, которое назначается модуляторам PWM, когда двигатель остановлен (компенсация исключена).

Регистр KVAL_RUN содержит значение KVAL, которое назначается модуляторам PWM, когда двигатель работает с постоянной скоростью (компенсация исключена).

Регистр KVAL_ACC содержит начальное значение KVAL, которое может быть присвоено модуляторам PWM во время ускорения (компенсация исключена).

Регистр KVAL_DEC содержит начальное значение KVAL, которое может быть присвоено модуляторам PWM во время замедления (компенсация исключена).

Доступный диапазон составляет от 0 до 0,996 ×VS с разрешением 0,004 ×VS, как показано в Таблице 12.

Таблица 12. Регистры регуляторов напряжения

KVAL_X [7 … 0]Output voltage
000000000
00000001VS × (1/256)
:::::::::
11111110VS × (254/256)
11111111VS × (255/256)

INT_SPEED

Регистр INT_SPEED содержит значение скорости, при котором кривая компенсации BEMF изменяет наклон (см. Раздел 7.4 на стр. 36 ). Его значение выражается в step/tick и для преобразования в step/s, можно использовать следующую формулу:

Формула 10

где INT_SPEED - целое число, хранящееся в регистре, и tick - 250 нс.

Доступный диапазон составляет от 0 до 976.5 step/s с разрешением 0.0596 step/s.

Любая попытка записи в регистр при работе двигателя игнорируется и устанавливается флаг NOTPERF_CMD.


ST_SLP

Регистр ST_SLP содержит наклон кривой компенсации BEMF, который используется, когда скорость ниже, чем скорость пересечения (см. Раздел 7.4 ). Его значение выражается в s/step, и доступный диапазон от 0 до 0,004 с разрешением 0,000015.

Когда параметры ST_SLP, FN_SLP_ACC и FN_SLP_DEC установлены на ноль, компенсация BEMF не выполняется.

Любая попытка записи в регистр при работе двигателя игнорируется и устанавливается флаг NOTPERF_CMD (см. Раздел 9.1.22 ).


FN_SLP_ACC

Регистр FN_SLP_ACC содержит наклон кривой компенсации BEMF, который используется, когда скорость выше, чем скорость пересечения при разгоне(см. Раздел 7.4 ). Его значение выражается в s/step, и доступный диапазон от 0 до 0,004 с разрешением 0,000015.

Когда параметры ST_SLP, FN_SLP_ACC и FN_SLP_DEC установлены на ноль, компенсация BEMF не выполняется.

Любая попытка записи в регистр при работе двигателя игнорируется и устанавливается флаг NOTPERF_CMD (см. Раздел 9.1.22 ).


FN_SLP_DEC

Регистр FN_SLP_DEC содержит наклон кривой компенсации BEMF, который используется, когда скорость выше, чем скорость пересечения при торможении(см. Раздел 7.4 ). Его значение выражается в s/step, и доступный диапазон от 0 до 0,004 с разрешением 0,000015.

Когда параметры ST_SLP, FN_SLP_ACC и FN_SLP_DEC установлены на ноль, компенсация BEMF не выполняется.

Любая попытка записи в регистр при работе двигателя игнорируется и устанавливается флаг NOTPERF_CMD (см. Раздел 9.1.22 ).


K_THERM

Регистр K_THERM содержит значение, используемое системой компенсации теплового дрейфа сопротивления обмотки (см. Раздел 7.6 на стр. 37 ).

Доступный диапазон составляет от 1 до 1.46875 с разрешением 0,03125, как показано в таблице 13.

Таблица 13. Коэффициент компенсации теплового дрейфа сопротивления обмотки

K_THERM [3 .… 0]Compensation coefficient
00001
00011.03125
:::::
11101.4375
11111.46875

ADC_OUT

Регистр ADC_OUT содержит результат аналого-цифрового преобразования пикового напряжения ADCIN; результат доступен, даже если компенсация напряжения питания отключена.

Любая попытка записи в регистр игнорируется и устанавливается флаг NOTPERF_CMD (см. Раздел 9.1.22 на стр.55).

Таблица 14. Значение ADC_OUT и функция компенсации напряжения питания двигателя

VSVADCIN/VREGADC_OUT
[4 … 0]
Compensation
coefficient
Более чем VS,nom+50%>24/3211XXX0.65625
VS,nom+50%24/32110000.65625
::::::::
VS,nom16/32100001
::::::::
VS,nom-50%8/32010001.968875
Менее чем VS,nom-50%<8/3200XXX1.968875

OCD_TH

Регистр OCD_TH содержит пороговое значение максимального тока (см. Раздел 6.9 на стр. 29 ).

Доступный диапазон составляет от 375mA до 6A с шагом 375mA, как показано в таблице 15 .

Таблица 15. Порог обнаружения перегрузки по току

OCD_TH [3 .… 0]Порог перегрузки по току
0000375 mA
0001750 mA
:::::
11105.625 A
11116 A

STALL_TH

Регистр STALL_TH содержит пороговое значение обнаружения останова (см. Раздел 7.2 на стр. 35 ).

Доступный диапазон составляет от 31,25mA до 4A с разрешением 31,25mA.

Таблица 16. Порог обнаружения останова

OCD_TH [3 .… 0]Порог обнаружения останова
000000031.25 mA
000000162.5 mA
::::::::
11111103.969 A
11111114 A

FS_SPD

Регистр FS_SPD содержит пороговую скорость. Когда фактическая скорость превышает это значение, ступенчатый режим автоматически переключается на полномасштабное двухфазное включение. Его значение выражается в step/tick (форматирует неподписанную фиксированную точку 0,18) и для его преобразования в step/s можно использовать следующую формулу.

Формула 9

где FS_SPD - целое число, хранящееся в регистре, и tick - 250 нс.

Если значение FS_SPD установлено на h3FF (макс.), Система всегда работает в режиме микрошага (SPEED должен выходить за порог, чтобы переключиться в полношаговый режим). Установка FS_SPD на ноль не имеет такого же эффекта, как установка Step mode для полномасштабного двухфазного включения: нулевое значение FS_SPD эквивалентно порогу скорости около 7,63 step/s.

Доступный диапазон составляет от 7,63 до 15625 step/s с разрешением 15,25 step/s.


STEP_MODE

Регистр STEP_MODE имеет следующую структуру:

Таблица 17. Регистр STEP_MODE

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
SYNC_ENSYNC_SEL0(1)STEP_SEL

Параметр STEP_SEL выбирает один из восьми возможных режимов шага:

Таблица 18. Выбор режима шага

STEP_SEL[2 .… 0]Step mode
000Full-step
001Half-step
0101/4 microstep
0111/8 microstep
1001/16 microstep
1011/32 microstep
1101/64 microstep
1111/128 microstep

Каждый раз, когда изменяется режим шага, электрическое положение (т.е. Генерируемая точка микрошаговой синусоиды) сбрасывается на первый микрошаг.

Предупреждение: каждый раз, когда STEP_SEL изменяется, значение в регистре ABS_POS теряет смысл и должно быть сброшено.

Любая попытка записать регистр при запуске двигателя приводит к игнорированию команды и увеличению значения флага NOTPERF_CMD (см. Раздел 9.1.22 на стр. 55).

Когда бит SYNC_EN установлен на низком уровне, выход BUSY / SYNC во время выполнения команды принудительно понижается, в противном случае, когда бит SYNC_EN установлен на высокий, вывод BUSY/SYNC обеспечивает тактовый сигнал в соответствии с параметром SYNC_SEL.

Таблица 19. Выходная частота SYNC

STEP_SEL (fFS представляет собой частоту полного шага)
000001010011100101110111
SYNC_SEL
000 fFS/2fFS/2fFS/2fFS/2 fFS/2fFS/2fFS/2fFS/2
001 NAfFSfFSfFS fFSfFSfFSfFS
010 NANA2•fFS2•fFS2•fFS 2•fFS2•fFS2•fFS
011 NANANA4•fFS4•fFS 4•fFS4•fFS4•fFS
100 NANANANA8•fFS8•fFS 8•fFS8•fFS
101 NANANANANA 16•fFS16•fFS16•fFS
110 NANANANANA NA32•fFS32•fFS
111 NANANANANANANA64•fFS

Сигнал синхронизации получается начиная с информации электрического положения (регистр EL_POS) в соответствии с таблицей 20:

Таблица 20. Источник сигнала SYNC

SYNC_SEL[2 .… 0]Источник
000EL_POS[7]
001EL_POS[6]
010EL_POS[5]
011EL_POS[4]
100EL_POS[3]
101EL_POS[2]
110EL_POS[1]
111EL_POS[0]

ALARM_EN

Регистр ALARM_EN позволяет выбирать, какие сигналы тревоги используются для генерации выхода FLAG. Если соответствующий бит регистра ALARM_EN устанавлен в 1, состояние тревоги переводит выход FLAG в низкий уровень.

Таблица 21. Регистр ALARM_EN

ALARM_EN bitУсловие тревоги
0 (LSB)Перегрузка по току
1Термическое отключение
2Термическое предупреждение
3Снижение напряжения
4Обнаружение потери скорости (мост A)
5Обнаружение потери скорости (мост B)
6Включить событие включения
7 (MSB)Неверная или не выполняемая команда


CONFIG

Регистр CONFIG имеет следующую структуру:

Таблица 22. Регистр CONFIG

Bit 15Bit 14Bit 13Bit 12Bit 11Bit 10Bit 9Bit 8
F_PWM_INTF_PWM_DECPOW_SR
Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
OC_SDRESERVEDEN_VSCOMPSW_MODEEXT_CLKOSC_SEL

В OSC_SEL и EXT_CLK биты устанавливают источник системного тактового сигнала:

Таблица 23. Управление осциллятором

EXT_CLKOSC_SEL [2 … 0]Источник синхронизацииOSCINOSCOUT
0000Внутренний генератор: 16MHzНе используетсяНе используется
0001
0010
0011
1000Внутренний генератор: 16MHz Не используетсяВыдает синхросигнал 2MHz
1001Внутренний генератор: 16MHz Не используетсяВыдает синхросигнал 4MHz
1010Внутренний генератор: 16MHz Не используетсяВыдает синхросигнал 8MHz
1011Внутренний генератор: 16MHz Не используетсяВыдает синхросигнал 16MHz
0100Внешний кристалл или резонатор: 8MHz Драйвер кристалла/резонатораДрайвер кристалла/резонатора
0101Внешний кристалл или резонатор: 16MHz Драйвер кристалла/резонатораДрайвер кристалла/резонатора
0110Внешний кристалл или резонатор: 24MHz Драйвер кристалла/резонатораДрайвер кристалла/резонатора
0111Внешний кристалл или резонатор: 32MHz Драйвер кристалла/резонатораДрайвер кристалла/резонатора
1100 Внешний источник синхронизации: 8MHz (Драйвер кристалла/резонатора отключен) Источник синхронизацииВыдает инвертированный сигнал OSCIN
1101 Внешний источник синхронизации: 16MHz (Драйвер кристалла/резонатора отключен) Источник синхронизацииВыдает инвертированный сигнал OSCIN
1110 Внешний источник синхронизации: 24MHz (Драйвер кристалла/резонатора отключен) Источник синхронизацииВыдает инвертированный сигнал OSCIN
1111 Внешний источник синхронизации: 32MHz (Драйвер кристалла/резонатора отключен) Источник синхронизацииВыдает инвертированный сигнал OSCIN

Бит SW_MODE устанавливает внешний переключатель в качестве прерывания HardStop или нет:

Таблица 24. Режим прерывания жесткого останова внешнего переключателя

SW_MODEРежим переключения
0прерывание HardStop
1отключено

Бит OC_SD устанавливает, вызывает ли событие перегрузки по току или не отключает мосты; флаг OCD в регистре STATUS в любом случае принудительно низкий:

Таблица 25. Событие перегрузки по току

OC_SDСобытие перегрузки по току
1Мосты закрываются
0Мосты не закрываются

Биты POW_SR устанавливают значение скорости нарастания выходного моста:

Таблица 26. Программируемые значения скорости нарастания силового моста

POW_SR
[1 .… 0]
Скорость нарастания выходного сигнала(1)
[V/μs]
00320
0175
10110
11260

(1) Подробнее см. Параметры SRout_r и SRout_f в таблице 5 на стр. 11.

Бит EN_VSCOMP устанавливает, включена ли компенсация напряжения питания двигателя или нет.

Таблица 27. Разрешение компенсации напряжения питания двигателя

EN_VSCOMPКомпенсация напряжения питания двигателя
0Выключена (Disabled)
1Включена (Enabled)

Биты F_PWM_INT устанавливают целочисленный коэффициент деления частоты генерации ШИМ.

Таблица 28. Частота ШИМ: коэффициент целочисленного деления

F_PWM_INT[2 … 0]коэффициент целочисленного деления
0001
0012
0103
0114
1005
1016
1107
111

Биты F_PWM_DEC установить коэффициент умножения частоты генерации ШИМ.

Таблица 29. Частота ШИМ: коэффициент умножения

F_PWM_INT[2 … 0]Коэффициент умножения
0000.625
0010.75
0100.875
0111
1001.25
1011.5
1101.75
1112

В следующих таблицах все доступные частоты ШИМ перечислены в соответствии с частотой генератора, значения F_PWM_INT и F_PWM_DEC (параметр CONFIG register OSC_SEL должен быть правильно запрограммирован).

Таблица 30. Доступные частоты ШИМ [kHz]: частота генератора 8MHz

Коэффициент умножения
F_PWM_INT000001010011100101110111
0009.811.713.715.619.523.427.331.3
0014.95.96.87.89.811.713.715.6
0103.33.94.65.26.57.89.110.4
0112.42.93.43.94.95.96.87.8
1002.02.32.73.13.94.75.56.3
1011.62.02.32.63.33.94.65.2
1101.41.72.02.22.83.33.94.5

Таблица 31. Доступные частоты ШИМ [kHz]: частота генератора 16MHz

Коэффициент умножения
F_PWM_INT000001010011100101110111
00019.523.427.331.339.146.954.762.5
0019.811.713.715.619.523.427.331.3
0106.57.89.110.413.015.618.220.8
0114.95.96.87.89.811.713.715.6
1003.94.75.56.37.89.410.912.5
1013.33.94.65.26.57.89.110.4
1102.83.33.94.55.66.77.88.9

Таблица 32. Доступные частоты ШИМ [kHz]: частота генератора 24MHz

Коэффициент умножения
F_PWM_INT000001010011100101110111
00029.335.241.046.958.670.382.093.8
00114.617.620.523.429.335.241.046.9
0109.811.713.715.619.523.427.331.3
0117.38.810.311.714.617.620.523.4
1005.97.08.29.411.714.116.418.8
1014.95.96.87.89.811.713.715.6
1104.25.05.96.78.410.011.713.4

Таблица 33. Доступные частоты ШИМ [kHz]: частота генератора 32MHz

Коэффициент умножения
F_PWM_INT000001010011100101110111
00039.146.954.762.578.193.8109.4125.0
00119.523.427.331.339.146.954.762.5
01013.015.618.220.826.031.336.541.7
0119.811.713.715.619.523.427.331.3
1007.89.410.912.515.618.821.925.0
1016.57.89.110.413.015.618.220.8
1105.66.77.88.911.213.415.617.9

Любая попытка записать регистр CONFIG при запуске двигателя приводит к игнорированию команды и установке флага NOTPERF_CMD (см. Раздел 9.1.22).


STATUS

Таблица 34. Регистр STATUS

Bit 15Bit 14Bit 13Bit 12Bit 11Bit 10Bit 9Bit 8
SCK_MODSTEP_LOSS_BSTEP_LOSS_AOCDTH_SDTH_WRNUVLOWRONG_CMD
Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
NOTPERF_CMDMOT_STATUSDIRSW_EVNSW_FHiZBUSY

Когда флаг HiZ высок, это указывает на то, что мосты находятся в состоянии с высоким импедансом. Любая команда движения приводит к выходу устройства из состояния High Z (включая HardStop и SoftStop), если флаги ошибок, вызывающие состояние High Z, не активны.

Флаг UVLO активен низким и устанавливается с помощью блокировки минимального напряжения или сброса (включение включено).

Флаги TH_WRN, TH_SD, OCD активны на низком уровне и указывают, соответственно, сигналы тепловой защиты, теплового отключения и обнаружения перегрузки по току.

Флаги STEP_LOSS_A и STEP_LOSS_B принудительно сбиты при обнаружении лавины на мосту A или мосте B соответственно.

Флаги NOTPERF_CMD и WRONG_CMD активны высоко и указывают, соответственно, что команда, полученная SPI, не может быть выполнена или вообще не существует.

Флаг SW_F сообщает о состоянии входа SW (низкий для открытого и высокого для закрытого).

Флаг SW_EVN активен высоко и указывает на событие включения коммутатора (задний фронт входа SW).

Флаги UVLO, TH_WRN, TH_SD, OCD, STEP_LOSS_A, STEP_LOSS_B, NOTPERF_CMD, WRONG_CMD и SW_EVN фиксируются: когда соответствующие условия делают их активными (низкими или высокими), они остаются в этом состоянии, пока команда GetStatus не будет отправлена в IC.

Бит BUSY отражает состояние BUSY. Флаг BUSY низкий, когда команда постоянной скорости, позиционирования или движения находится в процессе выполнения и высвобождается (высокая) после завершения команды.

Бит SCK_MOD является активным высоким флагом, указывающим, что устройство работает в тактическом режиме. В этом случае пошаговый сигнал должен быть предусмотрен через входной вывод STCK. Бит DIR указывает текущее направление двигателя:

Таблица 35. Регистр STATUS бит DIR

DIRНаправление мотора
1Вперед
0Назад

MOT_STATUS указывает текущий статус двигателя:

Таблица 36. Регистр STATUS биты MOT_STATUS

MOT_STATUSСостояние мотора
00Остановлен
01Разгон
10Торможение
11Постоянная скорость

Любая попытка записи в регистр игнорируется и устанавливается флаг NOTPERF_CMD (см. Раздел 9.1.22 на стр. 55 ).



ТАБЛИЦА КОМАНД

Обозначение команды Двоичный код команды Действие
[7…5] [4] [3] [2…1] [0]
NOP00000000Пустая команда
SetParam(PARAM,VALUE)000

[PARAM]Запись VALUE в регистр PARAM
GetParam(PARAM)001[PARAM]Возвращает записанное в регистр PARAM
Run(DIR,SPD)0101000DIRУстановить скорость SPD и направление DIR
StepClock(DIR)0101100DIRПерейти в режим тактирования от сигнала STCK и задать направление DIR
Move(DIR,N_STEP)0100000DIR Сделать N_STEP(микро) шагов в направле-нии DIR (недоступна когда двигатель работает)
GoTo(ABS_POS)01100000 Переводит двигатель в положение ABS_POS (оптимальным способом)
GoTo_DIR(DIR,ABS_POS)0110100DIR Переводит двигатель в положение ABS_POS используя направление DIR
GoUntil(ACT,DIR,SPD)1000ACT01DIR Выполняет движение со скоростью SPD в направлении DIR до срабатывания концевика SW, выполняет действие ACT над ABS_POS и фазу замедления.
ReleseSW(ACT,DIR)1001ACT01DIR Выполняет движение с минимальной скоростью в направлении DIR до отпускания концевика SW, выполняет действие ACT над ABS_POS и немедленно останавливается.
GoHome01110000Переводит двигатель в положение HOME
GoMark01111000Переводит двигатель в положение MARK
ResetPos11011000Сбрасывает ABS_POS регистр (устанавливает позицию HOME)
ResetDevice11000000Драйвер сбрасывается в исходное состояние.
SoftStop10110000Останавливает двигатель через фазу замедления
HardStop10111000Останавливает двигатель немедленно
SoftHiZ10100000 Переводит выходные мосты в высокоимпедансное состояние после фазы замедления
HardHiZ10101000 Немедленно переводит выходные мосты в высокоимпедансное состояние
GetStatus11010000Возвращает значение регистра STATUS
RESERVED11101011РЕЗЕРВНАЯ КОМАНДА
RESERVED11111000РЕЗЕРВНАЯ КОМАНДА

Команды управления

С помощью данного набора команд микроконтроллер может управлять движением двигателя и настройками устройства L6470.

Все команды состоят из одного байта. После байта команды при необходимости используются несколько байтов аргументов (см. Рис. 19 ). Длина аргумента может варьироваться от 1 до 3 байтов.


Рис. 19. Команда с 3-байтовым аргументом

Рис.19

По умолчанию устройство возвращает весь нулевой ответ для любого принятого байта, единственными исключениями являются команды GetParam и GetStatus. Когда принимается одна из этих команд, следующие байты ответов представляют собой связанное значение регистра (см. Рис. 20 ). Длина ответа может варьироваться от 1 до 3 байтов.


Рис. 20. Команда с с 3-байтовым ответом

Рис.20

Во время передачи ответа могут быть отправлены новые команды. Если требуется команда ответ отправляется до завершения предыдущего ответа, передача ответа прерывается и новый ответ загружается в выходной буфер обмена (см. рис. 21 ).


Рис. 21. Команда с прерванным ответом

Рис.21


Nop

Таблица 38. Структура команды Nop

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
00000000From host

Пустая команда.


SetParam (PARAM, VALUE)

Таблица 39. Структура команды SetParam

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
000PARAMFrom host
VALUE Byte 2 (если необходимо)
VALUE Byte 1 (если необходимо)
VALUE Byte 0

Команда SetParam устанавливает значение регистра PARAM равное VALUE; PARAM - это соответствующий регистр, указанный в таблице 12 на стр. 44.

За командой должен следовать новый регистр VALUE (сначала старший байт). Количество байтов, составляющих аргумент VALUE, зависит от длины целевого регистра (см. Таблицу 12 ).

Некоторые регистры не могут быть записаны (см. Таблицу 12 ); любая попытка записать один из этих регистров приводит к игнорированию команды, устанавливается флаг WRONG_CMD в конце командного байта, как если бы был отправлен неизвестный командный код (см. раздел 9.1.22 на стр. 55 ).

Некоторые регистры могут быть записаны только в определенных условиях (см. Таблицу 12 ); любая попытка записать один из этих регистров, когда условия не выполняются, вызывает игнорирование команды, устанавливается флаг NOTPERF_CMD - в конце последнего байта аргумента (см. раздел 9.1.22 ).

Любая попытка установить несуществующий регистр (неправильное значение адреса) приводит к тому, что команда игнорируется, устанавливается флаг WRONG_CMD в конце командного байта, как если бы был отправлен неизвестный командный код.


GetParam (PARAM)

Таблица 40. Структура команды GetParam (PARAM)

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
001PARAMFrom host
VALUE Byte 2 (если необходимо)To host
VALUE Byte 1 (если необходимо)To host
VALUE Byte 0To host

Эта команда считывает текущее значение регистра PARAM; PARAM - это соответствующий регистр, указанный в таблице 12.

Ответ команды - текущее значение регистра (старший байт). Количество байтов, составляющих ответ команды, зависит от длины целевого регистра (см. Таблицу 12 ).

Возвращаемое значение является регистром в момент декодирования команды GetParam. Если значения регистра меняются после этого момента, ответ соответственно не обновляется.

Все регистры могут быть прочитаны в любое время.

Любая попытка прочитать несуществующий регистр (неправильное значение адреса) заставляет игнорировать команду, устанавливается флаг WRONG_CMD в конце командного байта, как если бы был отправлен неизвестный командный код.


Run (DIR, SPD)

Таблица 41. Структура команды Run

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
0101000DIRFrom host
XXXXSPD (Byte 2)
SPD (Byte 1)
SPD (Byte 0)

Команда Run производит движение со скоростью SPD; направление выбирается битом DIR: «1» вперед или «0» назад. Значение SPD выражается в шаг/тик (формат без знаковый с фиксированной точки 0.28), который является тем же самым форматом, что и регистр SPEED (см. Раздел 9.1.4 на стр. 42 ).

Примечани: Значение SPD должно быть ниже MAX_SPEED и больше MIN_SPEED, иначе команда Run выполняется в MAX_SPEED или MIN_SPEED соответственно.

Эта команда устанавливает флаг BUSY до достижения целевой скорости.

Эта команда может быть выдана в любое время и немедленно выполняется.


StepClock (DIR)

Таблица 42. Структура команды StepClock

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
0101100DIRFrom host

Команда StepClock переключает устройство в тактовый режим (см. Раздел 6.7.5 на стр. 26 ) и задает прямое (DIR = '1') или обратное (DIR = '0') направление.

Когда устройство находится в тактрвом режиме, флаг SCK_MOD в регистре STATUS устанавливается, и двигатель всегда считается остановленным (см. Раздел 6.7.5 и раздел 9.1.22 на стр. 55 ).

Устройство выходит из шагового режима, когда через SPI отправляется постоянная скорость, абсолютное позиционирование или команда движения. Направление движения накладывается соответствующим аргументом команды StepClock и может быть изменено с помощью новой команды StepClock без выхода из режима StepClock.

События, приводящие к переходу мостов в состояние высокого импеданса (перегрев, перегрузка по току и т. Д.), Не приводят к тому, что устройство сбрасывает тактовый режим.

Команда StepClock не устанавливает флаг BUSY в низкий уровень. Эта команда может быть задана только при остановке двигателя. Если движение продолжается, двигатель должен быть остановлен, и тогда можно отправить команду StepClock.

Любая попытка выполнить команду StepClock при запуске двигателя заставляет игнорировать команду и устанавливается флаг NOTPERF_CMD (см. Раздел 9.1.22 ).


Move (DIR, N_STEP)

Таблица 43. Структура команды Move

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
0100000DIRFrom host
XXN_STEP (Byte 2)
N_STEP (Byte 1)
N_STEP (Byte 0)

Команда Move производит движение на N_STEP микрошагов; направление выбирается битом DIR ('1' вперед или '0' назад).

Значение N_STEP всегда согласуется с выбранным режимом шага; единица значения параметра равна выбранному режиму шага (полный, половина, четверть и т. д.).

Эта команда устанавливает флаг BUSY до тех пор, пока не будет выполнено заданное количество шагов. Эта команда может быть выполнена только при остановке двигателя. Если движение продолжается, двигатель должен быть остановлен, и тогда можно выполнить команду Move.

Любая попытка выполнить команду Move при запуске двигателя вызывает игнорирование команды, устанавливается флаг NOTPERF_CMD (см. Раздел 9.1.22 на стр. 55 ).


GoTo (ABS_POS)

Таблица 44. Структура команды GoTo

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
01100000From host
XXABS_POS (Byte 2)
ABS_POS (Byte 1)
ABS_POS (Byte 0)

Команда GoTo создает движение к абсолютному положению ABS_POS через кратчайший путь. Значение ABS_POS всегда согласуется с выбранным режимом шага; единица значения параметра равна выбранному режиму шага (полный, половина, квартал и т. д.).

Команда GoTo устанавливает флаг BUSY до достижения целевой позиции.

Эта команда может быть задана только тогда, когда предыдущая команда движения завершена (флаг BUSY сброшен).

Любая попытка выполнить команду GoTo при выполнении предыдущей команды (BUSY low) заставляет игнорировать команду и устанавливается флаг NOTPERF_CMD (см. Раздел 9.1.22 ).


GoTo_DIR (DIR, ABS_POS)

Таблица 45. Структура команды GoTo_DIR

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
0110100DIRFrom host
XXABS_POS (Byte 2)
ABS_POS (Byte 1)
ABS_POS (Byte 0)

Команда GoTo_DIR задаёт движение к абсолютному положению ABS_POS, накладывающему вперед (DIR = '1') или обратное (DIR = '0') вращение. Значение ABS_POS всегда согласуется с выбранным режимом шага; единица значения параметра равна выбранному режиму шага (полный, половина, четверть и т. д.).

Команда GoTo_DIR удерживает флаг BUSY до достижения целевой скорости. Эта команда может быть задана только тогда, когда предыдущая команда движения завершена (флаг BUSY сброшен).

Любая попытка выполнить команду GoTo_DIR при выполнении предыдущей команды (BUSY low) заставляет игнорировать команду и устанавливается флаг NOTPERF_CMD (см. Раздел 9.1.22 на стр. 55 ).


GoUntil (ACT, DIR, SPD)

Таблица 46. Структура команды GoUntil

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
100ACT000DIRFrom host
XXXXSPD (Byte 2)
SPD (Byte 1)
SPD (Byte 0)

Команда GoUntil создает движение со скоростью SPD, задает направление вперед (DIR = '1') или обратное (DIR = '0'). Когда происходит событие включения внешнего выключателя (см. Раздел 6.13 на стр. 31 ), регистр ABS_POS сбрасывается (если ACT = '0') или значение регистра ABS_POS копируется в регистр MARK (если ACT = '1'), ; то система выполняет команду SoftStop.

Значение SPD выражается в шаг/тик (формат без знаковый фиксированной точки 0,28), который является тем же самым форматом, что и регистр SPEED (см. Раздел 9.1.4 на стр. 42 ).

Значение SPD должно быть ниже MAX_SPEED и больше MIN_SPEED, в противном случае целевая скорость накладывается на MAX_SPEED или MIN_SPEED соответственно.

Если бит SW_MODE регистра CONFIG установлен на низком уровне, событие включения внешнего переключателя вызывает прерывание HardStop вместо SoftStop (см. Раздел 6.13 и раздел 9.1.21 на стр. 49 ).

Эта команда удерживает флаг BUSY до тех пор, пока не произойдет событие включения концевика и двигатель не остановится. Эта команда может быть предоставлена в любое время и немедленно выполняется.


ReleaseSW (ACT, DIR)

Таблица 47. Структура команды ReleaseSW

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
1001ACT01DIRFrom host

Команда ReleaseSW задает движение с минимальной скоростью, вперед (DIR = '1') или наоборот (DIR = '0'). Когда SW отпущен (открыт), регистр ABS_POS сбрасывается (ACT = '0') или значение регистра ABS_POS копируется в регистр MARK (ACT = '1'); система затем выполняет команду HardStop.

Обратите внимание, что сброс регистра ABS_POS эквивалентен установке позиции HOME.

Если минимальное значение скорости меньше 5 шагов/с или оптимизация низкой скорости включена, движение выполняется с шагом 5 с.

Команда ReleaseSW удерживает флаг BUSY до тех пор, пока вход переключателя не отпустят и двигатель не остановится.


GoHome

Таблица 48. Структура команды GoHome

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
01110000From host

Команда GoHome задает движение в положение HOME (нулевое положение) по кратчайшему пути.

Обратите внимание, что эта команда эквивалентна команде «GoTo (0 ... 0)». Если направление движения является обязательным, необходимо использовать команду GoTo_DIR (см. Раздел 9.2.9 ).

Команда GoHome удерживает флаг BUSY до тех пор, пока не будет достигнута исходная позиция. Эта команда может быть задана только при завершении предыдущей команды движения. Любая попытка выполнить команду GoHome при выполнении предыдущей команды (низкий уровень BUSY) приводит к игнорированию команды, и установке флага NOTPERF_CMD (см. Раздел 9.1.22 на стр. 55 ).


GoMark

Таблица 49. Структура команды GoMark

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
01111000From host

Команда GoMark производит движение в позицию MARK, выполняющую минимальный путь.

Обратите внимание, что эта команда эквивалентна команде «GoTo (MARK)». Если направление движения является обязательным, необходимо использовать команду GoTo_DIR.

Команда GoMark удерживает флаг BUSY до тех пор, пока не будет достигнута позиция MARK. Эта команда может быть задана только тогда, когда предыдущая команда движения завершена (флаг BUSY освобожден).

Любая попытка выполнить команду GoMark при выполнении предыдущей команды (BUSY low) заставляет игнорировать команду и флаг NOTPERF_CMD (см. Раздел 9.1.22 на стр. 55 ).


ResetPos

Таблица 50. Структура команды ResetPos

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
11011000From host

Команда ResetPos сбрасывает регистр ABS_POS в ноль. Позиция нуля также определяется как позиция HOME (см. Раздел 6.5 на стр. 23 ).


ResetDevice

Таблица 51. Структура команды ResetDevice

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
11000000From host

Команда ResetDevice сбрасывает устройство в режим включения питания (см. Раздел 6.1 на стр. 21 ).

Примечание: при включении питания мосты отключены.


SoftStop

Таблица 52. Структура команды SoftStop

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
10110000From host

Команда SoftStop вызывает немедленное замедление до нулевой скорости и последующий останов двигателя; используется значение замедления, которое хранится в регистре DEC (см. раздел 9.1.6 на стр. 43 ).

Когда двигатель находится в состоянии с высоким импедансом, команда SoftStop заставляет мосты выйти из состояния высокого импеданса; движение не выполняется.

Эта команда может быть предоставлена в любое время и немедленно выполняется. Эта команда удерживает флаг BUSY до тех пор, пока двигатель не остановится.


HardStop

Таблица 53. Структура команды HardStop

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
10111000From host

Команда HardStop вызывает немедленную остановку двигателя с бесконечным замедлением.

Когда двигатель находится в высокоомном состоянии, команда HardStop заставляет мосты выйти из состояния с высоким импедансом; движение не выполняется.

Эта команда может быть выдана в любое время и выполняется немедленно. Эта команда удерживает флаг BUSY до тех пор, пока двигатель не остановится.


SoftHiZ

Таблица 54. Структура команды SoftHiZ

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
10100000From host

Команда SoftHiZ отключает мосты (состояние высокого импеданса) после замедления до нуля; используется значение замедления, которое хранится в регистре DEC (см. раздел 9.1.6 на стр. 43 ). Когда мосты отключены, флаг HiZ поднимается.

Когда двигатель остановлен, команда SoftHiZ заставляет мосты входить в состояние высокого импеданса.

Эта команда может быть выдана в любое время и выполняется немедленно. Эта команда удерживает флаг BUSY до тех пор, пока двигатель не остановится.


HardHiZ

Таблица 55. Структура команды HardHiZ

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
10101000From host

Команда HardHiZ немедленно отключает мосты питания (состояние высокого импеданса) и повышает флаг HiZ.

Когда двигатель остановлен, команда HardHiZ заставляет мосты входить в состояние с высоким импедансом.

Эта команда может быть предоставлена в любое время и немедленно выполняется. Эта команда удерживает флаг BUSY до тех пор, пока двигатель не остановится.


GetStatus

Таблица 56. Структура команды GetStatus

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
11010000From host
 
STATUS MSByteTo host
STATUS LSByteTo host

Команда GetStatus возвращает значение регистра STATUS.

Команда GetStatus сбрасывает флаги предупреждения регистра STATUS. Команда заставляет систему выйти из любого состояния ошибки. Команда GetStatus НЕ Сбрасывает флаг HiZ.



 

Перевод с английского, исходный документ в формате pdf:

PDF
L6470 Fully integrated microstepping motor driver with motion engine and SPI. © 2015 STMicroelectronics


При размещение переврда на сторонних сайтах обязательна ссылка на данную страницу