Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
23.02.2013, 10:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.12.2009
Сообщений: 4,561
Сказал спасибо: 619
Сказали Спасибо 1,813 раз(а) в 974 сообщении(ях)
|
Работа контроллеров в паре
Может это в "Обмен опытом", потому что пост не содержит никакого вопроса, я только расскажу о решении.
Задача была - связать один старый прибор с компом.
Обычно для таких целей я использую PIC16F870, двадцати линий в большинстве случаев хватает. Но здесь надо было опросить два 15-контактных разъема (т.е. - не хватило.)
Рассмотрев достаточно очевидные пути, я решил, что наиболее простым окажется добавление еще одного контроллера. Это давало мне выигрыш в свободе разводки платы. В результате удалось все сделать на односторонней плате, что для ЛУТ-а есть облегчение заметное)))))
Итак, ведущим контроллером, связанным с компом, был 16F870, а подчиненным - 16F84.
Хотя строгая синхронность в этой задаче была и не нужна, но появилась мысль запитать оба одним тактовым сигналом. В случае RC-генератора вход-выход связались бы без проблем, но здесь мне был нужен кварц, потому что связь с компом была по UART.
Кварц взял стандартный 4 МГц на ведущем контроллере, все конденсаторы - по 15 пФ. Режим обоих контроллеров- XT.
См. приложенную схему.
Кроме того, для вящей экономии выводов, я использовал -MCLR подчиненного контроллера как управление.
Работа получалась такой.
Подчиненный контроллер постоянно находился в режиме сброса.
Когда ведущий получал от компа команду запуска, он снимал сигнал -MCLR, подчиненный запускался, опрашивал свою часть выводов, отсылал данные ведущму в последовательном виде по одной линии и затыкался бесконечным циклом. А ведущий, приняв от него данные, снова устанавливал сброс.
Ну а дальше опрос ведущим остальных выводов, сборка битов в слова и отсылка на COM-порт.
Программировал на PBP, пересылка между контоллерами- по SEROUT - SERIN, mode 6.
Может кому-то пригодится.
Последний раз редактировалось кустомер; 23.02.2013 в 11:06.
|
|
|
|
23.02.2013, 11:22
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Работа контроллеров в паре.
Апплодирую стоя!
Когда-то я в собственной дипломной работе применял нечто подобное - соединял два 870ых параллельно. Сейчас я бы себе руки вырвал за такое решение.
|
|
|
|
23.02.2013, 12:35
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Работа контроллеров в паре
Погуглите Регистры сдвига и больше никогда так не делайте
|
|
|
|
23.02.2013, 12:44
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,982
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
|
Re: Работа контроллеров в паре
Сообщение от Easyrider83
|
соединял два 870ых параллельно
|
умощнял, напаяв один на другой? ![Весело](images/smilies/icon_laugh.gif)
работа от одного генератора нескольких МК давно практикуется, даже в ДШ производителей, а уж кетаяйцами...
|
|
|
|
23.02.2013, 13:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Работа контроллеров в паре
Сообщение от кустомер
|
Работа получалась такой.
Подчиненный контроллер постоянно находился в режиме сброса.
|
Афигенское решение!
Надо было его в PowerDown и по сбросу - запуск, что не меняет основную программу за исключением формирования импульса запуска и не меняет программу слейва за исключением сна вместо бесконечного цикла.
Сообщение от кустомер
|
Может это в "Обмен опытом", потому что пост не содержит никакого вопроса, я только расскажу о решении.
|
В "обмен негативным опытом" в раздел - так делать не надо.
Сообщение от niXto
|
Погуглите Регистры сдвига
|
Регистрами долго. 2-3 корпуса 74х244. В данном случае.
|
|
|
|
23.02.2013, 13:20
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Работа контроллеров в паре
Сообщение от jump
|
умощнял, напаяв один на другой? ![Весело](images/smilies/icon_laugh.gif)
работа от одного генератора нескольких МК давно практикуется, даже в ДШ производителей, а уж кетаяйцами...
|
Да не. Там механикой управляло. Второй подстраховывал. На случай сбоя первого. Иначе провода на антенне оборвать легко. А зимой их там на крыше соединять было бы кисло.
|
|
|
|
23.02.2013, 15:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Работа контроллеров в паре
Сообщение от omercury
|
Регистрами долго. 2-3 корпуса 74х244. В данном случае.
|
Только для вас долго, ТС вполне достаточно:
Сообщение от кустомер
|
подчиненный запускался, опрашивал свою часть выводов, отсылал данные ведущму в последовательном виде по одной линии и затыкался бесконечным циклом.
|
А вот как вы распаяете 2...3 НС244 на односторонней плате - мне и самому очень интересно:
Сообщение от кустомер
|
Это давало мне выигрыш в свободе разводки платы. В результате удалось все сделать на односторонней плате, что для ЛУТ-а есть облегчение заметное)))))
|
|
|
|
|
23.02.2013, 18:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.12.2009
Сообщений: 4,561
Сказал спасибо: 619
Сказали Спасибо 1,813 раз(а) в 974 сообщении(ях)
|
Re: Работа контроллеров в паре.
А чего это все так возбудились? -
Сообщение от Easyrider83
|
Сейчас я бы себе руки вырвал за такое решение.
|
Сообщение от omercury
|
В "обмен негативным опытом" в раздел - так делать не надо.
|
Сообщение от niXto
|
больше никогда так не делайте
|
Почему? Всё прекрасно работает. Вменяемые аргументы против - есть?
Сообщение от niXto
|
Погуглите Регистры сдвига
|
Несколько корпусов регистров сдвига по цене будут столько же, если не дороже, чем дополнительный МК, а гимора с разводкой - целый воз. Зачем оно мне надо?..
Сообщение от omercury
|
Надо было его в PowerDown и по сбросу - запуск, что не меняет основную программу за исключением формирования импульса запуска и не меняет программу слейва за исключением сна вместо бесконечного цикла.
|
Не понял хода вашей мысли. В бесконечном цикле он успевал провернууться наверное раз десять, а там ведущий уже выставил сброс и - баста. Нет уже никакой разницы чо там было: бесконечный цикл или еще что.
__________________
оставил форум, защищая свою честь и достоинство.
|
|
|
|
23.02.2013, 19:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 17.05.2005
Адрес: Украина
Сообщений: 1,963
Сказал спасибо: 295
Сказали Спасибо 496 раз(а) в 361 сообщении(ях)
|
Re: Работа контроллеров в паре
Сообщение от niXto
|
А вот как вы распаяете 2...3 НС244 на односторонней плате - мне и самому очень интересно:
|
74HC245, 74HC573 - легче значительно.
|
|
|
|
23.02.2013, 19:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,982
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
|
Re: Работа контроллеров в паре
Сообщение от кустомер
|
А чего это все так возбудились?
|
поставили б 64ногий пик или мср23016/17 - никто не ржал бы, не заметив
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:02.
|
|