Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Параллельное включение микроконтроллеров
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
sergeus
В моем устройстве два режима, программно их разделить нельзя, поэтому надо ставить параллельно два микроконтроллера ATmega168.

Как лучше сделать переключение между микроконтроллерами?

Из периферии - карта памяти microSD и преобразователь UART-USB FT232.
hd44780
Т.е. у тебя оба проца должны поочерёдно рулить одной и той же картой и одним и тем же USB?
sergeus
Цитата(hd44780 @ Nov 5 2011, 13:27) *
Т.е. у тебя оба проца должны поочерёдно рулить одной и той же картой и одним и тем же USB?


Да, но они рулят в разное время, а не одновременно. Просто паять две одинаковые платы не разумно, проще параллельно поставить мкшники и сделать переключатель между ними.
hd44780
Переключатель не нужно.
Один проц вырубает SPI и UART (с переводом этих ног в Z состояние, для AVR это Input без pull-up), сообщает как-то о этом второму, тот включает свои SPI, UART. Потом наоборот.
Электрически все 3 компонента (2 МК, SD/USB) на каждой линии сидят параллельно, без каких-то буферов и пр. Вот только нужен кто-то, кто будет всё это координировать.
sergeus
Цитата(hd44780 @ Nov 5 2011, 13:47) *
Переключатель не нужно.
Один проц вырубает SPI и UART (с переводом этих ног в Z состояние, для AVR это Input без pull-up), сообщает как-то о этом второму, тот включает свои SPI, UART. Потом наоборот.
Электрически все 3 компонента (2 МК, SD/USB) на каждой линии сидят параллельно, без каких-то буферов и пр. Вот только нужен кто-то, кто будет всё это координировать.


Спасибо за совет!

Но у меня прошивки написаны и мудрить с кодом я не хочу. Хотелось бы сделать это переключение аппаратным. Например, может ногу Reset нерабочего проца держать в активном состоянии или еще как?
_dem
Поставить между процами и периферией буфера с Z-состоянием. 74hc245
ILYAUL
Цитата(sergeus @ Nov 5 2011, 15:18) *
Спасибо за совет!

Но у меня прошивки написаны и мудрить с кодом я не хочу. Хотелось бы сделать это переключение аппаратным.

А как Вы собираетесь обеспечивать аппаратное перелючение , если прошивки есть и в них не предусмотрены навороты типа очередь. А мудрить скодом не хотите
sergeus
Цитата(ILYAUL @ Nov 5 2011, 18:52) *
А как Вы собираетесь обеспечивать аппаратное перелючение , если прошивки есть и в них не предусмотрены навороты типа очередь. А мудрить скодом не хотите


Переключателем или переключателями. Не хочу переставлять мкшки в панельке.
Ruslan1
Цитата(hd44780 @ Nov 5 2011, 12:47) *
Переключатель не нужно.
Электрически все 3 компонента (2 МК, SD/USB) на каждой линии сидят параллельно, без каких-то буферов и пр.

Для общей надежности: соединяйте одноименные пины разных контроллеров через резисторы, ограничивающие сквозной ток от пина первого контроллера до пина второго контроллера до максимально допустимого. Это позволит безболезненно пережить любую расссинхронизацию контроллеров (например, сбой в работе или неодновременный ресет).
DrGluck
Цитата
В моем устройстве два режима, программно их разделить нельзя, поэтому надо ставить параллельно два ...

Цитата
Да, но они рулят в разное время, а не одновременно...

Цитата
Например, может ногу Reset нерабочего проца держать в активном состоянии или еще как? ...


.. Имхо - абсурдное сочетание ... или - уточните ситуацию плизз ...

P.S.

Цитата
Но у меня прошивки написаны и мудрить с кодом я не хочу. Хотелось бы сделать это переключение аппаратным.

Может не Написан код а Есть код ? ... а еще точнее - HEX-файл ?
sergeus
Цитата(DrGluck @ Nov 5 2011, 21:06) *
.. Имхо - абсурдное сочетание ... или - уточните ситуацию плизз ...

P.S.


Может не Написан код а Есть код ? ... а еще точнее - HEX-файл ?


Есть код, написанный мною. Есть HEX.
Огурцов
Цитата(sergeus @ Nov 5 2011, 18:31) *
Есть код, написанный мною. Есть HEX.

Взять процык в два раза толще, скомпилить проги с двух других, разных адресов и написать третью - арбитр-селектор. Радоваться.
hd44780
Цитата(sergeus @ Nov 5 2011, 19:34) *
Переключателем или переключателями.


Ну поставь обычные мультиплексоры... А их кто будет переключать? Чубайс,по старой памяти biggrin.gif ?
Да и делать это надо не как попало, а как-то синхронизированно, когда нет никакого обмена ни по SPI, ни по UART.

По-хорошему, надо какой-то арбитр делать.
Corvus
Сформулируйте задачу конкретнее. Переключать надо "на горячую". Или можно выключить прибор, нажать кнопку для смены режима, включить прибор?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.