Конфигурирование МК 18 серии.

Автор: Super User Просмотров: 2547

 

  В микроконтроллерах  семействе PIC18XXXX регистры   конфигурации расположены  начиная с адреса 0x300000  и соответственно находятся  вне области   пользовательской  памяти  программ.

В зависимости от типа микроконтроллера биты конфигурации   могут быть различны. Рассмотрим для примера МК PIC18XX2 и PIC18XXk20:

 

Биты конфигурации и иденфикации PIC18FXX2.

 

alt

 

 

Биты конфигурации и иденфикации PIC18FXXk20.

 

alt

 

Регистр CONFIG1H - выбор режима работы тактового генератора. В МК  PIC18FXX2 пользователь может выбрать один из восьми режимов тактового генератора в битах конфигурации микроконтроллера (FOSC2, FOSC1 и FOSC0). В микроконтроллерах PIC18F25K20  уже 12 режимов работы тактового генератора и соответственно добавился еще один бит конфигурации FOSC3, нет бита -OSCEN,разрешающего переключение тактового генератора, добавлены два бита FCMEN и IESO. Первый это монитор защиты тактирования, позволяет устройству продолжать работу при отказе внешнего генератора, второй  двухсчетный запуск  (позволяет микроконтроллеру использовать внутренний генератор в качестве источника тактовых импульсов, пока первичный тактовый генератор не станет доступен).

Регистр конфигурации CONFIG2L - разрешает/запрещает  сброс микроконтроллера при снижении питания (бит BODEN). Если сброс МК  разрешен, то необходимо указать напряжение, при котором будет происходить сброс (BORV0-BORV1). В некоторых МК (как в нижней таблице PIC18F25K20) добавлена  опция программно управляемого BOR.

Не стоит забывать, что  микроконтроллеры 18 серии могут быть с разным напряжением питания.

Регистр конфигурации CONFIG2H - включение сторожевого таймера WDT. Если таймер включен, то при помощи регистров VDTPS0-VDTPS2 можно выбрать  коэффициент  постделителя WDT  1: 256 или  1:32768 (при наличии дополнительного бита VDTPS3).

Регистр конфигурации CONFIG3H - в микроконтроллерах PIC18FXX2  можно только управлять мультиплексором CCP2 (бит CCP2MX), в  других могут быть дополнительные опции. В том же МК PIC18F25K20 (см.таблицу) есть бит PBADEN, с помощью которого настраиваются PORTB 4:0  как цифровые каналы (по умолчанию эти выводы при POR настроены как аналоговые). Timer1 может работать с генератором с низким и с высоким потреблением (по умолчанию включен генератор с высоким энергопотреблением). И битом MCLRE  настраивается вывод RE3 (порт PORTE).

Регистр конфигурации CONFIG4L - можно настроить сброс микроконтроллера  по переполнению стека (STVREN), разрешить/запретить низковольтное программирование (LVP), выключить/включить внутрисхемную отладку (-DEBUG) ( линии RB6, RB7 при выключенной отладке работают как каналы ввода/вывода). В некоторых МК можно включить  расширение набора команд (XINST).

Регистр конфигурации CONFIG5L - биты защиты блоков  памяти программ.

Регистр конфигурации CONFIG5H -   защита EEPROM памяти данных (бит CPD) и защита памяти программ (бит CPB, загрузочный блок).

Регистр конфигурации CONFIG6L - защита   записи в память программ.

Регистр конфигурации CONFIG6H -   защита записи в EEPROM памяти данных (бит WRD), защита записи в память программ (бит WRTB, загрузочный блок) и защита записи    в регистры конфигурации (бит WRTC).


Регистр конфигурации CONFIG7L - блочная защита памяти программ от табличного чтения.

 

Регистр конфигурации CONFIG7H -  защита памяти программ от табличного чтения (бит EBTRB, загрузочный блок.)

 

Регистры конфигурации DEVID1,2  - в данных регистрах можно прочитать  ID микроконтроллера и  ID ревизии  кристалла микроконтроллера.

 

Рассмотрим пример конфигурации микроконтроллера PIC18F252:

Очень удобно ля этого открыть подключаемый  файл PIC18F252.ENC MPLAB (файл находится в папке MPASM Suite) и посмотреть все возможные режимы конфигурации микроконтроллера.

 

 

alt

 

В последней колонке таблиц показаны значения бит конфигурации при не запрограммированном значении.  В основном  биты конфигурации установлены "1". Соответственно для того, что бы понять нужно ли прописывать в конфиги определенный бит или нет,  достаточно посмотреть в даташите  функциональность бита.

            list          p=18F252 ; Используется микроконтроллер PIC18F252.
            #include   p18F252.inc ; Подключение INC-файла PIC18F252.
;*************************************************************************
; Конфигурирование.
;*************************************************************************
            CONFIG      OSC=XT     ; кварц.резонатор
            CONFIG      BOR=OFF    ; Сброс по снижению питания выключен
            CONFIG      WDT=OFF    ; WDT выключен.
            CONFIG      LVP=OFF    ; Режим низковол. программирования выкл.
  •  В первой строке прописан генератор в режиме "XT " , переключение тактового генератора по умалчиванию заблокировано, по этому строку CONFIG  OSCS=OFF можно не прописывать.
  •  При незапрограммированном (далее по умалчиванию) значение сброс микроконтроллера по снижению питания  BOR разрешен. Если данный режим не используется, то можно его выключить (как здесь). В противном случае необходимо прописать значение, при котором произойдет сброс , к примеру  CONFIG  BORV=45.
  •  По умалчиванию сторожевой таймер WDT включен. Здесь он выключен. Если сторожевой таймер задействован в вашем приложении, то при  необходимости можно  прописать коэффициент посделителя (к примеру: CONFIG    WDTPS = 64   ; коэффициент  1:64).
  • По умалчиванию низковольтное программирование разрешено, если не нужно выключаем.

В других типах микроконтроллеров 18 серии возможны настройки  дополнительных опций конфигурации. Для этого бывает достаточно посмотреть соответствующий микроконтроллеру файл     *.ENC .


Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru