F00-17 (1041601), страница 36
Текст из файла (страница 36)
Бит CCFn несбрасывается аппаратно при переходе к процедуре обслуживания прерывания и должен быть сброшенпрограммно.Рисунок 20.3. Структурная схема ПМС в режиме захватаПрерывание отмодуля ПМСPCA0CPMnPCA0CNECCMT P EC A A A OWCOPP TGMCMP N n n n Fn n nnCCCCCCCCCCFF FFF4 3 2 1 00 0 0(к CCFn)0CCFR0Портввода/выводаМатрицаCEXn1PCA0CPLnPCA0CPHnЗахват01Сигналтактированиямодуля ПМСPage 154CYGNAL Integrated Products, Inc. 2002PCA0LPCA0H4.2002; Rev. 1.4C8051F000/1/2/5/6/7C8051F010/1/2/5/6/720.1.2. режим программного таймера (сравнения)В режиме программного таймера значение таймера/счетчика ПМС сравнивается со значением 16разрядного регистра захвата/сравнения (PCA0CPHn and PCA0CPLn) соответствующего модуля.
Когдапроисходит совпадение, флаг захвата/сравнения (CCFn) в регистре PCA0CN устанавливается в 1 и, если CCFпрерывание разрешено, генерируется запрос прерывания. Бит CCFn не сбрасывается аппаратно при переходек процедуре обслуживания прерывания и должен быть сброшен программно. Режим программного таймеравключается установкой в 1 битов ECOMn и MATn регистра PCA0CPMn.Рисунок 20.4. Структурная схема ПМС в режиме программного таймераЗапись вPCA0CPLn0ENBСбросЗапись вPCA0CPHnПрерывание отмодуля ПМСENB1PCA0CPMnPCA0CNECCMT P EC A A A OWCOPP TGMCMP N n n n Fn n nn0 0PCA0CPLnCCFRPCA0CPHnCCCCCCCCCCFFFFF4 3 2 1 00 0 xВключениеСигналтактированиямодуля ПМСPCA0L0Совпадение16-разрядныйкомпаратор1PCA0H20.1.3.
Режим высокоскоростного выходаВ этом режиме каждый раз, когда происходит совпадение значения таймера/счетчика ПМС изначения 16-разрядного регистра захвата/сравнения (PCA0CPHn and PCA0CPLn), логический уровеньвыходного сигнала на относящемся к модулю выводе CEXn будет инвертироваться. Режимвысокоскоростного выхода включается установкой в 1 битов TOGn, MATn и ECOMn регистра PCA0CPMn.Рисунок 20.5. Структурная схема ПМС в режиме высокоскоростного выходаЗапись вPCA0CPLn0ENBСбросЗапись вPCA0CPHnPCA0CPMnENBECCMT P EC A A A OWCOPP TGMCMP N n n n Fn n nn10 0Прерывание отмодуля ПМС0 xPCA0CNPCA0CPLnВключениеCCFRPCA0CPHn16-разрядныйкомпараторСовпадениеCCCCCCCCCCFFFFF4 3 2 1 001ИнвертированиеTOGn0Сигналтактированиямодуля ПМС4.2002; Rev. 1.41PCA0LPCA0HCYGNAL Integrated Products, Inc.
2002CEXnМатрицаПортввода/выводаPage 155C8051F000/1/2/5/6/7C8051F010/1/2/5/6/720.1.4. Режим широтно-импульсного модулятораВсе модули захват/сравнение могут использоваться для генерации на соответствующем им выводеCEXn выходного сигнала с широтно-импульсной модуляцией (ШИМ). Частота этого выходного сигналазависит от частоты сигнала тактирования таймера/счетчика ПМС. Для изменения коэффициента заполнениявыходного ШИМ сигнала используется регистр захвата/сравнения PCA0CPLn соответствующего модуля.Когда значение младшего байта таймера/счетчика ПМС (PCA0L) становится равным значению регистраPCA0CPLn, на внешнем выводе CEXn устанавливается сигнал высокого уровня. Когда регистр PCA0Lпереполнится, на выводе CEXn установится сигнал низкого уровня (см. рис.20.6). Кроме этого, припереполнении младшего байта таймера/счетчика (PCA0L) из состояния 0xFF в состояние 0x00 регистрPCA0CPLn автоматически перезагружается значением, хранящимся в регистре PCA0CPHn, безвмешательства со стороны программы.
Во избежание сбоев в работе цифрового компаратора рекомендуетсяосуществлять запись в регистр PCA0CPHn, а не в регистр PCA0CPLn. Режим широтно-импульсногомодулятора включается установкой в 1 бит ECOMn и PWMn регистра PCA0CPMn.Рисунок 20.6. Структурная схема ПМС в режиме ШИМ.PCA0CPHnЗапись вPCA0CPLnСбросЗапись вPCA0CPHn0ENBPCA0CPMnENB1E CCMT P EC A A A OWCOPP TGMCMPN n n n Fn n nn0 0 x 0PCA0CPLnxВключениеСовпадение8-разрядныйкомпараторSRСигналтактированиямодуля ПМСPage 156PCA0LSETCLRQCEXnМатрицаПортввода/выводаQПереполнениеCYGNAL Integrated Products, Inc. 20024.2002; Rev. 1.4C8051F000/1/2/5/6/7C8051F010/1/2/5/6/720.2. Таймер/счетчик модуля ПМС16-разрядный таймер/счетчик модуля ПМС состоит из двух 8-разрядных SFR регистров: PCA0L иPCA0H.
PCA0H является старшим байтом (СЗБ) 16-разрядного таймера/счетчика, а PCA0L образует младшийбайт (МЗБ). При чтении регистра PCA0L одновременно автоматически фиксируется значение регистраPCA0H. Таким образом, если сначала прочитать регистр PCA0L, то значение регистра PCA0H(соответствующее моменту чтения регистра PCA0L) зафиксируется в регистре-защелке (см. рис.20.7) и будетудерживаться там до тех пор, пока пользователь не прочитает регистр PCA0H.
Чтение регистров PCA0H илиPCA0L не препятствует функционированию счетчика. Выбор внутреннего сигнала тактированиятаймера/счетчика осуществляется битами CPS1 и CPS0 регистра PCA0MD, как показано в табл.20.2.При переполнении таймера/счетчика из состояния 0xFFFF в состояние 0x0000 устанавливается в 1флаг переполнения счетчика (CF) в регистре PCA0MD и, если прерывание от флага CF разрешено,генерируется запрос прерывания. Бит CF не сбрасывается аппаратно при переходе к процедуре обслуживанияпрерывания и должен быть сброшен программно.
Следует иметь ввиду, что прерывания от флага CFраспознаются только в том случае, если прерывания от модуля ПМС разрешены глобально. Прерывания отПМС разрешаются глобально установкой в 1 битов EA (IE.7) и EPCA0 (EIE1.3). Сброс в 0 бита CIDLрегистра PCA0MD позволяет ПМС продолжать нормальное функционирование в то время, когда МКпереведен в режим ожидания.Таблица 20.2. Выбор тактового сигнала для ПМСCPS0001CPS101011Внутренний сигнал тактирования ПМСSYSCLK/12SYSCLK/4Переполнение Таймера 0Срез (переход из 1 в 0) входного сигнала на внешнем выводе ECI(макс. частота = SYSCLK/4)Рисунок 20.7.
Структурная схема таймера/счетчика модуля ПМСПРОСТОЙ (ОЖИДАНИЕ)PCA0MDCIDLCCEPPCSSF1 0PCA0CNCCFRCCCCCCCCCCF FFF F4 3 2 1 0ЧтениеилизаписьPCA0LК SFR шинеРегистрзащелкаSYSCLK/12SYSCLK/400010101Переполнение Таймера 0ECIПереполнениеPCA0HPCA0LК блоку прерываниймодуля ПМСCF11К модулям захват/сравнение ПМС4.2002; Rev. 1.4CYGNAL Integrated Products, Inc. 2002Page 157C8051F000/1/2/5/6/7C8051F010/1/2/5/6/720.3. Описание регистров модуля ПМСНиже приводится описание регистров специального назначения, связанных с работой модуля ПМС.В разделе данного технического описания, посвященном ядру CIP-51, содержится дополнительнаяинформация о регистрах SFR и их использовании.Рисунок 20.8. PCA0CN: Регистр управления ПМСR/WR/WR/WR/WR/WR/WR/WR/WCFCR-CCF4CCF3CCF2CCF1CCF0Значениепри сбросе:Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 000000000(доступен в битовомрежиме адресации)SFR Адрес:0xD8Бит 7: CF: Флаг переполнения Таймера/Счетчика ПМС.Устанавливается в 1 аппаратно, когда Таймер/Счетчик ПМС переполняется из состояния0xFFFF в состояние 0x0000.
Если прерывание от Таймера/Счетчика ПМС (от флага CF)разрешено, то установка этого бита приведет к переходу на процедуру обслуживанияпрерывания от флага CF. Этот бит не сбрасывается аппаратно и должен быть сброшенпрограммно.Бит 6: CR: Управление запуском Таймера/Счетчика ПМС.Этот бит включает/отключает Таймер/Счетчик ПМС.0: Таймер/Счетчик ПМС отключен.1: Таймер/Счетчик ПМС включен.Бит 5: Не используется. Читается как 0.Бит 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. Этот бит не сбрасываетсяаппаратно и должен быть сброшен программно.Page 158CYGNAL Integrated Products, Inc. 20024.2002; Rev. 1.4C8051F000/1/2/5/6/7C8051F010/1/2/5/6/7Рисунок 20.9. PCA0MD: Регистр режима ПМСR/WR/WR/WR/WR/WR/WR/WR/WCIDL----CPS1CPS0ECFЗначениепри сбросе:Бит 7Бит 6Бит 5Бит 4Бит 2Бит 1Бит 000000000Бит 3SFR Адрес:0xD9Бит 7: CIDL: Управление режимом простоя (ожидания) Таймера/Счетчика ПМС.Это бит определяет поведение ПМС в то время, когда МК находится в режиме простоя(ожидания).0: ПМС продолжает нормально функционировать в то время, когда МК находится в режимепростоя (ожидания).1: Работа ПМС приостанавливается в то время, когда МК находится в режиме простоя(ожидания).Биты 6-3: Не используются. Читаются как 0000b.Биты 2-1: CPS1-CPS0: Выбор сигнала тактирования Таймера/Счетчика ПМС.Эти биты определяют, какой сигнал будет использоваться для тактированияТаймера/Счетчика ПМС.Внутренний сигнал тактирования ПМСSYSCLK/12SYSCLK/4Переполнение Таймера 0Срез (переход из 1 в 0) входного сигнала на внешнем выводе ECI11(макс.
частота = SYSCLK/4)Бит 0: ECF: Разрешение прерываний от переполнения Таймера/Счетчика ПМС.Этот бит разрешает/запрещает прерывания от переполнения Таймера/Счетчика ПМС (от флагаCF ).0: Прерывания от флага CF (PCA0CN.7) запрещены.1: Прерывания от флага CF (PCA0CN.7) разрешены.CPS00014.2002; Rev. 1.4CPS1010CYGNAL Integrated Products, Inc. 2002Page 159C8051F000/1/2/5/6/7C8051F010/1/2/5/6/7Рисунок 20.10.
PCA0CPMn: Регистры управления модулями захват/сравнениеR/WR/WR/WR/WR/WR/WR/WR/W-ECOMnCAPPnCAPNnMATnTOGnPWMnECCFnЗначениепри сбросе:Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 000000000Адреса регистров PCA0CPMn: PCA0CPM0 = 0xDA (n = 0)PCA0CPM1 = 0xDB (n = 1)PCA0CPM2 = 0xDC (n = 2)PCA0CPM3 = 0xDD (n = 3)PCA0CPM4 = 0xDE (n = 4)SFR Адрес:0xDA-0xDEБит 7: Не используется. Читается как 0.Бит 6: ECOMn: Разрешение функции компаратора.Этот бит включает/отключает функцию компаратора модуля n ПМС.0: Компаратор отключен.1: Компаратор включен.Бит 5: CAPPn: Разрешение функции захвата по положительному фронту.Этот бит разрешает/запрещает захват по положительному фронту для модуля n ПМС.0: Захват по положительному фронту запрещен.1: Захват по положительному фронту разрешен.Бит 4: CAPNn: Разрешение функции захвата по отрицательному фронту.Этот бит разрешает/запрещает захват по отрицательному фронту для модуля n ПМС.0: Захват по отрицательному фронту запрещен.1: Захват по отрицательному фронту разрешен.Бит 3: MATn: Разрешение функции определения совпадения.Этот бит включает/отключает функцию определения совпадения для модуля n ПМС.