Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Шина для подключения внешних модулей к микроконтроллеру
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам
axle
Разрабатываю устройство на микроконтроллере ARM7 или ARM9 (пока выбрал LPC2292), которое требует подключения дополнительных модулей (например, модуль с АЦП или Ethernet). Модули устанавливаются в материнскую плату устройства. Посоветуйте какую шину лучше использовать для обмена с этими модулями.
Требования к шине: минимальная нагрузка на проц, возможность обработки прерываний и главное минимальная цена. Требования к скорости в цифрах привести не готов, но наверно самым требовательным модулем будет Ethernet.
Пока остановился на интерфейсе подключения внешней памяти (CS, адрес, данные, WE, OE) + селектор адреса + собственный простенький контроллер прерываний. В принципе, получается что-то похожее на ISA, но без DMA. К такой шине легко можно подключить и параллельный АЦП и Ethernet контроллер (например, CS8900A). Но хочется использовать что-то более стандартное. Может кто подскажет какие еще могут быть варианты?
KRS
Тащить наружу интерфейс внешней памяти, не очень удачная идея, для просессора такого класса!
Дешево не получится, одни разъемы будут стоить дороже чем микроконтроллер.

Внешний АЦП логичнее подключить на I2C

если нужен ethernet то гораздо дешевле взять ARM с ethernet на борту
например STR9 или LPC23xx (они правда пока только семплы)
chan
Можно прикрутить ПЛИС как память, а из нее уже вытащить все что нужно для конкретной задачи.
axle
Цитата(KRS @ Apr 25 2007, 02:32) *
Внешний АЦП логичнее подключить на I2C
если нужен ethernet то гораздо дешевле взять ARM с ethernet на борту
например STR9 или LPC23xx (они правда пока только семплы)

Мне нужна универсальная шина для расширения функциональности базового устройства. А так получится для каждого дополнительного модуля свой интерфейс. А Ethernet и АЦП я привел для примера, завтра может понадобиться подключить что-то другое.

Цитата(chan @ Apr 25 2007, 02:58)
Можно прикрутить ПЛИС как память, а из нее уже вытащить все что нужно для конкретной задачи.

А куда ПЛИС ставить? На материнскую плату или на каждый внешний модуль?
Если на материнскую плату, то как например отключить модуль Ethernet и подключить вместо него какой-нибудь другой?
lehho
Цитата(axle @ Apr 25 2007, 06:45) *
Мне нужна универсальная шина для расширения функциональности базового устройства. А так получится для каждого дополнительного модуля свой интерфейс. А Ethernet и АЦП я привел для примера, завтра может понадобиться подключить что-то другое.
А куда ПЛИС ставить? На материнскую плату или на каждый внешний модуль?
Если на материнскую плату, то как например отключить модуль Ethernet и подключить вместо него какой-нибудь другой?


На материнку ставьте и меняйте прошивку в ПЛИС под ваши задачи. ПЛИС можно и на высокие частоты разогнать и DMA реализовать, да что угодно в ПЛИС можно сделать.

Более бюджетный вариант вытащить все свободные порты контроллера на разъём. Будет у Вас наружу торчать I2C, SPI, UART, CAN и внешняя шина. Если что-то экзотическое, то реализуете времянку на портах .

Хотя так ли уж нужна Вам универсальность? Отдельная плата + ПЛИС + толстый разъём, а это деньги. В погоне за универсальностью монстр может получиться.

Если уж так надо, то на материнке к контроллеру цепляйте базовые интерфейсы обмена: Ethernet, USB, RS232/RS485. А для управления внешними устройствами либо вытаскивайте оставшиеся порты на разъём, либо подключайте ПЛИС.

Может подобные платы в виде Китов и купить можно и делать ничего не надо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.