F20-23 (1041603), страница 51
Текст из файла (страница 51)
Режим программного таймера (сравнения)В режиме программного таймера значение таймера/счетчика ПМС сравнивается со значением 16разрядного регистра захвата/сравнения (PCA0CPHn и PCA0CPLn) соответствующего модуля. Когдапроисходит совпадение, флаг захвата/сравнения (CCFn) в регистре PCA0CN устанавливается в 1 и, если CCFпрерывание разрешено, генерируется запрос прерывания. Бит CCFn не сбрасывается аппаратно при переходе кпроцедуре обслуживания прерывания и должен быть сброшен программно. Режим программного таймеравключается установкой в 1 битов ECOMn и MATn регистра PCA0CPMn.Важное замечание относительно регистров захвата/сравнения: При записи 16-разрядного значенияв регистры захвата/сравнения модуля ПМС младший байт всегда необходимо записывать первым.
Запись врегистр PCA0CPLn сбрасывает в 0 бит ECOMn; запись в регистр PCA0CPHn устанавливает в 1 ит ECOMn.Рисунок 23.5. Структурная схема ПМС в режиме программного таймераЗапись вPCA0CPLnСброс0ENBПрерывание отмодуля ПМСЗапись вPCA0CPHnENB1PCA0CPMnP ECCMT P EWC A A AOWCMOPP TGMC1 MP N n n n Fn6 n n nnx0 0PCA0CNPCA0CPLnCCFRPCA0CPHnCCCCCCCCCCFFFFF4 3 2 1 00 0 x16-разрядныйкомпараторВключениеСигналтактированиямодуля ПМСPCA0LРед. 1.4Совпадение01PCA0H254C8051F020/1/2/323.2.3. Режим высокоскоростного выходаВ этом режиме каждый раз, когда происходит совпадение значения таймера/счетчика ПМС и значения16-разрядного регистра захвата/сравнения (PCA0CPHn and PCA0CPLn), логический уровень выходного сигналана относящемся к модулю выводе CEXn будет инвертироваться.
Режим высокоскоростного выхода включаетсяустановкой в 1 битов TOGn, MATn и ECOMn регистра PCA0CPMn.Важное замечание относительно регистров захвата/сравнения: При записи 16-разрядного значенияв регистры захвата/сравнения модуля ПМС младший байт всегда необходимо записывать первым. Запись врегистр PCA0CPLn сбрасывает в 0 бит ECOMn; запись в регистр PCA0CPHn устанавливает в 1 ит ECOMn.Рисунок 23.6. Структурная схема ПМС в режиме высокоскоростного выходаЗапись в0PCA0CPLnENBСбросPCA0CPMnЗапись вPCA0CPHnP ECCMT P EWC A A A OWCMOPP TGMC1 MP N n n n Fn6 n n nnENB1x0 0Прерывание отмодуля ПМС0 xPCA0CNPCA0CPLnВключениеCCFRPCA0CPHnСовпадение16-разрядныйкомпаратор25501ИнвертированиеСигналтактированиямодуля ПМСCCCCCCCCCCFFFFF4 3 2 1 0TOGn0 CEXn1PCA0LPCA0HРед. 1.4МатрицаПортввода/выводаC8051F020/1/2/323.2.4.
Режим выхода заданной частотыВ режиме выхода заданной частоты на связанном с конкретным модулем выводе CEXn генерируетсясигнал прямоугольной формы с программируемой частотой. Содержимое старшего байта регистразахвата/сравнения (PCA0CPHn) определяет количество циклов тактирования ПМС, отсчитываемых доинвертирования состояния согнала на выходе CEXn. Таким образом. частота прямоугольного сигналаопределяется в соответствии со следующим уравнением:Уравнение 23.1.
Частота прямоугольного сигнала в режиме выхода заданной частотыFCEXn = FPGA / (2 * PCA0CPHn),где FPGA - частота сигнала тактирования, задаваемая битами CPS2 – 0 регистрарежима ПМС (PCA0MD).Примечание: значение 0х00 регистра PCA0CPHn равно значению 256 для этого уравнения.Содержимое младшего байта регистра захвата/сравнения (PCA0CPLn ) сравнивается с младшим байтомсчетчика ПМС (PCA0L); при их совпадении сигнал на выводе CEXn инвертируется и значение смещения,хранящееся в старшем байте (PCA0CPHn), добавляется к значению регистра PCA0CPLn. Режим выходазаданной частоты включается установкой в 1 битов ECOMn, TOGn и PWMn и регистра PCA0CPMn.Рисунок 23.7.
Структурная схема ПМС в режиме выхода заданной частотыЗапись вPCA0CPLn0ENBСбросPCA0CPMnЗапись вPCA0CPHnENB1P ECCMT P EWC A A AOWCMOPP TGMC1 MP N n n n Fn6 nnnnx0 0 0PCA0CPLnPCA0CPHnВключениеcумматораTOGnИнвертированиеxВключениеСигналтактированиямодуля ПМС8-разрядныйсумматор8-разрядныйкомпараторСовпадение0 CEXn1МатрицаПортввода/выводаPCA0LРед.
1.4256C8051F020/1/2/323.2.5. Режим 8-разрядного широтно-импульсного модулятораКаждый модуль захвата/сравнения можно использовать независимо от других для генерации насоответствующем ему выводе CEXn выходного сигнала с широтно-импульсной модуляцией (ШИМ). Частотаэтого выходного сигнала зависит от частоты сигнала тактирования таймера/счетчика ПМС.
Для изменениякоэффициента заполнения (скважности) выходного ШИМ сигнала используется регистр захвата/сравненияPCA0CPLn соответствующего модуля. Когда значение младшего байта таймера/счетчика ПМС (PCA0L)становится равным значению регистра PCA0CPLn, на внешнем выводе CEXn устанавливается сигнал высокогоуровня. Когда регистр PCA0L переполнится, на выводе CEXn установится сигнал низкого уровня (см. рис.23.8).Кроме этого, при переполнении младшего байта таймера/счетчика (PCA0L) из состояния 0xFF в состояние 0x00регистр PCA0CPLn автоматически перезагружается значением, хранящимся в регистре PCA0CPHn, безвмешательства со стороны программы. Во избежание сбоев в работе цифрового компаратора рекомендуетсяосуществлять запись в регистр PCA0CPHn, а не в регистр PCA0CPLn.
Режим 8-разрядного широтноимпульсного модулятора включается установкой в 1 бит ECOMn и PWMn регистра PCA0CPMn. Скважностьвыходного сигнала в режиме 8-разрядного ШИМ определяется уравнением 23.2.Важное замечание относительно регистров захвата/сравнения: При записи 16-разрядного значенияв регистры захвата/сравнения модуля ПМС младший байт всегда необходимо записывать первым. Запись врегистр PCA0CPLn сбрасывает в 0 бит ECOMn; запись в регистр PCA0CPHn устанавливает в 1 ит ECOMn.Уравнение 23.2.
Скважность выходного сигнала в режиме 8-разр. ШИМDutyCycle = (256 – PCA0CPHn) / 256В соответствии с уравнением 23.2 максимальная скважность составляет 100% (PCA0CPHn = 0), аминимальная скважность составляет 0,39% (PCA0CPHn = 0xFF). Сигнал со скважностью, равной 0%, можнополучить, сбросив в 0 бит ECOMn.Рисунок 23.8.
Структурная схема ПМС в режиме 8-разр. ШИМ.PCA0CPHnЗапись вPCA0CPLn0ENBСбросЗапись вPCA0CPHnPCA0CPMnENB1P ECCMT P EWC A A AOWCMOPP TGMC1 MP N n n n F6 n n nnn00 0 x 0PCA0CPLnxВключениеСовпадение8-разрядныйкомпараторSRСигналтактированиямодуля ПМС257PCA0LРед. 1.4ПереполнениеSETCLRQQCEXnМатрицаПортввода/выводаC8051F020/1/2/323.2.6. Режим 16-разрядного широтно-импульсного модулятораКаждый модуль захвата/сравнения можно также использовать в режиме 16-разрядного ШИМ. В этомрежиме 16-разрядное значение регистров захвата/сравнения (PCA0CPHn : PCA0CPLn) определяет количествоциклов тактирования ПМС, в течение которых выходной сигнал ШИМ удерживается на низком логическомуровне. Когда значение счетчика ПМС сравняется с содержимым регистров захвата/сравнения (PCA0CPHn :PCA0CPLn), на выходе CEXn установится сигнал высокого уровня; когда счетчик ПМС переполнится, навыходе CEXn установится сигнал низкого уровня.
Чтобы выводить сигнал с изменяемой скважностью, записьновых значений необходимо синхронизировать с прерываниями от флага CCFn модуля ПМС. Режим 16разрядного широтно-импульсного модулятора включается установкой в 1 бит ECOMn, PWMn и PWM16nрегистра PCA0CPMn. Для получения сигнала с изменяемой скважностью следует также установить в 1 битECCFn, чтобы разрешить прерывания. Скважность выходного сигнала в режиме 16-разрядного ШИМопределяется уравнением 23.3.Важное замечание относительно регистров захвата/сравнения: При записи 16-разрядного значенияв регистры захвата/сравнения модуля ПМС младший байт всегда необходимо записывать первым. Запись врегистр PCA0CPLn сбрасывает в 0 бит ECOMn; запись в регистр PCA0CPHn устанавливает в 1 ит ECOMn.Уравнение 23.3.
Скважность выходного сигнала в режиме 16-разр. ШИМDutyCycle = (65536 – PCA0CPn) / 65536В соответствии с уравнением 23.3 максимальная скважность составляет 100% (PCA0CPHn = 0), аминимальная скважность составляет 0,0015% (PCA0CPHn = 0xFFFF). Сигнал со скважностью, равной 0%,можно получить, сбросив в 0 бит ECOMn.Рисунок 23.9.
Структурная схема ПМС в режиме 16-разр. ШИМ.PCA0CPMnP ECCMT P EWC A A AOWCMOPP TGMC1 MP N n n n F6 n n nnn10 0 0 0PCA0CPHnPCA0CPLn0ВключениеСовпадение16-разрядныйкомпараторSRСигналтактированиямодуля ПМСPCA0HPCA0LSETCLRQCEXnМатрицаПортввода/выводаQПереполнениеРед. 1.4258C8051F020/1/2/323.3. Описание регистров модуля ПМСНиже приводится описание регистров специального назначения, связанных с работой модуля ПМС.Рисунок 23.10. PCA0CN: Регистр управления ПМСЗначениепри сбросе:R/WCFR/WCRR/W-R/WCCF4R/WCCF3RCCF2R/WCCF1R/WCCF0Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес:(доступен в битовомрежиме адресации)0xD800000000Бит 7: CF: Флаг переполнения Таймера/Счетчика ПМС.Устанавливается в 1 аппаратно, когда Таймер/Счетчик ПМС переполняется из состояния0xFFFF в состояние 0x0000. Если прерывание от Таймера/Счетчика ПМС (от флага CF)разрешено, то установка этого бита приведет к переходу на процедуру обслуживанияпрерывания от флага CF.
Этот бит не сбрасывается аппаратно и должен быть сброшенпрограммно. (См. “Важное замечание относительно регистра PCA0CN” на стр.251).Бит 6: CR: Управление запуском Таймера/Счетчика ПМС.Этот бит включает/отключает Таймер/Счетчик ПМС.0: Таймер/Счетчик ПМС отключен.1: Таймер/Счетчик ПМС включен.Бит 5: Не используется.
Читается как 0b.Бит 4: CCF4: Флаг захвата/сравнения модуля 4 ПМС.Этот бит устанавливается в 1 аппаратно, если происходит захват или совпадение сравниваемыхзначений. Если прерывание от флага CCF разрешено, то установка этого бита приведет кпереходу на процедуру обслуживания прерывания от флага CCF. Этот бит не сбрасываетсяаппаратно и должен быть сброшен программно.Бит 3: CCF3: Флаг захвата/сравнения модуля 3 ПМС.Этот бит устанавливается в 1 аппаратно, если происходит захват или совпадение сравниваемыхзначений.
Если прерывание от флага CCF разрешено, то установка этого бита приведет кпереходу на процедуру обслуживания прерывания от флага CCF. Этот бит не сбрасываетсяаппаратно и должен быть сброшен программно.Бит 2: CCF2: Флаг захвата/сравнения модуля 2 ПМС.Этот бит устанавливается в 1 аппаратно, если происходит захват или совпадение сравниваемыхзначений. Если прерывание от флага CCF разрешено, то установка этого бита приведет кпереходу на процедуру обслуживания прерывания от флага CCF. Этот бит не сбрасываетсяаппаратно и должен быть сброшен программно.Бит 1: CCF1: Флаг захвата/сравнения модуля 1 ПМС.Этот бит устанавливается в 1 аппаратно, если происходит захват или совпадение сравниваемыхзначений.
Если прерывание от флага CCF разрешено, то установка этого бита приведет кпереходу на процедуру обслуживания прерывания от флага CCF. Этот бит не сбрасываетсяаппаратно и должен быть сброшен программно.Бит 0: CCF0: Флаг захвата/сравнения модуля 0 ПМС.Этот бит устанавливается в 1 аппаратно, если происходит захват или совпадение сравниваемыхзначений. Если прерывание от флага CCF разрешено, то установка этого бита приведет кпереходу на процедуру обслуживания прерывания от флага CCF. Этот бит не сбрасываетсяаппаратно и должен быть сброшен программно.259Ред. 1.4C8051F020/1/2/3Рисунок 23.11. PCA0MD: Регистр режима ПМСR/WCIDLR/W-R/W-R/W-R/WCPS2Бит 7Бит 6Бит 5Бит 4Бит 3R/WCPS1Бит 2R/WCPS0R/WECFБит 1Бит 0Значениепри сбросе:00000000SFR Адрес:0xD9Бит 7: CIDL: Управление режимом простоя (ожидания) Таймера/Счетчика ПМС.Это бит определяет поведение ПМС в то время, когда МК находится в режиме простоя(ожидания).0: ПМС продолжает нормально функционировать в то время, когда МК находится в режимепростоя (ожидания).1: Работа ПМС приостанавливается в то время, когда МК находится в режиме простоя(ожидания).Биты 6-4: Не используются.