Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИПУ ответы.docx
Скачиваний:
104
Добавлен:
20.04.2019
Размер:
5.23 Mб
Скачать

3.6.2 Системный интерфейс amba asb

AMBA ASB (Advanced System Bus) является системным интерфейсом и предназначен для использования в высокопроизводительных 16- и 32- разрядных микроконтроллерах. Интерфейс позволяет связать процессор, встроенную и внешнюю память. В AMBA ASB заложена тестовая инфраструктура. AMBA ASB использовался в микроконтроллерах с процессорными ядрами ARM7TDMI, ARM 920 и ARM940. В настоящее время этот интерфейс используется сравнительно редко, вместо него обычно используют более производительный AMBA AHB.

В AMBA ASB поддерживается множество ведущих устройств и пакетная передача. Шина ASB является более простой, по сравнению с AMBA AHB. Коренными отличиями является двусторонняя шина данных (в AHB для данных есть отдельные шины, предназначенные для записи и чтения), более узкая шина данных (32 разряда), не поддерживается раздельная (SPLIT) передача данных.

Рис. 74. Типичная система, построенная на базе AMBA ASB.

124

Система с шиной AMBA ASB (AHB) обычно содержит следующие компоненты:

ASB-ведущий (мастер). Мастер инициирует операции чтения и записи посредством подачи адреса и управляющих сигналов. Только один мастер в определенный момент времени может быть активным.

ASB-ведомый (слейв). Ведомый отвечает на операции чтения и записи в заданном адресном пространстве. Ведомый сигнализирует активному мастеру в случае успешного, ошибочного обмена данными или в случае ожидания.

ASB-дешифратор. Выполняет дешифровку адресов и выбирает соответствующего ведомого. Дешифратор также гарантирует, что шина остается в рабочем состоянии, когда никакого обмена не производится.

ASB-арбитр. Арбитр гарантирует, что только одному мастеру в данный момент времени позволяется инициировать обмен данными. И хотя протокол разрешения доступа к общей шине зафиксирован, любой алгоритм разрешения конфликтов может быть реализован в зависимости от требований области применения.

В шине возможны три основных состояния:

NONSEQUENTIAL (N-TRAN)– используется для одиночных передач или первой передачи данных в пакете.

SEQUENTIAL (S-TRAN) – используется при пакетной передаче данных.

ADDRESS-ONLY – используется, если нет необходимости в передаче данных.

125

Рис. 75. Одиночная (NONSEQUENTIAL) передача данных.

Рассмотрим основные сигналы шины: BCLK – сигнал тактового генератора. BD[31:0] – шина данных.

BA[31:0] шина адреса.

BWRITE – сигнал запись/чтение.

BTRAN[1:0] – тип передачи (NONSEQUENTIAL, SEQUENTIAL,

ADDRESS-ONLY).

BSIZE[1:0] – размер передаваемых данных. DSELx – выбор устройства.

Рассмотрим взаимодействие нескольких главных устройств через арбитр шины:

Главное устройство выставляет сигнал AREQx, означающий запрос на захват шины.

Арбитр считывает запрос от главного устройства.

Если сигнал BLOCK пассивен, то арбитр разрешает захват шины главному устройству, выставляя сигнал AGNTx. В противном случае, если сигнал BLOCK активен, разрешение на захват шины не выдается.

126

Рис. 76. Арбитраж в мультимастерном режиме работы шины AMBA ASB.

Интерфейс подчиненного устройства на шине AMBA ASB имеет следующий вид:

Рис. 77. Интерфейс подчиненного устройства для AMBA ASB.