ОПЕРАЦИИ ПЕРЕДАЧИ ДАННЫХ
ЦИКЛ
ЗАПИСИ
В цикле записи процессор
посылает байты данных в память или периферийному устройству. Если
инструкция определяет операцию над словом, процессор формирует как
UDS#, так и LDS#, и читает оба байта. Когда инструкция определяет
операцию над байтом, процессор использует A0 для выбора нужного
байта и выдает соответствующий строб данных. При A0 равном нулю
выдается строб старшего байта данных, при A0 равном единице мледшего.
Блок-схемы и временные диаграммы циклов записи
байта и слова на рис.5.5, 5.6, 5.7, и применимы к MC68000, MC68HC000,
MC68HC001 (в 16-битном режиме), MC68EC000 (в 16-битном режиме) и
MC68010. 
Восемь состояний цикла записи следующие.
СОСТОЯНИЕ 0. Цикл записи начинается с S0. Процессор
выдает соответствующий функциональный код на выводы FC2-FC0 и формирует
на R/W# высокий уровень (если после предыдущего цикла записи на
нем остался низкий уровень).
СОСТОЯНИЕ 1. Входя в S1, процессор выдает нужный
адрес на шину адреса. СОСТОЯНИЕ 2. По фронту S2,
процессор генерирует AS# и подает на R/W# низкий уровень.
СОСТОЯНИЕ 3. В S3 шина данных переводится из высокоимпедансного
состояния, и на нее помещаются записываемые данные.
СОСТОЯНИЕ 4. По фронту S4 процессор формирует
LDS# или UDS# и ожидает сигнала прекращения цикла (DTACK# или BERR#)
или VPA# сигнала от периферии MC6800. Когда VPA# активен в S4,
цикл становится периферийным циклом (прил. Б). Если до окончания
S4 ни один сигнал о прекращении не поступил, процессор добавляет
состояния ожидания (полные такты синхронизации) до прихода DTACK#
или BERR#.
СОСТОЯНИЯ 5, 6. Сигналы на шине не изменяются.
СОСТОЯНИЕ 7. Переходя в S7 по срезу тактового
импульса, процессор снимает AS#, LDS# или UDS#. По следующему фронту
процессор переводит шины адреса и данных в высокоимпедансное состояние
и формирует на R/W# высокий уровень. В это время устройство снимает
DTACK# или BERR#.
|