5
алгоритм заполнения обеих кристаллов байтами данных (для случая, изображенного на
рис. 1), выглядит так:
Вывод стробирования E.
Строб (активный перепад), эта такая универсальная "штуковина", которая "запускает в
работу" какое-то аппаратное действие (процесс).
То есть, в данном случае, факт выставления, на соответствующих управляющих
линиях, того или иного кода, вовсе не свидетельствует о том, что это тут же приведет
к инициализации какого-то аппаратного действия.
Это только подготовка к инициализации (выбор одного аппаратного действия из
нескольких).
Сама же инициализация произойдет только после того, как на линии Е будет
сформирован строб.
Судя по "временным диаграммам" технической документации, стробом является
перепад от 1 к 0.
Для того чтобы сформировать строб, нужно сформировать стробирующий импульс.
Его длительность не должна быть менее 0,45 мкс.
При использовании кварца на 4 Мгц., одного м.ц. хватит "за глаза".
А вот если кварц имеет номинал более 8 Мгц., то нужно "затянуть" стробирующий
импульс "врезкой" NOPа/NOPов.
Если с этим все в порядке, то последовательность действий, в общем виде, выглядит
так:
7
- на управляющих линиях выставляется требуемый код (подготовка),
- формируется стробирующий импульс.
Всё. Аппаратное действие (процесс) "запущено в работу".
Нужно только дождаться его окончания, после чего можно "состряпать" другой
управляющий код и опять "нажать на курок". И т.д. Хоть миллион раз.
Кто скажет, что это суперсложно?
Управляющий код это и есть инструкция.
Под каждую инструкцию должен быть сформирован "свой" стробирующий импульс.
А теперь вспомните о тех 8-ми микросекундах, которые выше были упомянуты
несколько раз.
Вопрос: "От чего и до чего замерять тот интервал времени, который должен быть не
менее 8 мкс."?
Ответ: речь идет об интервале времени между двумя соседними стробирующими
импульсами, сформированными под "синюю" инструкцию (см. табл. 1).
- инициализацию,
- выбор кристалла (переход с одного кристалла на другой),
- адресный выбор страницы (переход с одной страницы на другую),
- выбор строки, с которой начнется заполнение картинки
(обычно - самая верхняя, с адресом 00h, но может быть и другая),
- адресный выбор того столбца страницы, с которого начнется ее заполнение, либо
того столбца страницы, на который, в ходе заполнения страницы, нужно "прыгнуть"
(остальная адресация, в пределах страницы, - за счет автоинкремента),
- вывод, в текущий столбец, текущего байта данных,
- выбор режимов команды/данные (напоминаю, что в данном случае, речь идет
только о записи, то есть, W/R всегда = 0),
- стробирование (каждую инструкцию должен сопровождать стробирующий импульс).