Как прошить контроллер pci 12f675

от admin

radiohlam.ru

anre25 Читатель
Сообщения: 5 Зарегистрирован: 20 янв 2015, 22:29

pic12f675 как изменить прошивку

Сообщение anre25 » 26 апр 2016, 11:31

rhf-admin администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеологСообщения: 3048 Зарегистрирован: 25 авг 2009, 23:19 Откуда: Уфа Контактная информация:

Re: pic12f675 как изменить прошивку

Сообщение rhf-admin » 26 апр 2016, 13:09

anre25 Читатель
ЧитательСообщения: 5 Зарегистрирован: 20 янв 2015, 22:29

Re: pic12f675 как изменить прошивку

Сообщение anre25 » 27 апр 2016, 12:54

rhf-admin администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеологСообщения: 3048 Зарегистрирован: 25 авг 2009, 23:19 Откуда: Уфа Контактная информация:

Re: pic12f675 как изменить прошивку

Сообщение rhf-admin » 27 апр 2016, 21:28

Тут придётся дизассемблировать, раз исходников нет.
Самый простой метод дизассемблировать код для PIC-контроллеров — это использовать MPLAB.
Создаём новый проект, выбираем в настройках нужную модель контроллера, делаем импорт hex-файла (File->Import->Import to memory) и открываем загруженный в память код (Window->Program memory)
Чтобы всё получилось — название проекта должно совпадать с названием hex-файла.

Как прошить контроллер pci 12f675

МЕНЮ

  • ФОРУМ
  • Фотоальбом
  • Карта сайта

реклама

ВАЖНОЕ

pic12F629 и pic12F675, для работы этих микроконтроллеров от внутреннего генератора завод изготовитель задает внутреннюю калибровочную константу (OSSCAL) это необходимо для большей точности внутреннего генератора. Если ее удалить то микроконтроллер либо не будет работать либо будет но некорректно. Можно использовать pic с упятеренными константами в схемах где используется внешний кварц или другой генератор. Но теперь можно и восстановить эту константу!

Многие часы поддерживают точное время благодаря частоте сети 50 или 60Гц. Для восстановления pic мы будем использовать этот простой генератор частоты — сеть, что упрощает конструкцию и не требует создания отдельного генератора.

Схема:

Очень важно не выпрямлять напряжение после трансформатора! Напряжение вторичное 6-12В. Плата должна быть собрана в точности как на схеме.

Конденсатор 100n должен быть размещен как можно ближе к микроконтроллеру!

S1 разомкнут — калибровка происходит на 3,4 вольта
S1 замкнут — калибровка происходит на 5 Вольт

Частота внутреннего генератора в ПИК зависит от изменения температуры и напряжения питания. Когда переключатель S1 разомкнут 5 вольт питания подается на ПИК, напряжение падает через два диода примерно 3,4 Вольта получается. S1 замкнут — ПИК работает на 5 вольт.

Перед началом работы необходимо зашить в 12F629 или 12F675 (будет работать и стем и тем).

Эта прошивка требуется только для вычисления нового значения калибровки.

Выполнение калибровки:

1) Замкнуть J1, если частота вашей сети 60 Гц и оставьте ее разомкнутой, если она 50Hz.

2) Опорный сигнал переменного тока должен присутствовать перед включением pic при калибровке для обеспечения стабильного сигнала и работы.

3) Вставьте pic в панельку (предварительно он должен быть зашит прошивкой см.выше), разомкнуть ключ S1 .

4) Когда pic начинает работать светодиоды будут мигать одновременно.

5) Если ни один опорный сигнал (50 или 60Гц) не обнаружен на ноге GP2 (пин 5), светодиод будет мигать . (Если это произойдет, выключите питание pic и перепроверьте правильность монтажа и т.д.)

6) В процессе калибровки светодиоды не горят. Калибровки происходит менее чем за 5 секунд.

7) Если калибровка не удалось, красный светодиод загорится.

8) Если калибровка успешна зеленый загорится, и 5 кГц тестового сигнала будут созданы на GPIO1. Если у вас есть частотомер вы можете использовать это для проверки калибровки.

9) После калибровки, вы можете размыкать и замыкать переключатель S1 в ходе мониторинга сигнала 5 кГц тест, чтобы увидеть изменения частоты против напряжения питания.

10) Выключите, удалить ПИК из панельки, и считать с него данные с помощью вашего программатора.

11) Когда вы считаете EEPROM оно будет содержать один из трех пар значений адреса 0x00 и 0x01 следующим образом:

EEPROM адреса 0x00 и 0x01 содержать 0xFF
код не смог нормально работать.

EEPROM адреса 0x00 и 0x01 0x00 содержат
код не был запущен, не удалось установить калибровку . Убедитесь, что J1 установлена правильно и повторите попытку.

