Автор | Сообщение |
vyn
|
Кстати функция сохранения констант на проверенных чипах работает нормально. |
|
Postal2
|
vyn, считал скорее всего верно, обычно там мелкая заморочка с записью, сейчас попробую найти данные на 873А. |
|
Postal2
|
vyn, вот версии с добавленными
PIC16F873A • PIC16F876A • PIC16F874A • PIC16F877A
Разница только в записи естественно, эти нужно по 16 байт писать (8 слов). Так что считанное всё верно. Вставлены перед серией pic18. Если ещё чего-то не хватает, то добавлю. Но у меня не все спецификации есть, каких нет у меня - тогда надо будет искать programming spec.
Postal2_pic_test03.rar 450.61 КБ Скачано: 373 раз(а)
Postal3_pic_test03.rar 305.49 КБ Скачано: 398 раз(а)
|
|
vyn
|
Теперь по USB варианту, нужно в настройках сигналы VDD, PGM, MCLR поставить галки иначе не работает. Теперь по чипам:
1. PIC12F629. При нажатии "set isp" определяет сигнатуру, выводит название чипа. Читает, пишет, не стирается.
2. PIC16F84a. При нажатии "set isp" определяет сигнатуру, выводит название чипа. Читает, пишет, стирает. Нажимаем "out isp". Нажимаем повторно "set isp" выдает ошибку "error config mem set!" нужен перезапуск программы. Тоже самое происходит если, что-то изменили в параметрах.
3. PIC16F873a, При нажатии "set isp" не определяет сигнатуру. Ничего не работает. При выборе чипа PIC16F873 и нажатии "set isp" определяет сигнатуру, выводит название чипа PIC16F873a, в параметрах автоматически выставляет правильный чип. Читает все "FF".
Приверил на LPT действительно чистый чип (стерся ??)прописал его заново, но верификация все время сбоила по разным адресам. Затем прошла нормально. Вставил в USB определился читался, писался, сверялся с ошибками, также с ошибками. Лог файл прикрепил. Что это с ним? сам чип уже сбоит или с новыми версиями прог проблемы?
В общем не все так хорошо как в LPT варианте.
log.txt 5.76 КБ Скачано: 306 раз(а)
|
|
vyn
|
Удалил сообщение.
В общем по PIC16f873a вроде все работает только не стабильно. |
|
Postal2
|
vyn, по USB-варианту ясно, где-то ошибка у меня в установке параметров, приблизительно направление поиска ошибки понял. По PIC16f873a это не я, это микрочип пакостит. Дело в том, что я изначально сомневался в нормальной буферизации 16-и байт для записи внутри чипа. Но режим пословной (по 2 байта) записи у него отличается, было лень добавлять специально под него, в спецификации режим обозначен как "альтернативный". Теперь ясно, что именно этот "альтернативный" метод и нужно использовать. Сделаю и выложу, должна будет запись PIC16f873a заработать без ошибок. |
|
Postal2
|
vyn, ошибок в инициализации usb-версии пока не нашёл, уточни условия, и в usb-варианте переустановка режима только по reset. Предполагаю, что дело в высокой скорости, тактовая высоковата. Сравни осциллографом, в следующей прошивке Меги для режима Атмел специально понизил в 6 раз, могу переключить туда же функцию pic. Пока же вот версия, где командой вносится аппаратная задержка на 13мкС после каждой полной команды, плюс скорость LowSpeed поставь. Скорее всего, в Меге прошивкой тактовую понизить, а в проге - старый вариант оставить. PIC12F629 кнопкой по идее и не должен стираться, галку unprotect at write тоже надо снять, он обычными командами bulk erase стирается только.
Пока альтернативный режим записи PIC16f873a не сделал! Это чуть попозже.
ДОБАВЛЕНО 07/05/2015 08:25
vyn, ещё при работе с pic галка spi read short step на страничке misc - задействована! Испытай её тоже (на прошлой и этой версиях).
Postal3_pic_test04.rar 306.27 КБ Скачано: 340 раз(а)
|
|
Postal2
|
vyn, вот версии с альтернативным методом записи PIC16f873a, в usb-версии пока введённая пауза осталась, надо выяснить, нужна ли она.
ДОБАВЛЕНО 07/05/2015 09:35
vyn, то есть можно записать PIC16f873a последней версией, а верифицировать предыдущими. Верификация работает так, что если откроешь или накинешь мышкой файл - с ним и будет сверяться, пока чтение не запустишь - тогда с прочитанным.
Postal2_pic_test05.rar 449.25 КБ Скачано: 327 раз(а)
Postal3_pic_test05.rar 306.33 КБ Скачано: 329 раз(а)
|
|
Postal2
|
vyn, определил причину ошибки "error config mem set!". Особенности протокола, можно посылать команды с большими задержками без обратной связи, хотя можно запросить обратную связь, что не использовано. В результате на LowSpeed отработка смены уровней ещё не закончена, а послана команда установки на конфигурацию, она не принимается в этот момент. Просто увеличил паузу в проге перед запросом. То же, что и предыдущее, но ожидается, что без "error config mem set!".
Postal3_pic_test06.rar 306.37 КБ Скачано: 288 раз(а)
|
|
vyn
|
Протестировал последнюю версию, все вроде нормально. Осталась только проблема с PIC16f873a нестабильная запись, несколько раз надо прошивать прежде чем пройдет верификацию. Про галку spi read short step на страничке misc, что с ней , что без неё разницы не заметил.
Еще вопрос. Имеем к примеру PIC12f629, зашиваем в него прошивку в которой в параметрах стоит защита от считывания. Прошиваем. Затем хотим зашить другую прошивку. И программа уже не может считать калибровочные константы. Так и надо?
ДОБАВЛЕНО 08 Май 2015, 11:24
Еще по поводу 873а, мне кажется проблема не в записи, а в стирании. При сравнении дампов, где не проходит верификацию, находятся данные от старой прошивки. |
|
Postal2
|
vyn, насчёт калибровки PIC12f629 я выше уже писал. Программе всё равно, она выходит на адрес и читает. На практике видим, что нельзя калибровку прочитать. Стирание 873а посмотрю, попозже выложу версию. Пока что вопрос - нужно ли снижать скорость физической передачи данных/тактирование для usb-версии? Это делается в прошивке Меги. И под вопросом дополнительная пауза, введённая между командами в usb-версии. |
|
Postal2
|
vyn, вот версии, стирающие PIC16f873a, до этого стирание не работало (стиралось в момент записи старой версией). Заодно подправлено стирание для PIC12f629. В usb-версии опять отключена пауза между командами, проверь, не будет ли сбоить. Если что - вернём обратно. Скорость обмена с pic usb-версии надо понижать?
ДОБАВЛЕНО 09/05/2015 05:30
Да, и если ставишь галку "spi short step" - сразу снижается скорость, у меня заметно, т.к. идёт 4 обмена по usb вместо одного.
ДОБАВЛЕНО 09/05/2015 05:34
Мне главное, чтобы глобально протокол обмена с pic надёжен был, дальше подправить под конкретный чип нет проблем.
Postal2_pic_test07.rar 449.08 КБ Скачано: 320 раз(а)
Postal3_pic_test07.rar 306.26 КБ Скачано: 342 раз(а)
|
|
vyn
|
Postal2 писал: | Скорость обмена с pic usb-версии надо понижать?
Мне главное, чтобы глобально протокол обмена с pic надёжен был, дальше подправить под конкретный чип нет проблем. |
Со скоростью пока не знаю, но пробую разные скорости и варианты, сбоев не видно, надо будет попробовать на компе, где более скорострельный порт.
Хочу всё же добить 873а, прикрепляю файлы с дампами и логами, есть ошибки записи при чем разные в USB и LPT.
lpt.rar 26.67 КБ Скачано: 298 раз(а)
usb.rar 13.69 КБ Скачано: 293 раз(а)
|
|
Postal2
|
vyn, ошибок записи сходу так не видно, вроде всё работает, проблема с верификацией. Дело в том, что при разрыве адресов в hex-файле промежуток при конверсии в bin заполняется FF. А при проверке чип линейно читается, и с него в этом месте считывается 3FFF. Вот при сравнении 3FFF с FFFF и выскакивает ошибка. Сейчас сделаю, чтобы было вообще без разницы.
ДОБАВЛЕНО 11/05/2015 03:15
Да, в usb-версии config не записался почему-то, сейчас смотрю... |
|
Postal2
|
vyn, вот две версии (для LPT и USB), изменил режим для 873а обратно на запись пачками по 16байт. Потому что спецификация кривая, и по логам видно, что кодовую область он нормально пишет в альтернативном режиме (пословно), а user и config опрокидывает. Верификация поправлена. Посмотрим, если кодовая область будет плохо, тогда её пословно, остальное - пачками. Увеличена пауза после управления пинами на 10мс в том числе на всякий случай для LPT-варианта. Уже казалось бы всё в проге предусмотрел - однако с 873а пришлось дополнительные условия подключать, у него у единственного пословно user не пишется, то есть вот эти испорченные биты на чтении появляются при пословной записи. Попробуй, посмотрим что дальше делать. А со скоростью всё в порядке, скорость для usb-девайса имелась в виду, можно больше не проверять, если только окончательный вариант прогнать потом.
ДОБАВЛЕНО 11/05/2015 07:43
Если кодовая область будет записываться с ошибками - всё равно обязательно проверь надёжность записи user и config, и не пишется ли мусор в user. Потому что с кодовой областью всё понятно как писать если что.
Postal2_pic_test08.rar 449.99 КБ Скачано: 290 раз(а)
Postal3_pic_test08.rar 306.68 КБ Скачано: 327 раз(а)
|
|
vyn
|
Протестировал PIC16F84A, PIC16F676, PIC16F873A, PIC12F629 и в USB и LPT версии больше явных проблем не обнаружил. Единственное если зайти в свойства выбранного чипа, то не с первого раза правильно считывает калибровочные константы, лог файл прикрепил. Но это наверно просто надо иметь ввиду.
log.txt 1.12 КБ Скачано: 276 раз(а)
|
|
Postal2
|
vyn, ага, понял. На самом деле это ошибка, нет рестарта ISP. Прога текущий адрес хранит внутри себя, получается, что после обращения к еепром эта внутренняя переменная сбивается. Сейчас буду исправлять. |
|
vyn
|
Схема больше меняться не будет? Второй ключ который вниз исключил, или надо оставить?
Postal_PIC_uni.rar 11.15 КБ Скачано: 464 раз(а)
|
|
Postal2
|
vyn, ну естественно чем проще - тем лучше. Ключ вниз нужен, если на целевой плате ёмкость на MCLR висит, чтобы быстро её разряжать. Но поскольку сейчас (наверно) прошивка pic нужна редко, то проще эту ёмкость от MCLR на время прошивки убрать, в большинстве случаев. Если у тебя всё хорошо работает без ключа вниз - то и не нужен он. Во многих программаторах его и нет кстати.
Ниже окончательные версии, но уже можно не проверять. Там введена переменная, чтобы после работы с еепром pic16 всегда выполнялся рестарт перед доступом в секцию кода.
Основное проверено, pic18 у меня по спецификации сделан, так что если добавить или непроверенный чип сглючит - проблем нет. Главное - работает. Внутри проги сделаны функции и под pic24,pic32 - но вряд ли понадобится их реализовывать.
Если прошивание pic нужно при ремонте чего-нибудь - можешь статью сам в журнал "Ремонт и сервис" написать, благо схема красиво нарисованная есть. Я сам этими pic не пользуюсь, просто они популярны - поэтому нужно было добавить в прогу.
ДОБАВЛЕНО 12/05/2015 02:41
И у меня ни в проге ни в железе никогда ничего не меняется в уже установленных пунктах, поэтому всё сверху вниз совместимо. Единственное исключение - функция управления пинами под Микрочип в прошивке Меги, она делалась давно, и протокол после этого доработан был, а у людей - старая, частично совместимая прошивка V2. В прошивку Меги заложены также JTAG и Dallas. И ещё куча.
Postal2_pic_test09.rar 449.64 КБ Скачано: 344 раз(а)
Postal3_pic_test09.rar 306.76 КБ Скачано: 335 раз(а)
|
|
vyn
|
Все же обнаружилась проблема с PIC16F676 каждый раз считывает по разному, ошибки возникают по разным адресам. Ну естественно и запись не проходит нормально.
В архиве файл записанный и несколько раз считанный.
22.rar 14.04 КБ Скачано: 265 раз(а)
|
|
|