|
Последовательные порты ввода-вывода
В состав микроконтроллеров семейства 68НС11/711 входят порты последовательного асинхронного и синхронного ввода-вывода SCI, SPI, которые функционируют аналогично соответствующим портам в микроконтроллерах семейства 68НС05/705 (см. 1.1.10, 1.1.11). Выводы портов SCI, SPI совмещены с выводами параллельного порта D (см. табл. 1.64).
Асинхронный последовательный порт SCI имеет вход RxD и выход TxDO, совмещенные соответственно с выводами PDO, PD1 порта D (см. рис. 1.66). В микроконтроллерах серий D, Е, F функционирование этого порта аналогично описанному в 1.10 порту SCI. Небольшие изменения касаются только работы генератора синхросигналов, управление которым осуществляется с помощью регистра BAUD(аналог регистра BRRв семействе 68НС05/705, см. рис. 1.15, г). Содержимое регистра BAUD(рис. 1.75) в этих микроконтроллерах содержит дополнительные биты TCLK, RCKB, используемые при тестировании микроконтроллера в процессе производства. Для моделей 68НС11Е20, 68НС711Е20 поле SCP, задающее коэффициент деления Kd, который определяет частоту синхроимпульсов при последовательном обмене, содержит дополнительный бит SCP2. Значения коэффициента деления частоты Kd для этих моделей микроконтроллеров приведены в табл. 1.66. Адреса регистров порта SCI, используемых в микроконтроллерах серий D, Е, F, приведены в табл. 1.67.
Рис. 1.75. Формат содержимого регистра BAUD для микроконтроллеров семейства 68НС11/711 (* бит SCP2 используется только для моделей 68НС11/711Е20)
Таблица 1.66. Значения коэффициента деления Kd для моделей 68НС11/711Е20
SCP2-0
| Kd
|
|
|
|
|
|
|
|
|
|
| 101-111
| Не используются
| Таблица 1.67. Адреса регистров порта SCI для микроконтроллеров серий D, Е, F
Регистр
| Адрес регистра
| Серии Е, F
| Серия D
| BAUD
| $102 В
| $002В
| SCCR1
| $102С
| $002С
| SCCR2
| $102D
| $0020
| SCSR
| $102Е
| $002Е
| SCDR
| $102F
| S002F
|
В микроконтроллерах серий К, Р используется модифицированный вариант порта SCI. Этот вариант порта обеспечивает контроль нарушения четности, реализует кольцевой обмен данными с выхода RxD на вход TxD для проверки правильности функционирования порта SCI и ряд других возможностей. Для их реализации в порт SCI введены дополнительные биты в регистрах SCCR, SCSR и дополнительные регистры.
В состав микроконтроллеров серии Р входят 3 порта SCI, совместная работа которых организуется с помощью специальной шины. В микроконтроллерах серии KW порт SCI отсутствует.
Синхронный последовательный порт SPI функционирует аналогично порту SPI, описанному в 1.1.11. Этот порт имеет выводы MISO, MOSI, SCK, SS#, которые совмещены с выводами PD2, PD3, PD4, PD5 порта D (см. рис. 1.66). Адреса регистров порта SPI приведены в табл. 1.68.
Таблица 1.68. Адреса регистров порта SPI для микроконтроллеров семейства 8НС11/711
Регистр
| Адрес регистра
| серий Е, F
| серий D, Р, К, KW
| SPCR
| $1028
| $0028
| SPSR
| $1029
| $0029
| SPDR
| $102А
| $002А
| В регистр управления SPCR (рис. 1.76) этого порта добавлен бит DWOM, который при значении DWOM=l обеспечивает работу всех выводов порта D в режиме с «общим стоком». Назначение остальных битов регистров SPCR, SPSR полностью соответствует описанию, данному в 1.1.11.
Рис 1.76. Формат содержимого регистра SPCR в микроконтроллерах семейства 68НС11/711
Таймерные блоки
В микроконтроллерах семейства 68НС11/711 таймер имеет существенно более сложную структуру, чем в микроконтроллерах 68НС05/705, так как выполняет более сложные и многообразные функции. Адреса регистров таймерного блока для различных серий микроконтроллеров 68НС11/711 приведены в табл. 1.69. Таймер- ный блок имеет 4 входа сигналов захвата IC4-1, 5 выходов сигналов совпадения ОС5-1 и 1 вход сигнала переключения счетчика событий (внешних сигналов) PAI, которые совмещены с выводами параллельного порта А (см. рис. 1.66):
РАО - вход сигнала захвата IC3;
РА1 - вход сигнала захвата IC2;
РА2 - вход сигнала захвата 1C 1;
РАЗ - вход сигнала захвата IC4, выход сигнала совпадения ОС5 или ОС1;
РА4 - выход сигнала совпадения ОС4 или ОС 1;
РА5 - выход сигнала совпадения ОСЗ или ОС1;
РА6 - выход сигнала совпадения ОС2 или ОС 1;
РА7 - вход сигнала переключения счетчика PAI, выход сигнала совпадения ОС1.
Таблица 1.69. Адреса регистров таймерного блока для микроконтроллеров 68НС11/711
Регистры
| Адреса регистров
| серий Е, F
| серий D, К, KW, Р
| CFORC
| $100В
| $ооов
| ОС1М
| $100С
| $ооос
| ОСЮ
| $100D
| $000D
| TCNT
| $100E-0F
| $000E-0F
| TIC1
| $1010-11
| $0010-11
| TIC2
| $1012-13
| $0012-13
| ТЮЗ
| $1014-15
| $0014-15
| ТОС1
| $1016-17
| $0016-17
| ТОС2
| $1018-19
| $0018-19
| ТОС
| $101А-1В
| $001А-1В
|
Регистры
| Адреса регистров
| серий Е, F
| серий D, К, KW, Р
| ТОС4
| $101 С-1 D
| $001 С-1 D
| TIC4/TOC5
| $101E-1F
| $001Е-1F
| TCTL1
| $1020
| $0020
| TCTL2
| $1021
| $0021
| TMSK1
| $1022
| $0022
| TYFLG1
| $1023
| $0023
| TMSK2
| $1024
| $0024
| TFLG2
| $1025
| $0025
| PACTL
| $1026
| $0026
| PACNT
| $1027
| $0027
| Таймерреализован на базе 16-разрядного счетчика TCNT,который начинает счет при запуске микроконтроллера. После запуска состояние TCNTможет быть только считано, например, командами LDD, LDX, LDY. Частота счета определяется значениями битов PR1-0 в регистре TMSK2(рис. 1.77, г) и составляет Fc = Ft/Kd, где величина коэффициента деления Kd указана в табл. 1.70.
Рис 1.77. Формат содержимого регистров управления таймером. TFLGl(a), TMSK1 (б), TFLG2 (в), TMSK2 (г); TCTL1 (д); TCTL2 (е), ОС1М (ж), ОСЮ (з), CFRC (и)
Таким образом, при тактовой частоте Ft=2 МГц временное разрешение таймера равно Тс=500 нс, максимальное время счета при Kd=16 составляет 524 мс. Когда счетчик переключается из состояния SFFFF в $0000, признак переполнения в регистре TFLG2 (рис. 1.77, в) принимает значение TOF=l. При этом формируется запрос прерывания, если в регистре TMSK2 (рис. 1.77, г) бит разрешения данного запроса ТО!=Т.
Таблица 1.70. Значения коэффициентов деления частоты Kd и Кр
В состав таймера входит несколько 8-разрядных регистров управления, форматы которых показаны на рис. 1.77. Таймер может использоваться для периодической генерации запросов прерывания, а также работать в режиме захвата (фиксации) и режиме сравнения (совпадения).
В режиме захвата поступление сигнала на вход 1Сх таймера, где х=1, 2, 3 или 4, вызывает запись текущего содержимого счетчика TCNT в соответствующий 16-разрядный регистр захвата TICx. При этом в регистре TFLG1 (рис. 1.77, а) устанавливается значение признака захвата ICxF=l, которое вызывает формирование запроса прерывания таймера, если в регистре TMSK1 (рис. 1.77, 6) значение соответствующего бита разрешения прерывания 1Сх1=1. Последующее считывание содержимого регистра TICx позволяет определить время поступления сигнала 1Сх. Входами сигналов захвата 1Сх служат выводы РАЗ-0 порта А, если в регистре управления TCTL2 (рис. 1.77, е) установлены соответствующие значения битов EDGxB, EDGxA, которые определяют вид сигнала, вызывающего захват (табл. 1.71).
При установке значений EDGxB=EDGxA=0 сигнал на входе 1Сх не влияет на работу таймера, поэтому соответствующий вывод порта может использоваться для передачи данных через регистр PORTA. Для двунаправленных выводов РА7, РАЗ порта А направление передачи данных определяется значением соответствующих битов DDRA7, DDRA3 в регистре PACTL (рис. 1.78).
Таблица 1.71. Виды входных сигналов захвата 1Сх и выходных сигналов совпадения ОСх
EDGxB
| EDGxA
| Сигнал захвата ICx
|
|
| Запрещение захвата
|
|
| Положительный перепад
|
|
| Отрицательный перепад
|
|
| Любой перепад
| ОМх
| OLx
| Состояние выхода ОСх
|
|
| Не изменяется
|
|
| Переключение
|
|
| Установка в 0
|
|
| Установка в 1
|
В режиме сравненияпредварительно производится запись определенных чисел в 16-разрядные регистры ТОСх,где х=1, 2, 3, 4 или 5. Когда содержимое счетчика TCNTстановится равным числу, записанному в каком-либо регистре ТОСх,формируется сигнал на соответствующем выходе ОСх и устанавливается значение признака совпадения OCxF=l в регистре TFLG1.Этот признак вызывает формирование запроса прерывания таймера, если в регистре TMSK1установлено значение соответствующего бита разрешения прерывания ОСх1=Т. Вкачестве выходов сигналов совпадения ОСх используются выводы РА7-3 порта А, изменение состояния которых определяется значениями битов ОМх, OLx в регистре TCTL1(см. рис. 1.77, д) в соответствии с табл. 1.71. При установке значений OMx=OLx=0 соответствующий вывод порта А отключается от таймера и может использоваться для передачи данных через регистр PORTA.
Так как направление передачи данных через выводы РА7, РАЗ определяется значением битов DDRA7, DDRA3 в регистре PACTL(см. рис. 1.78), то при использовании этих выводов для формирования сигналов совпадения ОС1 или ОС5 необходимо установить в 1 соответствующий бит DDRA7 или DDRA3.
Вывод АЗ может служить для приема входного сигнала захвата IC4 или выдачи выходных сигналов совпадения ОС5 или ОС 1. Режим его использования определяется значением бита IC4/OC5 в регистре PACTL(см. рис. 1.78): при установке этого бита в 1 вывод АЗ является входом сигнала IC4, при установке в 0 - выходом сигнала ОС5. В соответствии с режимом, установленным для этого вывода, регистр TIC4/TOC5(см. табл. 1.60) будет служить для фиксации времени захвата сигнала IC4 или для записи времени формирования сигнала совпадения ОС5.
Таймер в режиме сравнения может быть запрограммирован на формирование в определенные моменты времени заданных выходных кодов. Для выполнения этой функции используется регистр сравнения ТОС1и дополнительные регистры ОС1М, OC1D(см. рис. 1.77, ж, з). В регистр ТОС1записывается число, определяющее момент выдачи заданного кода. В регистре ОС1Мустанавливаются значения битов ОС1Мх=1 для тех выводов РА7-3, на которые должен поступать заданный код. В регистр OC1Dзаписывается код, поступающий на эти выводы в момент совпадения содержимого ТОС1и TCNT.Таким образом, может выдаваться код, содержащий до пяти разрядов. Если при этом часть выводов РА70-3 не используется, то они могут программироваться для выдачи отдельных сигналов совпадения или служить для вывода данных из регистра PORTA.
Запрограммированные сигналы совпадения могут выдаваться на выводы РА7-0 не только в моменты совпадения содержимого соответствующего регистра ТОСхи TCNT,но и при установке в регистре CFORC(см. рис. 1.77, и) значений битов FOCx=l. Таким образом осуществляется программное форсирование выдачи сигналов совпадения до наступления фактического совпадения содержимого регистров ТОСхи TCNT.Выводы, для которых в регистре CFORCзначения битов РОСхЮ, не изменяют своего значения при таком форсировании.
Генерация периодических прерыванийреализуется таймером с помощью регистра TFLG2(см. рис. 1.77, в). Признак RTIF в этом регистре принимает значение RTIF=1 через заданное время Тр = 8192Tt х Кр, где величина коэффициента Кр определяется битами RTR1-0 в регистре PACTL(см. рис. 1.78) в соответствии с табл. 1.70. При этом формируется запрос прерывания, если бит разрешения данного запроса RTII в регистре TMSK2установлен в 1. Сброс признака RTIF в состояние 0 производится путем записи соответствующего содержимого в регистр TFLG2.
Счетчик событийсодержит отдельный 8-разрядный счетчик PCNT,который работает либо в режиме счета событий, либо в режиме стробируемого таймера. Управление счетчиком осуществляется путем записи соответствующего содержимого в регистр PACTL(рис. 1.78). Счетчик функционирует при установке в этом регистре значения бита PAEN=1. При этом вывод РА7 порта А становится входом PAI счетчика. Режим работы задается битом PAMOD в регистре PACTL:счет событий при установке значения PAMOD=0, стробируемый таймер при PAMOD=l. Значение бита PEDGE в этом регистре определяет вид входного сигнала PAI, переключающего счетчик или запускающего таймер. В режиме счета событий переключение PCNT происходит при поступлении соответствующего фронта сигнала на вход PAI: отрицательного при значении бита PEDGE=0, положительного при PEDGE=1. В режиме стробируемого таймера PCNTпереключается внутренними импульсами, частота следования которых равна Fc/64, где Fc - частота переключения счетчика TCNT.Внешний сигнал PAI стробирует переключение PCNT:если значение бита PEDGE=0, то счет разрешается при сигнале РА1=1 и запрещается при РА1=0, если значение PEDGE=1, то наоборот.
Рис 1 78. Формат содержимого регистра PACTL
При работе счетчика в регистре TFLG2 (см. рис. 1.77, в) устанавливаются признак переполнения счетчика PAOVF=l, когда содержимое PCNT изменяется с $FF на $00, и признак поступления входного сигнала PAIF=1, когда на вход PAI подается сигнал, заданный значением бита PEDGE. Каждый из этих сигналов вызывает запрос прерывания, если соответствующий бит разрешения PAOI или РАИ в регистре TMSK2 (см. рис. 1.77, г) равен 1.
Обслуживание запросов прерывания, поступающих от таймерных блоков, выполняется так, как описано в 1.3.3. Для обслуживания этих запросов выделено 12 векторов, адреса которых даны в табл. 1.60. Предусмотрены отдельные векторы для обслуживания каждого из вариантов захвата и совпадения, переполнения таймера, периодического прерывания, переполнения счетчика событий и поступления входного сигнала PAI.
Благодаря наличию нескольких каналов захвата и сравнения, введению ряда дополнительных режимов функционирования, включению дополнительного счетчика событий микроконтроллеры семейства 68НС11/711 обладают весьма широкими возможностями для выполнения таких процедур, как измерение временных интервалов, формирование управляющих кодов в заданные моменты времени, выдача нескольких сигналов с различными задержками, периодическое выполнение необходимых подпрограмм, генерация импульсов, многоканальная широтно-импульсная модуляция.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|