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

 
 
> Многопроцессорность на STM32f4 STM32f7
_lexa_
сообщение Jan 16 2018, 20:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 23-03-15
Пользователь №: 85 852



Доброе время суток!

Возникла необходимость сделать многопроцессорную систему, причем расширяемую. Также для всех процессоров в системе необходима разделяемая память. Есть запасы STM32f4 STM32f7, поэтому хотелось бы задействовать их.

Подскажите, пожалуйста, как можно выполнить поставленные задачи (если возможно имеющимися средствами)?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_lexa_
сообщение Jan 18 2018, 07:20
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 23-03-15
Пользователь №: 85 852



Цитата(Forger @ Jan 17 2018, 22:24) *
STM32F4: "Up to 4 SPIs (45 Mbits/s)"
STM32F7: "Up to 6 SPIs (up to 54 Mbit/s)"
Есть еще QuadSPI - там еще больше получается.


Со скоростями вроде как проблем нет. Идея была в разделяемой памяти. Не спорю,что можно использовать и SPI. Можно написать что-то на подобии шлюза, который с внешними устройствами будет работать по SPI, а для внутренней программы будут функции читающие и пишущие в виртуальные области памяти, которые могут быть собраны из разделов памяти контроллеров. Ну или что-то на подобии. Однако здесь не обойтись без какого-то протокола, кадры которого будут иметь служебные данные. Может случится, что при передаче небольшого куска информации, накладные расходы сожрут всю скорость.

Цитата(AlexandrY @ Jan 18 2018, 07:35) *
А не путаетесь ли вы в предмете обсуждения?
У SHARC-ов есть специальный Link Port для взаимодействия между чипами.
Разделяемую память они нигде не предлагают для таких целей.
Коммуникации внутри самих SHARC - совсем другая тема.

Но SHARC-и то всего до 500 МГц работают. Слабовато, однако, по современным меркам. laughing.gif


С шарками не имел дела года с 2005, но сейчас посмотрел наискосок документацию на ADSP-2106x, у них не только линк-порт, их также можно подключать на общую параллельную шину, на которой также может висеть и память. При этом не только внешняя память, но и части памяти всех процессоров на шине будут отображаться в общую область. Чем это не разделяемая память по сути?

500 МГц это конечно круто. Не стали с ним работать из-за его громоздкости, микросхемы на 100 ног подходили больше. И эзернета не было. Но столько воды с тех пор утекло. Может сейчас конечно все поменялось.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 18 2018, 08:13
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(_lexa_ @ Jan 18 2018, 10:20) *
Идея была в разделяемой памяти.

Плохая идея.

Цитата(_lexa_ @ Jan 18 2018, 10:20) *
Можно написать что-то на подобии шлюза, который с внешними устройствами будет работать по SPI

Ага, изобретаем велосипед Ethernet switch.

Цитата(_lexa_ @ Jan 18 2018, 10:20) *
\Однако здесь не обойтись без какого-то протокола, кадры которого будут иметь служебные данные. Может случится, что при передаче небольшого куска информации, накладные расходы сожрут всю скорость.

Как будто разделяемая память не требует протокола. Вы просто не понимаете, о чём говорите. Ethernet, проще него трудно что-либо придумать.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 18 2018, 11:47
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(scifi @ Jan 18 2018, 10:13) *
Ага, изобретаем велосипед Ethernet switch.
Как будто разделяемая память не требует протокола. Вы просто не понимаете, о чём говорите. Ethernet, проще него трудно что-либо придумать.

Для описанной ТС-ом задачи (расширяемый набор плат вставляемых в кросс-плату) реализация на базе Ethernet потребует как минимум пары линий от каждого разъёма кросс-платы и switch-а с кол-вом соединителей равным кол-ву разъёмов. Их может получиться достаточно много (не знаю сколько он там планирует максимально слэйвов).
А при реализации на базе какой-либо шины (I2C, SPI, CAN, etc) количество проводов не зависит (или почти не зависит) от числа слэйвов.

Цитата(AlexandrY @ Jan 18 2018, 11:15) *
Я всегда стараюсь применять SPI для таких вещей. По схеме мастер-слэйв. Тактирует всегда мастер.
Его можно приспособить и для прямого отображения в память данных из одного контроллера в другой используя DMA.

