F40-43a (1041604), страница 57
Текст из файла (страница 57)
Бит CCFn не сбрасывается аппаратнопри переходе к процедуре обслуживания прерывания и должен быть сброшен программно.Примечание: Минимальная длительность удержания высокого или низкого уровней сигнала на входе CEXnсоставляет 2 системных тактовых цикла, что необходимо для обеспечения правильного функционированиямодуля ПМС.Рисунок 24.4. Структурная схема ПМС в режиме захватаПрерывание отмодуля ПМСPCA0CNCCCCCCCCFRCCCCCCFFFFFF5 4 3 2 1 0(к CCFn)PCA0CPMnP ECCMT P EWC A A AOWCMOPP TGMC1 MP N n n n F6 n n nnn0Портввода/выводаМатрицаCEXn1PCA0CPLnPCA0CPHnЗахват01Сигналтактированиямодуля ПМСРед.
1.3PCA0LPCA0H292C8051F040/1/2/324.2.2. Режим программного таймера (сравнения)В режиме программного таймера значение таймера/счетчика ПМС сравнивается со значением 16разрядного регистра захвата/сравнения (PCA0CPHn и PCA0CPLn) соответствующего модуля. Когдапроисходит совпадение, флаг захвата/сравнения (CCFn) в регистре PCA0CN устанавливается в 1 и, если CCFпрерывание разрешено, генерируется запрос прерывания. Бит CCFn не сбрасывается аппаратно при переходе кпроцедуре обслуживания прерывания и должен быть сброшен программно. Режим программного таймеравключается установкой в 1 битов ECOMn и MATn регистра PCA0CPMn.Рисунок 24.5.
Структурная схема ПМС в режиме программного таймераЗапись вPCA0CPLnСброс0ENBПрерывание отмодуля ПМСЗапись вPCA0CPHnENB1PCA0CNPCA0CPMnP ECCMT P EWC A A AOWCMOPP TGMC1 MP N n n n Fn6 n n nnx0 0PCA0CPHn0 0 xВключениеСигналтактированиямодуля ПМС293PCA0CPLnCCCCCCCCFRCCCCCCFFFFFF5 4 3 2 1 016-разрядныйкомпараторPCA0LРед. 1.3PCA0HСовпадение01C8051F040/1/2/324.2.3.
Режим высокоскоростного выходаВ этом режиме каждый раз, когда происходит совпадение значения таймера/счетчика ПМС и значения16-разрядного регистра захвата/сравнения (PCA0CPHn and PCA0CPLn), логический уровень выходного сигналана относящемся к модулю выводе CEXn будет инвертироваться. Режим высокоскоростного выхода включаетсяустановкой в 1 битов TOGn, MATn и ECOMn регистра PCA0CPMn.Рисунок 24.6. Структурная схема ПМС в режиме высокоскоростного выходаЗапись в0PCA0CPLnENBСбросPCA0CPMnЗапись вPCA0CPHnP ECCMT P EWC A A A OWCMOPP TGMC1 MP N n n n Fn6 n n nnENB1x0 0Прерывание отмодуля ПМС0 xPCA0CNPCA0CPLnВключениеCCCCCCCCFRCCCCCCFFFFFF5 4 3 2 1 0PCA0CPHnСовпадение16-разрядныйкомпаратор1ИнвертированиеСигналтактированиямодуля ПМС0TOGn0 CEXn1PCA0LPCA0HРед.
1.3МатрицаПортввода/вывода294C8051F040/1/2/324.2.4. Режим выхода заданной частотыВ режиме выхода заданной частоты на связанном с конкретным модулем выводе CEXn генерируетсясигнал прямоугольной формы с программируемой частотой. Содержимое старшего байта регистразахвата/сравнения (PCA0CPHn) определяет количество циклов тактирования ПМС, отсчитываемых доинвертирования состояния сигнала на выходе CEXn. Таким образом. частота прямоугольного сигналаопределяется в соответствии со следующим уравнением:Уравнение 24.1. Частота прямоугольного сигнала в режиме выхода заданной частотыFCEXn = FPGA / (2 * PCA0CPHn),где FPGA - частота сигнала тактирования, задаваемая битами CPS2 – 0 регистрарежима ПМС (PCA0MD).Примечание: значение 0х00 регистра PCA0CPHn равно значению 256 для этого уравнения.Содержимое младшего байта регистра захвата/сравнения (PCA0CPLn ) сравнивается с младшим байтомсчетчика ПМС (PCA0L); при их совпадении сигнал на выводе CEXn инвертируется и значение смещения,хранящееся в старшем байте (PCA0CPHn), добавляется к значению регистра PCA0CPLn.
Режим выходазаданной частоты включается установкой в 1 битов ECOMn, TOGn и PWMn и регистра PCA0CPMn.Рисунок 24.7. Структурная схема ПМС в режиме выхода заданной частотыPCA0CPMnP ECCMT P EWC A A AOWCMOPP TGMC1 MP N n n n F6 n n nnn00 0 0 1PCA0CPLnИнвертированиеВключение295PCA0CPHnВключениесумматора0Сигналтактированиямодуля ПМС8-разрядныйсумматор8-разрядныйкомпараторСовпадениеPCA0LРед.
1.3TOGn0 CEXn1МатрицаПортввода/выводаC8051F040/1/2/324.2.5. Режим 8-разрядного широтно-импульсного модулятораКаждый модуль захвата/сравнения можно использовать независимо от других для генерации насоответствующем ему выводе CEXn выходного сигнала с широтно-импульсной модуляцией (ШИМ). Частотаэтого выходного сигнала зависит от частоты сигнала тактирования таймера/счетчика ПМС.
Для изменениякоэффициента заполнения (скважности) выходного ШИМ сигнала используется регистр захвата/сравненияPCA0CPLn соответствующего модуля. Когда значение младшего байта таймера/счетчика ПМС (PCA0L)становится равным значению регистра PCA0CPLn, на внешнем выводе CEXn устанавливается сигнал высокогоуровня. Когда регистр PCA0L переполнится, на выводе CEXn установится сигнал низкого уровня (см. рис.24.8).Кроме этого, при переполнении младшего байта таймера/счетчика (PCA0L) из состояния 0xFF в состояние 0x00регистр PCA0CPLn автоматически перезагружается значением, хранящимся в регистре PCA0CPHn, безвмешательства со стороны программы.
Во избежание сбоев в работе цифрового компаратора рекомендуетсяосуществлять запись в регистр PCA0CPHn, а не в регистр PCA0CPLn. Режим 8-разрядного широтноимпульсного модулятора включается установкой в 1 бит ECOMn и PWMn регистра PCA0CPMn. Скважностьвыходного сигнала в режиме 8-разрядного ШИМ определяется уравнением 24.2.Уравнение 24.2.
Скважность выходного сигнала в режиме 8-разр. ШИМDutyCycle (скважность) = (256 – PCA0CPHn) / 256В соответствии с уравнением 24.2 максимальная скважность составляет 100% (PCA0CPHn = 0), аминимальная скважность составляет 0,39% (PCA0CPHn = 0xFF). Сигнал со скважностью, равной 0%, можнополучить, сбросив в 0 бит ECOMn.Рисунок 24.8. Структурная схема ПМС в режиме 8-разр.
ШИМ.PCA0CPHnPCA0CPMnP ECCMT P EWC A A AOWCMOPP TGMC1 MP N n n n Fn6 n n nn00 0 0 0PCA0CPLn0ВключениеСовпадение8-разрядныйкомпараторSRСигналтактированиямодуля ПМСPCA0LSETCLRQCEXnМатрицаПортввода/выводаQПереполнениеРед. 1.3296C8051F040/1/2/324.2.6. Режим 16-разрядного широтно-импульсного модулятораКаждый модуль захвата/сравнения можно также использовать в режиме 16-разрядного ШИМ. В этомрежиме 16-разрядное значение регистров захвата/сравнения (PCA0CPHn : PCA0CPLn) определяет количествоциклов тактирования ПМС, в течение которых выходной сигнал ШИМ удерживается на низком логическомуровне.
Когда значение счетчика ПМС сравняется с содержимым регистров захвата/сравнения (PCA0CPHn :PCA0CPLn), на выходе CEXn установится сигнал высокого уровня; когда счетчик ПМС переполнится, навыходе CEXn установится сигнал низкого уровня. Чтобы выводить сигнал с изменяемой скважностью, записьновых значений необходимо синхронизировать с прерываниями от флага CCFn модуля ПМС. Режим 16разрядного широтно-импульсного модулятора включается установкой в 1 бит ECOMn, PWMn и PWM16nрегистра PCA0CPMn.
Для получения сигнала с изменяемой скважностью следует также установить в 1 битECCFn, чтобы разрешить прерывания. Скважность выходного сигнала в режиме 16-разрядного ШИМопределяется уравнением 24.3.Уравнение 24.3. Скважность выходного сигнала в режиме 16-разр. ШИМDutyCycle (скважность) = (65536 – PCA0CPn) / 65536В соответствии с уравнением 24.3 максимальная скважность составляет 100% (PCA0CPHn = 0), аминимальная скважность составляет 0,0015% (PCA0CPHn = 0xFFFF).
Сигнал со скважностью, равной 0%,можно получить, сбросив в 0 бит ECOMn.Рисунок 24.9. Структурная схема ПМС в режиме 16-разр. ШИМ.PCA0CPMnP ECCMT P EWC A A AOWCMOPP TGMC1 MP N n n n F6 n n nnn10 0 0 0PCA0CPHnPCA0CPLn0ВключениеСовпадение16-разрядныйкомпараторSRСигналтактированиямодуля ПМС297PCA0HPCA0LПереполнениеРед. 1.3SETCLRQQCEXnМатрицаПортввода/выводаC8051F040/1/2/324.3. Описание регистров модуля ПМСНиже приводится описание регистров специального назначения, связанных с работой модуля ПМС.Рисунок 24.10. PCA0CN: Регистр управления ПМСR/WCFR/WCRR/WCCF5R/WCCF4R/WCCF3RCCF2R/WCCF1R/WCCF0Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000SFR Адрес: 0xD8(доступен в битовом SFR страница: 0режиме адресации)Бит 7: CF: Флаг переполнения Таймера/Счетчика ПМС.Устанавливается в 1 аппаратно, когда Таймер/Счетчик ПМС переполняется из состояния0xFFFF в состояние 0x0000.
Если прерывание от Таймера/Счетчика ПМС (от флага CF)разрешено, то установка этого бита приведет к переходу на процедуру обслуживанияпрерывания от флага CF. Этот бит не сбрасывается аппаратно и должен быть сброшенпрограммно.Бит 6: CR: Управление запуском Таймера/Счетчика ПМС.Этот бит включает/отключает Таймер/Счетчик ПМС.0: Таймер/Счетчик ПМС отключен.1: Таймер/Счетчик ПМС включен.Бит 5: CCF5: Флаг захвата/сравнения модуля 5 ПМС.Этот бит устанавливается в 1 аппаратно, если происходит захват или совпадение сравниваемыхзначений. Если прерывание от флага CCF разрешено, то установка этого бита приведет кпереходу на процедуру обслуживания прерывания от флага CCF. Этот бит не сбрасываетсяаппаратно и должен быть сброшен программно.Бит 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 аппаратно, если происходит захват или совпадение сравниваемыхзначений.