реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Внутрисхемное программирование, большой отход контроллегов при внутрисхемном прогр.
xemul
сообщение Nov 26 2006, 03:48
Сообщение #31



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Мдя, на питатель можно не грешить.
Качнул ICProg. Выдержка из хелпа:
Цитата
Enable VCC control for JDM: Normally JDM (compatible) programmers cannot control VCC. This means that the power supply is always on. Some PIC microcontrollers cannot be programmed correctly without VCC being toggled. This option allows IC-Prog to control the VCC on JDM Programmers. This option is not guaranteed to work and is therefore experimental and only for advanced users. Please do not use this option, because it can fail programming of other types of devices.

Почти про фазы Луныsmile.gif.
Сейчас более внимательно посмотрел на схему основной платы программатора, чтобы попытаться понять, как он может управлять Vcc.
Резюм: пытаться управлять Vcc (в опциях программы) можно только с внешним источником. Чтобы все было более-менее корректно, нужно "+" C3 перенести с JP2.2 на JP2.3 (непосредственно на вход стабилизатора). Я бы еще добавил ключ для принудительного разряда C4, т.к. неизвестно, на какое время ICProg снимает Vcc - самостоятельно PIC будет долго разряжать 47 мкФ.
Go to the top of the page
 
+Quote Post
J.Bond
сообщение Nov 26 2006, 13:13
Сообщение #32


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 23-11-06
Пользователь №: 22 645



вот еще выдержка из хелпа к винпику:
Programming a PIC16F84 works, but programming a 16F628 does not work with my programmer - why ?
There is a major difference in the programming specifications. Most newer devices require a very fast rise on Vpp and / or Vpp (less than 50 microseconds between them) which is impossible with some of the "extremely simple" programmers I have seen on the web. The problem is, if the PIC starts executing its code because Vdd (the supply voltage) is present, but Vpp (the programming voltage) is not raised to say 12 Volts fast enough. So the program counter will not be zero when entering programming mode, and programming will fail for this reason. Get or borrow a two-channel oscilloscope and measure these voltages. If there is a slowly rising edge on the Vpp pin, throw those large electrolyte caps out to make the rise time faster. Or, invest a few pennies / cents for a few transistors and build a better interface.
There is a workaround for this problem when using the JDM programmer: WinPic sets all control lines HIGH for about 500ms, which should discharge all capacitors, before applying the Vpp voltage. I tried this successfully with a PIC12F675, where the MCLR-input had been disabled previously, and had no problem when trying to overwrite the chip. If this doesn't work with your JDM programmer, let me know, maybe making the 500ms discharge interval even longer helps. About the JDM programmer and oscilloscopes: DO NOT CONNECT THE OSCILLOSCOPE TO THE PIC'S GROUND - the scope's ground will most likely be connected to the PC's ground, which causes a short circuit for the JDM programmer's tricky supply voltage !

это типо транзистор пошустрее надо, поскольку конденсаторов то нету. Или както управлять питанием +5в...

Сообщение отредактировал J.Bond - Nov 26 2006, 13:33
Go to the top of the page
 
+Quote Post
SergR
сообщение Nov 26 2006, 13:55
Сообщение #33


Местный
***

Группа: Свой
Сообщений: 288
Регистрация: 25-06-05
Пользователь №: 6 304



Цитата(Серёга_1 @ Nov 13 2006, 07:40) *
...
Конфигурация: __CONFIG(UNPROTECT & BOREN & MCLRDIS & PWRTEN & WDTEN & INTIO); (HT PICC)
Программатор: ChipProg+ , ПО версия V. 3.95.00 или V. 4.00.12 Beta


Проблема в этом "MCLRDIS" при внутрисхемном программировании надо разрешать ногу сброса. иначе она первый раз программируется как порт ввода/вывода и приприповторном программировании (и при первойже верификации) на неё подаётся напряжение VPP (+12В) и эта нога порта (если не ошибаюсь RA3) выгорает, а возможно и ещё что-то


--------------------
Go to the top of the page
 
+Quote Post
xemul
сообщение Nov 26 2006, 14:32
Сообщение #34



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(J.Bond @ Nov 26 2006, 13:13) *
вот еще выдержка из хелпа к винпику:
...

это типо транзистор пошустрее надо, поскольку конденсаторов то нету. Или както управлять питанием +5в...

На основной плате программатора по схеме стоят два электролита по 47 мкФ (C4 я бы вообще заменил на керамику 0.1-1 мкФ).
Более шустрые транзисторы в ключах не требуются - если оставить C3 там, где он нарисован в схеме, время открывания ключа на Q6 будет определяться временем заряда C3 от линий DTR, RTS и, может быть, TXD COM-порта. Время закрывания - разрядом C3 через R8/базу Q4. Поэтому я и сказал, что
Цитата
C3 перенести с JP2.2 на JP2.3 (непосредственно на вход стабилизатора).

С внешним питанием и JP2 в положении 1-2 оболочка может попробовать как-то поуправлять Vcc.
В 41191D.pdf не нашел подтверждения выделенному во фразе
Цитата
Most newer devices require a very fast rise on Vpp and / or Vpp (less than 50 microseconds between them)

Сверху нормируется только параметр TVHHR - время нарастания MCLR (от VSS до VHH) для входа в режим программирования - не более 1мкс. Я про это уже писал.
Интервал между подачей Vpp и Vcc и время нарастания Vcc никак не ограничивается.
Но предложенный метод исследования проблемы (двухлучевым) бациллоскопом скорее всего позволит выяснить ее причину. Если соберетесь этим заняться, не забудьте про:
Цитата
About the JDM programmer and oscilloscopes: DO NOT CONNECT THE OSCILLOSCOPE TO THE PIC'S GROUND - the scope's ground will most likely be connected to the PC's ground
Go to the top of the page
 
+Quote Post
xemul
сообщение Nov 26 2006, 14:45
Сообщение #35



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(SergR @ Nov 26 2006, 13:55) *
Цитата(Серёга_1 @ Nov 13 2006, 07:40) *

...
Конфигурация: __CONFIG(UNPROTECT & BOREN & MCLRDIS & PWRTEN & WDTEN & INTIO); (HT PICC)
Программатор: ChipProg+ , ПО версия V. 3.95.00 или V. 4.00.12 Beta


Проблема в этом "MCLRDIS" при внутрисхемном программировании надо разрешать ногу сброса. иначе она первый раз программируется как порт ввода/вывода и приприповторном программировании (и при первойже верификации) на неё подаётся напряжение VPP (+12В) и эта нога порта (если не ошибаюсь RA3) выгорает, а возможно и ещё что-то

MCLR может работать только как вход. Защитный диод на нем стоит только на землю
[attachment=8422:attachment]
в отличие от других ног
[attachment=8423:attachment]
Внутрисхемное программирование накладывает некоторые ограничения на смехотехнику самого устройства и не более.
Не лучше ли прочитать внимательно документацию, чтобы не было сомнений про "возможно и ещё что-то"?
Go to the top of the page
 
+Quote Post
J.Bond
сообщение Nov 26 2006, 15:52
Сообщение #36


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 23-11-06
Пользователь №: 22 645



У меня длинный кабель программатора - около 70 см. Возможно это искажает форму сигнала.

Сообщение отредактировал J.Bond - Nov 26 2006, 15:52
Go to the top of the page
 
+Quote Post
J.Bond
сообщение Nov 26 2006, 18:35
Сообщение #37


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 23-11-06
Пользователь №: 22 645



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

Сообщение отредактировал J.Bond - Nov 26 2006, 18:36
Go to the top of the page
 
+Quote Post
J.Bond
сообщение Nov 27 2006, 03:36
Сообщение #38


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 23-11-06
Пользователь №: 22 645



Все, наконец получилось. В спецификации показан порядок захода в режим программирования: сначала подается Vpp, потом Vdd, потом все остальное. Что я сделал - в схеме для понипрога убрал диоды d2 и d1 идущие на кондер с3, оставил только d3. Это дало то, что подачей питания управляет только сигнал подачи Vpp. Но поскольку Vpp нарастает мгновенно (нет никаких конденсаторов) а на Vdd стоит конденсатор (с3 и с4), то Vdd подается с задержкой. Только пришлось увеличить с3 до 1000мкф (кстати и переставить его на вход u3), потому что при записи памяти-еепром-битов идут пропуски Vpp, и мелкий конденсатор быстро разряжался и выключал кристалл, всвязи с чем неудавалось запрограммировать биты настроек.

Вобщем с 12f6xx похоже ясно все, только теперь меня немного смущает, что возникли проблемы с другими кристаллами, в частности с 16f876a. Для него похоже питание надо подавать раньше чем Vpp, иначе он не опознается программатором (винпик800). Однако есть интересная фишка - если два раза подряд без паузы нажать в нем распознавание процессора - первый раз нераспознает а второй распознает. Я так понял, что 1000мкф просто не успевают разряжаться и процесс распознавания проходит правильно.

Но это меня неочень радует, надо думать чтото еще.

Спасибо всем, в частности xemul за советы.

Сообщение отредактировал J.Bond - Nov 27 2006, 04:01
Go to the top of the page
 
+Quote Post
4RESTER
сообщение Dec 13 2006, 17:52
Сообщение #39





Группа: Участник
Сообщений: 4
Регистрация: 21-12-05
Из: Ukraine
Пользователь №: 12 493



Цитата(J.Bond @ Nov 23 2006, 00:29) *
У меня похожая проблема, только пик 12f629 и он нехочет программироваться. Читается, вся память 3fff, конфигурация 3fff, ID - FFFF. Поидее распиновка ног таже что и 12с508(509), программатор JDM, и ICProg и WinPIC ставят один и тот же диагноз. Насколько я понимаю спецификация программирования закладывается в программе, но оба программатора поддерживают 12f629. Заметил однако одну

С нового PIC (если есть калибровочная RETLW OSCCAL в последней ячейке CODE) нелишним вычитать, написать на кусочке самоклейки-ценника, и приклеить прямо на него снизу.

Все нормальные программеры не стирают у таких PIC RETLW OSCCAL.
Пользуюсь EPIC. Еще ни разу не остался без родной RETLW OSCCAL.


--------------------
Toodle-pip!
Go to the top of the page
 
+Quote Post
Sir Jon
сообщение Dec 26 2006, 13:34
Сообщение #40


Участник
*

Группа: Свой
Сообщений: 45
Регистрация: 28-10-05
Из: Челябинск
Пользователь №: 10 198



Пользуюсь схемой программатора предложенной Елисеевым на телесистемах....и маленько переписанным софтом (altprog) - благо исходники он любезно предоставил. Из более 100 штук проколов не было. А все разговоры про покупные программаторы - долгая и бесполезная полемика ибо рассматривать надо всегда конкретную задачу и конкретный кристалл.
Go to the top of the page
 
+Quote Post
gyd
сообщение Jan 27 2007, 07:51
Сообщение #41





Группа: Новичок
Сообщений: 1
Регистрация: 27-01-07
Пользователь №: 24 798



Цитата(Sir Jon @ Dec 26 2006, 13:34) *
Пользуюсь схемой программатора предложенной Елисеевым на телесистемах....и маленько переписанным софтом (altprog) - благо исходники он любезно предоставил. Из более 100 штук проколов не было. А все разговоры про покупные программаторы - долгая и бесполезная полемика ибо рассматривать надо всегда конкретную задачу и конкретный кристалл.

Где посмотреть можно схему santa2.gif
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01436 секунд с 7
ELECTRONIX ©2004-2016