Skip to main content
< Все темы
PDF версия

Формат кадра

Формат вывода данных через UART

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

Таблица Формат кадра

ИдентификаторДлинаОписание
Заголовок кадра2 байтаЗаголовок кадра, 0х59, 0х53
Номер кадра2 байтаНомер кадра данных (1 ~ 60 000)
Длина данных1 байтДлина данных, максимальная 255
Область данных0-255 байтЭффективные данные пакета
Контрольная сумма 11 байтКонтрольная сумма
Контрольная сумма 21 байт

Формат данных

Формат области данных представлено в следующей таблице:

Таблица Формат области данных

Пакет 1….Пакет N
Data IDLENDATA….DATA IDLENDATA

Таблица Формат области данных

ДанныеDATA IDLENDATA
Температура БЧЭ*0x012DATA1 – DATA2
Линейное ускорение0x1012DATA1 – DATA12
Угловая скорость0x2012DATA1 – DATA12
Нормализованное значение магнитного поля0x3012DATA1 – DATA12
Интенсивность магнитного поля0x3112DATA1 – DATA12
Угол Эйлера0x4012DATA1 – DATA12
Кватернион0x4116DATA1 – DATA16
Отметка времени сэмпла0x514DATA1 – DATA4
Отметка времени синхронного вывода0x524DATA1 – DATA4

Таблица Соотношение преобразования данных

ДанныеНомерПреобразованиеЕд. изм.
Температура БЧЭDATA1 (DATA[7:0])temp_imu = DATA *0.01°C
DATA2 (DATA[15:8])
Линейное ускорениеDATA1 (DATA[7:0])ax = DATA *0.000001м/с²
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])
DATA5 (DATA[7:0])ay = DATA *0.000001
DATA6 (DATA[15:8])
DATA7 (DATA[23:16])
DATA8 (DATA[31:24])
DATA9 (DATA[7:0])az = DATA *0.000001
DATA10 (DATA[15:8])
DATA11 (DATA[23:16])
DATA12 (DATA[31:24])
Угловая скоростьDATA1 (DATA[7:0])wx = DATA *0.000001°/с
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])
DATA5 (DATA[7:0])wy = DATA *0.000001
DATA6 (DATA[15:8])
DATA7 (DATA[23:16])
DATA8 (DATA[31:24])
DATA9 (DATA[7:0])wz = DATA *0.000001
DATA10 (DATA[15:8])
DATA11 (DATA[23:16])
DATA12 (DATA[31:24])
Нормализованное магнитное полеDATA1 (DATA[7:0])mx = DATA *0.000001нормализованное значение
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])
DATA5 (DATA[7:0])my = DATA *0.000001
DATA6 (DATA[15:8])
DATA7 (DATA[23:16])
DATA8 (DATA[31:24])
DATA9 (DATA[7:0])mz = DATA *0.000001
DATA10 (DATA[15:8])
DATA11 (DATA[23:16])
DATA12 (DATA[31:24])
Интенсивность магнитного поляDATA1 (DATA[7:0])mx = DATA *0.001мГс
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])
DATA5 (DATA[7:0])my = DATA *0.001
DATA6 (DATA[15:8])
DATA7 (DATA[23:16])
DATA8 (DATA[31:24])
DATA9 (DATA[7:0])mz = DATA *0.001
DATA10 (DATA[15:8])
DATA11 (DATA[23:16])
DATA12 (DATA[31:24])
Угол ЭйлераDATA1 (DATA[7:0])pitch = DATA *0.000001°
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])
DATA5 (DATA[7:0])roll = DATA *0.000001
DATA6 (DATA[15:8])
DATA7 (DATA[23:16])
DATA8 (DATA[31:24])
DATA9 (DATA[7:0])yaw = DATA *0.000001
DATA10 (DATA[15:8])
DATA11 (DATA[23:16])
DATA12 (DATA[31:24])
КватернионDATA1 (DATA[7:0])q0 = DATA * 0.000001
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])
DATA5 (DATA[7:0])q1 = DATA * 0.000001
DATA6 (DATA[15:8])
DATA7 (DATA[23:16])
DATA8 (DATA[31:24])
DATA9 (DATA[7:0])q2 = DATA * 0.000001
DATA10 (DATA[15:8])
DATA11 (DATA[23:16])
DATA12 (DATA[31:24])
DATA13 (DATA[7:0])q3 = DATA * 0.000001
DATA14 (DATA[15:8])
DATA15 (DATA[23:16])
DATA16 (DATA[31:24])
Отметка времени сэмплаDATA1 (DATA[7:0])Sampling_timestamp = DATAмкс
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])
Отметка времени синхронного выводаDATA1 (DATA[7:0])Sync_out_timestmp = DATAмкс
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])

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

ЗаголовокTIDLENMESSAGEСК1СК2

Предполагая, что в диапазоне проверки имеется N байт (буфер[N]), формула расчета выглядит следующим образом:

Формат кадра

Формат кадра протокола UART для взаимодействия

Формат протокола командного взаимодействия ИМ-15К отличается от формата вывода сообщений по умолчанию. Структура кадра включает: заголовок кадра, класс данных, оператор, длина данных, область данных, контрольная сумма. Представлено в следующей таблице:

Таблица Формат кадра

ИдентификаторДлинаОписание
Заголовок кадра2 байтаНачальный байт данных, 0х59, 0х53
Класс данных1 байтКатегория данных
Оператор3 битаЗапрос или запись
Длина данных13 битДлина данных, максимальное значение 8191
Данные0-8191 байтЭффективные данные пакета
Контрольная сумма 11 байтКонтрольная сумма
Контрольная сумма 21 байт

Метод вычисления контрольной суммы

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

Заголовок кадраКласс данныхОператорДлина данныхОбласть данныхCK1CK2
0x59 0x53Диапазон, в пределах которого должна быть вычислена контрольная сумма

Формат протокола I2C для обмена данными

Шина I2C использует более компактную систему команд, используя адрес регистра выборки IMU, как в обычном методе чтения IMU.

Формат отправки данных по шине I2C представлен в следующей таблице:

Master/SlaveSTSAD+WSAKSUBSAKSRSAD+RSAKDATAMAKDATANMAKSP

Примечание:
SAD: Slave address
ST: START Condition
SR: Repeated START
SP: STOP Condition
SUB: 8-bit sub-address, always is register address
W: Write operation
R: Read operation
MAK: Master Acknowledge
NMAK: No Master Acknowledge
SAK: Slave Acknowledge

Определение адреса регистра представлено в следующей таблице:

Таблица Определение адреса регистра

ДанныеDATA IDLENDATA
Температура БЧЭ0x012DATA1 – DATA2
Линейное ускорение0x1012DATA1 – DATA12
Угловая скорость0x2012DATA1 – DATA12
Нормализованное значение магнитного поля0x3012DATA1 – DATA12
Интенсивность магнитного поля0x3112DATA1 – DATA12
Угол Эйлера0x4012DATA1 – DATA12
Кватернион0x4116DATA1 – DATA16
Отметка времени сэмпла0x514DATA1 – DATA4
Отметка времени синхронного вывода0x524DATA1 – DATA4

Таблица Соотношение преобразования данных

ДанныеНомерПреобразованиеЕд. изм.
Температура БЧЭDATA1 (DATA[7:0])temp_imu = DATA * 0.01°C
DATA2 (DATA[15:8])
Линейное ускорениеDATA1 (DATA[7:0])ax = DATA * 0.000001м/с²
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])
DATA5 (DATA[7:0])ay = DATA * 0.000001
DATA6 (DATA[15:8])
DATA7 (DATA[23:16])
DATA8 (DATA[31:24])
DATA9 (DATA[7:0])az = DATA * 0.000001
DATA10 (DATA[15:8])
DATA11 (DATA[23:16])
DATA12 (DATA[31:24])
Угловая скоростьDATA1 (DATA[7:0])wx = DATA * 0.000001°/с
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])
DATA5 (DATA[7:0])wy = DATA * 0.000001
DATA6 (DATA[15:8])
DATA7 (DATA[23:16])
DATA8 (DATA[31:24])
DATA9 (DATA[7:0])wz = DATA * 0.000001
DATA10 (DATA[15:8])
DATA11 (DATA[23:16])
DATA12 (DATA[31:24])
Нормализованное значение магнитного поляDATA1 (DATA[7:0])mx = DATA * 0.000001нормализованное значение
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])
DATA5 (DATA[7:0])my = DATA * 0.000001
DATA6 (DATA[15:8])
DATA7 (DATA[23:16])
DATA8 (DATA[31:24])
DATA9 (DATA[7:0])mz = DATA * 0.000001
DATA10 (DATA[15:8])
DATA11 (DATA[23:16])
DATA12 (DATA[31:24])
Интенсивность магнитного поляDATA1 (DATA[7:0])mx = DATA * 0.001мГс
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])
DATA5 (DATA[7:0])my = DATA * 0.001
DATA6 (DATA[15:8])
DATA7 (DATA[23:16])
DATA8 (DATA[31:24])
DATA9 (DATA[7:0])mz = DATA * 0.001
DATA10 (DATA[15:8])
DATA11 (DATA[23:16])
DATA12 (DATA[31:24])
Угол ЭйлераDATA1 (DATA[7:0])pitch = DATA * 0.000001°
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])
DATA5 (DATA[7:0])roll = DATA * 0.000001
DATA6 (DATA[15:8])
DATA7 (DATA[23:16])
DATA8 (DATA[31:24])
DATA9 (DATA[7:0])yaw = DATA * 0.000001
DATA10 (DATA[15:8])
DATA11 (DATA[23:16])
DATA12 (DATA[31:24])
КватернионDATA1 (DATA[7:0])q0 = DATA * 0.000001
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])
DATA5 (DATA[7:0])q1 = DATA * 0.000001
DATA6 (DATA[15:8])
DATA7 (DATA[23:16])
DATA8 (DATA[31:24])
DATA9 (DATA[7:0])q2 = DATA * 0.000001
DATA10 (DATA[15:8])
DATA11 (DATA[23:16])
DATA12 (DATA[31:24])
DATA13 (DATA[7:0])q3 = DATA * 0.000001
DATA14 (DATA[15:8])
DATA15 (DATA[23:16])
DATA16 (DATA[31:24])
Отметка времени сэмплаDATA1 (DATA[7:0])Sampling_timestamp = DATAмкс
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])
Отметка времени синхронного выводаDATA1 (DATA[7:0])Sync_out_timestmp = DATAмкс
DATA2 (DATA[15:8])
DATA3 (DATA[23:16])
DATA4 (DATA[31:24])

Продолжая использовать сайт, вы соглашаетесь на обработку файлов cookie и Политикой обработки персональных данных.
Принять
Отказаться
Политика конфиденциальности