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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> ARM7 или Cortex-Mx SDIO SLAVE возможно ли ?, возможно ли сделать SDIO в режиме Slave?
detonator
сообщение May 14 2012, 19:50
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 13-05-09
Пользователь №: 49 010



Может задача показаться немного страной и у многих появится идея решить её по другому.
( право каждого! Но не хотел бы чтобы тема была раскрыта и не укатилась в полёте мыслей участников в “тамтарары”. )

Давно просматривая возможность межпроцессорного взаимодействия на скоростях выше 25 МегаБайт в секунду.
Есть задумка реализовать это на интерфейсе SDIO сейчас воткнутом почти во всех микроконтроллерах. В режимах 4 или 8 битной шины такие скорости реализовать возможно.

Но не нашел контроллера ( приоритет ARM7/Cortex-Mx из за цены ) где возможно SDIO настроить на приём! Вывод CLK у всех интерфейсов настраивается как выход.
( Нюансы программной часть сейчас более тщательно просматриваю. )

Подскажите, пожалуйста, возможно ли настроить в микроконтроллере блок SDIO на приём?
Допускается обход стандартного алгоритма протокольной части. То есть возможно не придерживаться заложенного в стандарте этапов инициализацию , пересылку команд, и гнать просто данные в любом направлении ! Не важно данные идут от мастера к ведомому или на оборот.
Если есть предложения как возможно реализовать и на чем пишите, жду с нетерпением sm.gif.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 14 2012, 20:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(detonator @ May 14 2012, 23:50) *
Подскажите, пожалуйста, возможно ли настроить в микроконтроллере блок SDIO на приём?

SDIO подразумевает четкое разделение host/card, контроллер последней в процессорах общего применения не встречается. Так что ответ - нет, нельзя.
Если устроит скорость 100Mbit, можно организовать соединение через [R]MII - процессоров с контроллером EMAC на борту сейчас тоже достаточно.
Go to the top of the page
 
+Quote Post
KRS
сообщение May 14 2012, 20:22
Сообщение #3


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(detonator @ May 14 2012, 23:50) *
Подскажите, пожалуйста, возможно ли настроить в микроконтроллере блок SDIO на приём?

нет, нельзя, клоки только на выход везде. так что не обойти.



Цитата(aaarrr @ May 15 2012, 00:17) *
Если устроит скорость 100Mbit, можно организовать соединение через [R]MII - процессоров с контроллером EMAC на борту сейчас тоже достаточно.

А как через [R]MII можно соединить?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 14 2012, 20:30
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(KRS @ May 15 2012, 00:22) *
А как через [R]MII можно соединить?

Проводами крест-накрест sm.gif
Go to the top of the page
 
+Quote Post
KRS
сообщение May 14 2012, 20:41
Сообщение #5


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(aaarrr @ May 15 2012, 00:30) *
Проводами крест-накрест sm.gif

так PHY нужны
или все таки можно MAC <-> MAC соединить прямо два LPCxx без свитчей и т.п. (на одной плате)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 14 2012, 20:44
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(KRS @ May 15 2012, 00:41) *
или все таки можно MAC <-> MAC соединить прямо два LPCxx без свитчей и т.п. (на одной плате)

Именно так. Для RMII получается всего 7 проводов.
Go to the top of the page
 
+Quote Post
KRS
сообщение May 14 2012, 21:50
Сообщение #7


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(aaarrr @ May 15 2012, 00:44) *
Именно так. Для RMII получается всего 7 проводов.

данные 2 * 2 крест на крест = 4
клок 50 Mhz на оба

а еще два?

Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 14 2012, 21:55
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(KRS @ May 15 2012, 01:50) *
а еще два?

CRS_DV и TXEN.
Go to the top of the page
 
+Quote Post
detonator
сообщение May 15 2012, 04:06
Сообщение #9





Группа: Новичок
Сообщений: 5
Регистрация: 13-05-09
Пользователь №: 49 010



Спасибо за быстрый ответ.sm.gif наблюдение - тема укатилась в полёте мыслей участников в “тамтарары” уже на 3 сообщении. ( куда все спешат ? интересно как связаться по R[MII] создайте тему. )
на счет R[MII] это был самый первый рассматриваемый вариант. но проблема в том что на одном из контроллеров предполагается его задействовать по назначению. ( в этом сегменте микроконтроллеров в 2 R[MII] не так много и дороговаты ) ещё возможно соединиться по USB OTG но для этого если понадобиться сделаю новую тему.
А теперь по существу.
Пока SDIO на микроконтроллерах реализован только физическом и канальном уровне. То есть блок может передавать в нужном формате данные и формировать интерфейсные данные. А следующий уровень пока ещё не реализован и он делается программно. Происходит инициализация устройства , передача команды и приём или передача данных. Всё транзакции имеют свой вид пакета которые складываться по DMA в память
Хотелось бы более детально рассмотреть возможность подключении двух контроллеров при следующем алгоритме работы ( рассмотрим на примере SD карты роль которой выполняет один из контролёров ):
Получение блока данных из SD карты . хост в этот момент переводит шину в приём и по своим тактовым сигналам принимает пакет. SD карта ( в нашем случает микроконтроллер ) выдаёт пакет данных на той же частоте но уже по своему тактирующему сигналу.
( Получается что один контроллер находиться в стандартном режиме приёма пакета от слейва , а второй в стандартном режиме передачи пакета слейву. )
И тут остаётся только синхронизировать CLK . по светотехники это не сложно . ( надо посмотреть допустимые задержи на шине. )
Вопрос наверно в программной части .
Как вам подход? Имеет ли шанс такая реализация ?

