ESpec - мир электроники для профессионалов


Программаторы Postal - продолжаем разработку

  Список форумов » Программаторы
На страницу Пред.  1, 2, 3 ... 4, 5 ... 8, 9, 10 ... 15, 16, 17  След.
Следующая тема · Предыдущая тема
АвторСообщение
Postal2 
Бывалый
Сообщения: 97
Postal2
 
Сообщение #61 от 23/04/2015 05:58 цитата  

vyn, ну так подключай... В соответствии с даташитом проверяемого проца. Если через USB и прошивка в Меге новая (i2c scan работает) - то галки там выставь где нужно для инверсии управления, потом по умолчанию сделаю. MCLR (Vpp) и Vdd(питание) - включение низким уровнем согласно схеме. J2 можно разомкнуть сначала, джампер нужен для быстрого снижения Vpp при наличии на целевой плате ёмкости, чтобы её разрядить быстро. Напряжение Vpp тоже выставь какое процу надо. В проге выбираешь тип - и вперёд. После запуска проги тип перевыбрать надо (на будущее уже устранил), иначе напишет ошибку невыбора протокола.
Если пробуешь через LPT - выбирай программатор "David Tait", учитывай, что пока прога пинами не управляет - они в неизвестном состоянии.
Попробуй почитать сначала непустые места, сигнатуру например. Если будешь заливать флэш - поищи прошивку под конкретный проц, как микрочип к прошивке мусора отнесётся - не знаю.
vyn 
Участник
Сообщения: 293
vyn
 
Сообщение #62 от 25/04/2015 22:32 цитата  

Протестировал LPT вариант в режиме чтения, смущает надпись "- check signature failed", похоже чтение нормально не происходит? Лог файл и прошивку прикрепил.
Посмотрел питание на чипе нет, не появляется сигнал на 4 пине ЛПТ. Подал питание отдельно, кроме надписи "single protocol" изменилась на "multi protocol" при нажатии на кнопку "set ISP" больше никаких изменений.

  PIC12F629.rar  1.02 КБ  Скачано: 334 раз(а)
Postal2 
Бывалый
Сообщения: 97
Postal2
 
Сообщение #63 от 26/04/2015 03:49 цитата  

vyn, всё проверил, ошибся со схемой я. Перепутал элементы с инверсией и без. То есть чтобы всё работало нужно одно из двух: первый способ - убрать диод на контакт 6 LPT, вход элемента перебросить с контакта 5 на контакт 6 LPT и выбрать в качестве программатора "P16PRO40"; второй способ - применить мсх с элементами без инверсии, но подтяжку на входах перебросить на плюс питания, чтобы при отключении от разъёма LPT все питания были неактивны.
По описанию для PIC12F629 высокое +12 Vpp должно подаваться перед питанием 5V, если рестарт ISP выполняется хорошо - то чтение разных областей после рестарта будет правильным. Это как раз тот чип, который для перехода в нулевой адрес требует повторный вход в ISP.
Вроде других ошибок не нашёл пока.
Postal2 
Бывалый
Сообщения: 97
Postal2
 
Сообщение #64 от 26/04/2015 04:41 цитата  

Чтение с разных адресов можно выполнять со странички микрочипа, читая как бы "калибровку", она в кодовой области. При этом, если адрес в области кода выбран меньший, чем предыдущий, прога автоматически делает рестарт ISP. Если читается область конфигурации - рестарта не будет, т.к. для установки указателя в её начало имеется команда.
vyn 
Участник
Сообщения: 293
vyn
 
Сообщение #65 от 26/04/2015 11:12 цитата  

С питанием стало все в порядке. Больше ничего не изменилось. Пробую на 74HC14 попробую на 74HC05 отпишусь. Еще вопрос почему размер флеши и памяти в проге завышен в 2раза, вместо 1024, 2048 и вместо 128, 256.
Postal2 
Бывалый
Сообщения: 97
Postal2
 
Сообщение #66 от 26/04/2015 16:37 цитата  

vyn, предварительное предположение - не входит в ISP из-за слишком быстрой подачи питания следом за Vpp, надо попробовать уменьшить скорость - это должно влиять и на обмен, и на все интервалы (проверь осциллографом). Второе - скорректировать Vpp в сторону увеличения - подавать 13V на сам чип (до ключа чуть больше). Пока не вижу ошибки в протоколе.
Размер сделан везде в байтах чтобы не путаться, если посмотришь оригинальные прошивки - поймёшь. Тем более, адрес напрямую не ставится (в старых чипах), а пошагово увеличивается - мне проще отсчитывать в байтах, при этом всё совпадает с содержимым hex-файла.
vyn 
Участник
Сообщения: 293
vyn
 
Сообщение #67 от 27/04/2015 20:50 цитата  

Сменил логику на 74HC05, сменил контролер на PIC16F84A, игрался с напряжением программирования, выбирал разные режимы работы LPT (ECP, EPP...), менял скорость порта, в программе уже всеми кнопочками поигрался, перепроверил в который раз плату, изменений никаких, все теже 3FFF. недовольство, огорчение
vyn 
Участник
Сообщения: 293
vyn
 
Сообщение #68 от 27/04/2015 23:46 цитата  

Установил Winpicprog, драйвера, выбрал в настройках P16PRO40-7406 и вот он результат все работает, пишет стирает, читает. Так что с железом полный порядок. На USB пока не проверял, пока не сменил прошивку меги на последнюю. Только схему по последнему вашему совету переделывать не надо, работает в первоначальном варианте, только 6 пин порта ни на что, пока не влияет.
Postal2 
Бывалый
Сообщения: 97
Postal2
 
Сообщение #69 от 28/04/2015 00:22 цитата  

vyn, ну ясное дело что ошибка у меня где-то, надо искать. У меня на пин 6 управление Vpp с опережением подаётся, пин 5 включается одновременно с питанием. Если не переделывал - тогда понятно почему в ISP не входит. Скорость имелось в виду выбор в проге (ОК после этого). Если проблема в протоколе - то USB-вариант тоже не будет работать.
3FFF откуда читает? Из конфигурации с разных адресов? Из основной памяти с прописанных мест? Или речь про сигнатуру только? Осциллограф что по данным показывает? Скорость меняется? Есть похожесть на Winpicprog? В чём разница?

ДОБАВЛЕНО 28/04/2015 01:27

Смену скорости проверил - это работает.
fsem 
Участник
Сообщения: 235
fsem
 
Сообщение #70 от 28/04/2015 09:51 цитата  

Postal2, 3FFF - это нормальное состояние чистого чипа. Проверено на всех имеющихся программаторах.
Вот скрин дампа чистого PIC16F84A, прочитанного LPT-шным Виллемом.

  PIC16F84A.JPG  134.44 КБ  Скачано: 362 раз(а)
vyn 
Участник
Сообщения: 293
vyn
 
Сообщение #71 от 28/04/2015 10:43 цитата  

Вашу переделку делал, не работает и с ней. Чип уже читаю не чистый. 3FF будет читать даже без чипа, голый программатор. Посмотрю осциллографом, отпишусь.
Postal2 
Бывалый
Сообщения: 97
Postal2
 
Сообщение #72 от 29/04/2015 05:02 цитата  

vyn, это понятно, что у меня есть ошибка. Но код по микрочипу весьма объёмный, и по одной фразе "не работает" искать весьма тяжело. Посмотри, может зацепишься за что-нибудь. А я протокол буду просматривать, бегло просмотрел - не нашёл пока. Раз уж микрочип приделан - надо чтобы работал, жаль потраченного на него времени, не особо он и нужен, разве что через usb когда.
vyn 
Участник
Сообщения: 293
vyn
 
Сообщение #73 от 29/04/2015 16:16 цитата  

Нашлась проблема. На выводе 2 и соответственно 10 LPT порта нет никакого сигнала. Сигнал на 3 ноге присутствует, хоть и отличается от P16pro40.
Postal2 
Бывалый
Сообщения: 97
Postal2
 
Сообщение #74 от 30/04/2015 07:48 цитата  

vyn, синтаксическая ошибка была. Вместо a = b & c было a = b &= c. Исправил, пробуй.

  Postal2_pic_test01.rar  450.19 КБ  Скачано: 434 раз(а)
vyn 
Участник
Сообщения: 293
vyn
 
Сообщение #75 от 30/04/2015 11:17 цитата  

Заработало!!! О первых замеченных проблемах:
1. Не проходит нормально запись на пониженных скоростях (Slow и ниже), выскакивает ошибка верификации.
2. Если загрузить прошивку которая выставляет параметр "protect" после неё невозможно переписать чип, необходимо сразу делать стирание затем запись. Хотелось бы, чтобы запись происходила без лишних движений и можно было галку "protect" отключить перед записью. Как реализовано в других программах.
Готов дальше потестировать, чтобы окончательно уже определиться со схемой и т.д.
Еще непонятна галка "Calibration restore"? тоесть мне не надо сохранять калибровочные константы перед записью? если она активна.
Postal2 
Бывалый
Сообщения: 97
Postal2
 
