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

 
 
 
Reply to this topicStart new topic
> Клон PicKIT3 и PIC16F690, Определяет, не стирает, не шьет
rav38
сообщение Dec 15 2016, 09:33
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 12-06-12
Из: Иркутск
Пользователь №: 72 275



Здравствуйте все!
Имею чужую железку (чем шилась и когда неизвестно, исходников и зашитых конфигов нет, тактирование от внутреннего генератора).
Потребовалось переделать. В качестве программатора используется клон PicKIT3 от Olimex и последний MPLAB X.
Собственно суть в заголовке. Микросхема определяется, но при попытке перезаписи выдает ошибку. При попытке стереть старая программа точно сохраняется (в MPLAB сообщение, что стирание прошло успешно).

Aplly Vpp before Vdd или Vdd before Vpp не меняет дела. Питание и от внешнего источника 3,3В и от программатора - эффект тот же.

Куда копать?


У себя конфиги ставлю такие:
#pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = OFF // MCLR Pin Function Select bit (MCLR pin function is digital input, MCLR internally tied to VDD)
#pragma config CP = OFF // Code Protection bit (Program memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
#pragma config BOREN = ON // Brown-out Reset Selection bits (BOR enabled)
#pragma config IESO = OFF // Internal External Switchover bit (Internal External Switchover mode is disabled)
#pragma config FCMEN = OFF // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock Monitor is disabled

Сообщение отредактировал rav38 - Dec 15 2016, 09:36
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Dec 15 2016, 11:16
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 135
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Сначала добейтесь стирания.
Скорее всего просто в режим программирования не входит
Проверьте какое напряжение на Vpp выдает Ваш клон. и смотрите все сигналы прямо на выводах, может там у Вас хитрая схема или вообще просто обрыв на плате.
Еще часто- на ногах программирования что-то висит и оно мешает. Проверьте что там на них.
ну и краткая выдержка из даташита, " 14.9. In-Circuit Serial Programming"
Цитата
The PIC16F631/677/685/687/689/690 microcontrollers
can be serially programmed while in the end application circuit. This is simply done with two lines for clock
and data and three other lines for:
• power
• ground
• programming voltage
This allows customers to manufacture boards with unprogrammed devices and then program the microcontroller just before shipping the product. This also allows the most recent firmware or a custom firmware to be programmed.

The device is placed into a Program/Verify mode by holding the RA0/AN0/C1IN+/ICSPDAT/ULPWU and RA1/AN1/C12IN-/VREF/ICSPCLK pins low, while raising the MCLR (VPP) pin from VIL to VIHH. See the ”PIC12F6XX/16F6XX Memory Programming Specification” (DS41204) for more information. RA0 becomes the programming data and RA1 becomes the programming clock. Both RA0 and RA1 are Schmitt Trigger inputs in this mode.

After Reset, to place the device into Program/Verify mode, the Program Counter (PC) is at location 00h. A 6-bit command is then supplied to the device.
Depending on the command, 14 bits of program data are then supplied to or from the device, depending on whether the command was a load or a read. For complete details of serial programming, please refer to the ”PIC12F6XX/16F6XX Memory Programming Specification” (DS41204).

A typical In-Circuit Serial Programming connection is shown in Figure 14-11.
Go to the top of the page
 
+Quote Post
rav38
сообщение Dec 15 2016, 11:26
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 12-06-12
Из: Иркутск
Пользователь №: 72 275



Висит там всякое, есть такое. Одолжу сейчас тритон, попробую им стереть.
Vpp есть на плате, сигналы доходят. Опять процессор определяется.

Сообщение отредактировал rav38 - Dec 15 2016, 11:27
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Dec 15 2016, 11:44
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 135
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(rav38 @ Dec 15 2016, 14:26) *
Висит там всякое, есть такое.

C PICkit-3 раньше большой напечатанный плакат поставлялся (не знаю как сейчас) на тему "что можно и что нельзя делать с ногами если нужно сохранить внутрисхемное программирование на плате", наверняка где-то на сайте майкрочипа рядом с описанием программатора лежит этот файл. Правил немного, но они все важные. Если разработчики платы что-то недосмотрели, то запросто может быть проблема из-за этого
Go to the top of the page
 
+Quote Post
rav38
сообщение Dec 15 2016, 13:09
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 12-06-12
Из: Иркутск
Пользователь №: 72 275



Тритон стирает и программирует. Обнулил проц, буду завтра своим пробовать шить


