Сделай Сам Свою Работу на 5

Последовательные порты ввода-вывода





В состав микроконтроллеров семейства 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 и Кр

PR1 PRO Kd RTR1 RTR0 Кр

 

В состав таймера входит несколько 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 Все материалы защищены законодательством РФ.