Описание платы BalanceMB

Материал из Sibek
Версия от 09:54, 21 октября 2016; T0r (обсуждение | вклад) (1 версия импортирована)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Руководство по работе с новыми функциями балансировки 3.0, 4.0, 5.x


1. Общие положения

1.1 Программное обеспечение балансировки состоит из ПО МК и ПО DSP. ПО МК состоит из загрузчика и рабочего ПО. Загрузчик устанавливается в МК с помощью программатора, всё остальное ПО устанавливается через файловую систему изделия.

1.2 При включении изделия начинает работать загрузчик. Он проверяет CRC рабочего ПО МК и, в случае успеха, отдаёт управление рабочему ПО МК. В случае ошибки CRC (в т.ч. при отсутствии рабочего ПО) программа не передаёт управление и остаётся в режиме загрузчика. Изделие может быть принудительно переведено из загрузчика в рабочее ПО и из рабочего ПО в загрузчик функцией F96 (см.ниже) или установкой параметра StayInLoader=yes в секции [Setup] файла balance.ini.

1.3 В изделии имеется файловая система, хранящая файлы. Файлы могут быть записаны на изделие двумя способами: через USB как на съёмный диск либо через Ethernet командой wget.

1.4 Список файлов рабочего ПО приведён в таблице.


Файл Назначение
sciload.a00 Короткий SCI-загрузчик, который загружается в память DSP, переключает скорость загрузки на более высокую и загружает основное ПО DSP.
firmware.a00 Основное ПО DSP
balance.ini Настройки изделия. Часть настроек могут быть заданы вручную, часть формируются автоматически. См.инструкцию на файл.
fware.hex Файл для прошивки во внутреннюю flash-память контроллера. Загружается в изделие через USB или Ethernet совместно с файлом fware.crc. После прошивки файл не используется.
fware.crc Файл для проверки целостности файла fware.hex. Загружается в изделие через USB или Ethernet совместно с файлом fware.hex. После прошивки файл не используется.
iflash.crs Файл, содержащий CRC и стартовый адрес рабочего ПО контроллера. Формируется автоматически при выполнении команды "writehware" (F97)

1.5 Для отправки файлов на изделие через USB достаточно подключить изделие к компьютеру USB-кабелем. С точки зрения системы изделие будет видеться как съёмный диск.

1.6 Для отправки файлов на изделие командой wget через Ethernet используется следующий синтаксис:


wget 192.168.16.190 --header="666:filename=fware.hex" --post-file=fware.hex


Здесь: 192.168.16.190 - IP-адрес изделия, настраивается в файле balance.ini,

666: - любое сочетание букв или цифр с двоеточием, после которого указывается имя файла-назначения в формате filename=ИМЯ_ФАЙЛА_НАЗНАЧЕНИЯ.

--post-file=ИМЯ_ФАЙЛА_ИСТОЧНИКА.

Таким образом, приведённая команда отправит на изделие с адресом 192.168.16.190 файл fware.hex и сохранит его на изделии с тем же именем.


Внимание!

Указывать имя файла-назначения обязательно, даже если имя совпадает с именем файла-источника. Иначе любой файл будет загружен на изделие под именем file123.dat.


1.7 Так как IP-адрес изделия указывается в файле balance.ini, при первом программировании изделия, когда ещё нет файла balance.ini, получить доступ к файлам изделия можно через USB (п.1.5), либо через Ethernet с адресом по умолчанию 192.168.16.190.


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. Так как файла CRC ещё нет и ПО во внутреннюю flash не записано, изделие останется в загрузчике (на индикаторе клавиатуры должен гореть символ P). С этого момента можно подключатьтся к изделию через telnet по IP-адресу, который был установлен в файле balance.ini.

2.1.8 Программирование изделия с клавиатуры

2.1.8.1 Находясь в режиме загрузчика (на индикаторе отображается символ "Р"), ввести пароль с помощью функции F99.

2.1.8.2 Для программирования изделия запустить функцию F97. В случае, если находящиеся в изделии файлы fware.hex и fware.crc корректны и CRC сходится, начнётся программирование изделия. Иначе появится сообщение об ошибке на клавиатуре. В случае ошибки необходимо проверить и повторить пункты 2.1.2...2.1.6.

