MicForSA (Ответы к Экзамену по Микропроцессорным Системам (микроконтроллеры микрокопроцессоры)), страница 7
Описание файла
Документ из архива "Ответы к Экзамену по Микропроцессорным Системам (микроконтроллеры микрокопроцессоры)", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "MicForSA"
Текст 7 страницы из документа "MicForSA"
При высокой разрядности ЦАП токозадающие резисторы должны быть согласованы с высокой точностью. Наиболее жесткие требования по точности предъявляются к резисторам старших разрядов, поскольку разброс токов в них не должен превышать тока младшего разряда. Поэтому разброс сопротивления в k-м разряде должен быть меньше, чем
R / R=2-k.
Из этого условия следует, что разброс сопротивления резистора, например, в четвертом разряде не должен превышать 3%, а в 10-м разряде - 0,05% и т.д.
Рассмотренная схема при всей ее простоте обладает целым букетом недостатков. Во-первых, при различных входных кодах ток, потребляемый от источника опорного напряжения (ИОН), будет различным, а это повлияет на величину выходного напряжения ИОН. Во-вторых, значения сопротивлений весовых резисторов могут различаться в тысячи раз, а это делает весьма затруднительной реализацию этих резисторов в полупроводниковых ИМС. Кроме того, сопротивление резисторов старших разрядов в многоразрядных ЦАП может быть соизмеримым с сопротивлением замкнутого ключа, а это приведет к погрешности преобразования. В-третьих, в этой схеме к разомкнутым ключам прикладывается значительное напряжение, что усложняет их построение.
11. Система сброса.
Сброс- перевод МК в исходное состояние. При этом все регистры микропроц. Ядра устанавливаются во вполне определенные начальные состояния, и МК переходит к выполнения программы с фиксированного адреса начального адреса (обычно $00).
Источниками сброса могут являться различные воздействия: включение питания и кратковременные его изменения, сигналы формируемые аппаратно внутри МК, а также инструкции программы. В частности, инструкция безусловного перехода на адрес $00.
Источники сброса МК Atmega163:
-
Сброс при включении питания. Происходит, если напряжение питания ядра ниже определенного порога (Vpot)
-
Внешний сброс. Происходит при поступлении сигнала низкого уросня длительностью >500нс на внешний контакт Reset микросхемы
-
Сброс сторожевым таймером.
-
Сброс при кратковременном провале напряжения питания. Происходим, если напряжение питания контроллера в процессе работы опускается ниже определенного порога(Vbot).
По любой из этих причин Мк переходит к выполнению программы с адреса $00. В этой ячейке размещают инструкцию jmp с адресом программы инициализации.
Все сигналы сброса детектируются на кристалле специальными схемами.
-
Схема сброса при включении питания (Power on reset circuit) контролирует напряжение питания Vcc и запускается при Vcc>Vpot. При Vcc=5V номинал Vpot=1.4V
-
Схема сброса при кратковременном провале Vcc(Brown out reset circuit) сравнивает Vcc с Vbot. Уровень Vbot программируется битом Bodlevel из группы з группы fuse-битов. При Bodlevel=1 Vbot=2.7V, Bodlevel=0 Vbot=4
-
Схема внешнего сброса (External reset circuit) управляется внешним сигналом низкого уровня #Reset
Сигналя с этих схем и с WDT фиксируются в регистре состояния MCUSR, объединяются по схеме «или» и устанавливают RS-триггер.
Источник сброса может быть установлен путем чтения регистра MCUSR (биты 0-3)
20 ПОСЛЕДОВАТЕЛЬНЫЙ ВВОД-ВЫВОД
И нтерфейс UART
Асинхронный последовательный интерфейс UART (Universal Asynchronous Receiver
Transmitter – универсальный асинхронный приемопередатчик) обеспечивает
полудуплексный режим обмена по трем линиям. В обмене всегда участвуют только два
устройства, одно из которых является передатчиком, второе – приемником.
В режиме асинхронной передачи каждое слово данных передается автономно и
передача может быть начата в любой момент времени.
Стандартный формат асинхронной передачи изображен на рис. 13.1.
Передача начинается со стартового (нулевого) бита. Затем передается от 5 до 8
бит данных. Передача заканчивается необязательным битом четного (или нечетного)
паритета и одним (полутора или двумя) единичными стоповыми битами. После этого в
любой момент времени может быть начат цикл передачи следующего слова.
Подразумевается, что приемник и передатчик работают на одной скорости,
измеряемой числом бит в секунду (бод). Внутренний генератор синхронизации приемника
запускается при обнаружении стартового бита. В идеальном случае эти импульсы
располагаются в середине битовых интервалов.
Формат асинхронной передачи позволяет выявлять возможные ошибки:
* если обнаружен стартовый бит и генератор синхронизации запущен, а по
первому импульсу синхронизации фиксируется уровень логической единице,
стартовый бит считается ложным;
* если по импульсам синхронизации, соответствующим стоп-битам, в
приемнике фиксируется логический нуль, сообщение считается ошибочным
(ошибка кадра);
* если контрольный бит не соответствует принятому соглашению о паритете,
фиксируется ошибка паритета.
Контроль формата позволяет обнаружить обрыв линии по отсутствию стоп-бита.
Для асинхронной передачи принят стандартный ряд скоростей: 50, 75, 110,150, 300,
600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с.:
В простейшем случае асинхронный приемопередатчик имеет две сигнальные
линии:
TxD (Transmit Data)- выход,
R xD (Receive Data) – вход,
При этом два устройства-приемопередатчика должны быть соединены между
собой тремя линями, или так называемым нуль-модемным кабелем (рис.13.2).
УПРАВЛЕНИЕ UART
Управление UART осуществляется через регистры ввода/вывода. В контроллере
ATmega163 для управления используется 5 регистров (рис. 13.3):
Регистр UDR (UART Data Register) – регистр данных UART
Регистр UСSRА (UART Control and Status Register A) -регистр А управления и
статуса UART
Регистр UCSRB (UART Control and Status Register B) - регистр В управления
и статуса UART
Регистры UBRRH1 и UBRR (UART Baud Rate registers) – регистры скорости
передачи.
Регистр данных UDR (UART Data Register) физически является двумя регистрами:
регистром передачи данных и регистром приема данных, использующими одни и те же
адреса $0C ($2C). При записи в регистр запись производится в регистр передачи данных
UART, при чтении происходит чтение содержимого регистра приема данных UART.
Скорость обмена данными в UART задается с помощью бод-генератора (Baud Rate
Generator). Он представляет собой делитель, генерирующий импульсы синхронизации с
ч астотой, определяемой выражением:
BAUD = частота в бодах (бит/сек),
CK = частота кварцевого генератора,
UBRR = содержимое 12-битного регистра UBRR (UART Baud Rate register).
Физически 12-битный регистр UBRR размещается в двух 8-битных регистрах.
Младшие 8 бит в регистре UBRR, старшие 4 бита – в регистре UBRRH1 (рис. 13.3).
При использовании стандартных кварцевых резонаторов, наиболее часто
используемые скорости передачи в бодах могут быть получены установками UBRR,
представленными в таблице 13.1. При установках UBRR, указанных в таблице, реальные
скорости в бодах будут иметь отличия менее 2% от стандартных скоростей.
Таблица 13.1.
Установки UBRR при стандартных частотах синхронизации
Фактически, для регулирования скорости передачи UART достаточно только одного
регистра UDDR. В регистр UDDRH1 во всех рассмотренных случаях записывается
константа $00.
Б лок-схема передатчика UART показана на рис. 13.3.
Рис. 13.3. Передатчик UART
Установленный в состояние 1 бит TXEN регистра UCSRB разрешает передачу
данных UART. Передача инициируется записью передаваемых данных в регистр данных
UDR. Данные пересылаются из UDR в сдвиговый регистр передачи в следующих случаях:
Новый символ записан в UDR после того как был выведен из регистра
стоповый бит предшествовавшего символа. Сдвиговый регистр загружается
немедленно.
Новый символ записан в UDR прежде, чем был выведен стоповый бит
предшествовавшего символа. Сдвиговый регистр загружается после выхода
стопового бита передаваемого символа, находившегося в сдвиговом
регистре.
Если из 10(11)-разрядного сдвигового регистра передачи выведена вся
информация (сдвиговый регистр передачи пуст) данные из UDR пересылаются в сдвиговый
регистр. В это время устанавливается бит UDRE (UART Data Register Empty) регистра
статуса USR (UART Status Register). При установленном в состояние 1 бите UDRE
приемопередатчик готов принять следующий символ. Запись в UDR очищает бит UDRE. В
то самое время, когда данные пересылаются из UDR в 10(11)-разрядный сдвиговый
регистр, бит 0 сдвигового регистра сбрасывается в состояние 0 (состояние 0 - стартовый
бит) а бит 9 или 10 устанавливается в состояние 1 (состояние 1 - стоповый бит). Если в
регистре управления UCSRB установлен бит CHR9 (т.е. выбран режим 9-разрядного слова
данных), то бит TXB8 регистра UCSRB пересылается в бит 9 сдвигового регистра передачи.
Сразу после пересылки данных в сдвиговый регистр тактом бод-генератора
стартовый бит сдвигается на вывод TxD. За ним следует LSB данных. Когда будет выдан
стоповый бит сдвиговый регистр загружается новой порцией данных, если она была
записана в UDR во время передачи. В процессе загрузки бит UDRE находится в
установленном состоянии. Если же новые данные не будут загружены в UDR до выдачи
стопового бита, флаг UDRE остается установленным. В этом случае, после того как
стоповый бит будет присутствовать на выводе TxD в течение одного такта, в регистре
управления и статуса UCSRA устанавливается флаг завершения передачи TxC (TX
Complete Flag).
ПРИЕМНИК
Структурная схема приемника UART приведена на рис. 13.4.
Рис. 13.4. Приемник UART
Логика восстановления данных (Front-End Logic) производит выборку состояний
вывода RxD с частотой в 16 раз большей, чем частота передачи. При нахождении линии в
пассивном состоянии одиночная выборка нулевого логического уровня будет
интерпретироваться как падающий фронт стартового бита и будет запущена
последовательность детектирования стартового бита. Считается, что первая выборка
обнаружила первый нулевой логический уровень вероятного стартового бита. На выборках
8, 9 и 10 приемник вновь тестирует вывод RхD на изменение логических состояний. Если
две или более из этих трех выборок обнаружат логические 1, то данный вероятный
стартовый бит отвергается как шумовой всплеск и приемник начнет выявлять и
анализировать следующие переходы из 1 в 0.
Если же был обнаружен действительный стартовый бит, то начинает
производиться выборка следующих за стартовым битом информационных битов. Эти биты
также тестируются на выборках 8, 9 и 10. Логическое состояние бита принимается по двум и
более (из трех) одинаковым состояниям выборок. Все биты вводятся в сдвиговый регистр