Свежие обсуждения
Микроконтроллеры

Программатор и его проблема

1 15 19

picmaniac, видите в чём загвозка, на стенде должен присутствоавть всего один разъём DIP18, и программирует и тестит. А вот как?

 

Так одного разъёма DIP18 будет достаточно. Можно контроллер вообще не вынимать. Для внутрисхемного программирования ставится дополнительный пятиконтактный разъём. Вот руководство: http://www.microchip.ru:/files/d-sheets-rus/PIC16_28.pdf
Прочитай внимательно, а вопросы задавай после прочтения.

 

блиннннн!!!!! я немогу понять зачем там ICSP, если я не буду включать её в разработку, зачем её ставить. я её даже в глаза не видел. Надо будет на практике попробовать. Принципа не могу понять. Мож. кто-то объяснит, доступно.

 

Принцип ICSP довольно прост. Попытаюсь объяснить. Кроме пятиконтактного разъёма и (может быть) двух переключателей (джамперов) ничего в свой девайс добавлять не потребуется.

Установленный в любое устройство PIC можно перепрошивать, не извлекая его из панельки. Можно даже не открывать корпус девайса и не извлекать МК из недр. Достаточно заранее, при сборке, вывести наружу специальный разъём. Как в мобильнике. Разъём этот особым образом подключается к PIC в пяти точках. Так, чтобы не мешать нормальной работе устройства. При обычной работе этот разъём не требуется. Если необходимо перепрошить прячущийся глубоко внутри устройства PIC, то достаточно просто воткнуть программатор с припаянным к нему пятиконтактным разъёмом-"вилочкой" в ICSP-разъём на устройстве. Как дата-кабель в мобильник. Ещё может быть потребуется отключить выводы RB6, RB7 микроконтроллера от цепей схемы, для этого можно предусмотреть в схеме устройства специальные переключатели (джамперы). После подключения программатора к устройству через ICSP-разъём выполняем перепрограммирование МК обычным путём, как будто он вставлен в панельку программатора. Перепрошили? ОК! Отключаем ICSP-разъём от устройства, прячем программатор до следующего раза. Запущаем устройство с перепрошитым внутри него МК - и наслаждаемся. Теперь понятно?

 

КЛАСССС! Спасибо, прям можно сказать как на пальцах объяснили. Мне вот тока не понятен один момент с джемперами, зачем отключать? как можно осуществить программатор--стенд (хотябы словами, для понимания)? Скажите правильно ли это: На программаторе(схема на www.pic16.nm.ru), есть вывод (3 TXD) от COM--->ключу-----> MCLR? Думаю если при помощи внешнего ключа отключать проводок COM----3, то на программатор будет идти тока 5В, НО я Замерял напряжение на ногах rb6, rb7, ra1 и ra 3 оно около 4.5....5В, это повлияет, если просто после программирования работать с пиком с этой же панельки программатора, тоесть вывести выводы наружу и соответственно работать с ключами стенда, светодиодами, динамиком?

 

Ну, идея навскидку, если ICSP-разъём ставить не хочется - собрать программатор на той же плате, что и сам стенд, но подключить его не напрямую к ногам МК, а через джамперы. И не так, как на схеме JDM нарисовано для совместимости с микросхемами памяти и PIC12. А только к тем пяти точкам (ногам МК), которые реально необходимы - Vss, Vdd, _MCLR, RB6, RB7.
Т.е. 5 джамперов отделяют схему программатора от схемы стенда. При работе стенда схема программатора отсоединена, и никак не влияет. И 2 джампера отделяют ноги RB6, RB7 МК от остальной схемы стенда - для отключения на время программирования. Можно DIP-переключатели поставить.

 

