- •Конспект лекций оглавление
- •Общие с ведения о микроконтроллерах
- •Обобщенная структурная схема микроконтроллера
- •Система прерываний
- •Работа системы прерываний
- •Стек данных
- •Микроконтроллеры Intel, Motorola и Microchip
- •Краткое описание особенностей микроконтроллеров
- •Работа сср в режиме шим
- •Примеры контроллеров 18еххх, 16еххх. Характеристики 16 и 18 серии.
- •Периферийные модули
- •Основные характеристики микроконтроллеров
- •Рекомендации по схематическому решению для портов (16 серия)
- •Структура памяти
- •Банк памяти быстрого доступа
- •Регистр выбора банка памяти данных bsr (18 серия)
- •Косвенная адресация, регистра indf и fsr
- •Операция косвенной адресации
- •Механизм косвенной адресации
- •Работа с памятью рiс16fххх
- •Чтение из еерrом-памяти
- •Запись еерrом данных
- •Управление прерываниями Серия рiс16ххх
- •Система прерывании рiс18fхх2
- •Обработка прерываний
- •Контроллеры pic16f87x
- •Карта памяти микроконтроллеров:
- •Структурная схема микроконтроллеров pic16f87x:
- •Служебные регистр:
- •Контроллеры 18 серии
- •Карта памяти микроконтроллеров рiс18f242/442:
- •Регистры конфигурации контроллера:
- •Аппаратный умножитель 8х8
- •Модуль ацп
- •Конфигурация выводов модуля ацп (рiс16f873/76)
- •Источник опорного напряжения
- •Параллельные порты ввода/вывода
- •Последовательный синхронный порт (мssр)
- •Временные диаграммы работы mssp
- •Пример соединения двух мк через spi
- •Режим i2c последовательного порта mssp.
- •Асинхронно-синхронный последовательный порт (usart)
- •Временные диаграммы работы usart в асинхронном режиме
- •Ведомый параллельный порт (psp)
- •Временные диаграммы порта psp
- •Способы кодирования данных
- •Универсальная последовательная шина (usb) Краткий обзор шины
- •Протоколы передачи
- •Питание
- •Оконечные точки
- •Нумерация устройств
- •Описатели
- •Классы устройств / Драйверы класса
- •Микроконтроллеры с модулем usb
- •Приемопередатчик
- •Регистры управления и состояния модуля usb
- •Регистр флагов прерываний модуля usb (uir)
- •Регистр разрешения прерываний модуля usb (uie)
- •Регистр флагов ошибок модуля usb (ueir)
- •Регистр разрешения прерывания по ошибкам модуля usb (ueie)
- •Регистр состояния модуля usb (ustat)
- •Регистр управления модулем usb (uctrl)
- •Регистр адреса usb (uaddr)
- •Регистр состояния программного обеспечения usb
- •Регистры управления оконечными точками (uepn)
- •Буферы оконечных точек
- •Программирование модуля usb
- •Программное обеспечение usb
- •Основные функции и подпрограммы
- •Ресурсы процессора
- •Уровни стека
- •Память программ
- •Память данных
- •Буферные регистры
- •Выбор страниц/Выбор банков
- •Интегрирование подпрограмм usb в программу
Регистр разрешения прерываний модуля usb (uie)
Регистр разрешения прерываний модуля USB (UIE) содержит биты разрешения для каждого из источников прерывания модуля USB, флажки которых находятся в регистре UIR. Установка любого из этих битов разрешает прерывание соответствующего источника. Значения битов в регистре UIE воздействуют только на разрешение прерывания модуля USB (бит USBIE в регистре PIE1). Если прерывания запрещены, то установка флажков прерываний может быть обнаружена в режиме программного опроса и затем обработана.
U-0 |
U-0 |
R/W - 0 |
R/W - 0 |
R/W - 0 |
R/W - 0 |
R/W - 0 |
R/W - 0 |
- |
- |
STALL |
UIDLE |
TOK_DNE |
ACTIVITY |
UERR |
USB_RST |
7 |
|
|
|
|
|
|
0 |
Регистр разрешения прерываний модуля USB: «UIE» (адрес 191h)
R = читаемый разряд,
W - записываемый разряд,
U = зарезервированный разряд,
-n = значение после сброса:
Разряды 7-6: Зарезервированы, читаются как «0».
Разряд 5: STALL: Разрешение прерывания STALL.
1 = прерывание разрешено.
0 = прерывание запрещено.
Разряд 4: UIDLE: Разрешение прерывания UIDLE.
1 = прерывание разрешено.
0 = прерывание запрещено.
Разряд 3: TOK_DNE: Разрешение прерывания TOK_DNE.
1 = прерывание разрешено.
0 = прерывание запрещено.
Разряд 2: ACTIVITY: Разрешение прерывания ACTIVITY.
1 = прерывание разрешено.
0 = прерывание запрещено.
Разряд 1: UERR: Разрешение прерывания UERR.
1 = прерывание разрешено.
0 = прерывание запрещено.
Разряд 0: USB_RST: Разрешение прерывания USB_RST.
1 = прерывание разрешено.
0 = прерывание запрещено.
Примечание. Прерывания могут быть разрешены, только если SUSPND = 1 (UCTRL).
Регистр флагов ошибок модуля usb (ueir)
Регистр флагов ошибок модуля USB (UEIR) содержит флажки ошибок, возникающих при приеме или передаче данных в модуле USB. Прерывания по каждому из этих битов разрешаются установкой соответствующих разрядов в регистре разрешения прерываний по ошибкам модуля USB (UEIE). Состояние всех флажков ошибок объединяются по логике «ИЛИ», результатом объединения является флажок ошибки модуля USB бит UERR в регистре UIR. Установленный флажок в регистре UEIR после обработки должен быть сброшен программно записью «О» в соответствующий разряд. Каждый флажок устанавливается, как только обнаружено условие ошибки, поэтому прерывания по ошибкам обычно не совпадают с концом обработки маркера.
R/C - 0 |
R/C - 0 |
R/C - 0 |
R/C - 0 |
R/C - 0 |
R/C - 0 |
R/C - 0 |
R/C - 0 |
BTS_ERR |
OWN_ERR |
WRT_ERR |
BTO_ERR |
DFN8 |
CRC16 |
CRC5 |
PID_ERR |
7 |
|
|
|
|
|
|
0 |
Регистр флажков ошибок модуля USB: «UEIR» (адрес 192h)
R - читаемый разряд,
С - сбрасываемый разряд,
U = зарезервированный разряд,
- n=значение после сброса:
Разряд 7: BTS_ERR: Устанавливается, если обнаружена ошибка вставки разрядов.
Разряд 6: OWN_ERR: Устанавливается, если при обращении к буферу со стороны шины оказывается, что им владеет микропроцессор. При приеме это вызывает переполнение данных, при передаче — антипереполнение.
Разряд 5: WRT_ERR: Ошибка записи. Устанавливается при попытке записи микропроцессора в буфер, в который идет запись от шины.
Разряд 4: BTO_ERR: Устанавливается, если на шине произошла ошибка взаимодействия по времени ожидания. При этом используется таймер шины USB для отсчета времени между фазами маркера и данных в транзакциях установки и вывода или фазами данных и взаимодействия в транзакциях ввода. Если прошло более 17 тактов от предыдущего ЕОР до прихода транзакции останова, то фиксируется ошибка взаимодействия по времени ожидания.
Разряд 3: DFN8: Устанавливается, если полученное поле данных не соответствует целому числу байт и в поле данных обнаружено слово длинной не 8 бит.
Разряд 2: CRC16: Устанавливается, если поле контрольной суммы CRC16 не соответствует.
Разряд 1: CRC5: Устанавливается, если поле контрольной суммы CRC5 не соответствует в пакетах переданных главной ЭВМ. Если бит, установлен, то пакет отвергается.
Разряд 0: PID_ERR: Устанавливается, если в поле проверки PID обнаружена ошибка.
Примечание. Биты могут изменяться, если только SUSPND = 0 (UCTRL).