- •Элементы системы ввода-вывода:
- •Примеры. Порты ввода-вывода микроконтроллера aDuC812.
- •Демонстрация принципов организации системы ввода-вывода на примере контроллера sdk.
- •Устройства сопряжения с объектом (усо) управляющих эвм: назначение, технические решения, компоненты.
- •Устройства гальванической изоляции в аппаратных интерфейсах.
- •Внутрисистемные интерфейсы. Интерфейсная система amba (ahb, asb, apb): основные характеристики, физическая и логическая организация.
- •Внутрисистемный интерфейс amba ahb
- •Системный интерфейс amba asb
- •Периферийный интерфейс amba apb
- •Idle – устройство не готово, шина находится в исходном состоянии.
Системный интерфейс amba asb
AMBA ASB (Advanced System Bus) является системным интерфейсом и предназначен для использования в высокопроизводительных 16- и 32- разрядных микроконтроллерах. Интерфейс позволяет связать процессор, встроенную и внешнюю память. В AMBA ASB заложена тестовая инфраструктура. В настоящее время этот интерфейс используется сравнительно редко, вместо него обычно используют более производительный AMBA AHB.
В AMBA ASB поддерживается множество ведущих устройств и пакетная передача. Шина ASB является более простой, по сравнению с AMBA AHB. Коренными отличиями является двусторонняя шина данных (в AHB для данных есть отдельные шины, предназначенные для записи и чтения), более узкая шина данных (32 разряда), не поддерживается раздельная (SPLIT) передача данных. Система с шиной AMBA ASB (AHB) обычно содержит следующие компоненты:
ASB-ведущий (мастер). Мастер инициирует операции чтения и записи посредством подачи адреса и управляющих сигналов. Только один мастер в определенный момент времени может быть активным.
ASB-ведомый (слейв). Ведомый отвечает на операции чтения и записи в заданном адресном пространстве. Ведомый сигнализирует активному мастеру в случае успешного, ошибочного обмена данными или в случае ожидания.
ASB-дешифратор. Выполняет дешифровку адресов и выбирает соответствующего ведомого. Дешифратор также гарантирует, что шина остается в рабочем состоянии, когда никакого обмена не производится.
ASB-арбитр. Арбитр гарантирует, что только одному мастеру в данный момент времени позволяется инициировать обмен данными. И хотя протокол разрешения доступа к общей шине зафиксирован, любой алгоритм разрешения конфликтов может быть реализован в зависимости от требований области применения.
В шине возможны три основных состояния:
NONSEQUENTIAL (N-TRAN)– используется для одиночных передач или первой передачи данных в пакете.
SEQUENTIAL (S-TRAN) – используется при пакетной передаче данных.
ADDRESS-ONLY – используется, если нет необходимости в передаче данных.
Рассмотрим взаимодействие нескольких главных устройств через арбитр шины:
Главное устройство выставляет сигнал AREQx, означающий запрос на захват шины.
Арбитр считывает запрос от главного устройства.
Если сигнал BLOCK пассивен, то арбитр разрешает захват шины главному устройству, выставляя сигнал AGNTx. В противном случае, если сигнал BLOCK активен, разрешение на захват шины не выдается.
Периферийный интерфейс amba apb
Интерфейс AMBA APB (Advanced Peripheral Bus) является частью иерархии интерфейсов AMBA и предназначен для объединения периферии, используемой в микроконтроллерах. Интерфейс AMBA APB используется практически во всех современных микроконтроллерах с ядром ARM. Цель создания интерфейса – минимизация потребляемой мощности и упрощение архитектуры вычислительной системы. Интерфейс AMBA APB инкапсулирован в одном подчиненном устройстве шин AMBA AHB или AMBA ASB. При использовании шины APB потребление энергии значительно меньше, чем при прямом подключении контроллеров к системной шине. Интерфейс APB имеет смысл использовать с такими устройствами, в которых не требуется высокая пропускная способность шины и пакетный режим работы. Примерами таких устройств могут быть: контроллеры последовательного канала, таймеры, контроллеры I2C, SPI, ЦАП, АЦП, часов реального времени, сторожевого таймера и так далее. Единственным главным устройством (мастером) на шине APB является мост. Все остальные устройства (контроллеры) являются подчиненными устройствами. Интерфейс AMBA APB может находиться в одном из трѐх состояний: