Можно ли не перекомпилируя прошивку изменить конфигурацию?

Поклонники продукции Microchip Technology Inc тусуются тут.
Аватара пользователя
Bear2011
Друг Кота
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Можно ли не перекомпилируя прошивку изменить конфигурацию?

Сообщение Bear2011 »

Уважаемые коты, специалисты по PIC
Можно ли не перекомпилируя прошивку изменить конфигурацию?

Предыстория вопроса такова. В нашем городе намечается праздник и по закону подлости случился перепад напряжения от которого погорели ВСЕ автоматы световых эффектов на полщади. :kill: Микросхема кЕтайского автомата без названия но судя по подключению это PIC16F628 (A). Времени разбираться практически нет - в понедельник все должно работать!!!
Я нашел в интернете схему которую можно использовать
Изображение

По ногам все совпадает, прошивай и вставляй. Вот только в моем контроллере используется генератор на внешнем резисторе (ER) - переменник на RA7 (16 нога) а в том что нашел внутренний генератор без возможности менять скорость переключения эффектов. А скорость менять очень желательно :dont_know:
Реклама
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение otest »

Можно ли не перекомпилируя прошивку изменить конфигурацию?
Можно
Реклама
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение pyzhman »

Блочок от китайской гирлянды прикрутить.
По вопросу - да, биты конфигурации и программа независимы друг от друга в плане заливки.
Docendo discimus
Аватара пользователя
Bear2011
Друг Кота
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение Bear2011 »

pyzhman

Думал над этим только где же сейчас найдешь несколько одинаковых гирлянд? :dont_know: До Нового Года далековато однако :) А нужно чтобы все моргало более-менее синхронно. Для этого и желателен регулятор скорости :)

Ладно буду пробовать в "железе". В Proteuse эмулировал - вроде бы работает
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15574
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение BOB51 »

Есть готовое зло на тиньке, токмо сам эфект рисовать надо...
http://radiokot.ru/cherdak/03/
весьма стабильно работает и тиражируется...
:roll:
Реклама
Аватара пользователя
Bear2011
Друг Кота
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение Bear2011 »

BOB51

Дык и по ногам не совпадает (печатку делать новую, а времени нет и эффекты самому писать) :dont_know:

Я про это и говорю подправить даже не прошивку, а конфигурацию. Так-то вот есть схема и прошивка заливай да вставляй. Моргать будут
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15574
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение BOB51 »

