Каталог статей

Главная » Статьи » Мои статьи

Портирование приложений с семейства PIC18 на семейство PIC24F - Часть 3a

2. Периферийные модули PIC24F

2.1. Порты ввода/вывода общего назначения

Порты ввода/вывода семейств PIC18 и PIC24F имеют похожую структуру. Оба семейства имеют набор управляющих регистров PORT, LAT и TRIS для каждого порта и возможность мультиплексирования цифровой и аналоговой периферии. Семейство PIC24F имеет дополнительный регистр ODC для каждого порта, состояние битов которого определяет тип выхода - полный драйвер или открытый сток. Кроме того, увеличено количество выводов, вызывающих прерывание по изменению состояния (Таблица 18).

Таблица 18. Основные различия портов ввода/вывода общего назначения семейств PIC18 и PIC24F

ПараметрыPIC18PIC24F
Допустимое входное напряжение выше VDD + 0.3 Внеттолько для цифровых выводов
Внутренние подтягивающие к VDD резисторы PORTB (все выводы)Различные порты, индивидуальная конфигурация
Управляющие регистрыPORTx, LATx и TRISxPORTx, LATx, TRISx и ODCx
Порты конфигурируются на вход при сброседада

В обоих семействах чтение выводов, сконфигурированных как аналоговые, возвращает "0" в регистре PORTx, а выходные драйверы отключаются, что предотвращает протекание сквозных токов.

Чтение регистра PORTx возвращает цифровое значение потенциала на выводе, вне зависимости от того, как сконфигурирован вывод - как вывод общего назначения, или как вывод, подключенный к периферийному модулю.

Для корректной работы периферийных модулей с однонаправленными выводами только на выход (например, SPI) необходимо, чтобы соответствующий бит регистра TRISx был сброшен программно. После разрешения работы периферийного модуля цифровой уровень на соответствующем выводе доступен через чтение регистра PORTx. Мультиплексирование на вывод ОН периферийного модуля может изменить значения скорости нарастания выходного напряжения и максимального выходного тока. Периферийные модули, выходы которых могут находиться в трех состояниях (например, вывод SCL модуля I2C), устанавливают направление вывода, которое доминирует над значением регистра TRISx. При этом значение регистра TRISx меняться не будет.

Для корректной работы периферийных модулей с двунаправленными выводами (например, вывод SDA модуля I2C) необходимо установить соответствующий бит в регистре TRISx. Это позволит периферийному модулю менять направление вывода (вход-выход).

Чтение регистра PORTx возвращает цифровой потенциал на выводе микроконтроллера. Чтение регистра LATx возвращает значение защелки порта. Запись регистров PORTx и LATx приведет к записи в регистр LATx.

При всех видах сброса все биты регистров TRISx установлены, то есть все выводы будут сконфигурированы на вход. Все выводы, имеющие аналоговую функцию, будут сконфигурированы как аналоговые.

2.1.1. Новые функции портов ввода/вывода в семействе PIC24F

- функция переключения вывода в режим открытого стока активна как для выводов общего назначения, так и для периферийных модулей. Выводы модуля I2C всегда конфигурируются как выводы с открытым стоком.

- пороговые уровни входов ведущего параллельного порта (PMP - Parallel Master Port) могут быть программно установлены как TTL или триггер Шмитта (ST). Свойство доступно в регистре PADCFGx.

- выводы, имеющие только цифровую функцию, толерантны к входным уровням до 5.5 В. Это позволяет использовать в системе компоненты с напряжением питания 5 В.

- большое количество выводов с функцией прерывания по изменению состояния и конфигурируемым выходным каскадом (стандартный драйвер / открытый сток).

- ведущий параллельный порт (PMP) является отдельным периферийным модулем, а не интегрирован в систему ввода-вывода как ведомый параллельный порт (PSP) в семействе PIC18. Обратитесь к документации на семейство PIC24F [1] для получения дополнительной информации.

- большое количество выводов с программно подключаемыми подтягивающими резисторами, которые конфигурируются индивидуально для каждого вывода.

2.1.2. Функции портов семейства PIC18, не поддерживаемые в PIC24F

Архитектура портов ввода/вывода семейства PIC24F не поддерживает одновременную работу портов как портов общего назначения и входных портов, подключенных к периферийным модулям. То есть пользователь не может программно формировать цифровые сигналы на входах периферийных модулей. Вывод может использоваться только либо как порт ввода/вывода общего назначения, либо как вход периферии.

2.1.3. Рекомендации по портированию приложения

При переключении режима работы порта в режим с открытым коллектором (вне зависимости от направления порта) внутренние подтягивающие резисторы НЕ отключаются. Если это необходимо, внутренние подтягивающие резисторы отключаются программно.

Выводы, не имеющие аналоговой функции, толерантны к входному напряжению 5.5 В. Таким образом, можно свести к минимуму аппаратные изменения системы при переходе с PIC18 на PIC24F. Выходное напряжение, большее, чем напряжение питания контроллера, может быть получено путем применения подтягивающих резисторов к цепи питания 5-вольтовых устройств.

Максимальный выходной ток вывода, скорость нарастания напряжения, пороговые входные уровни изменяются автоматически при смене режима работы вывода (GPIO или подключение к периферийному модулю). При проектировании системы необходимо обратить внимание на указанные в документации параметры.

Большинство входных портов микроконтроллеров семейств PIC24F имеют на входе триггер Шмитта. Это необходимо иметь в виду при выборе других компонентов системы - они должны обеспечивать необходимые логические уровни.

2.2. Таймеры

Модули таймеров семейства PIC24F обеспечивают все функции, поддерживаемые таймерами PIC18: режимы синхронного и асинхронного счетчика, режим таймера и поддержку встроенного 32 кГц кварцевого генератора. Однако, в отличие от PIC18, функции таймеров значительно расширены. Каждый 16-битный таймер PIC24F имеет соответствующий регистр периода, настраиваемый предделитель, флаг совпадения с регистром периода, и может функционировать как в режиме счетчика, так и в режиме таймера. Четыре таймера (TIMER2/TIMER3 и TIMER4/TIMER5) могут аппаратно объединяться в два 32-битных таймера.

Несмотря на то, что структура таймеров семейств PIC18 NanoWatt и PIC24F похожа, существуют некоторые различия. Как и в PIC18, все таймеры PIC24F могут тактироваться от системного тактового генератора. Но если в PIC18 только таймеры TIMER1 и TIMER3 могут работать в асинхронном счетном режиме, то в PIC24F эта функция доступна для TIMER1, TIMER2 и TIMER4. Режим работы "синхронный счетчик" доступен для всех таймеров PIC24F, так же как и соответствующий каждому таймеру регистр периода, который сбрасывает таймер и устанавливает соответствующий флаг прерывания.

Таймеры семейств PIC18 и PIC24F имеют настраиваемые предделители. Однако если в PIC18 коэффициенты деления различны для каждого таймера, в PIC24F коэффициенты деления (1:1, 1:8, 1:64 и 1:256) одинаковы для всех таймеров общего назначения.

Таймер TIMER1 семейств PIC18 и PIC24F может тактироваться от встроенного низкочастотного 32 кГц кварцевого генератора, таким образом в системе могут быть реализованы часы реального времени. Кроме того, от этого генератора может тактироваться ядро микроконтроллера (см. п. 1.7 "Тактовый генератор" и п. 1.8 "Режимы пониженного энергопотребления").

Следующие функции таймеров аналогичны для семейств PIC18 и PIC24:

- таймеры могут функционировать в режиме асинхронного счета или в режиме работы от внутреннего кварцевого 32 кГц генератора (TIMER1) даже если контроллер находится в режиме SLEEP;

- таймеры могут функционировать в режиме IDLE, если доступен источник тактирования;

- прерывание таймера выводит контроллер из режимов SLEEP и IDLE;

- триггер специального события (special event trigger) может использоваться для автоматического начала аналого-цифрового преобразования. Таймер, генерирующий специальное событие, указан в документации на конкретный микроконтроллер.

Сравнение архитектур таймеров семейств PIC18 и PIC24F приведено в Таблице 19. Сравнение основных управляющих битов для таймеров семейств PIC18 и PIC24F приведено в Таблице 20.

Таблица 19. Сравнение архитектур таймеров семейств PIC18 и PIC24F

ПараметрыPIC18PIC24F
Разрядность таймера8/16 бит16/32 бит
Режим работы: таймер общего назначения все таймерывсе таймеры
Режим работы: асинхронный счетчикTIMER1, TIMER3TIMER1, TIMER2, TIMER4
Режим работы: синхронный счетчикTIMER0, TIMER1, TIMER3все таймеры
Регистр периодаTIMER2 и TIMER4все таймеры
Поддержка внутреннего 32 кГц кварцевого генератораTIMER1TIMER1
Вход разрешения счетанетвсе таймеры
Предделительвсе таймерывсе таймеры
ПостделительTIMER2 и TIMER4нет
Триггер специального событияестьесть
Частота тактированияFOSC*/4FOSC*/2

* FOSC - тактовая частота микроконтроллера

Таблица 20. Сравнение основных управляющих битов для таймеров семейств PIC18 и PIC24F

Назначение битаPIC18PIC24F
Разрешение работы таймераTMRxONTON
Разрешение использования буферизированного чтения/записи сдвоенного таймераRD16T32
Флаг тактирования ядра от генератора TIMER1T1RUNCOSC2:COSC0 = 100(OSCCON<14:12>)
Настройка предделителя таймераTxCKPSxTCKPSx
Разрешение работы кварцевого генератора TIMER1T1OSCENSOSCEN (OSCCON<1>)
Разрешение внешней синхронизации таймера!TxSYNCTSYNC
Выбор источника тактирования таймераTMRxCSTCS
Настройка постделителя таймераTxOUTPSx-
2.2.1. Новые функции таймеров в семействе PIC24F

Наиболее важное различие между таймерами семейств PIC18 и PIC24 - их разрядность. В семействе PIC24F все таймеры 16-битные, и четыре из них могут быть сгруппированы в два 32-битных. В 32-битном режиме работы возможно использование защелки как при чтении, так и при записи. Эта защелка обеспечивает корректные процедуры считывания и записи.

Все таймеры микроконтроллеров семейства PIC24F имеют вход разрешения счета. Если таймер работает в этом режиме, то его значение увеличивается, только если на входе разрешения присутствует активный уровень (в этом режиме таймер тактируется только от системного генератора). Задний фронт на входе разрешения вызывает прерывание таймера. Этот режим удобно использовать для измерения длительности импульсов.

2.2.2. Функции таймеров PIC18, отсутствующие в семействе PIC24F

- ни один таймер семейства PIC24F не содержит постделителя. Однако прерывание генерируется при каждом совпадении значения таймера с регистром периода.

- в семействе PIC18 таймеры TIMER1 и TIMER3 могут тактироваться от внутреннего кварцевого генератора таймера TIMER1. В семействе PIC24F от внутреннего кварцевого генератора 32 кГц может тактироваться только TIMER1.

- кварцевый генератор TIMER1 в семействе PIC24F имеет только один коэффициент усиления, в то время как в PIC18 коэффициент усиления генератора регулируется битом LPT1OSC в конфигурационном слове.

2.2.3. Портирование типового приложения

Рассмотрим пример аналогичной конфигурации таймера TIMER1 для двух архитектур. Эта последовательность действий может быть использована с небольшими изменениями для любого таймера.

Семейство PIC18:

1) установить предделитель таймера, записав необходимое значение в биты T1CKPS;

2) установить или сбросить бит TMR1CS, выбрав таким образом источник тактирования;

3) сбросить или установить бит !T1SYNC, выбрав таким образом синхронный или асинхронный режим работы таймера соответственно;

4) загрузить требуемое значение в регистр периода таймера PR1;

5) если необходимо использовать прерывание - установить соответствующий бит разрешения T1IE. Установить приоритет прерывания (бит T1IP);

6) разрешить работу таймера, установив бит TMR1ON.

Семейство PIC24F:

1) установить предделитель таймера, записав необходимое значение в биты TCKPS1:TCKPS0;

2) выбрать источник тактирования с помощью бита TCS. Если необходимо, установить бит TGATE, переводящий таймер в режим работы с внешним разрешением счета;

3) установить или сбросить бит TSYNC, выбрав таким образом синхронный или асинхронный режим работы таймера соответственно;

4) загрузить требуемое значение в регистр периода таймера PR1;

5) если необходимо использовать прерывание - установить соответствующий бит T1IE. Выбрать приоритет прерывания с помощью битов T1IP2:T1IP0;

6) разрешить работу таймера, установив бит T1ON.

2.2.4. Рекомендации по портированию приложения

Следует помнить, что при работе от системного тактового генератора частота тактирования таймеров в семействе PIC18 составляет FOSC/4, а в семействе PIC24F - FOSC/2, где FOSC - тактовая частота ядра.

Возможные значения коэффициента предделителя для всех таймеров семейства PIC24F одинаковы, в отличие от таймеров PIC18. Однако в PIC24F два таймера могут объединяться в один 32-битный. Это позволяет увеличить разрешение и время счета.