2.1.8.3 Программирование индицируется перемещающимся по индикатору прогресс-баром. При программировании рассчитывается CRC рабочей программы и записывается в файл iflash.crs на изделии. По окончании программирования произойдёт автоматический перезапуск изделия и вход в режим балансировки.

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 Перейти в режим загрузчика. При работе с клавиатуры для этого необходимо ввести пароль (F99) и вызвать функцию перехода в загрузчик (F96). В случае успеха на индикаторе появится символ Р - режим загрузчика.

2.2.3 Выполнить пункт 2.1.8 или 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. Функции для программирования изделия

3.1 Функции в режиме загрузчика (на индикаторе горит символ Р):

F96 - перейти из режима загрузчика в режим рабочего ПО. В случае, если рабочее ПО во flash-памяти контроллера отсутствует, результат команды будет непредсказуем.

Функция доступна без пароля.

F97 - записать рабочее ПО во внутреннюю flash-память контроллера. Для успешного выполнения функции в файловой системе контроллера должны находиться файлы fware.hex и fware.crc. Функция F97 доступна после ввода пароля.


3.2 Функции в режиме рабочего ПО

F96 - перейти из режима рабочего ПО в режим загрузчика. Функция доступна после ввода пароля.


4 Управление через telnet

4.1 Для управления изделием через telnet на изделии должны быть заданы MAC-адрес и IP-адрес, изделие должно быть подключено к сети Ethernet. Перед управлением убедиться, что команда ping проходит от терминала, с которого будет осуществляться управление, до изделия.

4.2 Для установления соединения через telnet требуется набрать команду

telnet IP_АДРЕС_ИЗДЕЛИЯ <Enter>

Например: telnet 192.168.16.190.

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 Привести файловую систему изделия в исходное состояние (все файлы на изделии стираются). Используется при появлении ошибок в файловой системе (потерянные цепочки, отсутствие свободного места, нарушение прав доступа и т.п.). Если планируется сохранить калибровочные данные изделия, файл balance.ini должен быть сохранён вне изделия перед выполнением команды. Если не планируется заменять ПО сигнального процессора изделия, необходимые файлы (sciload.a00, firmware.a00) должны быть сохранены вне изделия. Загрузчик и рабочее ПО во 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 и т.д.

linear

len

l

Показания оптической линейки

g l, get l, t l, test linear и т.д.

r Показания резистивной линейки

g r, get r, t r, test r

gyro

g

Показания датчика угла

g g, get gyro, t g и т.д.

date

d

Текущая дата

get date, g d - показать текущую дату

test date, t d - показывать текущую дату каждую секунду

165 Показать значения с порта HC165 с расшифровкой данных

g 165, t 165 и т.д.

cap Измерение емкостей датчиков

t cap, test cap. Для команды get этот параметр не поддерживается

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
keycal0 > 0 < Калибровка пустого вала -
rrulercal0 F11 Калибровка линейки по трём точкам, шаг 1: вылет 0 -
rrulercal1 F12 Калибровка линейки по трём точкам, шаг 2: вылет 100 -
rrulercal2 F13 Калибровка линейки по трём точкам, шаг 3: вылет 250 -
rrulercal3 F14 Калибровка линейки по трём точкам, шаг 4: диаметр планшайбы -
rrulercal4 F15 Калибровка линейки по трём точкам, шаг 5: диаметр колеса -
rrulercal5 F16 Резерв (под 3-ю точку диаметра) -
maxrot p F50 Число оборотов при измерении дисбаланса 20
drvfreq p F51 Рабочая частота привода двигателя, гц 90
minfreq p F52 Минимальная частота привода двигателя, гц 5
accthld p F53 Порог ускорения колеса, мс 20
angleepsilon p F54 Разброс отображения угла, ед. (100 ед. = 180 градусам) 1
wheeldist p F55 Расстояние до плоскости установки колеса, мм 0
diamepsilon p F58 Разброс диаметра
rulercal0 F60 Калибровка вылета оптической линейки -
rulercal1 F61 Калибровка датчика угла на планшайбе (для оптической линейки) -
rulercal2 F62 Калибровка датчика угла на диске (для оптической линейки) -
rulercal3 F63 не используется (ранее - калибровка линейки у кожуха (только для резистивной линейки)) -
rulercalf F64 Быстрая калибровка линейки (только для оптической линейки) -
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 Тест привода (при вводе включается привод и на дисплее отображается значение угловой скорости, об/мин) -
deccurr p F81 Максимальное значение тока перегрузки для торможения, х0.1А 20
decfreq p F82 Скорость торможения, гц 5
c-meter F87 Начать измерение ёмкости датчиков -
- F88 Тест индикации (включение всех индикаторов) -
loaddef F90 Загрузка настроек по умолчанию -
loadref F91 Чтение эталонной записи -
saveref F92 Запись эталонной записи -
- F99 Ввод текущего пароля -
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

