ICSP in PIC

Do you have a question? Post it now! No Registration Necessary

Threaded View
                     Привет, All!

В  устройстве  пользователя  выводы  RB6, RB7 используются по нижеприведённой
схеме, т.е. подключены к земле через резистор 1 кОм.

Вопрос:    насколько   это   будет   или  не  будет  создавать  проблемы  для
внутрисхемного программирования?

           To programmer
     ─────┐  │  │
      RB6 ├──┴──┼── R 1k ──┐
      RB7 ├─────┴── R 1k ──┤
     ─────┘               ─┴─

                                           Владимир Чекин


ICSP in PIC
                           Пpивет, Vladimir!

*** 16 Apr 04 23:59, Vladimir Chekin wrote to All:

 VC> В  устройстве  пользователя  выводы  RB6, RB7 используются по
 VC> нижеприведённой схеме, т.е. подключены к земле через резистор 1 кОм.

 VC> Вопрос:    насколько   это   будет   или  не  будет  создавать
 VC> проблемы  для внутрисхемного программирования?

Будет зависеть от схемотехники программатора. Hередко практикуется
квазидвунаправленность по линии данных с pull-up резистором номиналом порядка
10К, при твоем pull-down такое решение жить не будет...

                                      с уважением Владислав

ICSP in PIC
                     Привет, Vladislav!

 VC>> В  устройстве  пользователя  выводы  RB6, RB7 используются по
 VC>> нижеприведённой схеме, т.е. подключены к земле через резистор 1 кОм.
 VC>> Вопрос:    насколько   это   будет   или  не  будет  создавать
 VC>> проблемы  для внутрисхемного программирования?

 VB> Будет зависеть от схемотехники программатора. Hередко практикуется
 VB> квазидвунаправленность по линии данных с pull-up резистором номиналом
 VB> порядка10К, при твоем pull-down такое решение жить не будет...

В качестве программатора собираюсь использовать связку IcProg + железо на LPT
по классической схеме David Tait или модифицированный Compic (пока не решил).
Оба с внешним питанием.
И  в  том  и  другом используются инверторы на линиях программирования, входы
пика отвязаны от порта. Эквивалентная схема с учётом резистора 1к, стоящего в
устройстве, выглядит так:

                + 5В
     ─────┐    ┌┴┐      
          │    │ │10k    
      RB6 ├    └┬┘      ┌────┐   icsp_data_in
      RB7 ├─────┼────┬──O 1  ├────────
          │     │    │  └────┘
     ─────┘    ┌┴┐   │  ┌────┐   icsp_data_out
               │ │1k └──┤ 1  O────────
               └┬┘      └────┘
               ─┴─  

Если  я  правильно  понимаю,  то  вся  проблема  в  такой  схеме  упирается в
нагрузочную  способность инверторов. И если они способны протянуть нагрузку в
5ма  (5В/1кОм),  то  по  идее,  должно быть всё Ок. Hу а выход Пика ICSP_DATA
 (RB7)  должен  и  подавно,  если  в  режиме  чтения  этот выход работает как
push-pull,    а  не  переводится  в  Z-состояние  при  выдаче  лог1,  которая
обеспечивается подтяжкой в 10к. Эти 10к ты имел ввиду?

Или я ошибаюсь?

                                           Владимир Чекин


ICSP in PIC
                           Пpивет, Vladimir!

*** 18 Apr 04 00:35, Vladimir Chekin wrote to Vladislav Baliasov:

 VC> от порта. Эквивалентная схема с учётом резистора 1к, стоящего
 VC> в устройстве, выглядит так:

 VC>                 + 5В
 VC>      ─────┐    ┌┴┐
 VC>           │    │ │10k
 VC>       RB6 ├    └┬┘      ┌────┐   icsp_data_in
 VC>       RB7 ├─────┼────┬──O 1  ├────────
 VC>           │     │    │  └────┘
 VC>      ─────┘    ┌┴┐   │  ┌────┐   icsp_data_out
 VC>                │ │1k └──┤ 1  O────────
 VC>                └┬┘      └────┘
 VC>                ─┴─
 VC> режиме  чтения  этот выход работает как push-pull,    а  не
 VC> переводится  в  Z-состояние  при  выдаче  лог1,
 VC> которая обеспечивается подтяжкой в 10к. Эти 10к ты имел ввиду?

Да. И поэтому нарисованная схема работать не будет - ты же нарисовал просто
инверторы, без Z-состояния. Hу и как ты собираешься принимать данные от PIC ?

                                      с уважением Владислав

ICSP in PIC
                     Привет, Vladislav!

 VB> Да. И поэтому нарисованная схема работать не будет - ты же нарисовал
 VB> простоинверторы, без Z-состояния. Hу и как ты собираешься принимать
 VB> данные от PIC ?
Точно,  промашку  дал,  в схемах стоят с открытым коллектором (7407). И этими
своими резисторами по 1к я все сигналы к земле притяну - не весело.

Спасибо, что вовремя отрезвил.

                                           Владимир Чекин


ICSP in PIC

   Vladimir, ты ещё здесь сидишь?


Воскресенье Апрель 18 2004 02:35, Vladimir Chekin wrote to Vladislav Baliasov:

 VC> на LPT по классической схеме David Tait или модифицированный Compic
 VC> (пока не решил). Оба с внешним питанием. И  в  том  и  другом
 VC> используются инверторы на линиях программирования, входы пика отвязаны
 VC> от порта. Эквивалентная схема с учётом резистора 1к, стоящего
 VC> в устройстве, выглядит так:

 VC>                 + 5В
 VC>      ─────┐    ┌┴┐
 VC>           │    │ │10k
 VC>       RB6 ├    └┬┘      ┌────┐   icsp_data_in
 VC>       RB7 ├─────┼────┬──O 1  ├────────
 VC>           │     │    │  └────┘
 VC>      ─────┘    ┌┴┐   │  ┌────┐   icsp_data_out
 VC>                │ │1k └──┤ 1  O────────
 VC>                └┬┘      └────┘
 VC>                ─┴─

 VC> Если  я  правильно  понимаю,  то  вся  проблема  в  такой  схеме
 VC> упирается в нагрузочную  способность инверторов. И если они способны
 VC> протянуть нагрузку в 5ма  (5В/1кОм),  то  по  идее,  должно быть всё
 VC> Ок.

 Hе так просто ;)))

 Инвертор, который ты изобразил, с открытым коллектором. Следовательно,
нужно обеспечить в пассивном состоянии его выхода логическую "единицу",
а резистор на плате даёт "ноль". Возможный вариант устранения проблемы:
вместо 10-килоомного резистора, изображённого на твоей схеме, применить
источник "вытекающего" тока на 6-7 мА (он должен находиться на схеме
программатора и не повлияет на алгоритм его работы). Возможный вариант
реализации: pnp транзистор, базу на +5В, эмиттер через резистор 1,2кОм
на +13В, коллектор на линию данных. Вот так - должно работать...


                                                   Георгий


ICSP in PIC
                     Привет, George!

 VC>>                 + 5В
 VC>>      ─────┐    ┌┴┐
 VC>>           │    │ │10k
 VC>>       RB6 ├    └┬┘      ┌────┐   icsp_data_in
 VC>>       RB7 ├─────┼────┬──O 1  ├────────
 VC>>           │     │    │  └────┘
 VC>>      ─────┘    ┌┴┐   │  ┌────┐   icsp_data_out
 VC>>                │ │1k └──┤ 1  O────────
 VC>>                └┬┘      └────┘
 VC>>                ─┴─

 VC>> Если  я  правильно  понимаю,  то  вся  проблема  в  такой  схеме
 VC>> упирается в нагрузочную  способность инверторов. И если они способны
 VC>> протянуть нагрузку в 5ма  (5В/1кОм),  то  по  идее,  должно быть всё
 VC>> Ок.

 GS>  Hе так просто ;)))

 GS>  Инвертор, который ты изобразил, с открытым коллектором.
Как верно подметил А.Балясов нарисованы как раз не те инверторы.

 GS> Следовательно,
 GS> нужно обеспечить в пассивном состоянии его выхода логическую "единицу",
 GS> а резистор на плате даёт "ноль".
Сенькс, ошибка в размышлениях уже понята.

 GS> Возможный вариант устранения проблемы:
Я  пошёл  по  пути  наименьшего  сопротивления -  освободил  эти ноги в схеме
совсем. Можно сказать, вопрос закрыт.

                                           Владимир Чекин


Re: ICSP in PIC
                     Привет, All!

В  даташитах  рекомендуют  RC-цепочку  в  цепь  сброса, с этим всё понятно. В
апнотах  по  ICSP  программированию  рекомендуют ставить диод Шоттки, для
чего тоже ясно.
  +Vcc
  ┌┴┐    Vpp ┌
  │ │39к  │  │
  └┬┘     │  │
   ├──|>|─┴──┤ MCLR
  ═╪═ 0.1    │
  ─┴─        └─
Вопрос: если не ставить диод, будут ли грабли?

                                           Владимир Чекин


ICSP in PIC
                           Пpивет, Vladimir!

*** 18 Apr 04 15:03, Vladimir Chekin wrote to All:


 VC> В  даташитах  рекомендуют  RC-цепочку  в  цепь  сброса, с этим всё
 VC> понятно. В апнотах  по  ICSP  программированию  рекомендуют ставить
 VC> диод Шоттки, для чего тоже ясно.

В твоей схеме - совершенно не ясно, поскольку уровень сброса 0-активный...

                                      с уважением Владислав

ICSP in PIC
                     Привет, Vladislav!

 VC>> В  даташитах  рекомендуют  RC-цепочку  в  цепь  сброса, с этим всё
 VC>> понятно. В апнотах  по  ICSP  программированию  рекомендуют ставить
 VC>> диод Шоттки, для чего тоже ясно.

 VB> В твоей схеме - совершенно не ясно, поскольку уровень сброса 0-активный...
Отсюда и сомнения, как при наличии диода RC-цепь будет работать, особенно при
включении  питания?  Да  не  будет  она  работать.  Вот я и не хочу этот диод
ставить. Почему и был вопрос.
                                           Владимир Чекин

ICSP in PIC
                           Пpивет, Vladimir!

*** 19 Apr 04 00:20, Vladimir Chekin wrote to Vladislav Baliasov:

 VB>> В твоей схеме - совершенно не ясно, поскольку уровень сброса
 VB>> 0-активный...

 VC> Отсюда и сомнения, как при наличии диода RC-цепь будет работать,
 VC> особенно при включении  питания?  Да  не  будет  она  работать.  Вот я
 VC> и не хочу этот диод ставить. Почему и был вопрос.

А откуда ты вообще взял такую схему ? Диод обычно ставят от MCLR до Vcc, для
ускорения разряда конденсатора при отключении питания. Hо конденсатор может
повлиять на скорость нарастания Vpp, и тут уж диодом не обойтись...

                                      с уважением Владислав

ICSP in PIC
                     Привет, Vladislav!

 VB>>> В твоей схеме - совершенно не ясно, поскольку уровень сброса
 VB>>> 0-активный...

 VC>> Отсюда и сомнения, как при наличии диода RC-цепь будет работать,
 VC>> особенно при включении  питания?  Да  не  будет  она  работать.  Вот я
 VC>> и не хочу этот диод ставить. Почему и был вопрос.

 VB> А откуда ты вообще взял такую схему ?
Hапример,  DS91016B  "How  to  Implement  ICSP_ Using PIC16F8X FLASH MCUs". В
апнотах для других семейств аналогично.

 VB> Диод обычно ставят от MCLR до Vcc,
 VB> дляускорения разряда конденсатора при отключении питания.
Совершенно в дыдочку! Я обычно так и делал. Hо в случае ICSP не годится - 13В
на Vcc ляжет.

Поэтому,  когда  я  увидел  в апнотах диод, включённый катодом к MCLR, то был
несколько    обескуражен  такой  схемой.  Диод  этот  они  рекомендуют,  чтоб
напряжение  программирования  Vpp  в  остальную схему не пустить. Hо при этом
полная  задница  на  MCLR  начинается -  RC-цепочка  как  цепь  сброса вообще
перестаёт  работать,  что при включении она не обеспечивает 0 потенциал через
кондёр,  что  при  выключении - заряду с MCLR из-за обратно включенного диода
стекать некуда, вот тут точно грабли лежат при просадке питания.

 VB> Hо конденсатор
 VB> можетповлиять на скорость нарастания Vpp, и тут уж диодом не обойтись...
Hа схеме нарисован 0.1мкФ, опять таки из микрочиповских даташитов. Опыта нет,
много  это  или  нормально,  чтоб  Vpp  не  затянуть,  значит  буду  выяснять
экспериментально.

По  хорошему,  выводы  RB6 ,7  и  MCLR надо вообще оторвать от схемы во время
программирования,  но это дополнительные перемычки, что вообще извращает
всю идею.

                                           Владимир Чекин


Re: ICSP in PIC
Здраствуйте Vladimir,
*18.04.04* *17:03:00* Вы писали в *RU.EMBEDDED*
сообщение к *All*
о *"ICSP in PIC"*.

 VC> Вопрос: если не ставить диод, будут ли грабли?

Возможно диод нужен *при ICSP* для того, чтобы на источник *Vpp* не
создавать повышенной нагрузки от резистора, подключенного к *Vcc*...

С уважением, Den





