|
программная реализация MIL-STD-1553 |
|
|
|
Aug 1 2006, 20:35
|
Группа: Новичок
Сообщений: 3
Регистрация: 1-08-06
Пользователь №: 19 253

|
ПОдскажите, может быть, у кого есть опыт реализации алгоритма обработки сообщений по этому протоколу (отечественный аналог - ГОСТ 26765.52-87). Нужна часть, отвечающая за обработку командных слов, формирование ответного слова.
|
|
|
|
|
 |
Ответов
|
May 8 2009, 07:31
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(DmitryR @ May 8 2009, 10:30)  Еще поанализировал код и вроде понял. Входной поток хлопается на сколь угодно высокой частоте, и от того момента, где получился любой перепад отсчитывается 250 ns (половина полубита) и хлопается "полубит", а если перепада не было то через 500 ns "полубит" захлопывается все равно. я бы наверное примерно так и сделал, только не непрерывно канал сканировал, а по прерыванию. т.е. по перепаду переход на подпрограмму приема, если через 250нс стартовый уровень подтверждается, то начало отсчетов по 500нс Цитата(Stas @ Jan 15 2009, 18:39)  Подстройка частоты приема производится по каждому фронту на обоих входных линиях. хотя так оно может быть и правильнее, все-таки Манчестер - синхронный интерфейс. т.е. по первому прерыванию делаем первый отсчет 250нс, а последующие по 500нс, но если приходит прерывание, то перезапускаем отсчет. в результате получается так: 1.по первому прерыванию делаем три отсчета (250-500-500нс) для приема первой половины синхроимпульса; 2.по второму прерыванию делаем три отсчета (250-500-500нс) для приема второй половины синхроимпульса; 3.по последующим прерываниям делаем по одному отсчету (250нс) для приема полубита. честно говоря 20 лет назад писал диплом по теме "кодек Манчестерского кода на полузаказной БИС" (Зеленоградская разработка была), но хоть убей не помню уже как у них аппаратно это было реализовано
|
|
|
|
|
May 8 2009, 07:59
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(stells @ May 8 2009, 11:31)  честно говоря 20 лет назад писал диплом по теме "кодек Манчестерского кода на полузаказной БИС" (Зеленоградская разработка была), но хоть убей не помню уже как у них аппаратно это было реализовано У меня дома в макулатуре схема кодека M-II на рассыпухе валяется с прошлой работы 10 Мгц, однако. Можно и больше, но удвоенная - 20МГц на 1533 с трудом уже идёт. Там задержка 3/4 периода на цепочке из 3-х катушек была реализована. MIL STD 1553 (или наш мультиплексный канал) - всего 1МГц. Вообще без проблем, если на железе. Например, на маленькой ПЛИСке. Есть и советский однокристальный кодек, не помню как называется. На тактовой 12МГц как раз для этих целей заточен. Ностальгия... Всю жизнь только манчестером и занимался. А система в манчестере очень простая. От любого фронта отсчитываем 3/4 периода и защёлкиваем информацию. Далее ждём следующий фронт. Только вначале должна быть синхра из длинных импульсов (чередование 1 и 0), чтобы быстро синхронизироваться. В MIL STD 1553 по-моему хитрее, там стартовый интервал равен 1,5 битовых (если ничего не путаю). Вообще програмно можно это дело реализовать даже на контроллере. Готовые модули на любой вкус и цвет брали у питерского элкуса.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
May 8 2009, 08:22
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(MrYuran @ May 8 2009, 11:59)  Есть и советский однокристальный кодек, не помню как называется. На тактовой 12МГц как раз для этих целей заточен. насколько я помню в конце 80-х у Ангстрема несколько кодеков на полузаказных БИС было сделано, тактовая действительно была 12МГц, делилась на 2 и вот по этим интервалам в шестую часть периода и шла синхронизация. но точно не помню Цитата(MrYuran @ May 8 2009, 11:59)  А система в манчестере очень простая. От любого фронта отсчитываем 3/4 периода и защёлкиваем информацию. Далее ждём следующий фронт. Только вначале должна быть синхра из длинных импульсов (чередование 1 и 0), чтобы быстро синхронизироваться. В MIL STD 1553 по-моему хитрее, там стартовый интервал равен 1,5 битовых (если ничего не путаю). Вообще програмно можно это дело реализовать даже на контроллере. Готовые модули на любой вкус и цвет брали у питерского элкуса. а почему именно 3/4? а у Элкуса модули для ГОСТовского Манчестера. изначально же автора этой темы интересовал свой Манчестер для нефтяников - там скорости ниже, максимум 64кбит можно на кабеле получить. а поскольку скорость низкая, то и программная реализация напрашивается
|
|
|
|
Сообщений в этой теме
AnDrum программная реализация MIL-STD-1553 Aug 1 2006, 20:35 ВВА Цитата(AnDrum @ Aug 2 2006, 00:35)
А чт... Aug 4 2006, 07:42 AnDrum Цитата(ВВА @ Aug 4 2006, 11:42) А что Вы ... Aug 5 2006, 21:15  ВВА Ну сразу. что будет плохо.
1. Этот стандарт весьма... Aug 7 2006, 05:39   AnDrum Цитата(ВВА @ Aug 7 2006, 09:39) Ну сразу.... Aug 7 2006, 19:41    ВВА _________________________
1. Все реализуют... . ... Aug 8 2006, 09:48 Andrew_ Цитата(AnDrum @ Aug 2 2006, 00:35) ПОдска... Aug 19 2006, 13:58 EE-1313 Здравствуйте, тоже озадачен вопросом реализации, о... Jan 15 2009, 11:48 Stas Я всё слово принимаю в 40 бит сдвиговый регистр на... Jan 15 2009, 14:39 DmitryR А вот объясните мне пожалуйста. Если фаза этой удв... May 7 2009, 05:39     MrYuran Цитата(stells @ May 8 2009, 12:22) а поче... May 8 2009, 09:22      stells Цитата(MrYuran @ May 8 2009, 13:22) Коряв... May 8 2009, 09:26  sazh Цитата(DmitryR @ May 8 2009, 10:30) Еще п... May 8 2009, 07:33 Stas Вот вроде самая продвинутая из старья.
http://www.... May 8 2009, 11:16 dkogna А есть ли тут люди, кто тестировал 1553 платы спе... Jun 27 2009, 12:51
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|