Size: a a a

2022 January 07

PB

Petr Belyaev in Embedded Group
Кто-нибудь сталкивался с ситуацией, когда хочется между 2 процами сделать SPI, но тот проц, который логически должен быть слейвом, может быть только мастером? Хочется сделать подобие бомжового eSPI: CS/MOSI/MISO/CLK/IRQ. Не знаю почему, но кажется костылем )

Цель моего вопроса - понять, насколько это "некрасивое" решение и во что оно выльется для программиста.

Для справки - "слейв" - CM7 внутри iMX8M Plus, "мастер" - CM0 внутри CCG5, который по сути только менеджмент контроллер для USB портов и питальников
источник

A

Alexander in Embedded Group
А там других методов взаимодействия типа shared memory нет?

Или ты хочешь по SPI со сторонним камнем общаться хочешь?
источник

PB

Petr Belyaev in Embedded Group
Так CM7 в одном камне и CM0 - в другом )
CCG5 - это камень для менеджмента TypeC портов с CC физикой и кучей всяких плюшек
источник

PB

Petr Belyaev in Embedded Group
Ну и в нем есть 4 SCB (Serial Communication blocks). С довольно скудными возможностями в отношении ролей (master/slave). Уарты не могу - в iMX8M все занято
источник

KA

Konstantin Akmarov in Embedded Group
а какие-то мк умееют в shared memory между разными чипами ?
источник

A

Alexander in Embedded Group
Нет, но из исходного сообщения мне показалось что задача заключается в обмене по SPI между двумя ядрами одного проца.
источник

A

Alexander in Embedded Group
А i2c?
источник

e

evg@kzn in Embedded Group
Норм решение
источник

KA

Konstantin Akmarov in Embedded Group
а какая разница кто слейв и кто мастер если и с обеих сторон свой софт?
источник

PB

Petr Belyaev in Embedded Group
Этого хочется любой ценой избежать. Поскольку на CCG5 висит весь менеджмент несущей платы, который и с I2C, и со свичом. Надо либо какой-то flow control базовый (вот uart идеально зашел бы), либо что-то более быстрое... И все равно flow control
источник

PB

Petr Belyaev in Embedded Group
Ну. Почти весь. Всякие M2 слоты уже на I.MX, там нечего делать менеджеру питания
источник

A

Alexander in Embedded Group
Если скорости невысокие - мб SW-uart?
Или это не комильфо?
источник

PB

Petr Belyaev in Embedded Group
Чтож, я в эту сторону не смотрел, но мысль о таком варианте подтолкнула меня дальше в сторону SPI ))
Его до 10М минимум разогнать удастся. Похоже, не остается вариантов
источник

PB

Petr Belyaev in Embedded Group
Поторопился - в ДШ до 8М. Все равно относительно хорошо
источник

A

Alexander in Embedded Group
Тогда в твоих условиях это лучшее решение )
источник

A

Alexander in Embedded Group
Еще есть хабы SPI <-> (4x) UART
источник

A

Aleksandr Zharov in Embedded Group
Иди без прокачки
источник

AK

Andy Korg in Embedded Group
Как-то городил такой костыль - на MISO на мастере висел IRQ на сброс линии. Соответственно когда slave надо было что-то отдать, он прижимал MISO к земле и дальше уже обычный SPI запускался
источник

DB

Denis Barinov in Embedded Group
И через несколько лет лучше с ним не говорить о ЗП :)
источник
2022 January 08

VO

Vyacheslav Olkhovche... in Embedded Group
источник