Индикация ошибок в системе.


Ошибки подразделяются на 3 категории:


1-32 Ошибки-предупреждения (не введены параметры, ошибки линейки, отсутствие ини-файла и т.д.)

33-64 Ошибки в части ПО микроконтроллера

65-96 Ошибки в части ПО сигнального процессора


1-32:

1 Балансировка не откалибрована

2 Линейка 1 не откалибрована

3 Резерв (Линейка 2 не откалибрована)

4 Ошибка задания неизвестного параметра (не h,b,d и не SP)

5-7 Индицируются в виде ошибок задания параметра (h,b,d)

8 Ошибка задания параметра SP

9 Нет ответа от гиро (считано FFFFFFFF)

10 Ошибка КС ответа от гиро

11 I2C (к которому подключен гиро) сообщил об ошибке

12 Колесо не вращается / не подключен датчик вращения

13 Кривой пол (в настоящее время кривизна пола не измеряется и ошибка не выставляется)

14 Нет ini-файла, все параметры будут взяты из заводских настроек

17 При измерении ёмкости провернули колесо (не должно вращаться для точности измерения)

18 Линейка при включении не находится в начальном положении

19 В этом режиме требуется провернуть колесо для прохождения нулевого маркера

20 Педаль при включении не находится в начальном положении

21 Не откалибрована 1-грузиковым методом (при попытке вызвать данные 1-грузиковой калибровки)


33-64

33 Резерв (Неверные данные 595)

34 Таймаут считывания 595

35 Неверный идентификатор AT45D321

36 Таймаут обмена с AT45D321

37 Ошибка CRC32 внутренней iFlash (ошибка вызовет вход в режим загрузчика)

38 Ошибка CRC32 файла fware.hex при программировании iFlash загрузчиком

45 Напряжение 24В вне диапазона

46 Напряжение 5В вне диапазона

47 Напряжение EXT1 (3,3В) вне диапазона

48 Напряжение EXT2 (3,3В) вне диапазона (MB5.0 не имеет напряжения EXT2, соответственно, ошибка 48 для MB5.0 не индицируется)

49 Напряжение 3,3В вне диапазона

50 Напряжение I2C (гиро) (3,3В) вне диапазона

53 Резерв (температура температурной микросхемы вне диапазона)

54 Резерв (температура датчика 1 вне диапазона)

55 Резерв (температура датчика 2 вне диапазона)

56 Резерв (температура кристалла МК вне диапазона)

57 Нет файловой системы

58 Нет файла загрузчика

59 Нет файла ПО DSP

60 Ошибка загрузки ПО DSP


65-80

ошибки, присылаемые от DSP (и ранее присылавшиеся от DSP на mb3.0, переведённые на МК на mb4.0)

68 Таймаут ответа АЦП ADS7830

69 Ошибка количества отверстий датчика вращения

70 Нет нулевого маркера датчика вращения

77 Таймаут ответа привода

78 Ошибка ответа привода

80 ПО подозревает наличие тиристорного эффекта АЦП

81-96 ошибки, выставляемые МК при работе с DSP

81 Напряжение DSP 3.3В вне диапазона

82 Напряжение DSP -5В вне диапазона

83 Напряжение DSP 1.8В вне диапазона

84 Напряжение DSP 5ВА вне диапазона

85 Напряжение DSP +VA вне диапазона

86 Напряжение DSP 3.3ВА вне диапазона

87 Напряжение DSP 2.5В АЦП опорное вне диапазона

88 Напряжение DSP 1.2В вне диапазона

89 Нет связи с DSP

90 Логическая ошибка обмена с DSP

92 Таймаут перехода DSP в ожидаемое состояние после команды