Почему мастер увеличивает адрес в передаче пакета AMBA AHB?

В пакетном режиме AHB ведущее устройство должно указать только начальный адрес, а ведомое устройство должно рассчитать оставшийся адрес. Но на рисунке ниже (из спецификации AHB) адрес увеличивается на вывод HAddress для каждого такта. Зачем? Я ошибся?

1 ответ

Я думаю, что Haddress не используется рабом постоянно. Разработчики помещают эти адреса для отладки, и ведомому устройству проще использовать сигнал HBURST.

Мастер должен менять HADDR для каждой передачи в пакете, а не просто давать начальный адрес.

Преимущество предоставления главных адресов заключается в том, что ведомому не нужно иметь внутри себя логику увеличения адреса и он может использовать сигнал haddr на шине. Преимущество пакета по сравнению с серией одиночных передач прост: ведомое устройство может подготовиться к следующей передаче при обработке текущей передачи, поскольку оно "знает" следующий адрес, поскольку адреса в пакете всегда увеличиваются на одно и то же значение. Последовательность одиночных передач может быть последовательностью случайных адресов (ведомый принимает наихудший случай, поскольку он не отображает то, что должно появиться на шине), которые подчиненному может потребоваться труднее обрабатывать.

Другие вопросы по тегам