Уважаемые коллеги!
Столкнулся с такой проблемой. Конфигурирую SPARTAN-3 в режиме SelectMAP: 1. Сигнал PROG_B в ноль, потом в единицу. 2. При этом линия INIT_B опускается в ноль. 3. Дожидаюсь возвращения INIT_B в "1". 4. Перевожу в "0" RDWR_B 5. Перевожу в "0" CS_B Линия BUSY опускается в ноль. 6. В качестве сигнала CCLK использую сигнал WR сигнального процессора. (данные записываются по возрастающему фронту) Загрузку осуществляю на частоте 1 МГц. После завершения загрузки линия DONE находится в нуле даже после многократного (100 раз) цикла записи пустых байтов (0xff). Линия INIT_B находится в состоянии лог. "1".
Пробовал после слова синхронизации писать в ПЛИС случайные данные чтобы вызвать ошибку проверки контрольной суммы (CRC). Однако линия INIT_B в "0" так и не опускается.
Заметил, что сигнал BUSY ведет себя несколько странно. В документации к микросхеме сказано, что вообще можно за ним не следить, если частоты сигнала CCLK менее 50 МГЦ (у меня 1 МГц). Однако, я заметил, что на линии BUSY выставляется "1" примерно после записи 1-го фрейма. Если же синхронизирующее слово не передавать, то линия BUSY продолжает находится в нуле в течение всего цикла записи. В документации сказано, что существует случай выхода ПЛИС из синхронизации в режиме загрузки. При этом линия BUSY переходит в состояние лог. "1". Но причин такой рассинхронизации не указано, кроме искажения сигнала CCLK, но их я увидеть так и не смог в моей схеме.... Согласование по питанию с 3.3В выполнил как указано в документации.
Есть ли у кого соображения, что не так я делаю? Спасибо!
|