Таймеры семейства PIC24F не имеют постделителей, однако все таймеры могут генерировать прерывание по совпадению значения с регистром периода. Если в исходном приложении на PIC18 используется таймер с постделителем, необходимо пересчитать период таймера при портировании приложения на архитектуру PIC24F.

При чтении одного байта (младшего или старшего) 16-битного таймера результатом операции будет 0. Обращаться к регистру таймера следует только как к 16-биному слову.

В микроконтроллерах PIC18 для реализации часов реального времени (RTC) используется TIMER1 или TIMER3 с внутренним кварцевым генератором таймера TIMER1. Аппаратный модуль RTCC (Real Time Clock and Calendar) позволяет освободить TIMER1 для других задач.

2.3. Модули сравнения/захвата/ШИМ (CCP и ECCP)

Модули захвата/сравнения/ШИМ семейства PIC24F предоставляют возможности, аналогичные подобным модулям в семействе PIC18, однако реализация функций значительно отличается. Модуль захвата может сохранять мгновенное значение выбранного таймера по тем же событиям на соответствующем выводе. Модуль сравнения может генерировать определенные временные последовательности на выводе микроконтроллера, а так же запускать аналого-цифровое преобразование (Special Event Trigger). Функция генерирования ШИМ на нескольких выводах микроконтроллера является одним из режимов работы модуля сравнения.

Сравнение модулей сравнения/захвата/ШИМ семейств PIC18 и PIC24F приведено в Таблице 21.

Таблица 21. Сравнение модулей сравнения/захвата/ШИМ семейств PIC18 и PIC24F

ПараметрыPIC18PIC24F
Выбор источника (таймера)дада
Предделитель модуля захвата1, 4, 16каждый фронт, 1, 4, 16
FIFO буфер модуля захватанетда, четыре уровня
Разрядность регистра захвата16-бит16-бит
Выбор количества событий захвата для генерации прерываниянетда
Останов в режиме IDLEнетда
Устанавливаемый на выводе контроллера уровень в момент события сравнениявысокий, низкий, инвертированиевысокий, низкий, инвертирование
Триггер специального событиядада
Количество выводов ШИМ на один модуль41
Автоматическое отключение ШИМдада
Поддержка полумостовой и мостовой схемы генерации ШИМдада
Защита от сквозного тока мощных ключей (dead-time pause)дада

Для работы модулей захвата в семействе PIC24F используются таймеры TIMER2 и TIMER3, в то время как в семействе PIC18 - TIMER1 и TIMER3. Событие захвата может генерироваться по каждому переднему, заднему фронту, каждому 4-му переднему и каждому 16-му переднему фронту на соответствующем входе контроллера ICx.

Модуль сравнения обеих архитектур может работать в режиме одиночного сравнения (Single Compare), при котором выбирается начальное состояние на выходе модуля OCx. При возникновении события равенства выбранного таймера и регистра сравнения состояние выхода может устанавливаться в логический ноль или единицу или инвертироваться. В любом случае при возникновении события устанавливается флаг прерывания.

Все режимы генерации ШИМ семейства PIC18 поддерживаются микроконтроллерами PIC24F. Основное различие в том, что каждый модуль сравнения семейства PIC24F имеет только один выход. Таким образом, для управления полумостовой схемой требуется наличие двух свободных модулей сравнения, а для управления мостовой схемой - четырех. Активный выходной уровень каждого модуля сравнения устанавливается битами OCM2:OCM0 (OCxCON<2:0>).

Режим генерации ШИМ семейства PIC24F является расширением режима одиночного сравнения. Дополнением являются выводы аппаратной защиты (Fault) OCFA и OCFB. Подобно модулю ШИМ в PIC18 длительность активного уровня определяет регистр OCxR, который перезагружается значением в регистре OCxRS после каждого события совпадения значения таймера и OCxR. Это событие так же устанавливает флаг соответствующего прерывания. Период ШИМ как в PIC18, так и в PIC24F устанавливается регистром соответствующего таймера PRx.

Функция автоматического отключения ШИМ PIC18 (auto-shutdown) так же реализована в PIC24F. Однако вместо вывода INTx используются выводы OCFA и OCFB. Низкий уровень на любом из этих выводов останавливает генерацию ШИМ и устанавливает флаг аварийного прерывания OCxIF. После того как уровень на входах OCFA и OCFB установиться в нормальное высокое состояние, необходимо переинициализировать регистр OCxCON для продолжения нормальной работы.

