- •Конспект лекций оглавление
- •Общие с ведения о микроконтроллерах
- •Обобщенная структурная схема микроконтроллера
- •Система прерываний
- •Работа системы прерываний
- •Стек данных
- •Микроконтроллеры 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 в программу
Аппаратный умножитель 8х8
Умножение |
Метод умножения |
Память программ (слов) |
Циклов (макс.) |
Длительность |
||
@ 40 МГц |
@ 10 МГц |
@ 4 МГц |
||||
8*8 unsigned |
Без аппаратного умножения |
13 |
69 |
6.9 мкс |
27.6 мкс |
69 мкс |
С аппаратного умножения |
1 |
1 |
100 нс |
400 нс |
1 мкс |
|
8*8 signed |
Без аппаратного умножения |
33 |
91 |
9.1 мкс |
36.4 мкс |
91 мкс |
С аппаратного умножения |
6 |
6 |
600 нс |
2.4 мкс |
6 мкс |
|
16*16 unsigned |
Без аппаратного умножения |
21 |
242 |
24.2 мкс |
96.8 мкс |
242 мкс |
С аппаратного умножения |
24 |
24 |
2.4 мкс |
9.6 мкс |
24 мкс |
|
16*16 signed |
Без аппаратного умножения |
52 |
254 |
25.4 мкс |
102.6 мкс |
254 мкс |
С аппаратного умножения |
36 |
36 |
3.6 мкс |
14.4 мкс |
36 мкс |
Операция умножения выполняется за один машинный цикл. Результатом является беззнаковое 16-разрядное число, которое сохраняется в спаренном регистре PRODH:PRODL. Умножение не изменяет состояние флагов регистра STATUS.
Использование аппаратного умножения 8х8 дает следующие преимущества:
• Более высокая вычислительная мощность
• Уменьшение кода программы на алгоритмы умножения
• Увеличение вычислительной мощности позволяет использовать микроконтроллеры
РIС18FХХ2 в приложениях, в которых применяются DSР.
Для выполнения беззнакового умножения 8х8 необходимо только одна команда микроконтроллера, если один из параметров уже загружен в WREG.
Для выполнения знакового умножения 8х8. чтобы получить знак результата, необходимо проверить старший бит каждого байта.
Модуль ацп
Модуль АЦП в микроконтроллерах РIС16FХХХ имеет от 5 до 8 каналов, преобразование в которых производится последовательно. Входной аналоговый сигнал заряжает конденсатор выборки и хранения, значение которого затем оцифровывается методом последовательного приближения.
Результатом преобразования является 10-битное число.
АЦП может работать в режиме пониженного энергопотребления микроконтроллера. В этом случае АЦП тактируется от внутреннего RС-генератора. По окончании преобразования в зависимости от того разрешена обработка прерывания от модуля АЦП или нет, может производиться пробуждение (переход из режима пониженного энергопотребления в рабочий режим) микроконтроллера.
Модуль АЦП управляется 4-мя регистрами: регистры результата преобразования – ADRESH, ADRESL и регистры конфигурации – ADCON0, ADCON1.
С помощью регистра ADCON0 осуществляется управление работой АЦП, а регистром ADCON1 - конфигурируется выводы, с целью выбора режима их работы (аналоговый вход, цифровой вход/выход, опорное напряжение для модуля АЦП)
Регистр ADCON0
ADCS1 |
ADCS0 |
CHS2 |
CHS1 |
CHS0 |
GO/DONE |
- |
ADONE |
Бит 7 |
|
|
|
|
|
|
Бит 0 |
ADCS1...ADCS0: Выбор частоты преобразования АЦП (00-FOSС/2, 01-FOSC/8, 10- FOSC/32, 11-FRC);
CHS2…CHS20: Выбор канала для преобразования (двоичный код соответствующий номеру канала);
GO/DONE: Установка бита запускает преобразование в выбранном канале, по завершению аппаратно сбрасывается.
ADONE: 1/0 - включение, выключен не модуля АЦП
Регистр ADCON1
ADFM |
- |
- |
- |
PCFG3 |
PCFG2 |
PCFG1 |
PCFG0 |
Бит 7 |
|
|
|
|
|
|
Бит 0 |
ADFM: Выбор форматирования результата преобразования.
1 - по правому краю - 6 старших бит регистра ADRESH нулевые;
0 - по левому краю - 6 младших бит регистра ADRESL нулевые.
PCFG3… PCFG0 - конфигурация выводов модуля АЦП