Среда, 03 августа 2011 04:44

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

Written by
Rate this item
(0 votes)

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

 

  В микроконтроллерах  семействе 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 .

Read 1645 times Last modified on Четверг, 04 сентября 2014 04:57

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

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