Существуют контроллеры имеющие аппаратное отображение областей памяти на SPI-шину.
Это интерфейс SPIFI в LPC-ках.
Программа просто читает данные по адресу в своём адресном пространстве, а это чтение преобразуется в транзакцию чтения по SPI.
Там конечно работа этого механизма заточена в основном на работу с SPI-флешками (при инициализации насколько помню в регистры конфигурации нужно записать формат команды чтения посылаемой микросхеме SPI-флешь), но если вместо такой SPI-флешки в качестве мастера подключить другой МК, который разберёт такую команду и выполнить её, то так - обращаясь к адресу в своём адресном пространстве, можно читать память другого МК.
Но для решения задачи ТС этого конечно маловато.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 18 2018, 11:56
Сообщение #5


Ally
******

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



Цитата(jcxz @ Jan 18 2018, 13:47) *
Это интерфейс SPIFI в LPC-ках.

Эт старо, теперь в NXP переходят на HyperBus.
Такое есть даже в Kinetis K8X которые на Cortex-M4

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _lexa_   Многопроцессорность на STM32f4 STM32f7   Jan 16 2018, 20:39
- - IgorKossak   Прошу участников обсуждать тему, а не причину. Мод...   Jan 17 2018, 08:54
|- - jcxz   Цитата(IgorKossak @ Jan 17 2018, 10:54) П...   Jan 17 2018, 10:04
- - x893   Участники остались - телепаты уехали.   Jan 17 2018, 09:09
- - iosifk   Цитата(_lexa_ @ Jan 16 2018, 23:39) Возни...   Jan 17 2018, 09:32
|- - AVR   Цитата(iosifk @ Jan 17 2018, 12:32) Есть ...   Jan 18 2018, 10:09
|- - scifi   Цитата(iosifk @ Jan 17 2018, 12:32) Есть ...   Jan 18 2018, 11:33
|- - Forger   Свичи, ISA, параллельная шина.... но что-то подска...   Jan 18 2018, 11:37
- - adnega   Цитата(_lexa_ @ Jan 16 2018, 23:39) поэто...   Jan 17 2018, 10:10
|- - jcxz   Цитата(adnega @ Jan 17 2018, 12:10) Обычн...   Jan 17 2018, 10:18
|- - LWW   Цитата(adnega @ Jan 17 2018, 13:10) STM н...   Apr 21 2018, 22:40
|- - aaarrr   Цитата(LWW @ Apr 22 2018, 01:40) Код АРМ ...   Apr 21 2018, 22:56
|- - AVI-crak   Цитата(aaarrr @ Apr 22 2018, 04:56) Нет, ...   Apr 21 2018, 23:36
- - iosifk   Цитата(_lexa_ @ Jan 16 2018, 23:39) Есть ...   Jan 17 2018, 10:28
- - _lexa_   Уточняю задачу. Необходимо сделать устройство сос...   Jan 17 2018, 11:03
|- - scifi   Цитата(_lexa_ @ Jan 17 2018, 14:03) Можно...   Jan 17 2018, 11:13
|- - jcxz   Цитата(_lexa_ @ Jan 17 2018, 13:03) Можно...   Jan 17 2018, 11:52
|- - Forger   Цитата(_lexa_ @ Jan 17 2018, 14:03) Не хо...   Jan 17 2018, 12:03
|- - jcxz   Цитата(_lexa_ @ Jan 17 2018, 13:03) Есть ...   Jan 17 2018, 12:05
|- - AlexandrY   Цитата(_lexa_ @ Jan 17 2018, 13:03) Идеал...   Jan 17 2018, 12:09
|- - HardEgor   Цитата(_lexa_ @ Jan 17 2018, 18:03) Идеал...   Jan 18 2018, 10:19
|- - mantech   Цитата(_lexa_ @ Jan 17 2018, 14:03) Уточн...   Jan 18 2018, 12:25
- - x893   Вот и пора свою шину придумывать. Всё это уже при...   Jan 17 2018, 11:30
- - _lexa_   Цитата(scifi @ Jan 17 2018, 11:13) Требов...   Jan 17 2018, 21:11
|- - Forger   Цитата(_lexa_ @ Jan 18 2018, 00:11) скоро...   Jan 17 2018, 21:24
|- - AlexandrY   Цитата(_lexa_ @ Jan 17 2018, 23:11) Мне н...   Jan 18 2018, 06:35
|- - Forger   Цитата(_lexa_ @ Jan 18 2018, 10:20) Однак...   Jan 18 2018, 07:50
|- - AlexandrY   Цитата(scifi @ Jan 18 2018, 10:13) Как бу...   Jan 18 2018, 09:15
- - _lexa_   Цитата(scifi @ Jan 18 2018, 09:13) Ага, и...   Jan 18 2018, 14:53
|- - scifi   Цитата(_lexa_ @ Jan 18 2018, 17:53) Эзерн...   Jan 18 2018, 14:58
- - _lexa_   Цитата(AVR @ Jan 18 2018, 11:09) Каково ж...   Jan 18 2018, 15:16
|- - scifi   Цитата(_lexa_ @ Jan 18 2018, 18:16) Я про...   Jan 18 2018, 15:20
|- - AlexandrY   Цитата(_lexa_ @ Jan 18 2018, 17:16) На те...   Jan 18 2018, 15:35
||- - scifi   Цитата(AlexandrY @ Jan 18 2018, 18:35) Пр...   Jan 18 2018, 16:55
|- - AVR   Цитата(_lexa_ @ Jan 18 2018, 18:16) А вам...   Jan 19 2018, 12:48
|- - _3m   Цитата(AVR @ Jan 19 2018, 15:48) ... не е...   Jan 19 2018, 14:24
|- - jcxz   Цитата(_3m @ Jan 19 2018, 16:24) Безнадеж...   Jan 19 2018, 20:14
|- - adnega   Цитата(jcxz @ Jan 19 2018, 23:14) Что так...   Jan 19 2018, 22:56
|- - AlexandrY   Цитата(adnega @ Jan 20 2018, 00:56) Замет...   Jan 20 2018, 09:12
|- - Forger   Цитата(AlexandrY @ Jan 20 2018, 12:12) Он...   Jan 20 2018, 09:45
- - blackfin   Цитата(AlexandrY @ Jan 18 2018, 18:35) Пр...   Jan 18 2018, 15:50
|- - AlexandrY   Цитата(blackfin @ Jan 18 2018, 17:50) ......   Jan 18 2018, 16:24
|- - blackfin   Цитата(AlexandrY @ Jan 18 2018, 19:24) Эт...   Jan 18 2018, 16:33
- - yuri.job   а я тоже за эзернет. например, если хочется до 10 ...   Jan 18 2018, 18:39
|- - AlexandrY   Цитата(yuri.job @ Jan 18 2018, 20:39) а я...   Jan 18 2018, 19:09
|- - jcxz   Цитата(yuri.job @ Jan 18 2018, 20:39) а я...   Jan 18 2018, 21:24
|- - AlexandrY   Цитата(jcxz @ Jan 18 2018, 23:24) Если не...   Jan 19 2018, 06:58
- - kolobok0   Цитата(_lexa_ @ Jan 16 2018, 23:39) ...По...   Jan 18 2018, 18:40
- - SasaVitebsk   По моему, даже при наличии аппаратного порта (пара...   Jan 18 2018, 18:55
- - LWW   Перемещаемый. Хотя может это на СИ так получается,...   Apr 21 2018, 23:41
|- - Forger   Цитата(LWW)А на ассемблере абсолютный адрес можно ...   Apr 22 2018, 05:53
|- - adnega   Цитата(LWW @ Apr 22 2018, 02:41) Перемеща...   Apr 22 2018, 07:41
|- - aaarrr   Цитата(LWW @ Apr 22 2018, 02:41) Вся адре...   Apr 22 2018, 08:16
|- - jcxz   Цитата(LWW @ Apr 22 2018, 02:41) Вся адре...   Apr 25 2018, 06:49
- - khach   Тоже столкнулся с проблемой межмодульного взаимоде...   Apr 22 2018, 10:36


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

 


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


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