Сообщение отредактировал detonator - May 15 2012, 04:10
Go to the top of the page
 
+Quote Post
izerg
сообщение May 15 2012, 05:47
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 531
Регистрация: 1-02-05
Из: Украина, Киев
Пользователь №: 2 342



Вы не рассматриваете возможность реализации двумя камнями ?
В первом - мост SDIO - во чтониудь поприятнее с буфером (возможно тот же RMII),
Во втором - небольшой кортекс для обработки задач.
В качестве первого камня - можно пробовать небольшой MAXII от Альтеры, реализацию SDIO slave на них попадалась.
Go to the top of the page
 
+Quote Post
detonator
сообщение May 15 2012, 06:28
Сообщение #11





Группа: Новичок
Сообщений: 5
Регистрация: 13-05-09
Пользователь №: 49 010



Уже рассматривал! вопрос в финансовой части.
( сравнивал MAXII vs Lattice MachXO2(LatticeXP2), xillinx )
Цена моста дороже микроконтроллера. Эти данные потом попадают в память и обрабатываться.
( у логики нет достаточно памяти, надо порядка 32-64 кБ. )
Задачу по сути на CPLD/FPGA реализовать возможно. Но цена таких начинается от 5 долларов , а за такую сумму можно купить шустрый Сortex и всё сделать на нём с запасом по мощности.
Как не крути программируемая логика дорога для этого применения . А микроконтроллеры сейчас работают на схожих частотах и алгоритмов возможно реализовать больше за меньшие деньги.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 15 2012, 08:30
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(detonator @ May 15 2012, 08:06) *
куда все спешат ? интересно как связаться по R[MII] создайте тему.

Это не того масштаба оффтоп, чтобы куда-то выносить обсуждение.

Цитата(detonator @ May 15 2012, 08:06) *
Как вам подход? Имеет ли шанс такая реализация ?

Теоретически имеет, но:
- придется городить дополнительный интерфейс между контроллерами для "переговоров", т.к. по линии CMD общение отпадает
- нужна будет логика для передачи данных между двумя разными CLK-доменами (какая-нибудь мелкая CPLD), ей тоже придется управлять со стороны одного из МК

Вы бы пояснили смысл создания такого скоростного соединения между двумя мелкими МК.
Go to the top of the page
 
+Quote Post
Altemir
сообщение May 15 2012, 09:28
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 249
Регистрация: 2-05-06
Из: Россия, Поволжье
Пользователь №: 16 686



detonator
А нельзя просто по параллельному интерфейсу? Особенно, если у обоих контроллеров будет хотя бы EMC SRAM. При реализации подобных скоростей обычно применяют двухпортовую память, которая ставится между двумя контроллерами. При желании можно и без неё, но в скорости проиграете. Реализация простая - два кольцевых буфера.
Go to the top of the page
 
+Quote Post
detonator
сообщение May 15 2012, 12:44
Сообщение #14





Группа: Новичок
Сообщений: 5
Регистрация: 13-05-09
Пользователь №: 49 010



Altemir
EMC занят на одном и возможно на втором он тож будет использоваться.

aaarrr
- придется городить дополнительный интерфейс между контроллерами для "переговоров", т.к. по линии CMD общение отпадает .
Я про это и пытался написать когда говорил про об обходе стандартного интерфейса.
( но думаю что заведя CMD на перекрывание может получиться оставить его . правда зачем .sm.gif )


>> Вы бы пояснили смысл создания такого скоростного соединения между двумя мелкими МК.
Не так часто захожу на electronix.ru и пока не освоился. Так что пока воздержался бы о смысле такого соединения.

Спасибо за поддержку. Буду пытаться сделать соединение. О результатах постараюсь написать.
Go to the top of the page
 
+Quote Post
Tano
сообщение Feb 9 2013, 09:32
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 286
Регистрация: 19-05-06
Пользователь №: 17 257



To detonator.
Ну что-то получилось?
Просматриваю такое решение между МК и ПЛИС.


--------------------
С уважением Tano
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th June 2025 - 19:18
Рейтинг@Mail.ru


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