logo search
КС-ZAO / Лекции ЦЭВМруский вариант11

§12.2. Начальная загрузка через хост – машину с использованием процедур запроса и предоставления шины

Все процессоры семейства ADSP-2100, в которых имеется внутреннее ОЗУ программы, поддерживают операцию начальной загрузки, во время которой процессор побайтно считывает команды с какого-либо внешнего устройства памяти (как правило, ППЗУ) через интерфейс памяти и записывает эти команды во внутреннюю память программы, формируя слова по 24 бита. Так как внешнее устройство запрограммировано на подачу байт в соответствующем порядке, то операция начальной загрузки может производиться автоматически при перезапуске или, в случае принудительного осуществления начальной загрузки, при помощи программных средств.

В некоторых системах, в которых управление процессором семейства ADSP-2100 осуществляется хост-машиной, начальная загрузка должна производиться непосредственно с хост-машины. В таких случаях именно хост-машина, а не ППЗУ является источником загружаемых во внутреннюю память байт информации. Процессоры семейства ADSP-2100, в которых имеется порт интерфейса хост-машины (например, ADSP-2111), могут автоматически выполнять операцию начальной загрузки через этот порт. Однако, если процессор не имеет порта интерфейса хост-машины, начальная загрузка может осуществляться через интерфейс памяти с использованием сигнала запроса шины по процедуре, которая будет рассмотрена ниже.

Данный пример демонстрирует наиболее простой способ загрузки программ с хост-машины во внутреннюю память программы процессора семейства ADSP-2100. Имеется несколько способов соединения цифрового сигнального процессора с хост-машиной. Использование какого-либо из этих способов зависит от строения порта ввода/вывода хост-машины, доступности линий порта ввода/вывода и уже имеющегося в системе объема логики декодирования адреса.

На рис. 12.1 приводится минимальная система, позволяющая осуществлять начальную загрузку процессора семейства ADSP-2100 через микроконтроллер. Из аппаратных средств в этой системе требуется только резистор на 5 кОм, который используется для поддержания высокого напряжения на выводеВMS (выбор начальной загрузки памяти) процессора.

Процессор семейства ADSP-2100 автоматически начинает выполнять процедуру начальной загрузки после перезапуска процессора (когда на выводе ММАР установлен низкий уровень) или при инициализации операции начальной загрузки при помощи программных средств. Когда процессор начинает выбирать байт из внешней памяти начальной загрузки (в данном случае из хост-машины), он выставляет сигнал BMS . По низкому уровню сигнала BMS триггер предварительно устанавливается, и на выходе Q появляется низкий уровень. Этому низкому уровню соответствует сигнал BR (запрос шины). После того, как процессор семейства ADSP-2100 опознает запрос шины и завершит выполнение текущего цикла, выполнение текущих операций процессора приостанавливается. В следующем цикле (после опознавания BR) процессор выставляет сигнал BG (предоставление шины).

Рис. 12.1 Начальная загрузка процессора семейства ADSP-2100 с хост-машины

Когда сигнал низкого уровня на входе D запишется в триггер по фронту тактового сигнала, выход Q становится высоким по уровню и снимает, таким образом, сигнал BR.

Вывод запроса шины процессора семейства ADSP-2100 (BR) используется для остановки и синхронизации процесса начальной загрузки. Хост-машина снимает запрос на предоставление шины, после чего процессор считывает один байт загружаемых данных. Во время операции считывания выставляется сигнал BMS, по которому сигнал BR выставляется вновь, и процессор семейства ADSP-2100 снова входит в состояние запроса шины. Работа процессора приостанавливается, пока он ожидает следующего байта данных. Механизм квитирования передачи каждого байта загружаемых данных обеспечивается тремя программируемыми битами порта микроконтроллера (РВ 8-10). Кроме того, биты РВ9 и РВ10 могут реализовываться как отображенный в карте памяти порт. Бит РВ8 используется для перезапуска процессора семейства ADSP-2100 после чего начинается операция начальной загрузки последнего. Обратите внимание, что, если РВ8 при подаче питания не низкий, то процессор будет выполнять неопределенные команды, пока РВ8 не станет низким.

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

Для данной системы типична следующая процедура начальной загрузки: