Как декодировать данные ARINC 429?

Я ищу помощь в расшифровке данных ARINC 429. У меня есть документ CSV, содержащий последовательно сохраненные метки ARINC 429.

Моя общая цель - иметь возможность сканировать 4 конкретные метки и декодировать только эти кадры (поле данных, поле метки и поле ssm) и добавлять их в документ.

Приходит ли ARINC 429 случайным образом в разных форматах данных (например, BCD, BNR, дискретные биты и т. д.)?

Поскольку я ищу определенные метки, можно ли настроить его только для декодирования формата BNR или мне нужно иметь возможность идентифицировать и декодировать все форматы данных?

Это немного не по теме этого обмена, но вы можете проверить этот проект .
Ваш вопрос кажется немного не по теме, так как он больше связан с программированием. Если вы не найдете то, что ищете, попробуйте вместо этого спросить об этом на бирже программирования.
Я думаю, что это по теме, поскольку фактический вопрос касается авиационных данных, а не программирования, это просто справочная информация.
У вас есть определенный список меток, которые вы пытаетесь декодировать?
Arinc 429 не про авиацию? Разве это не шина данных, найденная в ...... самолете?
Даже с предложенным вами редактированием ваш вопрос все еще неясен. Вам нужна помощь в расшифровке данных. Кажется, вы немного знакомы с Arinc 429. Что мешает вам определить в потоке данных интересующие вас метки? Мы не собираемся предоставлять вам псевдокод, но мы можем объяснить протокол, если у вас возникла конкретная проблема с потоком данных в образце CSV. Уточняйте, иначе ответа не будет.
@mins, я предложил изменить, чтобы удалить ссылки на Python в вопросе. Пока что мой ответ на вопрос, кажется, помог ОП. Вопрос действительно вращается вокруг понимания структуры слова ARINC 429.
@selectstriker2: я написал этот комментарий, находясь в очереди на проверку, я не видел, что это была ваша правка, но проголосовал за повторное открытие, поскольку редактирование было большим улучшением, теперь, когда я прочитал ваш ответ и комментарии ОП, я думаю, что это предстоит решить.
Ниша систем авионики в мире компьютерного программного обеспечения. Я предполагаю, что средний пилот знает о кодировании Arinc больше, чем средний программист.

Ответы (2)

ARINC 429 — это определенный стандарт, который описывает не только структуру пакета (32 бита), но и форматы данных для различных меток в зависимости от идентификатора оборудования. Чтобы знать, как правильно декодировать метку ARINC 429, вам необходимо знать идентификатор оборудования, который затем можно использовать для поиска значения конкретной метки.

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

Если вы знаете, какие метки вы ищете, вам не нужно декодировать всю метку, вам просто нужно проверить биты 8-1, чтобы определить метку.

Однако в целом спецификация ARINC 429 содержит рекомендации для этикеток:

Двоично-десятичная (BCD) подгруппа от 001 до 067, 125, 165, 170, 200, 201, 230 до 237.

Двоичная (BNR) подгруппа 070–124, 126–144, 150–154, 162–164, 166, 167, 171–177, 202–227, 240–257, 262–265, 267, 310–347, 360–376 .

Смешанный BCD и BNR подгруппа 260, 261

Дискретная подгруппа от 145 до 147, от 270 до 276

Подгруппа обслуживания и дискретных данных 155, 156

Подгруппа данных технического обслуживания 157–161, 350–354

Подгруппа тестовых слов 266, 277

Зависящие от приложения подгруппы с 300 по 307

Подгруппа подтверждения 355

Техническое обслуживание ISO № 5, подгруппа 356

Подгруппа сообщений ISO # 5 357

