[an error occurred while processing this directive]
|
Не обновил страницу. Или сеть лагает.
Подробнее о сбоях.
Контроллер формирует сигналы синхронизации для дисплея.
Прицип формирования всех сигналов: есть опорный счетчик, работающий по фронтам и элементы сравнения (программно на VHDL <,> и т.п.).
Результаты сравнений обновляются по спадам. Так формируются все
последовательности синхроимпульсов. У дополнительных счетчиков
есть сигналы разрешения, они тоже обновляются по спадам.
Шина данных у процессора и ОЗУ контроллера общая, контроллер
в течение каждой строки выдает сигнал занятости на шину, когда
нужно прочитать очередную порцию данных для вывода.
Имеется два счетчика адреса. Один для выдачи на дисплей, работает
синхронно с развертками. Другой для записи в ОЗУ, инкремент по
сигналу WR. Выходы этих счетчиков периодически подключаются к шине
адреса ОЗУ (в зависимости от сигнала занятости шины).
Сбои происходят при записи из ADSP в ОЗУ, причем если разрешить
работу инкрементного счетчика, и если выдавать его на шину адреса.
Если убрать инкрементный счетчик и записывать по фиксиров. адресу,
то сбоев не происходит. Сбой выглядит так: синхросигналы дисплея
прыгают на экране осциллографа вправо и влево на некоторое случайное
количество тактовых импульсов, то есть сбоит опорный счетчик,
формирующий синхросигналы.
Никаких кофликтов на шине не происходит, проверял, причина не в этом.
Еще обратил внимание. Если выдавать не весь адрес, а, например половину, то сбоев становится меньше.
E-mail: info@telesys.ru