axle 0 24 апреля, 2007 Опубликовано 24 апреля, 2007 · Жалоба Разрабатываю устройство на микроконтроллере ARM7 или ARM9 (пока выбрал LPC2292), которое требует подключения дополнительных модулей (например, модуль с АЦП или Ethernet). Модули устанавливаются в материнскую плату устройства. Посоветуйте какую шину лучше использовать для обмена с этими модулями. Требования к шине: минимальная нагрузка на проц, возможность обработки прерываний и главное минимальная цена. Требования к скорости в цифрах привести не готов, но наверно самым требовательным модулем будет Ethernet. Пока остановился на интерфейсе подключения внешней памяти (CS, адрес, данные, WE, OE) + селектор адреса + собственный простенький контроллер прерываний. В принципе, получается что-то похожее на ISA, но без DMA. К такой шине легко можно подключить и параллельный АЦП и Ethernet контроллер (например, CS8900A). Но хочется использовать что-то более стандартное. Может кто подскажет какие еще могут быть варианты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 24 апреля, 2007 Опубликовано 24 апреля, 2007 · Жалоба Тащить наружу интерфейс внешней памяти, не очень удачная идея, для просессора такого класса! Дешево не получится, одни разъемы будут стоить дороже чем микроконтроллер. Внешний АЦП логичнее подключить на I2C если нужен ethernet то гораздо дешевле взять ARM с ethernet на борту например STR9 или LPC23xx (они правда пока только семплы) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chan 0 24 апреля, 2007 Опубликовано 24 апреля, 2007 · Жалоба Можно прикрутить ПЛИС как память, а из нее уже вытащить все что нужно для конкретной задачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
axle 0 25 апреля, 2007 Опубликовано 25 апреля, 2007 · Жалоба Внешний АЦП логичнее подключить на I2C если нужен ethernet то гораздо дешевле взять ARM с ethernet на борту например STR9 или LPC23xx (они правда пока только семплы) Мне нужна универсальная шина для расширения функциональности базового устройства. А так получится для каждого дополнительного модуля свой интерфейс. А Ethernet и АЦП я привел для примера, завтра может понадобиться подключить что-то другое. Можно прикрутить ПЛИС как память, а из нее уже вытащить все что нужно для конкретной задачи. А куда ПЛИС ставить? На материнскую плату или на каждый внешний модуль? Если на материнскую плату, то как например отключить модуль Ethernet и подключить вместо него какой-нибудь другой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lehho 0 25 апреля, 2007 Опубликовано 25 апреля, 2007 · Жалоба Мне нужна универсальная шина для расширения функциональности базового устройства. А так получится для каждого дополнительного модуля свой интерфейс. А Ethernet и АЦП я привел для примера, завтра может понадобиться подключить что-то другое. А куда ПЛИС ставить? На материнскую плату или на каждый внешний модуль? Если на материнскую плату, то как например отключить модуль Ethernet и подключить вместо него какой-нибудь другой? На материнку ставьте и меняйте прошивку в ПЛИС под ваши задачи. ПЛИС можно и на высокие частоты разогнать и DMA реализовать, да что угодно в ПЛИС можно сделать. Более бюджетный вариант вытащить все свободные порты контроллера на разъём. Будет у Вас наружу торчать I2C, SPI, UART, CAN и внешняя шина. Если что-то экзотическое, то реализуете времянку на портах . Хотя так ли уж нужна Вам универсальность? Отдельная плата + ПЛИС + толстый разъём, а это деньги. В погоне за универсальностью монстр может получиться. Если уж так надо, то на материнке к контроллеру цепляйте базовые интерфейсы обмена: Ethernet, USB, RS232/RS485. А для управления внешними устройствами либо вытаскивайте оставшиеся порты на разъём, либо подключайте ПЛИС. Может подобные платы в виде Китов и купить можно и делать ничего не надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться