реклама на сайте
подробности

 
 
> Экономичный и быстрый протокол для обмена между микроконтроллерами с RTOS, Ищу идеи по реализации
AlexandrY
сообщение Apr 5 2013, 08:35
Сообщение #1


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Есть два микроконтроллера связанных по одному из интерфейсов UART, SPI, I2C или еще каким либо последовательным интерфейсом.
Обмен между ними достаточно скоростной, не менее 1 Мбит/c.

На физическом уровне все достаточно понятно, включаем DMA на обоих микроконтроллерах и отражаем принимаемые и посылаемые кадры DMA в память.
Чтобы уменьшить накладные расходы процессорного времени на перезапуск, DMA включаем на постоянную работу по связному списку из указателей на два приемных буфера.
Также и с передатчиком.

Но а дальше как?

Как упаковывать данные, какие хидеры им давать, как контролировать целостность чтобы все это занимало как можно меньше процессорного времени и полосы пропускания.
Затем вопрос по программной архитектуре приемников.
Делать ли общий конвейер в драйвере приемника куда бы копировались все пакеты или может быть создавать таблицу подписки для драйвера где все заинтересованные задачи регистрировали бы свои принимающие конвейеры или майлбоксы?
Если таблица подписки то разумно ли драйвер нагружать функцией менеджера сообщений? Это будет замедлять драйвер, хотя будет легко добавить механизм приоритетности.
Если делать общий конвейер, то все равно нужен менеджер сообщений, но в отдельной задаче. А это уже расход стека на дополнительную задачу...

Да, и речь идет о жестком риалтайме и малых микроконтроллерах типа Cortex-M4, т.е. никаких линуксов и стандартных API типа POSIX.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DASM
сообщение Apr 26 2013, 21:09
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



суть сего топика в виде статьи для журнала будет нарушением авт. прав ? А SYS/BIOS Inter-Processor Communication из Техасовских OMAP это никак не в ту степь ? http://www.ti.com/general/docs/lit/getlite...eNumber=sprugo6 Я пока бегло ознакомился, но вроде в Техасе не идиоты работают, да и общение ARM и DSP на одном кристалле вряд ли медленное.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 28 2013, 12:12
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(DASM @ Apr 27 2013, 00:09) *
суть сего топика в виде статьи для журнала будет нарушением авт. прав ? А SYS/BIOS Inter-Processor Communication из Техасовских OMAP это никак не в ту степь ? http://www.ti.com/general/docs/lit/getlite...eNumber=sprugo6 Я пока бегло ознакомился, но вроде в Техасе не идиоты работают, да и общение ARM и DSP на одном кристалле вряд ли медленное.



Статей на эту тему как снежный ком. Вот например аналитика
Про детали реализации только мало пишут.
Использование разделяемой памяти как у TI это конечно удобно ,но это только в пределах одного чипа.
Потом я не согласен с их утверждением о необходимости инвариантности API по отношению к однопроцессорной и многопроцессорной среде.
Это выдает явное пренебрежение риалтаймом. Нельзя мимикрировать под локальные задачи если время доступа становится неопределенным.
Кстати ни в одной статье не нашел еще ни одного намека на какие-то измерения времени передачи сообщений или механизмы его контроля в IPC.

Я свою задачу пока решил хоть и кривовато. Загрузка процессора транспортным протоколом меньше 1% при 1 Мбит/c
Сделал два типа взаимодействия: мастер-слэйв и подписка на трансляцию со слэйва.
Отказался от адресных сообщений между удаленными задачами как в MQX, а сделал просто вызов общих функций на слэйве. Это сделало хидер очень коротким - байт на идентификатор функции и байт на длину тела.
Переложил на приложение задачу разруливания возможных гонок при обращении к общим функциям.
Правда это делает такое решение малопортабельным.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AlexandrY   Экономичный и быстрый протокол для обмена между микроконтроллерами с RTOS   Apr 5 2013, 08:35
- - Shamil   Цитата(AlexandrY @ Apr 5 2013, 14:35) Как...   Apr 5 2013, 09:57
|- - AlexandrY   Цитата(Shamil @ Apr 5 2013, 12:57) Для на...   Apr 5 2013, 10:49
|- - Shamil   Цитата(AlexandrY @ Apr 5 2013, 16:49) Это...   Apr 5 2013, 12:04
- - SyncLair   интересная задача -- на мой взгляд, она сводится к...   Apr 5 2013, 20:01
|- - AlexandrY   Цитата(SyncLair @ Apr 5 2013, 23:01) инте...   Apr 6 2013, 19:27
- - DASM   Может не в тему, но возникла что-то подобное на Те...   Apr 6 2013, 08:09
|- - Axel   Цитата(DASM @ Apr 6 2013, 11:09) ... заде...   Apr 6 2013, 10:08
- - DASM   Но у нас сопряжение с ПЛИС идет, надо глядеть доку...   Apr 6 2013, 10:54
|- - Axel   Цитата(DASM @ Apr 6 2013, 13:54) Но у нас...   Apr 7 2013, 03:31
- - DASM   Сдается мне, что автор не вопрос задавал, поскольк...   Apr 6 2013, 19:33
|- - AlexandrY   Цитата(DASM @ Apr 6 2013, 22:33) Сдается ...   Apr 7 2013, 11:54
- - vshemm   В такой постановке задачи нет связи между минимиза...   Apr 7 2013, 17:44
- - juvf   Цитата(AlexandrY @ Apr 5 2013, 14:35) Ест...   Apr 15 2013, 03:09
|- - AlexandrY   Цитата(juvf @ Apr 15 2013, 06:09) Наприме...   Apr 17 2013, 08:43
|- - denyslb   Цитата(AlexandrY @ Apr 17 2013, 11:43) По...   Jun 29 2013, 01:34
- - PheeL   Хочу посоветовать обратить внимание на систему соо...   Apr 17 2013, 09:10
|- - rsv   Цитата(PheeL @ Apr 17 2013, 13:10) Хочу п...   Apr 17 2013, 16:42
|- - AlexandrY   Цитата(rsv @ Apr 17 2013, 19:42) А там ес...   Apr 17 2013, 17:46
- - kikos   Цитата(AlexandrY @ Apr 5 2013, 12:35) Ест...   Jun 6 2013, 10:31
- - Fujitser   Сериализацию тут зачем-то вспомнили, это вообще из...   Jun 14 2013, 12:59
|- - AlexandrY   Цитата(Fujitser @ Jun 14 2013, 15:59) Сер...   Jun 14 2013, 15:15
|- - ViKo   Цитата(AlexandrY @ Jun 14 2013, 18:15) 1-...   Jun 14 2013, 18:04
|- - Axel   Цитата(ViKo @ Jun 14 2013, 21:04) Я испол...   Jun 15 2013, 17:00
|- - AlexandrY   Цитата(ViKo @ Jun 14 2013, 21:04) Я испол...   Jun 15 2013, 19:22
|- - ViKo   Цитата(AlexandrY @ Jun 15 2013, 22:22) А ...   Jun 17 2013, 08:50
|- - AlexandrY   Цитата(ViKo @ Jun 17 2013, 11:50) У меня ...   Jun 17 2013, 09:03
|- - ViKo   Цитата(AlexandrY @ Jun 17 2013, 12:03) У ...   Jun 17 2013, 09:24
- - AndrewN   Новелла увы, превратилась в устареллу, но попохвал...   Sep 18 2013, 17:17


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01416 секунд с 7
ELECTRONIX ©2004-2016