picmaniac у меня будет всё на весу, примерно как на фото, программатор будет отдельно, но в корпусе со стендом+мне надо будет питать МК, от программатора, как сделать лучше питание?. Поэтому мне кажеться что надо будет смастерить или купить, если продаётся этот ICSP-разъём. И сделать на нём, как ваше мнение? ивот насчёт этого::::---> Скажите правильно ли это: На программаторе(схема на www.pic16.nm.ru), есть вывод (3 TXD) от COM--->ключу-----> MCLR? Думаю если при помощи внешнего ключа отключать проводок COM----3, то на программатор будет идти тока 5В, НО я Замерял напряжение на ногах rb6, rb7, ra1 и ra 3 оно около 4.5....5В, это повлияет, если просто после программирования работать с пиком с этой же панельки программатора, тоесть вывести выводы наружу и соответственно работать с ключами стенда, светодиодами, динамиком?

 

zakonnik: будет всё на весу, примерно как на фото

Хорошо бы без шурупов на лицевой панели и выводы расположить как на реальном МК и подписать полностью точно как в ДШ. Чтоб случацно не попалили рекомендую все IO выводы МК подключать на клемы через резисторы не менее 300 ом.

Если это стенд для широко круга пользователей то только так: резистор 150 Ом защитный TVS на 6.2 вольта на землю и еще резистор 150 Ом. иначе пожгут быстро.

 

Эххх... попробую опять объяснить попроще. Когда микроконтроллерное устройство (в данном случае - стенд, или девайс) включено и работает - программатор должен быть отсоединён от МК, чтоб не влиять на нормальную работу девайса, не нагружать ноги МК, не давать в схему посторонних напряжений, не вносить посторонних связей. Если какое-то устройство спроектировано так, что может работать при подключенном программаторе - что ж, хорошо. Но в общем случае программатор должен отсоединяться по всем пяти линиям (кроме, может быть, Vss - ну тогда по четырём).
Теперь о режиме программирования. При программировании МК питается от программатора. Чтоб не кормить помимо самого МК всю остальную прожорливую схему от несчастного программатора, желательна развязка по цепям питания (Vdd). Например, резистор (как на схеме). Или джампер, если резистор ставить нельзя по мнению разработчика. Т.е. в режиме программирования от программатора по хорошему желательно питаться только ПИКу, и ничему более. Но если схемка небольшая, то развязка по питанию не обязательна.
Теперь о развязке по _MCLR. При программировании на эту ногу подаётся, как известно, повышенное напряжение. Поэтому, если в устройстве предусматривается возможность внутрисхемного программирования, желательно поставить диод, как на схеме. Или хотя бы просто "подтянуть" _MCLR к питанию достаточно высокоомным резистором (килоом 15, не меньше). Чтобы повышенное напряжение оставалось только на _MCLR, и не лезло в остальные цепи.
"Общий" (Vss) развязывать обычно не нужно, на то он и общий. Кроме некоторых хитрых случаев.
Теперь о выводах RB6, RB7. Тут многое зависит от того, что к ним подключено в схеме устройства. Если ничего - ну и отлично, пусть остаются чисто для перепрограммирования. Если к ним что-то подключено через достаточно высокоомные резисторы (не менее нескольких сотен Ом)- ну что ж, оно не помешает программатору работать. Если же там какие-то цепи напрямую подключены - то следует поставить 2 переключателя для отделения этих выводов от остальной схемы на время программирования. Иначе все подаваемые программатором сигналы либо уйдут не в МК, а налево, либо просто исказятся - и программирование станет невозможным. Прояснилось?

 

ясно, сделаю БП на 5В для стенда и для МК(5В для простой работы и в режиме программирования), а по разьёму ICSP пущу 3 линии(rb6,rb7,mclr). Так я сэкономлю и время и нервныке клетки. Пришёл ученик ему сказли войти в режим программирования он клик в разёмчик ICSP программатор, который уже встроен в корпус стенда, кстати из корпуса у меня будет выходить шлейфик ПАПА-ICSP, а в корпусе непосредственно наруже МАМА-ICSP, кликнул ICSP прошил, вытащил ICSP, работает с МК. БП будет питать МК, а не программатор. Думаю всё разобрался.
СПАСИБО ВАМ PICMANIAC, я Ваш должник!!!!!!!