(Новые версии от 7.2 и выше) Описание платы BalanceMB
Руководство по работе с платами mb5 балансировки с версией ПО 7.2 и выше
1. Общие положения
1.1 Программное обеспечение балансировки состоит из ПО МК и ПО DSP. ПО МК состоит из загрузчика и рабочего ПО. Загрузчик устанавливается в МК с помощью программатора, всё остальное ПО устанавливается через файловую систему изделия.
1.2 При включении изделия начинает работать загрузчик. Он проверяет CRC рабочего ПО МК и, в случае успеха, отдаёт управление рабочему ПО МК. В случае ошибки CRC (в т.ч. при отсутствии рабочего ПО) программа не передаёт управление и остаётся в режиме загрузчика. Изделие может быть принудительно переведено из загрузчика в рабочее ПО и из рабочего ПО в загрузчик (см.ниже).
1.3 В изделии имеется файловая система. Файлы могут быть записаны на изделие двумя способами: через USB как на съёмный диск либо через Ethernet командой wget.
1.4 Список файлов рабочего ПО приведён в таблице.
Файл | Назначение |
sciload.a00 | Короткий SCI-загрузчик, который загружается в память DSP, переключает скорость загрузки на более высокую и загружает основное ПО DSP. |
firmware.a00 | Основное ПО DSP |
balance.ini | Настройки изделия. Часть настроек могут быть заданы вручную, часть формируются автоматически. См.инструкцию на файл. |
balance.clb | Данные калибровки. Файл создаётся автоматически при калибровках линейки и вала. При удалении файла потребуется выполнить повторную калибровку изделия. |
fware.hex | Файл для прошивки во внутреннюю flash-память контроллера. Загружается в изделие через USB или Ethernet совместно с файлом fware.crc. После прошивки файл не используется. |
fware.crc | Файл для проверки целостности файла fware.hex. Загружается в изделие через USB или Ethernet совместно с файлом fware.hex. После прошивки файл не используется. |
1.5 Для отправки файлов на изделие через USB достаточно подключить изделие к компьютеру USB-кабелем. С точки зрения системы изделие будет видеться как съёмный диск.
1.6 Для отправки файлов на изделие командой wget через Ethernet используется следующий синтаксис:
wget 192.168.20.19 --header="666:filename=fware.hex" --post-file=fware.hex
Здесь: 192.168.20.19 - IP-адрес изделия, настраивается в файле balance.ini,
666: - любое сочетание букв или цифр с двоеточием, после которого указывается имя файла-назначения в формате filename=ИМЯ_ФАЙЛА_НАЗНАЧЕНИЯ.
--post-file=ИМЯ_ФАЙЛА_ИСТОЧНИКА.
Таким образом, приведённая команда отправит на изделие с адресом 192.168.20.19 файл fware.hex и сохранит его на изделии с тем же именем.
Отправка файлов одинаково работает в загрузчике и в основном ПО.
Внимание! Указывать имя файла-назначения обязательно, даже если имя совпадает с именем файла-источника. Иначе любой файл будет загружен на изделие под именем file123.dat.
Пример обновления ПО центрального процессора изделия
wget 192.168.20.19 --header="666:filename=fware.crc" --post-file=fware.crc
... 200 OK
wget 192.168.20.19 --header="666:filename=fware.hex" --post-file=fware.hex
... 200 OK
telnet 192.168.20.19
> info
ответ We are in NORMAL mode
>softpart
(переход в загрузчик, telnet "отваливается")
telnet 192.168.20.19
> info
ответ We are in LOADER mode
> writehware
(пауза 4-5 сек)
ответ F97
Изделие автоматически перезагрузится. Изделие готово к работе.
1.7 Так как IP-адрес изделия указывается в файле balance.ini, при первом программировании изделия, когда ещё нет файла balance.ini, получить доступ к файлам изделия можно через USB (п.1.5), либо через Ethernet с адресом по умолчанию 192.168.20.19.
2. Порядок программирования / обновления ПО
2.1 Начальное программирование
2.1.1 Программатором записать ПО загрузчика в изделие. Запись производится из проекта ПО загрузчика. Программатором обеспечить начало выполнения загрузчика.
2.1.2 Подготовить файл рабочего ПО МК. В проекте рабочего ПО взять файл с именем проекта и расширением .hex, переименовать или скопировать в файл fware.hex. Утилитой cksum вычислить CRC файла fware.hex и поместить результат в файл fware.crc. Командная строка:
cksum fware.hex >fware.crc.
2.1.3 Подготовить файл рабочего ПО DSP. Взять файл с именем проекта DSP и расширением .out (например, balance.out) и выполнить команду:
hex2000.exe -a -boot -sci8 -memwidth=16 -romwidth=16 balance.out
Получившийся файл balance.a00 переименовать в firmware.a00 - это прошивка DSP.
2.1.4 Подготовить файл balance.ini в соответствии с инструкцией.
2.1.5 Запись файлов через USB
2.1.5.1 При выключенном питании подключить изделие USB-кабелем к компьютеру. Появится новый сменный диск. Открыть сменный диск в менеджере файлов.
2.1.5.2 На получившийся диск поместить файлы:
fware.hex
fware.crc
firmware.a00
sciload.a00
balance.ini (при необходимости. В случае отсутствия файл может создаваться автоматически с настройками по умолчанию).
2.1.5.3 Для гарантии того, что все файлы записались, а не остались в кэше, выполнить команду sync или "безопасное извлечение устройства".
2.1.5.4 Отсоединить USB-кабель от изделия.
2.1.5.5 Включить изделие.
2.1.6 Запись файлов через telnet
2.1.6.1 Выполнить п.2.1.1 - 2.1.4
2.1.6.2 Поместить на изделие необходимые файлы (при первом программировании - аналогично п.2.1.5.2). Отправка файлов описана в п.1.6.
2.1.7 После включения изделия начинает работать загрузчик. Он выполняет проверку внутренней flash на соответствие CRC. Если это первое включение, изделие останется в загрузчике. С этого момента можно подключаться к изделию через telnet по IP-адресу, который был установлен в файле balance.ini.
2.1.8. Проверить, находится ли изделие в загрузчике или в рабочем ПО, можно командой info (п.4.3.1).
2.1.9 Программирование изделия через telnet / обновление ПО изделия через telnet
2.1.9.1 Подключиться к изделию через telnet (п.4.1, 4.2)
2.1.9.2 Если изделие находится в рабочем ПО, выполнить команду softpart для перехода в загрузчик. Узнать, находится ли изделие в загрузчике, можно командой info (п.4.3.1).
2.1.9.3 Находясь в загрузчике, выполнить команду writehware. В случае успеха программирование длится не менее 4х секунд, после чего выдаётся "F97". На ошибку указывает почти мгновенное появление ответа "F97".
2.2 Обновление ПО МК
2.2.1 Подготовить и записать файлы для обновления (п.2.1.2), записать их в изделие через USB или Ethernet (п.2.1.5, 2.1.6).
2.2.2 Выполнить пункт 2.1.9 для программирования изделия.
2.3 Обновление ПО DSP
2.3.1 Подготовить файл для обновления (п.2.1.3), записать его в изделие (п.2.1.5, 2.1.6).
2.3.2 Отсоединить кабель USB, если файл записывался через USB, или выключить питание изделия.
2.3.3 После включения изделие готово к работе.
Внимание!
Во время программирования выключать питание изделия запрещается.
При редактировании любых файлов на изделии, при удалении и при записи новых файлов все изменения вступают в силу только после перезагрузки изделия. Выключать питание изделия, если файлы открыты в редакторе и не сохранены, запрещается. Если питание изделия во воемя записи файлов было отключено (или произошёл сброс изделия), то может произойти разрушение файловой системы (отсутствие файлов, невозможность записать или прочитать файлы, 100%-ное заполнение объёма). В этом случае необходимо по telnet выполнить команду mkfs.flash (см. таб. 4.3.1) и заново записать все файлы.
После записи или редактирования каких-либо файлов через USB требуется выполнить команду sync или "безопасное извлечение устройства" до отсоединения USB-кабеля. При включении станка с подключенным USB-кабелем сброса микроконтроллера не произойдёт и изделие не загрузится.
3. (исключён в текущей редакции)
4 Управление через telnet
4.1 Для управления изделием через telnet на изделии должны быть заданы MAC-адрес и IP-адрес, изделие должно быть подключено к сети Ethernet. Перед управлением убедиться, что команда ping проходит от терминала, с которого будет осуществляться управление, до изделия.
4.2 Для установления соединения через telnet требуется набрать команду
telnet IP_АДРЕС_ИЗДЕЛИЯ <Enter>
Например: telnet 192.168.20.19.
4.3 В случае успешного установления соединения могут быть выполнены следующие команды.
4.3.1 Команды контроля
Команда | Описание |
exit | Выйти из режима telnet, разорвать соединение |
info | Получить информацию, в какой части ПО находится изделие
"We are in LOADER mode" - изделие в загрузчике, "We are in NORMAL mode" - изделие в рабочем ПО. |
get параметр
g параметр |
Получить параметр |
test параметр
t параметр |
Получать параметр непрерывно. Для разных параметров критерии передачи разные, как правило, это изменение значения. |
date
d |
Получить или установить дату |
softpart | Переключиться между режимами загрузчик / рабочее ПО (функция F96) |
writehware | Записать рабочее ПО из файла fware.hex во flash (функция F97) |
mkfs.flash | Привести файловую систему изделия в исходное состояние (все файлы на изделии стираются). Используется при появлении ошибок в файловой системе ("слетевшие" файлы, потерянные цепочки, отсутствие свободного места, нарушение прав доступа и т.п.). Загрузчик и рабочая прошивка во flash при выполнении команды не стираются.
После выполнения команды требуется заново записать все необходимые файлы на изделие (п.1.4 - 1.6). |
4.3.2 Параметры команд get и test
voltage
volt v |
Напряжения 24В, 5В, 3,3В Ext1, 3,3В Ext2, 3,3В, температура микроконтроллера, 3,3В I2C
get v, test v - показать все напряжения get v 1, test v 1 - показать напряжение 24В get v 2 - показать напряжение 5В и т.д. |
temp
t |
Температура микросхемы датчика температуры, 2х датчиков температуры, микроконтроллера
get t, test t, get t 1, get t 2 и т.д. |
date
d |
Текущая дата
get date, g d - показать текущую дату test date, t d - показывать текущую дату каждую секунду |
165 | Показать значения с порта HC165 с расшифровкой данных
g 165, t 165 и т.д. |
wheel
w |
Показать угол поворота вала и угловую скорость вращения вала (примерный аналог функции F41) |
ver | Показать версию ПО микроконтроллера. При вызове из загрузчика или из рабочего ПО, будет показана версия соответствующей части ПО (загрузчика или рабочего).
g ver, get ver |
4.3.3 Команды управления
Команда telnet
(p - параметр) |
Аналог с клавиатуры | Описание и параметры | По умолч. |
roundmode p | F0 | Величина округления грузиков, г | 5 |
startmode p | F1 | Режим запуска балансировки
0 - запуск по команде Start при закрытой крышке, 1 - запуск по команде Start, независимо от положения крышки, 2 - запуск по закрыванию крышки, без подачи команды "Start" (Примечание: команда Start выполняется нажатием кнопки Start или передачей по телнету команды start). |
2 (user 1),
1 (user 2) |
covermode p | F2 | Не используется в текущем изделии | - |
pedalmode p | F3 | Режим педали. При ручном провороте вала:
0 - свободное вращение, 1 - останов автоматический около грузика |
0 |
automode p | F4 | Режим довода
0 - нет довода 1 - автоматическая остановка колеса для установки грузика слева 2 - автоматическая остановка колеса для установки грузика справа 3 - автоматическая остановка колеса для установки ближайшего грузика |
1 (user 1),
2 (user 2) |
minweight p | F5 | Минимальная индицируемая величина дисбаланса, г | 5 |
clockwise p | F6 | Направление вращения вала
0 - против часовой стрелки, 1 - по часовой стрелке |
1 |
truemode p | F7 | Режим установки грузиков
0 - установка во всех режимах на "12 часов" 1 - установка в раскладках 3,4 линейкой под истинным углом |
0 |
autoalu | F8 | Режим автоопределения алюминиевых дисков
0 - нет автоопределения 1 - автоопределение. При измерени линейкой в точках, соответствуюющих раскладкам 1-3 и 2-3, происходит автоматическое включение типа колеса Alum и соответствующей раскладки (из любого режима). При измерении в других точках установленный режим и раскладка не меняется. |
0 |
wplacement | - | Размещение грузиков (не используется) | |
keycal0 | > 0 < | Калибровка пустого вала | - |
rrulercal0 | F11 | Калибровка линейки по трём точкам, шаг 1: вылет 0 | - |
rrulercal1 | F12 | Калибровка линейки по трём точкам, шаг 2: вылет 100 | - |
rrulercal2 | F13 | Калибровка линейки по трём точкам, шаг 3: вылет 250 | - |
rrulercal3 | F14 | Калибровка диаметра линейки по двум точкам: диаметр планшайбы | - |
rrulercal4 | F15 | Калибровка диаметра линейки по двум точкам: диаметр колеса | - |
rrulercal5 | F16 | Резерв (под 3-ю точку диаметра) | - |
rrulercald1...
rrulercald4 |
- | Калибровка диаметра линейки по 4-м точкам (13,15,18,20 дюймов) | - |
rrulercalplan | - | Калибровка привалочной плоскости | - |
knobdiam | - | Диаметр набалдашника линейки | 40.0 |
knoblen | - | Длина набалдашника линейки | 38.0 |
disabletrimrot | - | Запретить довод на пониженных оборотах
=0 - разрешен довод на 3, 2, 1,5 Гц =1 - разрешен довод на 3 и 2 Гц =2 - разрешен довод на 3 Гц |
0 |
knobtype | - | Тип набалдашника линейки (0-9). Может быть задано до 10 набалдашников линейки с предварительно заданными в ini-файле размерами | 0 |
minval | - | Минимальное значение величины вылета линейки (см. "диагностика линейки"), при котором линейка считается выдвинутой | 50 |
maxrot p | F50 | Число оборотов при измерении дисбаланса | 20 |
drvfreq p | F51 | Рабочая частота привода двигателя, гц | 75 |
minfreq p | F52 | Минимальная частота привода двигателя, гц | 5 |
accthld p | F53 | Порог ускорения колеса, мс | 20 |
angleepsilon p | F54 | Разброс отображения угла, ед. (100 ед. = 180 градусам) | 1 |
wheeldist p | F55 | Расстояние до плоскости установки колеса, мм | 0 |
diamepsilon p | F58 | Разброс диаметра | |
rulerhorz p | F65 | Горизонтальное расстояние линейки, мм | 0 |
rulervert p | F66 | Вертикальное расстояние линейки, мм | 0 |
rulerrad p | F67 | Радиус линейки | 185 |
rulerofs p | F68 | Калибровочный вылет линейки, мм | 100 |
rulerdiam p | F69 | Калибровочный диаметр колеса, дюймы/мм | 15 (дюймы) |
cal0 | F70 | Калибровка пустого вала | - |
cal1 | F71 | Калибровка колеса | - |
cal2 | F72 | Калибровка грузика с правой стороны | - |
cal3 | F73 | Калибровка грузика с левой стороны | - |
calweight p | F75 | Масса эталонного грузика, г | 100 |
testdrv | F80 | Тест привода (при вводе включается привод и на дисплее отображается значение угловой скорости, об/мин) | - |
loaddef | F90 | Загрузка настроек по умолчанию | - |
loadref | F91 | Чтение эталонной записи | - |
saveref | F92 | Запись эталонной записи | - |
state | - | Состояние (вывод строки с параметрами) | - |
start | Start | Запуск балансировки, калибровки | - |
stop | Stop | Остановка вращения. Сброс ошибок. При удерживании в течение 10 сек. сбрасываются те ошибки, которые не сбрасываются при кратковременном нажатии. | - |
enter | Enter | Запуск довода | - |
user p | User | Переключение пользователя
0 - пользователь №1 1 - пользователь №2 |
0 |
width p | h | Ширина диска | 0 |
diam p | d | Диаметр диска | 0 |
offset p | b | Вылет диска | 0 |
split | sp | Разбиение по спицам | - |
numsp p | sp | Количество спиц | 3 |
mode p | Mode | Режим
0 - Alum, 1 - Steel, 2 - Abs, 3 - Truck, 4 - Stat |
0 |
layout p | Layout | Раскладка грузиков | 0 |
rotate p | - | Довод до угла p | - |
stick | - | Место приклейки | - |
muxval | - | Константа мультиплексора
0 = 128, 1 = 192, 2 = 160, 3 = 240 |
0 |
brinv | - | "Инверсия" тормоза (муфты)
=0 - при подаче напряжения вал свободен =1 - при подаче напряжения вал заблокирован |
0 |