Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
15-30.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
116.58 Кб
Скачать

15 Микроконтроллеры avr. Интерфейс spi.

AVR — семейство восьмибитных микроконтроллеров фирмы Atmel. Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-битных регистра общего назначения, объединённых в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны:

Три «сдвоенных» 16-битных регистра-указателя X (r26:r27), Y (r28:r29) и Z (r30:r31);

Некоторые команды работают только с регистрами r16…r31;

Результат умножения (в тех моделях, в которых есть модуль умножения) всегда помещается в r0:r1.

Интерфейс SPI (Serial Peripheral Bus) - интерфейс для обмена данными между микросхемами. Придуман компанией Motorola, но в настоящее время используется в продукции многих производителей. Шина SPI организована как "ведущий-подчиненный". В качестве ведущего чаще всего выступает микроконтроллер. Внешние устройства подключенные к ведущему являются подчиненными (ведомыми). Если соединить два микроконтроллера по шине SPI, то они могут по очереди становится ведущим или ведомым. Главное, что в конкретный момент времени на шине SPI только одно устройство может быть ведущим. Подключение устройств к ведущему понятно из рисунка ниже

При загрузке значения в регистр данных SPI ведущего он сразу же начинает генерить тактовый сигнал на SCK и побитно выдвигать данные на вывод MOSI, который соединен с входами MOSI ведомых устройств. Ведомое устройство получит данные, только если на выводе SS присутствует низкий уровень. Т.о. мы можем подключить к шине SPI микроконтроллера несколько SPI устройств и используя дополнительные ножки МК выбирать конкретное устройство с которым мы хотим в данный момент работать. Вывод SS ведущего можно сконфигурировать как выход и использовать его как выходной контакт. Если же он сконфигурирован как вход, его необходимо подключить к шине питания. Если на выводе SS ведущего устройства появится низкий уровень, то он переключится в режим ведомого.

16 Микроконтроллеры avr. Интерфейс usart.

AVR — семейство восьмибитных микроконтроллеров фирмы Atmel. Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-битных регистра общего назначения, объединённых в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны:

Три «сдвоенных» 16-битных регистра-указателя X (r26:r27), Y (r28:r29) и Z (r30:r31);

Некоторые команды работают только с регистрами r16…r31;

Результат умножения (в тех моделях, в которых есть модуль умножения) всегда помещается в r0:r1.

Интерфейс USART (универсальный синхронно-асинхронный приемо-передатчик) - весьма гибкий модуль последовательной связи. USART поддерживает полнодуплексную асинхронную или синхронную передачу данных. USART также может работать в режиме "ведущий SPI" для работы с шиной SPI.

Передача данных выполняется посылками. Формат посылки может быть адаптирован под различные стандарты. USART поддерживает буферизацию данных в обоих направлениях, что обеспечивает непрерывность передачи данных без каких-либо задержек между посылками. По завершению приема и передачи, могут генерироваться прерывания по отдельным векторам. Это позволяет полностью управлять передачей данных по прерываниям. Ошибки в посылке и переполнение буфера обнаруживаются аппаратно, о чем сигнализируют отдельные флаги статуса. При необходимости, также можно использоваться функции генерации и проверки паритета (четность или нечетность).

Один из USART может напрямую работать с IrDA 1.4-совместимым инфракарасным трансивером при условии использования встроенного модуля IRCOM, который поддерживает модуляцию/демодуляцию данных на скорости до 115.2 кбод.

У каждого из портов C, D и E имеется по два интерфейса USART, а у порта F есть только один USART. Данные интерфейсы обозначаются USARTC0, USARTC1, USARTD0, USARTD1, USARTE0, USARTE1 и USARTF0, соответственно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]