Цитата(Ruslan1 @ Dec 15 2016, 14:44) *
C PICkit-3 раньше большой напечатанный плакат поставлялся (не знаю как сейчас) на тему "что можно и что нельзя делать с ногами если нужно сохранить внутрисхемное программирование на плате", наверняка где-то на сайте майкрочипа рядом с описанием программатора лежит этот файл. Правил немного, но они все важные. Если разработчики платы что-то недосмотрели, то запросто может быть проблема из-за этого

Оно?




Сообщение отредактировал rav38 - Dec 15 2016, 13:13
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Dec 15 2016, 13:38
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 135
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(rav38 @ Dec 15 2016, 16:09) *
Тритон стирает и программирует. Обнулил проц, буду завтра своим пробовать шить

Ага, значит либо программатор не работает, либо он просто не может перетянуть уровни из-за резистивной или емкостной нагрузки на ногах, а Тритон молодец.

Цитата(rav38 @ Dec 15 2016, 16:09) *
Оно?

я-я, натюрлих! sm.gif
Только они почему-то запретили емкость на Vdd- это неправильно, в разумных пределах(ну, у меня обычно десятки микрофарад керамики, иногда и больше)- нормально все работает при запитке не от программатора. А вот про запрет емкости на MCLR написали, но не нарисовали.
Go to the top of the page
 
+Quote Post
rav38
сообщение Dec 15 2016, 14:12
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 12-06-12
Из: Иркутск
Пользователь №: 72 275



про конденсатор на vdd странно. стоит танталовый рядом с керамикой.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Dec 15 2016, 15:20
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 135
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(rav38 @ Dec 15 2016, 17:12) *
про конденсатор на vdd странно. стоит танталовый рядом с керамикой.

Ну и пусть себе стоит. Я же говорю, нормально это. Подозреваю, что рисовали перед новым годом, и перепутали Vdd и Vpp на картинке.
А вот конденсатор на Reset - это может быть беда. А еще некоторые напрямую сброс к питанию цепляют, а потом программировать пытаются внутрисхемно. Всякое бывает.
Go to the top of the page
 
+Quote Post
rav38
сообщение Dec 16 2016, 05:44
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 12-06-12
Из: Иркутск
Пользователь №: 72 275



В общем странно все это, но тем не менее. После того как обнулил микросхему Тритоном, проблема ушла.
Накидал тестовую моргалку светодиодом, успешно записал и успешно стер своим программатором. Вот запустить дебагер не смог, но это и не особо нужно, приложение небольшое.
Более чем уверен что старая программа стояла с защитными фьюзами, но мешало ли это стиранию с помощью PicKitа хз. Я озадачен, но в общем-то надеюсь что проблема решена.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 16 2016, 06:38
Сообщение #10


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 7 019
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Стереть фьюзы требуется больше энергии, так, вроде, помнится.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Dec 16 2016, 16:23
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 135
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(rav38 @ Dec 16 2016, 07:44) *
В общем странно все это, но тем не менее. После того как обнулил микросхему Тритоном, проблема ушла.
Накидал тестовую моргалку светодиодом, успешно записал и успешно стер своим программатором. Вот запустить дебагер не смог, но это и не особо нужно, приложение небольшое.

Вариантов много. Но это гадание на кофейной гуще без информации:
1. Схема, в которую ПИК впаян
2. Разница в схемах (а может и в софте) этого клона и оригинального PICkit-3

Можно и не исправлять, если не мешает жить. Но вот знать и понимать причину такого странного поведения- обязательно нужно.
Go to the top of the page
 
+Quote Post
ANV
сообщение Dec 18 2016, 19:10
Сообщение #12


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 16-10-05
Пользователь №: 9 713



Цитата(rav38 @ Dec 16 2016, 07:44) *
В общем странно все это, но тем не менее.


Похоже ножки PGD/PGC использовались в программе как выходы, поэтому как только подавалось питание проц стартовал на внутреннем генераторе (а это довольно быстро) и препятствовал т.о. вход в режим программирования/отладки. В тоже самое время проц видится потому как процедура идентификации не позволяет процу стартовать.
В общем, если вы используете ножки пжд/пжц в схеме, сделайте паузу 10-100 мс перед инициализацией проца и стартом своей программы, проблема уйдёт.
Go to the top of the page
 
+Quote Post
rav38
сообщение Dec 20 2016, 15:06
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 12-06-12
Из: Иркутск
Пользователь №: 72 275



Внутренний генератор используется, верно. Ножки тоже чет там делают как выходы в схеме, сейчас их не использую в своем коде. А то что было зашито -там вполне могло использоваться.
Почти написал требуемое приложение, проблемы вроде не возникало. Посмотрим как дальше. Тем более что пока работаю с одной платой, а их несколько десятков спаяно. Если буду перерабатывать железку всерьез, учту замечания.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd January 2017 - 05:52
Рейтинг@Mail.ru


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