NyaiCEProg F3. Программатор для FPGA серии iCE5 (iCE40 Ultra)

На время отладки конфигурации FPGA неудобно постоянно изменять прошивку и перепрошивать мастер-контроллер, потому сделал себе простенький программатор, благо, на отладочной плате разведён USB.
В архиве stm32f3lattice.zip лежит два hex, для STM32F3Discovery и для отладочной платы «STM32F303 + ice5 Development Board». Отличаются, впрочем, они только расположением светодиода.

Загрузка выполняется в энергозависимую память, потому при отключении питания конфигурация пропадёт!

Интерфейс ПО незамысловат: выбираем bin-файл конфигурации и нажимаем «Program».
Интерфейс

Напомню про алгоритм загрузки:
  1. CS в низкий уровень
  2. CRST в низкий уровень
  3. Подождать сброса CDONE в низкий уровень
  4. CRST в высокий уровень
  5. Чуток подождать, пока FPGA очухается
  6. Отправить по SPI прошивку (8 бит, MSB, CPHA=0, CPOL=0), все 70 килобайт (в начале прошивки есть какой-то странный заголовок на 80 байт, это норм, так и должно быть, загружать вместе с ним)
  7. После загрузки прошивки в цикле с таймаутом посылаем 0xFF и ждём высокого уровня на CDONE.
  8. После появления CDONE надо отправить ещё зачем-то как минимум 49 клоков (7 байт) и поднять CS.


Распиновка программатора:
PA5 — SCK
PA7 — MOSI
PB0 — CS
PB1 — CRST
PB2 — CDONE

Светодиод активности:
PE8 — для STM32F3Discovery
PA9 — для STM32F303 + ice5 Development Board

Может быть, он сгодится и для других микросхем серии iCE40, но про них я пока ничего не знаю. Но так как там никакой проверки микросхемы нет, то попробовать можно с любой.
Файлы в топике: stm32f3lattice.zip, LatticeProg.zip

Комментарии (8)

RSS свернуть / развернуть
Пожалуйста покажи фото этих плат!
0
STM32F303 + iCE5 Development Board:
iCE5 + STM32F303
Делалось именно для этой платы, т.к. тут подключение жёсткое к латтису. А F3Disc — просто за компанию, раз уж на таком же процессоре и с усб.

STM32F3Discovery:
STM32F3Discovery

Платы, в общем-то, обе в интернете упоминаются.
0
День добрый! Давно заинтересовался этими мелкими ПЛИС, а тут аж целая серия постов появилась, поэтому грех не спросить)

Подойдет ли такой программатор с Али, чтобы из оригинальных тулов прошивать?

И самый животрепещущий вопрос — где их брал? По работе, как юр. лицо заказывали, или как физ. лицо где-то?
0
Если честно, то я фз, как прошивать оригинальными тулами =) У меня только самоколхоз есть вот этот.
Но по описанию на али что-то вот этой серии ice40 не вижу, но серий у латтиса много, так что фз.

Отладочная плата для ice40hx1k за пару косарей продаётся в компеле или чём-то таком за 25$. Лежит, её пока потрогать не успел. Там другая серия, более шустрая, но из периферии там только память, да и корпуса поширше (но не сильно).
Вообще, я слышал, что нижние модели с малым количеством ячеек продаются где-то, вот с iCE5LP4K проблемы — нема. Этот прислали как семпл что ли, не знаю от какой конторы, для юрлица. Какой-то местной.
Но всё равно как-то с ними не оч. Спрошу на днях, у какой фирмы заказывали.
0
Плата на работе у меня такая есть (пока никак не выкрою время на поиграться с ней), с Али — это для дома, хочу свою девборду сделать.

Пока что едиственным нормальным вариантом где можно взять iCE5LP2K в QFN является Digikey. Остается лишь найти поставщика, который сможет поставить 2-4 штуки оттуда с небольшой наценкой (и без конской доставки) физ лицу.
А вот с iCE5LP4K действительно проблемы — везде out of stock.
0
FYI, iCE5LP4K появились в стоке
0
Чето не увидел. Можно ссылку?)
0
Только корпус у них «вафельный» фиг разведешься :(
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.