Опубликован: 19.04.2025 | Доступ: свободный | Студентов: 1 / 0 | Длительность: 07:05:00
Лекция 11:

Подключение периферийных устройств и расширение системы

Протокол шины AMBA [AHB bus protocol]

Спецификация шины AMBA AHB является частью спецификации шины, спецификация шины AMBA - это спецификация шины, предложенная компанией ARM, используемая в большинстве проектов С-н-К, которая обеспечивает AHB (Advanced High-performance Bus), ASB (Advanced System Bus), APB (Advanced Peripheral Bus).

AHB используется для подключения высокопроизводительной системной конфигурации с высокой тактовой частотой, для типичных приложений, таких как ядерная и высокоскоростная системная ОЗУ ARM, флэш-память NAND, DMA, мосты.

APB для подключения внешних устройств, в соответствии с требованиями к производительности, учитывает низкое энергопотребление.

ASB - это альтернатива AHB.

Преимущество шины AHB заключается в том, что она может быть подключена к микроконтроллеру (CPU), чипу оперативной памяти с высокой пропускной способностью, интерфейсу внешней памяти с высокой пропускной способностью, шине DMA master, имеет различные контроллеры интерфейса AHB и т.д. Вместе они образуют отдельную шинную систему, не только это, но и могут быть подключены с помощью системная шина APB AHB-мост APB. AHB может стать полноценным каркасом С-н-К.

Типичная структура системы с шиной AHB

Рис. 11.19. Типичная структура системы с шиной AHB

AMBA AHB - это высокопроизводительный шинный интерфейс. AMBA AHB реализует функции, необходимые для высокопроизводительных систем с высокой тактовой частотой, в том числе:

  • пакетная передача данных;
  • разделенная транзакции;
  • однотактная передачи с передачей обслуживания;
  • операции с одним тактовым фронтом;
  • отсутствие Z-состояния на шине;
  • поддержка "широких" шин данных (64/128 бит);
  • конвейеризация обмена данными;
  • устройство управления шиной может поддерживать несколько (до 16).

Наиболее распространенными подчиненными устройствами AHB являются устройства внутренней памяти, интерфейсы внешней памяти и периферийные устройства с высокой пропускной способностью.

Хотя периферийные устройства с низкой пропускной способностью могут выступать в качестве подчиненных устройств AHB, они обычно размещаются на расширенной периферийной шине AMBA (APB) из соображений производительности системы. Соединение между высокопроизводительными AHB и APB осуществляется с помощью AHB slave, называемого APB bridging.

Шина AHB содержит ведущие устройства (master), ведомые устройства (slave) и инфраструктурные устройства. К инфраструктурным устройствам относятся - арбитр, мультиплексор данных, блоки управления, мультиплексор адреса.

Пример AHB шинной структуры

Рис. 11.20. Пример AHB шинной структуры

Ведущий(Master):

  • инициирует операцию на шине (чтение/запись);
  • допускается наличие только одного мастера на шине в текущий момент времени.

Ведомый(Slave):

  • отвечает на запросы операций;
  • выбирается по адресу, назначенному устройству.

Арбитр (arbiter):

  • гарантирует наличие одного ведущего на шине.

Дешифратор (decoder):

  • определяет активные устройства в зависимости от их адресов.

Шину условно можно разделить на три составляющих:

  • шина записи данных (HWDATA);
  • шина чтения данных (HRDATA);
  • шина контроля адреса (HADDR).
Таблица 11.7. Сигналы шины
Сигнал Источник Приемник Описание
HCLK clock source Все модули Тактовый сигнал шины, тактирование по фронту
HRESETn reset controller Все модули Сигнал сброса. Активный уровень - низкий
HADDR[31:0] Master Decoder mux to slave arbiter 32-битная шина адреса
HTRANS[1:0] Master mux to slave Тип текущей транзакции NONSEQ, SEQ, IDLE, BUSY
HWRITE Master mux to slave 1 - запись, 0 - чтение
HSIZE[2:0] Master mux to slave Размер транзакции в байтах, до 1024 байт
HBURST[2:0] Master mux to slave Тип пакета 4,8,16, с инкрементом / без
HPROT[3:0] Master mux to slave Сигналы управления защитой, требуемые ведомым устройством с функцией защиты
HWDATA[31:0] Master mux to slave Шина записи данных. Ведущий>ведомый
HRDATA[31:0] Slave mux to master Шина чтения данных. Ведомый> Ведущий
HREADY Slave mux to master arbiter Высокий уровень: ведомый показывает конец передачи низкий: ведомому необходимо продлить цикл передачи
HRESP[1:0] Slave mux to master arbiter Состояние передачи ведомого (OKAY, ERROR, RETRY, SPLIT)
HSELx Decoder slave Сигнал выбора ведомого
Таблица 11.8. Сигналы арбитража шины AHB
Сигнал Источник Направление Описание
HBUSREQx Master arbiter запрос главного арбитра для получения сигнала запроса правильного использования шины, до 16 ведущих
HLOCKx Master arbiter Если вы хотите быть ведущим в шине и во время передачи не хотите проиграть, вам нужно послать сигнал арбитру блокировки
HGRANTx arbiter master Сигнал авторизации, текущий наивысший приоритет шины x. Когда HGRANTx и READY одновременно высокие, ведущий в праве опрашивать системную шину
HMASTER [3:0] arbiter slave has a split function Arbiter for the ID assigned each a master, which pointed out that the main ongoing transmission equipment, split the information provided
HMASTLOCK arbiter slave has a split function о указывает на то, что текущий мастер выполняет заблокированную операцию
HSPLITx[15:0] Slave arbiter От устройства, чтобы сообщить арбитру об этом сигнале, с помощью которого ведущее устройство, запущенное в очередной раз, попытается разделить передачи, каждая из которых соответствует ведущему устройству