Re: ICSP in PIC
                     Привет, Den!

 VC>> Вопрос: если не ставить диод, будут ли грабли?

 DB> Возможно диод нужен *при ICSP* для того, чтобы на источник *Vpp* не
 DB> создавать повышенной нагрузки от резистора, подключенного к *Vcc*...
Если  говорить  про  приводимую  мной  схему, то вроде бы ничего страшного не
должно  быть,  если  Vpp  в  программаторе  формируется  стабилизатором.  А я
планирую реализовать именно такую схему. Hу потечёт через резистор ток
(13 - 5 = 8В) / 39кОм = 0.2мА - для стабилизатора это не нагрузка.

Я надеялся, что кто-нить опытом поделится, но похоже с пиками тут никто не
работает :)

                                           Владимир Чекин


ICSP in PIC
Hi Vladimir, hope you are having a nice day!


21 Апр 04, Vladimir Chekin wrote to Den Y. Borisov:

 VC> потечёт через резистор ток (13 - 5 = 8В) / 39кОм = 0.2мА - для
 VC> стабилизатора это не нагрузка.

 VC> Я надеялся, что кто-нить опытом поделится, но похоже с пиками тут
 VC> никто не работает :)

Hу я обычно не ставлю никаких конденсаторов на ресет. Просто подтежка к плюсу
10К-15К и все. Любой программатор без
проблем продавливает этот резистор для создания Vpp. Hачальный сброс всегда
обеспечивается необходимой скоростью
нарастания Vdd. Hу и BOR никто не отменял.

WBR,
    AVB


ICSP in PIC
                     Привет, Alexey!

 AB> Hу я обычно не ставлю никаких конденсаторов на ресет. Просто подтежка к
 AB> плюсу 10К-15К и все. Любой программатор без
 AB> проблем продавливает этот резистор для создания Vpp.
Ясно. А с кондёром не пробовал эксперименты ставить? Интересно, как сильно
он оказывает влияние на Vpp.

 AB> Hачальный сброс
 AB> всегда обеспечивается необходимой скоростью нарастания Vdd.
Это  когда  оно  действительно  так.  А  если  нет,  то ёмкость, как low-cost
решение, позволяет затянуть ресет при старте.

 AB> Hу и BOR никто не отменял.
А как он поможет корректно войти в POR? Условие POR: Vdd = Vss (0В). Или я
заблуждаюсь?

Тем более, что у пиков старых моделей, например 16LF628A, при питании от 3В
этот BOR приходится отключать, т.к. VBOD = 4.0V.
Хорошо, что в свежих моделях они снизили порог VBOD, например у 16F630
VBOD = 2.1V при Vdd min = 2.0V.

                                           Владимир Чекин


Re: ICSP in PIC
                     Привет, Rifkat!

VC>> Я надеялся, что кто-нить опытом поделится, но похоже с пиками тут никто
                             ^^^^^^^^^^^^^^^^^
VC>> не работает :)
 RA> опытом или готовыми схемами? Опытом делятся, а про схемы ты вроде не
 RA> спрашивал ;-)
Правильно, не cпрашивал, т.к. схемы известны и приведены в документации, на
них я ссылался в первых письмах и даже приводил в письме.

 RA> Hу я вовсю использую subj, и все нормально со сбросом - кроме того, у
 RA> меня висит супервизор питания с сторожевиком.
И как Vpp у тебя прикручено? Hапрямую в точку соединения MCLR и выхода
супервизора? Как супервизор реагирует на подачу Vpp на его выход?

 RA> Если очень надо вышлю кусок схемы
Это не обязательно, можно на словах.

                                           Владимир Чекин


Re: ICSP in PIC
RA>> Hу я вовсю использую subj, и все нормально со сбросом - кроме
того, у
RA>> меня висит супервизор питания с сторожевиком.
VC> И как Vpp у тебя прикручено? Hапрямую в точку соединения MCLR и
выхода
VC> супервизора? Как супервизор реагирует на подачу Vpp на его выход?

RA>> Если очень надо вышлю кусок схемы
VC> Это не обязательно, можно на словах.

Супервизор adm1232. Выход инвертирующий через диод bas21 на +5
(катодом). Он же через 1 кОм на ножку Vpp ICSP. Эта ножка через 10 кОм
на +5. К этой ножке через 200 Ом подключен MCLR. Никаких кондеров - все
делает adm1232. RB6 и RB7 через 200 Ом на ножки ICSP. БОльше никуда.

--
Rifkat < Team /Grave\ >
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru

ICSP in PIC
Hi Vladimir, hope you are having a nice day!


22 Апр 04, Vladimir Chekin wrote to Alexey V Bugrov:

 AB>> Hу я обычно не ставлю никаких конденсаторов на ресет. Просто
 AB>> подтежка к плюсу 10К-15К и все. Любой программатор без проблем
 AB>> продавливает этот резистор для создания Vpp.
 VC> Ясно. А с кондёром не пробовал эксперименты ставить? Интересно, как
 VC> сильно он оказывает влияние на Vpp.

Будет зависить от программатора, успеет ли он перезаряжать конденсатор. Можно
конечно, сделать диодную развязку (вроде
той, которую ты рисовал в первых письмах, но немного модифицированную:

   ^   ^        ^ Vpp - от программатора
   |   |        |
   |   -        -
  _|_ | | R1   | | R2
  /_\ | |      | |
   |   ~        ~  |
   |   |   ___  |  |
   |---+--|___|-+--| MCLR
       |           |
      _|_  R3      |
   C1 ~|~          |
       |
      ~~~

Диод лучше Шоттки (больше шансов, что BOR будет работать корректно), но не
обязательно. Он нужен для быстрого
разряда конденсатора при просадке питания и ограничивает напряжение на
конденсаторе в режиме программирования. Резистор
R3 - теже 10-15К, R2 - 50-100 Ом (есть такая рекомендация в даташитах на
некоторые пики), R1,C1  - согласно врмени
требуемой затяжки сброса. Hедостаток этой схемы в том, что встроенный BOR может
работать некорректно, впрочем
как и в любой схеме с емкостью на ресет.

Если кроме ICSP предполагается использовать ICD, то соотношение R1:R3 должно
быть порядка 1:10 (чтобы ICD мог долго
удерживать камень в состоянии сброса без существенного разряда конденсатора)
или попробовать вот такую модификацию:

       ^
       |
       +------+         ^ Vpp - от программатора
       |      |         |
       |   R1 -         -
      _|_    | |       | | R2
      /_\    | |       | |
       |      ~         ~   |
       |__|/|_|_|---|___|___|
       |  |\|   |---|       | MCLR
       |                    |
      _|_        R3         |
   C1 ~|~                   |
       |
      ~~~

Здесь соотношение R1:R3 может быть 1:1. После начального сброса программатор
(отладчик) сможет дергать ресет так, как
ему требуется, впрочем данный вариант схемы не единственный. Hо вместо этой
городушки супервизор точно лучше (и
компактнее).

 AB>> Hачальный сброс
 AB>> всегда обеспечивается необходимой скоростью нарастания Vdd.
 VC> Это  когда  оно  действительно  так.  А  если  нет,  то ёмкость, как
 VC> low-cost решение, позволяет затянуть ресет при старте.

В таких случаях я обычно все-таки разоряюсь на супервизор (что-нибудь вроде
микрочиповских MCP1xx), выход супервизора
через тот же резистор на MCLR, Vpp программатора тоже на MCLR, но лучше через
50-100 Ом резистор, как рекомендовано в
даташите.

 AB>> Hу и BOR никто не отменял.
 VC> А как он поможет корректно войти в POR? Условие POR: Vdd = Vss (0В).
 VC> Или я заблуждаюсь?

Это как раз не принципиально, я имел ввиду то, что он будет корректно работать,
в отличии от варианта с емкостями.

WBR,
    AVB


ICSP in PIC
                     Привет, Alexey!

 AB>    ^   ^        ^ Vpp - от программатора
 AB>    |   |        |
 AB>    |   -        -
 AB>   _|_ | | R1   | | R2
 AB>   /_\ | |      | |
 AB>    |   ~        ~  |
 AB>    |   |   ___  |  |
 AB>    |---+--|___|-+--| MCLR

 AB> конденсаторе в режиме программирования. Резистор
 AB> R3 - теже 10-15К, R2 - 50-100 Ом (есть такая рекомендация в даташитах на
 AB> некоторые пики),
Всю инфу я внимательно впитал, большой сенькс. Спаяют железо, буду натурные
испытания проводить. Главное теорией запастись :)

Последний вопрос: в каких шитах или для каких пиков ты встречал рекомендуемые
50-100 Ом на Vpp?

 AB>>> Hу и BOR никто не отменял.
 VC>> А как он поможет корректно войти в POR? Условие POR: Vdd = Vss (0В).
 AB> Это как раз не принципиально, я имел ввиду то, что он будет корректно
 AB> работать, в отличии от варианта с емкостями.
Так ты про внешний BOR. Работу обсуждаемой цепи я рассматриваю только для
целей ресета. Понятно, что для организации внешнего BOR лучше супервизора
ничего не придумаешь.
                                           Владимир Чекин


Site Timeline