Сообщение #76 от 30/04/2015 22:57 цитата  

vyn, насчёт записи на низкой скорости - посмотрю. Возможно, дело в низком приоритете работы с портом, кто-то перебивает. Как опцию на крайний случай можно галку для этого ввести.
Если установлен "protect", то процедура стирания отличается, стирание только кнопкой "erase" со странички - так и было задумано. Предполагается, что человек разрабатывает прошивку, а в конце уже ставит protect и не стирает больше. Но в принципе настроечную галку под это допустимо сделать, сделаю.
"Calibration restore" - да, прога сохраняет и встраивает байты калибровки в новую прошивку автоматически. На всякий случай, мало ли ошибка, чип нужно заранее вычитать для полной гарантии.
Выслал прошивку Меги последнюю, для тестирования работы с микрочипом через usb-девайс.
vyn 
Участник
Сообщения: 293
vyn
 
Сообщение #77 от 02/05/2015 00:35 цитата  

Обнаружилась еще одна ошибка. При записи (тестировал пока на PIC16F84a PIC12F629) если в область EEPROM пишутся данные, не проходит верификацию, хотя какие-то данные пишутся. Прилагаю два файла, оригинал и после записи. По поводу скорости записи, можно не париться, на другом компе работает без проблем на всех скоростях.

  error_eeprom.rar  3.75 КБ  Скачано: 251 раз(а)
Postal2 
Бывалый
Сообщения: 97
Postal2
 
Сообщение #78 от 02/05/2015 05:03 цитата  

vyn, ага, вижу. Данные пишутся правильно, имеет место неправильная интерпретация пустых мест при чтении, данные-то байтовые, а в файле пишутся словами. Сейчас доработаю это. По скорости - галку сделал для включения максимального приоритета при отработке каждой одной команды. На весь цикл записи сделать затруднительно, поэтому проскок помехи всё равно возможен, но сама идея неплоха, пусть будет.
Галку для записи со стиранием из запертого состояния сделал, но в этом случае сохранение калибровки не имеет смысла. Выложу попозже.

ДОБАВЛЕНО 02/05/2015 06:07

Наверно, проще именно верификацию еепром доработать, т.к. представление в виде FF тоже не с потолка взято, где-то встречалось.
Postal2 
Бывалый
Сообщения: 97
Postal2
 
Сообщение #79 от 03/05/2015 05:40 цитата  

Доработанные версии для LPT и USB. Исправлена верификация для еепром в режиме pic16 (не обращает внимания на старший байт). Корректно считает 3FFF для pic16 за пустое содержимое, поэтому чтение пустого pic16 даст сообщение, что он пустой, а файл полный 3FFF теперь не создаётся. Имеется галка для стирания из закрытого состояния (только если весь чип пишется), не сохраняется. Для LPT есть галка режима RealTime, действует сразу, не сохраняется.
Верификация свежеоткрытого файла поправлена для pic.
Наверняка найдётся ещё что-нибудь нехорошее, пока не видно.

ДОБАВЛЕНО 03/05/2015 06:53

При чтении видно, что мелкие кусочки конвертор объединяет по своему, на обратной записи такого файла это не скажется.

  Postal2_pic_test02.rar  449.57 КБ  Скачано: 356 раз(а)
  Postal3_pic_test02.rar  305.34 КБ  Скачано: 377 раз(а)
vyn 
Участник
Сообщения: 293
vyn
 
Сообщение #80 от 03/05/2015 21:39 цитата  

Решил проверить на реально рабочем устройстве. Извлек PIC16F873A в списке выбора не нашел, но есть без буквы "а", по идее программно отличаться не должны? Считал прошивку, прога ругнулась на несоответствие сигнатуры, ну так и должно быть, ведь чип другой. Стер чип, убедился, что он пустой. Произвел запись ранее считанной прошивки и ...... нифига не вышло. Где ошибка? Все таки чипы отличаются для записи? На всякий случай прилагаю файлы.

ДОБАВЛЕНО 03 Май 2015, 21:01

Убедился другим софтом чипы действительно разные. Тогда получается что он и считал чип не верно? Мне не критично, просто убедиться.

  pack.zip  10.73 КБ  Скачано: 282 раз(а)

Перейти: 
Следующая тема · Предыдущая тема
На страницу Пред.  1, 2, 3 ... 4, 5 ... 8, 9, 10 ... 15, 16, 17  След.
Показать/скрыть Ваши права в разделе

Интересное от ESpec


Другие темы раздела Программаторы



Rambler's Top100 Рейтинг@Mail.ru liveinternet.ru RadioTOP