Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Spartan3 in SelectMAP mode
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Dyukin
Уважаемые коллеги!

Столкнулся с такой проблемой.
Конфигурирую 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В выполнил как указано в документации.

Есть ли у кого соображения, что не так я делаю?
Спасибо!
aaarrr
С SelectMAP связываться не приходилось, но по аналогии с Slave Serial: биты в потоке правильно расположены?
YuP
Всем привет.
Вижу несколько причин не загрузки
1.Перепутаны биты в байте (почитайте про Byte-Swapping при загрузке в режиме SelectMAP)
2.Не корректная длительность сигнала PROG

Советую всё делать(загрузку своего кристалла) по документу XAPP502.
Я всё делал по этому документу и прогружал без проблем в режиме SelectMAP Virtex4.

P.s: по рекомендациям Xilinx(всё тот же xapp502) сигналы CS и RDWR опускаются в 0 вместе с сигналом PROG. Или же можно их (CS и RDWR) железно притянуть к нулю.
Dyukin
Всем спасибо!

По поводу битов в байте, думаю они там правильно расположены, т.к. я использую файл .mcs ... там компилятор сам все переворачивает.... но, проверю, спасибо за советы!
Very_hard
Цитата
я использую файл .mcs
Для этих целей нужно *.bin файл использовать... wink.gif
Dyukin
Цитата
Для этих целей нужно *.bin файл использовать... wink.gif


Так и есть.... налажал .... прошил файл .hex и все зашуршало... всем спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.