Важной особенностью модуля ШИМ в микроконтроллерах PIC18 является возможность вставки паузы между активными уровнями на комплиментарных выходах модуля в режиме полумоста. Эта задержка (dead-time) предназначена для исключения протекания сквозного тока в ключах полумостовой схемы и устанавливается битами PDC6:PDC0. Эта аппаратная возможность отсутствует в микроконтроллерах семейства PIC24F, так как каждый модуль сравнения имеет только один выход. Однако использование двух различных таймеров для двух модулей сравнения позволяет реализовать задержку переключения путем смещения начальных значений таймеров. Такое решение имеет свои преимущества - более точная настройка времени задержки переключения и широкий диапазон ее изменения.

В режиме управления полным мостом семейство PIC18 так же позволяет использовать режим с задержкой переключения. В этом случае задержка вставляется между моментами смены плеч моста. В семействе PIC18 эта задержка выбирается установкой постделителя TIMER2. Решение для PIC24F аналогично методу формирования задержки в полумостовой схеме, используется так же два таймера. В этом случае время задержки на переключение не ограничено разрядностью постделителя TIMER2 в семействе PIC18.

Таблица 21. Сравнение основных управляющих битов для модулей сравнения/захвата/ШИМ семейств PIC18 и PIC24F

ФункцияPIC18PIC24F
Выбор таймера модуля захватаT3CCPxICTMR
Выбор таймера модуля сравненияT3CCPxOCTSEL
Состояние детектора аварииECCPxASEOCFLT
Выбор режима работы модуляCCPxM<3:0> (CCPxCON<3:0>)ICM<2:0> - модуль захвата
OCM<2:0> - модуль сравнения
Конфигурация событий детектора аварииECCPxAS<2:0>OCM<2:0>
2.3.1. Новые функции модулей захвата/сравнения/ШИМ в семействе PIC24F

Независимость модулей. Модули захвата и сравнения являются физически различными аппаратными устройствами и могут быть сконфигурированы независимо друг от друга.

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

Захват каждого фронта. Модуль захвата может быть сконфигурирован таким образом, чтобы событием являлся каждый фронт на входе модуля. В семействе PIC18 аппаратно возможен захват только фронтов одного типа (передний, задний).

Режим двойного сравнения. Наличие двух регистров сравнения OCxR и OCxRS позволяет генерировать два изменения уровня на выходе модуля за один период таймера. В том числе возможна генерация центральносмещенного сигнала ШИМ.

2.3.2. Функции модулей захвата/сравнения/ШИМ PIC18, отсутствующие в семействе PIC24F

Модуль сравнения в семействе PIC24F всегда устанавливает соответствующий уровень на выходе контроллера, в отличие от PIC18, модуль которого позволяет генерировать прерывание без изменения уровня на выходе. Кроме того, если в семействе PIC24F используется модуль сравнения, уровень на его выходе не может быть программно изменен (см. п. 2.1.2 "Функции портов семейства PIC18, не поддерживаемые в PIC24F").

Аппаратный сброс прерывания генерации ШИМ в случае аварии в семействе PIC24F не поддерживается. Состояние флага аварии сбрасывается аппаратно, однако требуется программная инициализация регистра OCxCON для продолжения нормального функционирования.

В семействе PIC18 реверс тока для полного моста производится установкой одного бита Px1M. Так как для управления мостом микроконтроллерами семейства PIC24F необходимо использовать четыре физически независимых PWM-модуля, реверс производится иначе. Для этого необходимо осуществить переназначение таймеров, используя биты OCTSEL каждого модуля.

В семействе PIC18 значение постделителя таймеров TIMER2 и TIMER4 определяет количество периодов, после которых устанавливается флаг прерывания. Эта опция может быть использована в режиме генерации ШИМ. Так как таймеры PIC24F не имеют постделителей, то для осуществеления подобной функции необходимо применять программные методы подсчета периодов.

В семействе PIC24F аппаратная защита от аварии производится только с использованием выводов OCFA и OCFB - встроенный компаратор не может служить источником события аварии. В режиме аварийного останова генерации ШИМ выходы модулей PWM переводятся в высокоимпедансное состояние, в отличие от PIC18, модуль PWM которых позволяет задать определенные логические уровни на выходе.

2.3.3. Портирование типового приложения

Рассмотрим пример аналогичной конфигурации модулей для работы в режиме генерации ШИМ для двух архитектур.

Семейство PIC18:

1) переключить выводы модуля PxA и PxB (если необходимо, то PxC и PxD) на вход, установив соответствующие биты в регистре TRIS;

2) установить период ШИМ, загрузив регистр PRx требуемым значением;

3) если необходимо использовать аппаратное аварийное отключение модуля:

- сбросить флаг индикации аварии ECCPxASE;

- установить источник события (FLTx, компаратор 1 или компаратор 2);

- дождаться установления переходных процессов и устойчивого состояния "нет аварии".

4) сконфигурировать модуль для работы в требуемом режиме генерации ШИМ записью необходимых значений в биты регистра CCPxCON:

- установить требуемую конфигурацию выходов (одиночный, полумост, мост) - биты PxM1:PxM0;

- установить требуемую полярность на выходах модуля - биты CCPxM3:CCPxM0.

5) установить длительность активного уровня ШИМ (duty cycle), загрузив регистр CCPRxL и биты CCPxCON<5:4> требуемыми значениями;

6) если модуль используется для управления полумостовой ключевой схемой, установить требуемую величину задержки на переключение - биты ECCPxDEL<6:0>;

7) если необходимо использовать аппаратное аварийное отключение модуля, - сконфигурировать регистр ECCPxAS:

- выбрать источник автоматического отключения - биты EECPxAS2:ECCPxAS0;

- выбрать уровень на выходах модуля в режиме аварии - биты PSSxAC1:PSSxAC0 и биты PSSxBD1:PSSxBD0;

- установить бит ECCPxASE (ECCPxAS<7>);

- если источником события аварии является встроенный компаратор - сконфигурировать компаратор, загрузив необходимое значение в регистр CMCON. Сконфигурировать соответствующие выводы как аналоговые.

8) если необходимо аппаратное восстановление работы модуля после аварии - установить бит PxRSEN (ECCPxDEL<7>);

9) сконфигурировать и запустить таймер TMRx:

- сбросить флаг прерывания таймера TMRxIF;

- сконфигурировать предделитель таймера - биты TxCKPS (TxCON<1:0>);

- разрешить работу таймера, установив бит TMRxON (TxCON<2>).

10) переключить выводы модуля генерации ШИМ на выход до начала следующего периода ШИМ:

- дождаться переполнения управляющего таймера (установки флага прерывания TMRxIF);

- переключить выводы модуля PxA, PxB (если необходимо, то PxC и PxD), сбросив соответствующие биты в регистре TRIS;

- сбросить бит ECCPxASE (ECCPxAS<7>).

Эквивалентная процедура конфигурации модуля ШИМ для семейства PIC24F:

1) установить требуемый период сигнала, загрузив соответствующий регистр периода PRx;

2) установить требуемую длительность активного уровня ШИМ, загрузив соответствующий регистр OCxRC;

3) установить начальную длительность активного уровня ШИМ, загрузив соответствующий регистр OCxR;

4) если необходимо, разрешить прерывание по совпадению таймера с регистром периода и прерывание от модуля сравнения (это прерывание генерируется по событию аварии);

5) сконфигурировать режим работы модуля PWM - биты OCM<2:0> (OCxCON<2:0>);

6) установить предделитель базового таймера и разрешить его работу установкой бита TON (TxCON<15>).

2.3.4. Рекомендации по портированию приложения

Особое внимание следует обратить на то, что модули сравнения тактируются с частотой FOSC/2 в семействе PIC24F и с частотой FOSC/4 в семействе PIC18. Портирование приложения потребует пересчета значений регистров периода и длительности активного уровня ШИМ.

Максимальное разрешение ШИМ в семействе PIC18 составляет TOSC - один такт генератора, в семействе PIC24F - TCY - один командный такт.

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

Категория: Мои статьи | Добавил: MAS (25.11.2012)
Просмотров: 771 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
Мои статьи [51]
Справочные данные [165]
Справочные данные
Наш опрос
Оцените мой сайт
Всего ответов: 30
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Баннер
$$
Друзья сайта
  • Спортсменам
  • Огородникам СЮД(А
  • Строим вместе
  • Мир развлечений
  • Кто хочет похудеть
  • Здоровье у нас одно
  • Юмор
  • Кулинарные рецепты
  • Картинки_Заставки_Демотивоторы
  • Семья
  • Кто на мальчишник
  • Металлообработка
  • Кто на девишник
  • Блоки питания
  • Смерть соседям
  • Радиомедведь
  • Кибермедведь
  • Радиосайт
  • Деревообработка
  • Поиск