Отладочный комплект для Altera
Для одной из моих поделок будет нужна ПЛИСина. Естественно, плисину нужно будет чем-то прошивать. Я долго искал доступный программатор – сначала я собрал переходник для LPT-USB, он у меня отказался работать (похоже, сжег микросхему), потом, думал купить вот такой, но отпугнула цена.
В конце-концов, заглянул на ebay и прифигел.
Программаторы для альтеры стоят копейки (пример, 13$). На один только переходник USB-LPT я потратил намного больше, чем стоит готовый программатор. Есть даже ржачный USB-blaster+USBtoIDE – два в одном.
Что еще порадовало – так это то, что сразу с программатором можно купить отладочную плату. Там их много разных, к примеру:
В итоге, я решил побаловать себя и взять комплект с EP2C5. В принципе, всегда полезно иметь платку с жирной FPGA – можно сделать много того, чего нельзя с контроллером (к примеру, прицепить камеру от телефона, или заюзать TFT дисплей, сделать шим на 100 каналов).
Вместе с доставкой в Украину все обошлось в 47.80$. Буквально через два часа после оплаты через пэйпал, мне выслали платку, а на почту прислали ее схему:
Схема, почему-то, не соответствует плате – на плате нет места под память IS61LV25616. А было бы классно, если бы это место предусмотрели. Но тут никакого обмана нет, никто и не говорил что там будет память.
С доставкой случилось чудо прямо какое-то. Посылка из Сингапура до меня (Киев) дошла за 5(!) дней, включая украинскую таможню, я очень доволен нашей почтой!
Платка и программатор (по отдельности) были аккуратно запакованы в антистатические пакетики и пупырышки.
Распаковываем, видим собственно сам программатор и два провода – JTAG и USB-B. Провод usb провод очень даже качественный — толстый, в экране и с фильтром. На программаторе все модные значки, которые китайцы смогли откопать в гугле – quartus, nios, cortex. Пластик корпуса программатора очень качественный, похож на пластик rigol’а.
Распаковываем плату:
Все красиво, кроме одного – один ряд ножек “съехал” в бок на половину ширины ножки. Может это и не страшно, а может и коротнуть. Будет обидно.
Два разъема – один для jtag (непосредственная загрузка в FPGA), а другой – для записи конфигурационной памяти.
На обратной стороне – есть генератор на 50мгц, и конфигурационная память на 4МБита.
Кривоватая пайка, в некоторых местах видны остатки флюса, надеюсь это не сильно повлияет на работоспособность.
Естественно, всем интересно, что внутри отладчика:
В центре стоит широко известный highspeed-usb-микроконтроллер CY7C68013A, а справа – буфер 74hc244. Простое, элегантное и быстрое решение. Плата очень качественная, флюс отмыт, хорошая пайка.
Кто не в курсе, CY7C68013A – это очень крутая штука. В этом чипе есть микроконтроллер, и highspeed-usb (это который 480мбит передавать может). Максимальная скорость передачи данных – порядка 96 МБайт/С (!). Программа загружается в нее из компьютера при каждом подключении, а для того, чтобы знать, какую именно программу загружать, используется идентификатор (vid&pid), находящийся в мелкой EEPROM (восьминогий soic на фотографии). Если вам нужно передавать много и быстро по USB, рекомендую.
Итог
Если вы задумываетесь о плисинах, рекомендую такой комплект. В разы дешевле, чем один только программатор в Украине.
Апдейт 1
По прозьбе SGNic выкладываю фотки программатора в хорошем качестве.
Нда. Быстрая доставка получилась. Мне быстрее чем за 21 день иностранные посылки не доходили.
Включал? Оно живое?
Отладчик живой, по крайней мере нашелся, а плату — пока не проверял, квартус еще не выкачался. С другой стороны, там нечему особо быть мертвым.
Чё паять то собрался?
Это старая идея о рансформаторе тесла с пропуском периодов. Да и вообще побваловаться — к примеру, валяется у меня tft мартица, хочется ее запустить. Еще хочется сделать USB трансивер. Естественно, это все идеи — реально на это все у меня времени нет ))
Сколько у этой твоей плисины циклов перезаписи? Я слышал что очень мало их обычно у плис бывает.
Это FPGA, ее можно бесконечно перезаписывать, правда она забывает программу при отключении питания. Для этого есть конфигурационная память, вот ее перезаписывать можно 100 килораз. Если чесно, то я не видел еще ни одного процессора, который убили бы частой перезаписью, даже в процессе отладки прошивки.
Когда у моей меги32 в отладочной плате износится флеш память фоткаю и покажу 🙂
Мне кажется, убить флеш перепрошивкой впринципе невозможно)
Вот значительно снизить data retention — запросто.
Кстати, даёшь вращающиеся фотографии)))))
Можно слегка оффтоп?
НЕ могли бы вы выложить фото платы отладчика, так чтобы можно было топологию ПП разглядеть, ну или (возможно) схема есть сего чуда.
Фотки выложил. Если снимешь схему, поделить, плз.
Спасибо, ща с делами разгребу и поделюсь. Но это, наверное, еще не все.
Неплохо было бы еще и ПЗУшку считать, тогда девайс вообще смело можно клонировать:))))
Ну, ПЗУ считывать и не нужно особо — там только VID и PID записанны, их легко посмотреть:
USB\VID_09FB&PID_6001&REV_0400
Другое дело, что под микрухами наверняка есть дорожки, и их по картинкам не увидишь. Придется либо прозванивать, либо выпаивать.
Правая часть кипариса — стандартное включение, здесь и рассматривать нечего, а вот по выходной части есть вопросы.
Если можешь, вызвони плиз дороги от 41, 42(o) и 43(o) ноги 68013 до HC244, от светика статуса (через R18) до 68013 и от 1, 3, 5 ног разъема (PLD-10) до HC244. Все остальное видно и понятно, а эти связи что-то не могу разобрать.
*(o) — это обозначил те два переходных рядом с кипарисом, чтобы тебе ножки не считать.
Да, еще нужно уточнение/подтверждение, что 1 и 19 ноги HC244 сидят на земле. Если нет, желательно уточнить, куда они ведут.
ЗЫЖ это чисто спортивный интерес, так что о целесообразности лучше не будем. Да и три отладки с кипарисами на столе лежат, а этот девайс заказывать и ждать надо…
кста, если кому интересно, правая часть:
[codebox]
CY 244 244 PLD
47/PA7 2 ->18 6 (nCE)
46/PA6 4 ->16 8 (nCS)
45/PA5 6 ->14 9 (TDI/ASDI)
44/PA4 9 <-11 7 (DATA)
стрелки — это направление передачи для HC244.
Да, и неплохо было-бы все-таки вычитать eeprom. Проще всего через CyConsole.
Да, еще одно — а какая там флешка стоит? если С01 (в установку бОльшей китайцами только для VID/PID слабо верится), то можно наверное и не вычитывать, а если что-то более емкое, то уже весьма желательно.
Стоит там довольно жирная 24с64. Вычитывать ее не особо хочется — для этого нужно как-то запретить сайпресу грузиться прямо с нее, а для этого на плате перемычек нет. Если вы сделаете платку и она не заработает после простого прошивания vid/pid, то прочитаю. Хотя, я на 99% уверен, что заработает.
41 (68013) — 12 (244)
42 (68013) — 13 (244)
43 (68013) — 15 (244)
40 (68013) — R18
1 (PLD-10) — 7 (244)
3 (PLD-10) — 8 (244)
5 (PLD-10) — 11 (244)
Если у вас что-то получится, сообщите, пожалуйста.
Хм. Что-то не выходит каменный цветок… Хотя подкинул дрова (у тебя тоже как УББ++ опознается при старте?), и после передергивания опозналась плата как «составное устройство», а в разделе «USB» дал одной части JTAG, а другой pipe.
«5 (PLD-10) – 11 (244)» — это странно, т.к. на фотке топа явно видно, что на 11НС244 идет 7(PLD10). Плюс, это TMS(выход для НС244), а 11 нога — вход для второго канала, и дальше идет на 44 ногу 68013 — это все видно на фотке…. Даже перебор пока ничего не дал… %). Может быть, там еще какая-то коммутация под корпусом? Хотя странно это даже представить, зачем такое может понадобиться и как можно применить…
Действительно, ошибся —
5 (PLD-10) – 5 (244)
Остальное перепроверил — правильно.
При подключении опознается как USB blaster.
Отчитываюсь.
Ничего не получилось. Для варианта USB Blaster судя по всему нужна прошивка.
Наверное забью на это направление.
Но! Если внимательно посмотреть в потроха папки с драйверами квартуса, а точнее на файл blasterplus.inf, обнаруживаем такие интересные строчки:
; The entry below is for Cypress FX2 without EEPROM
;%BlasterUnconfig% = USB_Install, USB\VID_69C0&PID_6909
при этом, если принудительно установить этот драйвер, 68013 находится как два бластер++ (составное устройство), и квартус при входе в программатор шьет 68013 и прекрасно видит «бластер++». Осталось только найти ноги, которые должны идти на JTAG-разъем. Займусь этим, как появится свободное время.
Если под микрухами есть дорожи, то проще по схеме новую плату в Altiume развести с такимже расположением деталей, только под свой корпус. Хорошо бы статьи по работе с платой сделал бы ты BSVI. А то мне тоже интересна платка, но програаммить под нее не умею.(
Статьи если и будут, то не скоро — с одной стороны, нет времени, с другой — я не больше спец в ПЛИС. Могу порекомендовать почитать https://marsohod.org/ там есть обучалки для начинающийх.
Может пригодится))
https://s013.radikal.ru/i323/1105/d9/f05a849bf4bc.jpg
https://s003.radikal.ru/i202/1105/4d/3f9b91be0359.jpg
О, прикольно, спасибо. Я видел эти платы голые в продаже, но там картинки были в значительно меньшем качестве. А ты что на ней делаешь?
Пока не чего не делаю)),хотел начать с изучения квартуса но с «бухты барахты» не реально было, симулятора для плис не видел , лог анализатора нет и не по карману….а вообще когда-то хотел индукционную печь начать разрабатывать на плис …но все медным тазом накрылось…. Осознал что инженер с меня не не какой и вообще не инженер(((
Ну если напишешь несколько статеек будит круто….
Щас ,если кто не знает в блоге DIHALT хорошие статьи по ПЛИС а также блог конструктор Марсоход там квартус описан
https://we.easyelectronics.ru/tag/ПЛИС/
https://marsohod.org/index.php/aquartus2
(Немного не в тему но, Bsvi по ARM будит продолжение?)
Насчет армов — будет, но врядле скоро. У меня куча прожектов, так-что писать фундаментальные статьи времени особо нет.
Заказывал я себе подобный набор, тока на CPDL такая же что в плате Марсохода, а бластер такой-же, и что не понравилось….когда шью плисину мало того что внешнее питалово нужно подавать так ещё и программатор отрубать от платы иначе новая прошивка не стартует.
А у меня прошивка стратует, а без внешнего питания — никак, циклон может оочень прилично кушать.
Кстати разобрался чё за фигня была, теперь всё работает как положено.
Касается эт только MAXII и V там в Programmer галочка есть
«Enable real-time ISP to allow background programming..» её убрал и всё терь супер.
Отлично!!!! Спасибо!!! Как раз нужна MAXII и программатор для ноута — раньше LPT jtag’ом пользовался.
Только вот не могу одну фразу понять —
>>Все красиво, кроме одного – один ряд ножек “съехал” в бок на половину ширины ножки
Не въежжаю, и на фото не вижу ничего особенного=(
>Не въежжаю
А вы посмотрите внимательней на правую сторону микрухи — кажется, что ножка фпга хи припаяна к двум контактным площадкам. Естественно, со второй контакта нет, но ножка расположена оочень близко.
Вот похожий программатор Cy7C68013A USB Blaster (может и точно такой) https://code.google.com/p/epm240-dev/
схема и плата есть только не понял где его исходник(или дамп eeprom)
Хм… «Максимальная скорость передачи данных – порядка 96 МБайт/С» При официально заявленных 480Мбис/с… Ваша цифра отражает не скорость, а пропускную способность. Типа, полный дуплекс.
Привет. Слушай а чем ты запитываешь платку? Я так понял что нужен БП на 5В. А на сколько тока?
Запитываю 5в/500мА. Платка потребляет намного меньше.
Спасибо)
Как платка, испытания проходила? Все нормально? Ничего не коротит?
Я себе такой же набор заказал)
Испытаний особо не было — поигрался и отложил. Ничего не коротит.
Купил 30 марта, сегодня пришла на мое отделение почты) Тоже один ряд ножек сьехал, и местами остатки флюса.