Восстановление OSSCAL для 12F629 & 12F675 - PIC microchip - Программаторы - Каталог статей - Электрик Главная Мой профиль Регистрация Выход Вход
| RSS
Воскресенье
20.05.2012
12:17

Магазин Электрика

www.bezkz.su


Меню сайта
Главная » Статьи » Программаторы » PIC microchip

Восстановление OSSCAL для 12F629 & 12F675

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


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

Схема:

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

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

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

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

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

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

Скачать прошивку

Скачать печатку в LEY от shpuntic


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

 

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 для калибровки памяти.



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

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

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

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

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



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

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


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


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


Фото от пользователя rastamanoff :


Обсуждения на форуме




Источник: http://picprojects.org.uk/projects/recal/recal.htm
Категория: PIC microchip | Добавил: Nikolai4 (09.04.2010)
Просмотров: 13393 | Теги: Восстановление OSSCAL для 12F629 &, восстановление pic, восстановление константы | Рейтинг: 2.0/1
Всего комментариев: 351 2 3 4 »
0  
1 LDZ-UI   (26.04.2010 18:01)
Колеги конибуть пытался востановить осцилятор по этой методике , как зашить PIC если он не шъётся бес осцилятора. Завтра попробую поэксперементировать так .javascript://

0  
2 Nikolai4   (26.04.2010 18:16)
ты будешь первым!
pic зашиваешь без оконстанты прошивкой из статьи
пробуй.

0  
3 qaw   (28.04.2010 18:02)
А восстановить константу не пробовали прогой icprog106B,
тупо нажимаешь кнопку стереть , потом прочитать, и в последней ячейки ваша КОНСТАНТА 34хх

0  
4 Nikolai4   (28.04.2010 18:09)
такой большой а в сказки веришь, скажи спасибо программе ic-prog smile
ic-prog - не восстанавливает константу, она ее просто не стирает...!

0  
5 qaw   (28.04.2010 18:37)
а что посмотреть и вбить при прошивке уже никак??? angry
А как ты ее потеряешь?, можешь только при прошивке поставить другую.
Сотри и прочитай IC Prog !!!
Другие проги не видят константу , а IC Prog видит!!!
Я в этом убедился САМ.

0  
6 Nikolai4   (28.04.2010 21:48)
в том то все и дело, что те кто не знает про константу и прошивает пик 675/629 то когда идет прошивка выскакивает табличка внести значение с файла прошивки "0000" либо использовать "3435" - типа того, все кто нажал использовать "0000" затирается константа!
Да если б не было б такой проблемы то и не было б этой статьи!

0  
7 Nikolai4   (28.04.2010 21:50)
не всегда icprog сохраняет константу, скорее всего это в новой версии, т.к. раньше в старых версиях такой функции я не замечал

0  
8 zaa-1978   (28.04.2010 22:06)
какраз та што у нас есть та спрашивает!!!!

0  
9 qaw   (28.04.2010 22:39)
Проще скачать новую версию проги, чем городить такой огород с этой схемой.
Я пользуюсь icprog106B.
Раз по 10 стирал а после этого считывать, константа восстанавливалась всегда!!! (только надо обязательно стирать, а не смотреть в прошитой )

0  
10 qaw   (28.04.2010 22:42)
А раз icprog спрашивает про константу то он ее видит, а значит можно и им же восстановить.

1-10 11-20 21-30 31-32
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Важное:
Статистика
Всё для вебмастера




 При копировании материалов сайта ссылка на сайт обязательна
Хостинг от uCoz