О, теперь я вижу! В настоящее время у меня есть 2 из 4 нужных мне ярлыков (204 и 210), но я все еще ищу другие 2 (температура наружного воздуха и атмосферное давление). Итак, если я получу два других между 202 и 227, мне не нужно будет определять, какой это формат, я мог бы сразу перейти к переводу комплимента двух (BNR) в десятичное число?
Кроме того, извините, если это глупый вопрос, но если я в конечном итоге получу метку 376, как это будет передано, если представление bnr имеет длину 9 бит? (что-то вроде 0010000111)
знаете ли вы, какой идентификатор оборудования использует устройство, с которого вы получаете данные?
Да, устройства для физических лиц (я так думаю), мне удалось найти документ с кучей ярлыков w/eqpt id. Идентификатор оборудования, который у меня есть для 210, равен 006, а для 204 — 060. Еще один (возможно, глупый) вопрос: идентификаторы оборудования уникальны для компьютера с воздушными данными? редактировать: неважно, я думаю, что ответил на свой вопрос, основываясь на том, что я только что прочитал. Так что да, идентификатор оборудования уникален для устройства авионики. Мой следующий шаг должен состоять в том, чтобы получить идентификатор оборудования компьютера с воздушными данными, с которого я буду получать данные, верно? как я могу это сделать? Я должен отметить, что компьютер данных о воздухе в настоящее время не совсем доступен для меня.
Идентификатор оборудования описывает тип передающего компьютера. ID 006 — это Air Data System, а ID 060 — GNSS Navigation Unit. Для ID 006 - метка 210 - истинная скорость полета в узлах, 204 - высота с поправкой на барометр в футах.
О, я понимаю, так что это не зависит от конкретного устройства, а скорее от типа устройства. Вы имеете в виду что-то вроде серийного номера, который конкретно идентифицирует марку и модель компьютера данных о воздухе?
Могу я вернуться к вам по этому поводу? Мой босс был бы тем, у кого была бы эта информация, но он какое-то время отсутствует в офисе ... Могу ли я пойти дальше, чтобы выяснить, как расшифровать эти кадры arinc429, пока я не получу марку и модель? компьютера данных о воздухе?
Конечно, я бы порекомендовал сначала взглянуть на этот краткий обзор, который поможет определить, какие биты назначены различным частям слова ARINC 429: aim-online.com/pdf/OVIEW429.PDF
Ваша компания также может рассмотреть возможность покупки стандартного документа ARINC 429, который определяет большинство используемых стандартных этикеток и довольно много примеров, помогающих при кодировании/декодировании – aeec-amc-fsemc.com/cf/store/catalog_detail.cfm?item_id= 1940 г.
Я прочитал обзор и познакомлю с полным стандартным документом своего начальника, когда он вернется. Содержит ли полный стандартный документ все о протоколе ARINC 429? такие как коды меток с идентификаторами оборудования, методы, которые можно использовать для декодирования и кодирования кадров и т. д.?
Кроме того, я заметил, что упоминается о типе данных, который использует двустороннюю связь... когда я читал ранее, я читал, что ARINC 429 использует симплексную связь (однонаправленную), так как же это будет с двусторонней связью?? При попытке получить данные будет ли компьютер данных о воздухе автоматически передавать данные после подачи питания или потребуется код запроса? когда я обнаружил, что он использует симплексную связь, я автоматически предположил, что он будет передавать после подачи питания, потому что я не могу отправить команду триггера обратно...
ARINC 429 является только односторонним, поэтому для двусторонней связи требуется два последовательных соединения ARINC 429 — 1 вход и 1 выход. Думайте об этом как о потоковом интерфейсе. Передатчик постоянно отправляет данные, не зная, кто их получает.
О, хорошо, тогда я был прав, предполагая, что как только он включится, он автоматически начнет передачу данных, но, как вы сказали, он не будет знать, кто их получает, он просто передает? Итак, я перечитал обзор, и вау, он когда-либо помог мне понять протокол. Теперь я понимаю этикетки намного яснее. Что касается меток, я теперь знаю, что коды меток представляют собой восьмеричные значения, а не десятичные, и отправляются в виде 3 наборов восьмеричного числа в двоичном формате (т. е. метка 210 отправляется как 100-001-10).
Единственные части, в которых я все еще немного запутался, — это разделы, посвященные протоколу Вильямсбурга/Бакхорна (WBP) и данным BNR. Для данных BNR, можете ли вы объяснить мне масштабный коэффициент? Я не мог понять, как биты уменьшали доли масштабного коэффициента. Для WBP это реализовано только тогда, когда биты данных превышают 21? упаковывает ли он блок слов со словами, содержащими обычные слова данных со словами SOT, GFI, EOT и т. д.? Должен ли я заботиться о том, чтобы определить, как разделить блоки на их слова и определить, какое из них является словом данных, а какое нет?
Я сомневаюсь, что вам нужно будет беспокоиться о WBP, поскольку он используется для передачи файлов, а не типичных данных ARINC 429.
Для коэффициента масштаба взгляните на мой ответ здесь: Aviation.stackexchange.com/a/37485/17732
Извините, меня все еще немного смущают объяснения коэффициента масштабирования в присланной вами ссылке. Из документации, которую вы связали, и видео, которое я смотрел, я понял, что для определения значения в поле данных будет декодировано путем определения знаковых битов в поле (1) и умножения соответствующего масштабного коэффициента этого индекса (1 /2, 1/4, 1/8 и т. д.) на максимально возможное значение идентифицированной метки. Кроме того, бит 29 является битом знака. Это правильное понимание?

Из 32-битного слова ARINC 429 метка кодируется битами с 1 по 8 следующим образом: биты с 1 по 3 для наименьшей взвешенной восьмеричной цифры, биты с 4 по 6 для следующей старшей и биты 7 и 8 для наибольшей взвешенной цифры. восьмеричные цифры. Таким образом, метка расшифровывается по основанию 8, а не по основанию 10, вот пример. Например, при наличии следующей двоичной метки: 11100110 3 бита 110 декодируются 0+2+4=6 3 бита 100 декодируются 0+0+4=4 Две цифры 11 декодируются 1+2=3 Таким образом, метка 346 Примечание. Если все биты установлены на 1, максимальная метка, следовательно, будет 377. Конечно, вы можете передавать более 377 параметров, потому что аналогичные параметры из разных источников или датчиков, например AOA слева, AOA справа, имеют одну и ту же метку. Чтобы различать схожие параметры, имеющие разные источники,