По исходнику - конфигурация отдельной строчкой в верхней части заголовка идет.
В программаторе - страничка с фузами.
Только вот программы, как я понимаю, совсем разные - проще припаять внешний резистор...
В системе с фиксированной частотой (только фузы типа генератора) будет установлена тактовая 4мГц при одной команде в 0,000001 секунду. А вот подойдет такое для Вашего с внешним резюком...
Поробуйте - мож и получится "в лоб" проблемку решить - у icprog/winpic800 соответствующая вкладка...
Но ... а ежли ТЕРМОРЕЗИСТОР или чего подобного впихнуть... :roll:
Одначе ... для пробы... ежли это icprog - после считывания исходного файла с компа поставь в окошке "осциллятор" вместо RC GP4 (такое у Вашего варианта должно быть) intOSC GP4.
ежли winpic800 - флажки на вкладке settings (с аналогичными подписями).
И не забывать, что у каждого МК своя калибровочная константа, дабы ее случайно не затереть...
плюс маахонькая добавка в исходнике...
("...
9.2.5 Внутренний RC генератор 4МГц
Внутренний тактовый генератор формирует тактовый сигнал с частотой 4МГц (номинальное значение). Графики
зависимости частоты внутреннего RC генератора от температуры и напряжения питания смотрите в разделе 12.

9.2.5.1 Калибровка внутреннего RC генератора
В последней ячейки памяти программ сохраняется калибровочная константа для внутреннего RC генератора.
Калибровочная константа сохраняется в виде команды RETLW XX, где XX - калибровочное значение. Калибровочная
константа записывается в регистр OSCCAL. В примере 9-1 показано выполнение калибровки внутреннего RC
генератора.

Примечание. Стирание памяти микроконтроллера также сотрет предварительно запрограммированную
калибровочную информацию. Для сохранения калибровочной информации ее рекомендуется прочитать перед
стиранием памяти микроконтроллера. Калибровочная информация должна быть восстановлена перед
программированием микроконтроллера.

Пример 9-1. Калибровка внутреннего RC генератора

BSF STATUS, RP0 ; Банк 1
CALL 3FFh ; Загрузить калибровочную константу
MOVWF OSCCAL
BCF STATUS, R P0 ; Банк0
...
")
а вот типовая строчка конфигурации в исходнике:
__CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
Вот как-то так... :dont_know:
Аватара пользователя
Bear2011
Друг Кота
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение Bear2011 »

BOB51

Спасибо за развернутое пояснение

Я в принципе переделал строку конфигурации

__CONFIG _CP_OFF & _DATA_CP_OFF & _LVP_OFF & _BOREN_OFF & _MCLRE_ON & _WDT_OFF

Перекомпилировал. В Proteuse вроде работает. Озадачил шефа еще вчера жду PIC'и

У меня еще вопрос между минусом выского напряжения (выпрямленное 220) и минусом питания контроллера стоит конденсатор 22пф. Его просто разорвало. Нафига он нужен?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15574
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение BOB51 »

22пика... мож какая помеходавилка? или варистор новомодный? - глянуть бы на полную схему...
:dont_know:
А про _INTRC_OSC_NOCLKOUT забыли ? -это как раз и есть внутренний калиброванный RC генератор (я строку с готового проэкта выложил).
Там еще обязательно в самом начале инициализации надо вставить:
"
BSF STATUS, RP0 ; Банк 1
CALL 3FFh ; Загрузить калибровочную константу
MOVWF OSCCAL
BCF STATUS, R P0 ; Банк0
"
чтоб частота точно держалась.
Про опцион "_LVP_OFF" для 629го... в моем мплабе (8.92) такого добра не прописано...
Новая папка.zip
(4.76 КБ) 245 скачиваний
это стандартные заголовчные файлы и файл описания по умолчанию...
Мож там какая-нить "смесь" образовалась... Ассемблер, по карйней мере, такое даже компилировать откажется... :dont_know:
Аватара пользователя
Bear2011
Друг Кота
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение Bear2011 »

А про _INTRC_OSC_NOCLKOUT забыли ? -это как раз и есть внутренний калиброванный RC генератор (я строку с готового проэкта выложил)
Да нет не забыл. Как раз не могу найти как написать чтобы был внешний R (ER)
Ассемблер, по карйней мере, такое даже компилировать откажется
MPLAB IDE схавал и даже ни одного предупреждения :dont_know: Я же его hex в Proteus подставлял

Вот прикладываю проект полностью. Проект не мой
Вложения
light72_Garland_Source.rar
(15.38 КБ) 226 скачиваний
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение otest »

В Proteus нет RC генератора.
Аватара пользователя
Bear2011
Друг Кота
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение Bear2011 »

В смысле нет?
Я просто переменник ставил
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение otest »

Можеш ставить что угодно. Вход МК в протеусе не задействован.
Аватара пользователя
Bear2011
Друг Кота
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение Bear2011 »

Вход МК в протеусе не задействован
Ясно. Жду МК чтобы пробовать в железе
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15574
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение BOB51 »

В P12F629.ini прописаны все варианты конфигурационных фузов:
"
; Configuration Bits
;
;======

_CPD_ON EQU H'3EFF'
_CPD_OFF EQU H'3FFF'
_CP_ON EQU H'3F7F'
_CP_OFF EQU H'3FFF'
_BODEN_ON EQU H'3FFF'
_BODEN_OFF EQU H'3FBF'
_MCLRE_ON EQU H'3FFF'
_MCLRE_OFF EQU H'3FDF'
_PWRTE_OFF EQU H'3FFF'
_PWRTE_ON EQU H'3FEF'
_WDT_ON EQU H'3FFF'
_WDT_OFF EQU H'3FF7'
_LP_OSC EQU H'3FF8'
_XT_OSC EQU H'3FF9'
_HS_OSC EQU H'3FFA'
_EC_OSC EQU H'3FFB'
_INTRC_OSC_NOCLKOUT EQU H'3FFC'
_INTRC_OSC_CLKOUT EQU H'3FFD'
_EXTRC_OSC_NOCLKOUT EQU H'3FFE'
_EXTRC_OSC_CLKOUT EQU H'3FFF'
"
Выбираем подходящее - для внешнего RC это будет _EXTRC_OSC_NOCLKOUT или _EXTRC_OSC_CLKOUT .
:beer:
Аватара пользователя
Bear2011
Друг Кота
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение Bear2011 »

BOB51

Спасибо!!! :beer:

А я не догадался ini файл посмотреть :oops: :facepalm:
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение otest »

В P12F629.ini прописаны все варианты
Почему в 629 ? Это прописано для всех МК.
А я не догадался ini файл посмотреть
Не ini , а наверное inc.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15574
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение BOB51 »

:oops:
Опять очепятка... Старею... :?
Так про те файлы, как и про заголовочные (и где их искать) мало кто из начинающих/редко пользующихся IDE ведает.
Особо где их искать надобно. Там еще *.lkr имеется... Быррр....
8)

!!!! ОЙ-ОЙ !!! :shock:
тот проект, что в архивчике ( light72_Garland_Source ) - он же не для PIC12F628, а для PIC16F628 писан!!! на 629-м работать не должен!!! :facepalm:
а я-то файлики по отношению к 629-му положил... :o
чей-то дообряче "перемкнуло"...
:(
Аватара пользователя
Bear2011
Друг Кота
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение Bear2011 »

он же не для PIC12F628, а для PIC16F628 писан!!! на 629-м работать не должен!!!
Дык мне вообще-то как раз ддя 628 и нужен был. А вот то что Proteus не работает с ER не знал. попробовал вроде частота меняется- похоже видел то что хотел

P.S А наш глав.инж так и не привез контроллеры. Но мне по... Я бумагу отписал что нужны так что есть чем задницу прикрыть. Орал "в понедельник все должно работать!!!". А ты мне привез??? Блин я б за это время че-нить тупое на логике сварганил
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15574
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Можно ли не перекомпилируя прошивку изменить конфигураци

Сообщение BOB51 »

Мне чей-то примерещилось, что 629-й... млин... :oops:
628 может и не привезут - сейчас PIC16F628A - практически для простейшей программки то же самое.
Для них две равноценные опции что _RC_OSC_NOCLKOUT что _ER_OSC_NOCLKOUT , а внутренний калиброванный будет или _INTOSC_OSC_NOCLKOUT или _INTRC_OSC_NOCLKOUT (видимо для совместимости с просто 628 так сделано).
То же может и в шпроте - может моделька относится к примитиву... хоша таким не пользуюсь - обычно симулятора для мплаба и встроенной там опции осциллоскопа по дрыголапкам достаточно (или мкаетку - в рекламных видеоприложениях без реального макета абсолютно никак - многое зависит в субьективности восприятия от конструктива самого экрана и источников света).
:beer:
Ответить

Вернуться в «PIC»