Технический форум

Технический форум (http://www.tehnari.ru/)
-   Микропроцессоры (http://www.tehnari.ru/f115/)
-   -   Использование ISP пинов AVR для иных целей (http://www.tehnari.ru/f115/t264744/)

AndrejP 08.07.2019 12:11

Использование ISP пинов AVR для иных целей
 
Доброго утра! Буду признателен, если знающие люди смогли бы дать пояснения по внутрисхемному программированию (ISP) AVR микроконтроллеров.

Собственно, ситуация простая. На МК есть ноги MISO, MOSI, SCK, предназначенные для программирования. Они могут использоваться в т.ч. как обычные порты ввода/вывода. Я сейчас ковыряюсь с ATmega32, так что можно при рассмотрении ориентироваться на этот контроллер.

Рассмотрим следующие ситуации. К этим ногам подключены:
1. Светодиоды оптронов, на которые по программе МК постоянно подает сигналы;
2. Пины работают на вход, и на них от других устройств постоянно приходят сигналы.
Т.е. как только я подал питание на контроллер у меня эти пины, необходимые для программирования, включились в обмен сигналами.

Из этого вопрос. При использовании ISP принципа программирования, не будут ли указанные выше ситуации помехой для выполнения операций, собственно, программирования?
Или есть какие-то требования для использования этих пинов для чего-то, кроме ISP программирования?

Заранее признателен за консультацию!

Удачного дня!

nml 08.07.2019 15:47

Вообще-то ISP работает при нахожlениии AVRки в сбросе, тогда ничего ничему не мешает. Но по окончании программирования сброс снимается, и тогда возможны конфликты.

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

Если уж пинов не хватает - ну, назначить на них что-нить некритичное. На колодку ISP вывести через резисторы ом по 100, чтоб выход с выходом не боролись...

AndrejP 08.07.2019 17:00

nml, спасибо!
Правильно ли я понимаю процесс:
1. На выключенный контроллер подключаем ISP разъем программатора;
2. Программатор подает выводит МК в резет и подает напряжение питания. В этот момент, как я понимаю на МК уже программа не крутится и не важно что и как подключено к пинам.
3. Программа залилась. МК запускает программу. Вот тут могут возникнуть проблемы, если на эти пины что-то пойдет с МК, т.к. они же подключены пока еще к программатору.

И если можно, не понял про борьбу выхода с выходом. Буду признателен если поясните.

Минску большой привет! 3 года как его покинул )))

Еще раз благодарю за информацию! Удачи!

nml 08.07.2019 17:39

Ну наверное не совсем так.
Надо рассчитывать что питание включено всегда. И программа на МК крутится.
Программатор включает сброс и хитрой последовательностью вводит МК в режим программирования, далее обменивается с МК данными для чтения-прошивки и т.д.
По окончании прошивки сброс снимается и программа стартует.

То есть надо все же рассчитывать на то, что выход программатора попадет на выход МК. И вот тут они могут "подраться" - например, МК дает на пин "0", а программатор "1". Вот тут поможет резистор между МК и программатором - чтоб ток не превысил разрешенные 20-25 мА

Ну и при составлении схемы учитывать. Если вы на линии ISP распределите, например, управление какой-то нагрузкой, то при прошивке там будут твориться чудеса. Тут как вариант - перемычки на плате - при прошивке снимать. Но это неудобно.

jsv001 11.08.2019 07:30

в журнале радио за ноябрь 18 года есть статья про дисплей на разъеме ISP.


Часовой пояс GMT +4, время: 09:03.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.