Гребнев В.В. - Микроконтроллеры семейства AVR фирмы Atmel, страница 9
Описание файла
DJVU-файл из архива "Гребнев В.В. - Микроконтроллеры семейства AVR фирмы Atmel", который расположен в категории "". Всё это находится в предмете "цифровая обработка сигналов (цос)" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "цифровая обработка сигналов" в общих файлах.
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла, 9 - страница
Последовательный порт ввода-вывода УАВТ Порт 1)АКТ входит в состав пернфершшых устройств микроконтроллеров типа 2313, 4433,8515, 8535, т163 и т103. Порт ПАКТ содержит передатчик, приемник, тактовый генератор и аппаратуру управления передачей и приемом. Передатчик получает байт пз шины данных микроконтроллера и формирует и выдает последовательность битов (кадр), которая кроме битов, составляющих байт (РО, Р1,, Р7), содержит стартовый бит (ьгагг), имеющий пулевое значение, и стоповый бит (ягор), имеющий единичное значение. Между старшим битом байта (Р7) и стоповым битом моясст помещаться дополнительный бит (СВ).
Структура кадра, содержащего 10 и 11 битов, показана на рис. 3,4,а и б соответственно. 51аг1 б/ 00 01 02 05 04 05 06 01 ГВ 51аг1 51ор Рпс. 3.4 Приемник выделяет стартовый бит, принимает кадр, формат которого (число битов) задан, расформировывает принятый кадр и подготавливает байт для выдачи в шину данных микроконтроллера. Тактовый генератор формирует сигнал, определяющий скорость передачи и приема битов и позволяющий выделять биты при приеме кадра. В состав порта входят регистр данных передатчика ЯРК (Т), регистр данных приемника ШЖ (К), регистр управления 1)СК или 1)СЖВ (№ $0А), регистр состояния 13Ж или БСЖА (№ $0В), регистр задания скорости передачи/приема 11ВКК (№ $09) и другие элементы.
Регистры данных передатчика и приемника имеют один номер — $0С. При обращении для записи выбирается регистр ШЖ (Т), при обращении для чтения — регистр Ш)К (К). Структурная схема порта (1АКТ изображена на рис. 3.5. 48 Глава 3 Передатчик готов к работе при установке в единичное состояние разряда ТХЕХ регистра управления БСК, При этом выход передатчика ТХР подключается к выводу определенного порта микроконтроллера.
Передача кадра начинается при загрузке байта в регистр Ш)К (Т). Загрузку можно выполнять при единичном состоянии разряда БОКЕ регистра состояния ЮК. При сбросе микроконтроллера в исходное состояние устанавливается ШЖЕ = 1. Загруженный байт передается в сдвигающий регистр передатчика ТИК и происходит выдача кадра на выход микроконтроллера ТХ0. При нулевом состоянии разряда СНК9 регистра БСК формируется кадр из десяти битов. При СНК9 = 1 кадр содержит одиннадцать битов.
Значение дополнительного бита в этом случае должно быть указано в разряде ТХВ8 регистра БСК. Первый байт при загрузке немедленно передается в регистр ТЯК и разряд ШИЕ регистра 1)ЯК сохраняет единичное состояние, что позволяет сразу после загрузки первого байта загружать в регистр ШИ (Т) Работа периферийных устройств второй байт.
Второй и последующие байты сохраняются в регистре 1ЛЖ (Т) до завершения выдачи из регистра ТЖ предыдущего кадра. При этом разряд 1ЛЖЕ регистра БЖ находится в нулевом состоянии и загрузка очередного байта в регистр 1ЛЖ (Т) запрещена. При завершении выдачи кадра из регистра ТЯК и отсутствии очередного байта в регистре 1ЛЖ (Т) устанавливается в единичное состояние разряд ТХС регистра 1)Ж и при единичном состоянии разряда ТХС1Е регистра ИСК в блок прерываний поступает запрос прерывания 13АКТ ТХС.
Разряд ТХС регистра 11ЯК сбрасывается в нулевое состояние аппаратно при переходе микроконтроллера к выполнению соответствующей прерывающей программы или программно при выполнении команды установка бита в единичное состояние (!). При единичном состоянии разряда ШЖЕ регистра 1)ЯК и единичном состоянии разряда ПЖ1Е регистра ИСК в блок прерываний поступает запрос прерывания 13АКТ ОКЕ. Разряд 11РКЕ сбрасывается в нулевое состояние прн записи байта в регистр 1ЛЖ (Т).
Прерывающая программа, выполняемая по запросу прерывания (1АКТ 1ЖЕ, должна содержать команду записи в регистр 1ЛЖ (Т) для прекращения действия этого запроса прерывания. Приемник готов к работе при установке в единичное состояние разряда КХЕХ регистра БСК. При этом вход приемника КХР подключается к выводу определенного порта микроконтроллера. При обнаружении на входе КХВ отрицательного фронта сигнала, приемник определяет уровень сигнала в момент времени, отстоящий от фронта на половину интервала, отводимого на передачу бита при заданной скорости передачи, При обнаружении нулевого уровня принимается решение о приеме стартового бита и далее определяются уровни сигнала в моменты времени, отстоящие друг от друга на интервал, отводимый на передачу бита. Получаемая последовательность значений вводится в сдвигающий регистр приемника КЖ.
Если принимается кадр из одиннадцати битов (СНК9 = 1), дополнительный бит принимается в разряд КХВ8 регистра ИСК. Если на месте ожидаемого стопового бита сигнал имеет нулевое значение, устанавливается в единичное состояние разряд ГЕ регистра ББК (ошибка формата). Разряд Ю сбрасывается в нулевое состояние при появлении единичного значения стопового бита. Принятый байт из регистра ЮК переписывается в регистр УРК (К). При этом устанавливается в единичное состояние разряд КХС регистра 13ЯК и при единичном состоянии разряда КХС1Е регистра 13СК в блок прерываний поступает запрос прерывания 13АКТ КХС. Разряд КХС регистра БЯК сбрасывается в нулевое состояние при чтении регистра УРК (К).
Прерывающая программа, выполняемая по запросу прерывания БАКТ КХС, должна содержать команду чтения из регистра 1ЛЖ для прекращения действия этого запроса. Глава 3 50 Если прн завершении приема кадра принятый ранее байт не считан из регистра ГОК (К), устанавливается в единичное состояние разряд ОК регистра ББК (состояние переполнения). Разряд ОК сбрасывается в нулевое состояние при передаче байта из регистра КЖ в регистр Ш)К (К). Тактовый генератор ВКС формирует сигнал, определяющий скорость передачи и приема битов н дополнительный сигнал, обеспечивающий выделение битов прп приеме кадра.
Скорость передачи и приема ВК, бит/с, зависит от частоты тактового сигнала микроконтроллера Г~к и числа (БВКК), двоичный код которого записан в регистре БВКК, н определяется по формуле: ~ск 16((БВКК) + 1) ' Для работы со стандартными скоростями приема-передачи (4800, 9600,14400, 19200, 28800, 38400, 57600, 76800 и 115200 бит/с) используются кварцевые резонаторы со специальными значениями резонансной частоты (3, 6864; 7,3728; 11,059 Мгц). В порте 1.1АКТ микроконтроллеров типа 4433 и гп163 регистр управления вместо имени БСК имеет имя 1.1СЯКВ, а регистр состояния вместо имени 1)Ж вЂ” имя 1)СЯКА. Регистр ()СЯКА имеет дополнительный разряд МРСМ.
При единичном состоянии разряда приемник принимает кадры, у которых дополнительный бит (СВ) имеет единичное значение и игнорирует кадры при СВ = О. При нулевом состоянии разряда МРСМ принимаются кадры с любым значением дополнительного бита. Наличие разряда МРСМ позволяет организовать простейшую локальную сеть (мультипроцессорцую систему), в которой имеется один ведущий контроллер и несколько ведомых.
Каждому ведомому контроллеру присваивается определенный номер. В исходном состоянии у всех ведомых контроллеров МРСМ = 1. Ведущий контроллер передает кадр, в котором СВ - 1, а байт является номером ведомого котроллера, который должен принять данные из ведущего. Все ведомые контроллеры принимают кадр. Контроллер, опознавший свой номер, сбрасывает разряд МРСМ в нулевое состояние. Далее ведущий контроллер передает кадры, в которых СВ - О, а байты представляют собой данные для выбранного ведомого контроллера. Эти кадры принимаются только ведомым контроллером, у которого МРСМ = О. При обнаружении кадра с СВ - 1 выбранный контроллер переводит разряд МРСМ в единичное состояние и переходит в исходное состояние. В микроконтроллере типа ш163, кроме того, регистр БСЖА имеет дополнительный разряд 112Х, а для задания скорости передачи используются два регистра — регистр ()ВКК (Мо$09) для задания младших РаБота периферийных устройств восьми разрядов кода числа и регистр 1)ВККН1 (№320) для задания старших четырех разрядов кода числа.
Скорость передачи определяется по формуле иск К((1)ВККН1, 1УВКК) + 1) ' где К 16 при 132Х = О, К = 8 при 1)2Х = 1. В табл. 3.5. указаны выводы портов микроконтроллеров, используемые в качестве входа приемника (КХВ) и выхода передатчика (ТХ0) у микроконтроллеров разных типов. ТаБли ца 3.5 3.4. Последовательный порт ввода-вывода ТИПУ Ц2С~ Порт ТЖ81 входит в состав периферийных устройств микроконтроллера типа т163. Через порт ТЮЯ1 микроконтроллер подключается к двухпроводной шине 1С. Схема подключения нескольких устройств (У1, ..., УМ) к шине 1С изображена на рис. 3,6.
Рпс. 3.6 Устройство может работать в качестве ведущего или ведомого. Статус микроконтроллера, подключенного к шине 1С, устанавливается программными средствами. Линия ЯС1. предназначена для передачи синхросигнала из ведуцего устройства в ведомое. Линия ИВА совместно с линией БС1. используется для передачи сигналов начала и конца обмена, адресных байтов и байтов данных и сигналов подтверждения приема байта. Линии ЯС1. и Я)А соединены с одноименными выводами подключенных устройств. 52 Глава 3 Кроме того, они через резисторы К1 и К2 подключены к шине ЧСС. При отсутствии обмена в линиях БС1.
и ЯРА устанавливается высокий уровень сигнала. Ведущее устройство после перевода его в активное состояние дожидается освобождения шины от обмена между другими устройствами и формирует в шине посылку начала обмена (5гагг, ЯТ), которая представлена переходом сигнала в линии ЯРА от высокого уровня к низкому уровню при высоком уровне сигнала в линии БС1. После выдачи посылки ЯТ в линии ЯС1 устанавливается низкий уровень сигнала и далее формируется последовательность из девяти положительных импульсов.
Установка требуемого значения бита в линии ЯЭА производится при низком уровне сигнала в линии ЯС1.. Передача байта начинается со старшего разряда. Первым байтом, выдаваемом в шину ведущим устройством после выдачи посылки БТ, является адресный байт. Старшие семь битов адресного байта представляют номер (адрес) ведомого устройства, с которым будет выполняться обмен, (Аб, ..., АО), а младший бит %/К определяет направление обмена.
При Ж/К = О байты данных будут передаваться из ведущего устройства в ведомое, при Ж/К = 1 в противоположном направлении. Ведомое устройство после получения восьмого бита устанавливает в линии ЯЭА низкий уровень сигнала, что является подтверждением приема байта для ведущего устройства, (АсйпоЫефе, АСК). После адресного байта ведущее устройство передает (при Ч~/К О) или принимает (при Ж/К = 1) байты данных. При передаче байта данных принимающее устройство после приема восьмого бита устанавливает в линии ЯЭА низкий уровень сигнала (АСК), а передающее устройство при появлении девятого импульса опрашивает состояние линии ЯЭА.
Низкий уровень сигнала является подтверждением приема байта данных, При обнаружении высокого уровня подтверждения нет (№ Ас1поЫефе, НАС;, что свидетельствует об отсутствии обмена или ошибке при передаче байта. После успешной передачи байта данных возможны три варианта продолжения работы ведущего устройства: 1) передача следующего байта в том же направлении с участием того же ведомого устройства; 2) выбор другого ведомого устройства или смена направления обмена или то и другое; 3) окончание обмена с освобождением линии. В первом случае ведущее устройство формирует последовательность из девяти импульсов и выполняется пересылка очередного байта данных.