Адрес 0x00 0x34 EEPROM содержит 0x01 и адрес, где содержатся 0xNN НН «новое значение калибровки.
код с успехом завершен и калибровка OSCCAL прошла правильно. Используйте 0xNN значение в адрес 0x01 для калибровки памяти.

Читать:
Как проверить стартер ваз 2107

1 — оба светодиода будут мигать, питание есть

2 — зеленый мигает, красный горит, не найдено опорное напряжение (50-60Гц)

3 — светодиоды не горят, идет процесс калибровки, менее 5 сек

4- калибровка прошла правильно

5 — калибровка не прошла

В случае возникновения следующей проблемы необходимо пользоваться модифицированной прошивкой: при прохождении успешной калибровки, загорается зеленый светодиод но при считывании информации с микроконтроллера, с адреса 0x00 и 0x01 содержать 0xFF.

Модифицированный вариант прошивки, скачать

Если калибровка выполнена успешно, вытянуть из панельки pic и поместить его обратно в программатор. Считываются данные из EEPROM памяти (а не программной памяти), где только что вычисленное значение было сохранено. (См. пример ниже)

Прошиваем pic со значение константы, записываем ее как положено в последнюю ячейку:

Восстановление калибровочной константы PIC12f629 и PIC12f675

Микроконтроллер PIC12F629, а так же PIC12F675 снабжены внутренним четырех мегагерцовым генератором, который позволяет проектировать различные радиоустройства, без применения внешнего кварца или RC-генератора. Это освобождает одну или две ножки микроконтроллера, и позволяет уменьшить размеры будущего устройства.

Однако для каждого экземпляра микроконтроллера требуется калибровка этого генератора. Производитель в процессе изготовления проводит данную калибровку, и значение полученной константы помещает в последнюю ячейку памяти по адресу 0х3FF.

Проблемы появляются, если случайно по незнанию, программа памяти стирается или записывается новая. Так как значение калибровочной константы (КК) является уникальным для каждого отдельного взятого микроконтроллера, то после ее стирания уже нет никакой возможности узнать ее. Но есть способ определить ее путем калибровки по сигналу известной частоты.

Восстановление калибровочной константы PIC12f629 и PIC12f675

Собрав ниже приведенную схему и установив в панельку исследуемый микроконтроллер PIC12f629 или PIC12f675 можно с точностью до 1% определить КК.

Для калибровки внутреннего генератора микроконтроллера требуется заведомо известная опорная частота. К счастью, для этого мы не должны собирать отдельно стабильный генератор сигнала. Для этого можно воспользоваться переменным напряжением электросети частотой 50 Гц (в некоторых странах частота может быть 60 Гц). Данный сигнал можно снять со вторичной обмотки сетевого трансформатора.

Частота внутреннего генератора в микроконтроллере PIC12F629 и PIC12F675 может незначительно меняется от изменения температуры и напряжения питания. По мере увеличения напряжения питания, частота его немного уменьшается. Когда переключатель SB1 не замкнут, напряжение питания 5 вольт, пройдя через два диода, которые создают падение напряжения около 1,6 вольта, поступает на вывод питания ПИКа (3,4 вольт). С замкнутыми контактами SB1, микроконтроллер работает от 5 вольт. С помощью данной схемы появляется возможность для калибровки либо на 3,4 вольт, либо на 5 вольт питания.

  • SB1 разомкнут — калибровка происходит при 3,4 вольта.
  • SB1 замкнут — калибровка происходит при 5 вольт.

Два диода создают падение напряжения, а резистор R1 создает достаточный ток для стабильности напряжения на диодах.

Опорный сигнал подается с вторичной обмотки трансформатора (от 6 до 12 вольт) через диод VD3, резистор R4 и транзистор VT1. Транзистор любой типа NPN.

Внимание. Переменное напряжение на транзистор следует подавать только через трансформатор. Ни в коем случае не напрямую от электросети!

Как прошить контроллер pci 12f675

Выводы VPP(4), VCC(1), PGD(7), PGC(6) называются так как раз таки в TL866, названий PGD и PGC нет даже в официальном даташите!

А теперь рассмотрим другие названия выводов 12F675

4. VPP, он же MCLR. Таких названий у RT809H нет. Возможно CMD.
1. VCC, он же VDD, питание +5V. Такой вывод у RT809H есть.
7. PGD, он же DATA. Таких названий у RT809H нет. Возможно D0.
6. PGC, он же CLOCK. Такой вывод у RT809H есть.
8. GND. Такой вывод у RT809H есть.

Итого по первому же запросу в гугл у 12F675 обнаружилось альтернативное название выводов, из которых теперь только 2 из 5 не соответствуют названию RT809H.

Похожие публикации