Altera usb blaster распиновка
Внешнее питание на плату надо подавать? Или всё это должно питаться от USB Blaster? Кто шил эти программатором откликнитесь, HELP!
Если на плату подать питание через молекс и подключить программатор ничего не коротнёт?
---------- Post added at 11:16 ---------- Previous post was at 11:13 ----------
на 4 пине 2,5 в намерил.
---------- Post added at 11:24 ---------- Previous post was at 11:16 ----------
---------- Post added at 11:25 ---------- Previous post was at 11:24 ----------
вроде кондёр на 4 пине.
Если питание с бластера на плату не приходит, то конечно надо подать +5 вольт на звуковуху. +12В необязательно в этом случае.
Ну и не забывай, чтобы еще и шлейф правильно оделся. Переверни плату звуковухи и посмтри где первый вывод разъема JTAG (квадратная контактная площадка)
А то если верх ногами, то и видится не будет.
Ну и не забывай, чтобы еще и шлейф правильно оделся.
это учёл ага, сейчас попробую с питанием.
---------- Post added at 12:00 ---------- Previous post was at 11:41 ----------
c питанием увиделся EPM7032S, как сохранить текущую прошивку?
c питанием увиделся EPM7032S, как сохранить текущую прошивку?
Зачем? Все прошивки есть на сайте. Шьешь последнюю и наслаждаешься музыкой :)
Зачем?дэк проверить то надо! ну и спортивный интерес.
дэк проверить то надо! ну и спортивный интерес.
Смотри в квартусе, если там пункт прочитать прошивку. Если есть, то считывай, а если нет - увы и ах.
Вроде как защита в прошивке установлена. Ну в общем прошил всё пашет на ура! Теперь Middle в GS не пукает! Всем спасибо.
---------- Post added at 12:29 ---------- Previous post was at 12:28 ----------
отдельное спасибо китайцам за клон USB Blaster :)
Внешнее питание на плату надо подавать? Или всё это должно питаться от USB Blaster?
Надо. Через бластер ничего не питается.
Кто шил эти программатором откликнитесь
Я шил и шью постоянно.
2. Какой софт его поддерживает?
3. Где прошивка/ее сорцы?
4. Будет ли с ним работать квартус? 1. Альтеры разные, насчет самых новых не уверен, я практически шил MAX II и Cyclone II, III.
2. Altera Quartus II
3. Прошивку еще не считывал, исходников нет, надо дизассемблировать, но их там немного и принцип работы Altera xxx Blaster уже расковырян - есть в Сети описание
4. Да
solegstar,Vslav, Слейте содержимое еепром .
Имею давненько комплект на сей бластер - печатку(только в картинке), схему,прошивку . (см вложение)
Есть и кучка кипарисин, однако не уверен в прошивке.
Себе собрал на пЫк :
solegstar,Vslav, Слейте содержимое еепром .
ОК, попробую на выходные, у меня программатора для I2C EEPROM нет, буду подключать к своему какому-нибудь изделию.
У меня еще есть платка от EVODBG (сейчас поискал у них в магазине - что-то они перестали ее продавать), там более близкий к альтеровскому оригиналу USB Blaster на FT245 + EPM240 сделан. Схемка от него тоже в приложении, правда я только один вариант буфера (3.3V<->1.8V) оставил. Прошивка более-менее известно что делает, но родных исходников у меня нет - тоже надо восстанавливать. Поэтому пока не спаял и пользую китайский USB-Blaster как у топикстартера.
TSL, у тебя ж такой же прогер, как у Vslav, не?У меня китайский из 1 псто. у Vslav тоже, и у мну такой же. открой его корпус и сравни со схемой Vslav`a. :) Скажите спецы, а квартусом можно прошивку считать и как?
Просто я собираю Бластер на LPT, а как проверить не знаю, вот и хочу прошивку с Соунд Карт Лайт считать для проверки.
Скажите спецы, а квартусом можно прошивку считать и как?
Просто я собираю Бластер на LPT, а как проверить не знаю, вот и хочу прошивку с Соунд Карт Лайт считать для проверки.
Задача не простая, как оказывается. У меня в квартусе не активна галочка Examine. Ради эксперимента я пробовал по такому сценарию:
130 байт, дальше - данные. Если FFы,
то установлен бит защиты. При чтении программатор ничего об этом не сообщает. А заголовок,
добавляет MAX+, а не читает его из устройства.
Это в стареньком MAX+. Работает, считал свою же прошивку. Но костыли те еще.
Задача не простая, как оказывается.
Считывал и ЛПТ бластером в максе и в квартусе USB бластером без каких либо проблем. Естесно без защиты , с платы ZX-VGA . Ее же обратно заливал.
Не знаю, у меня в квартусе тупо галочка Examine задисейблина. ЛПТ байт бластер. Поэтому я смог считать только через макс+, в котором эта галочка нажимается.Теперь мой зоопарк байтбластеров.
Как видите, они все чем-то отличаются друг от друга. Тем не менее, они все отлично справляются со своей работой. Так зачем их курочить? Все фотки кликабельны.
Вот же блин синяя зелёная и красная платы все разные.
---------- Post added at 14:37 ---------- Previous post was at 14:30 ----------
У меня еще есть платка от EVODBG (сейчас поискал у них в магазине - что-то они перестали ее продавать), там более близкий к альтеровскому оригиналу USB Blaster на FT245 + EPM240 сделанПользуюсь таким уже несколько лет, работает ка часы. Платки вроде еще есть в продаже.
Вот же блин синяя зелёная и красная платы все разные.
синяя и зелёная одно и то же.
А вот красная интересная , где брали ?
У меня два самодельных, на ПИКах 18F2550 и 18F14K50.
Вот второй -
Размером со спичечный коробок, корпус из кабельканала :)
Глюков в работе пока не встречал, от винХР до вин7х64.
Глюков в работе пока не встречал, от винХР до вин7х64.
Кроме криво рассчитанных делителей .
По уму там все таки нужен транслятор уровней.
Выше мой на 18F14К50 :biggrin:
По уму там все таки нужен транслятор уровней.
Есть такое.
В схемах там предусмотрено переключение питания 5/3.3В, это типа и есть транслятор уровней :)
ОК, попробую на выходные, у меня программатора для I2C EEPROM нет, буду подключать к своему какому-нибудь изделию.
Там не нужен проггер еепром .
Для кипарисины есть родная программа для работы с ПЗУ .
Люди успешно юзали при ковырянии c лог анализатароми на базе сей кипарисины.
И возвращаясь к напечатанному. Вроде уже на форуме поднимался вопрос, но никак тему не могу найти.
Какой из китайпрома USB blaster (вменяемые деньги) - гарантированно работает под Win 10.
У меня три разных на pic18f14, на silabsf321и stm32f все работают в win10 только тот что на silabs не все камни шьёт.
Только что попробовал точно такой как у тебя - никаких экранов смерти. Что-то у тебя в конфигурации компа, попробуй в другие usb порты засунуть или через внешний контроллер usb.
А ты дрова ставил какие или нет. Просто он в винде как бы определяется, но при попытке Кактуса 9.2 вызвать программатор - все превращается в синий экран подготовки отчета для Мелкомягких.
Обзор программатора для ПЛИС фирмы Altera. Кому интересно — прощу под кат.
ПРЕДУПРЕЖДЕНИЕ: данный обзор написан для тех, кто «в теме». Если об электронике и ПЛИСах Вы имеете смутное представление, то, судя по комментариям, этот обзор будет врятли Вам полезен.
USB-Blaster — программатор, разработанный фирмой Altera для своих ПЛИС. Имеет три интерфейса программирования: JTAG, Active Serial и Passive Serial. Предназначен для программирования и отладки ПЛИС этой фирмы.
По просьбам привожу некоторые расшифровки:
— ПЛИС(FPGA или CPLD) — Программируемая логическая интегральная схема.
— Altera — американская компания, один из ведущих и крупнейших производителей ПЛИС
— Cyclone II — семейство FPGA этой фирмы.
— Altera Quartus II — САПР, разработанная Альтерой для проектирования и отладки своих ПЛИС.
— JTAG — грубо говоря, интерфейс для программирования и отладки сложных цифровых микросхем и устройств. На данный момент — промышленный стандарт.
— AS и PS — интерфейсы программирования последовательных конфигурационных ПЗУ.
Сделан он на четверочку — внешний вид сразу выдает китайскую подделку. Но мы ведь им не любоваться будем, а работать. И в плане работы он хорош. ПО Quartus II принял его как
Плюсы:
+ Цена
+ Цена
+ ЦЕНА!
+ Полная совместимость с оригинальным устройством. Прошивание и отладка через jtag работают отлично.
Минусы:
— «Китайский» внешний вид.
— Некорректно работает интерфейс AS, НО тут неизвестно кто виноват — USB-Blaster или моя отладочная плата.
Мир цапостроя не заканчивается на РСМ63 или AD1862 , а новые форматы и поддерживающие их чипы уже доступны.
Это интересно. И не так уж сложно. Достаточно иметь нужный набор инструментов, который стал доступен практически каждому, и желание пробовать и экспериментировать.
↑ Небольшое вступление: CPLD она же ПЛИС
ПЛИС, что расшифровывается как Программируемая Логическая Интегральная Схема, по буржуйски — CPLD, что означает Complex Programmable Logic Device, в цапостроении применяется уже давно. А в мире цифровых устройств еще раньше.
Один из моих самосборных компьютеров «Орион-128» имел в стартовом комплекте печатную плату и прошитую ПЛИС, без которой плата бы никогда не запустилась бы. А это было… Ох, уже и не вспомню.
Но давно.
ПЛИС бывают разные. Основные производители на данный момент — это Xilinx и Altera, ну может кто-то еще — не вдавался. Бывают они разной структуры, назначения, ёмкости. Всего не перечислить. Технологии-то уже более 20 лет… Не беда, лампы вон до сих пор в цене:)
↑ Однако, приступим!
Когда я искал материал по ПЛИС, наткнулся на статью моего тёзки с ником Lexus. Называется она « Использование ПЛИС в DAC ». За статью автору огромное спасибо! Возможно это единственный материал, где подробно разжёвано всё от начала и почти до конца. Всёе остальное, включая документацию от производителей, довольно тяжело осваивать «в лоб». Вот на базе этого материала я и расскажу о своём опыте работы с ПЛИС. Я конечно постараюсь покороче, ну, а вы готовьте помидоры и изучайте.
Для начала нужно определиться, для чего и как будем использовать этот самый ПЛИС. Задача конвертации RJ в I2S, описанная в вышеуказанной статье — это просто, и как то меня она минула за ненадобностью, а вот коммутация входов, деление частоты на костыле из 3 корпусов 74НС74, переключение генераторов — вот минимальная задача, ради которой стоит начать знакомство с этой технологией.
Поэтому за основу был взят готовый ЦАП на AK4137, описанный в моей предыдущей статье.
Следующий шаг — обеспечить себя необходимым окружением. Для этого качаем из сети рекомендованный Лексусом Quartus II 9.1 SP 2. Я для интереса скачал самый новый. Не знаю, на любителя. Например, в новой версии отсутствует поддержка устаревших версий ПЛИС (а именно — нужной нам ЕРМ3064), обилие наворотов и обязательная регистрация перед скачиванием (и так спам девать некуда) мне не понравились.
Далее покупаем программатор. Или собираем на коленке.
Мне оказалось проще купить: USB Blaster (Altera CPLD/FPGA programmer)
Можно сначала купить — потом качать Quartus, не важно. У меня например было время немного освоить этот Quartus, пока мой программатор пинали ногами на транзитных пунктах китайской почты.
Ну и естественно — сам ПЛИС. Как же без него? Для своего проекта выбираем EPM3064ATC44-10N . Это ПЛИС с питанием 3,3 В, на 64 логических ячейки, с возможностью программирования через JTAG, в корпусе TQFP44 (аккурат как у АК4399, паять несложно) и с грейдом 10. Половина этой странной инфы нам не нужна. Важно лишь питание и рабочая частота.
Для этой микросхемы она равна 150 МГц, что в принципе хватит за глаза и выше. Другие подробности есть в даташите, там же есть масса инфы, которую я еще не переварил, да и, как выяснилось, эта инфа избыточна для наших задач.
↑ Задача в подробностях
Теперь более подробно расскажу о поставленной перед нами задаче.Итак: простая схема взаимодействия блоков и модулей в среднестатистическом ЦАП показана на рисунке:
Художник из меня просто шедевральный, поэтому прокомментирую это чудо.
Самое интересное в красном квадрате в центре.
Сигнал со входов I2S или SPDIF/I2S в формате I2S через мультиплексор подается на вход ЦАП.
После мультиплексора выдергивается сигнал MCLK и идет на модуль CLOCK, в котором находится два генератора для сетки частот 44х и 48х и несколько буферных элементов.
Задача модуля — если ЦАП работает в режиме MASTER, поглядеть какая сетка частот используется и отдать ЦАП клок с нужного генератора, а также отдать этот клок источнику.
Если ЦАП в режиме SLAVE, то просто пропустить через себя тот клок, что пришел к нему от мультиплексора. Сигнал сетки просто игнорируется.
А еще выдать для измерения частоту LRCK для PCM или DSDCLK для DSD.
За всем этим бдительно следит контроллер.
Естественно все это мной уже реализованно на рассыпной логике.
Так вот задача в принципе проста — все функции красного квадрата возложить на ПЛИС, и адаптировать схему под работу с проверенным мной AK4137 .
↑ Теперь можно ставить софт и готовить проект
Особенностей установки нет никаких, просто после установки нужно выбрать тип Quartus II для внешнего вида программы. Пути установки по умолчанию.Далее заходим в меню File→New-Project-Wizard.
Здесь задаем имя проекта и рабочие каталоги. Желательно сильно не самодельничать, хотя софт умный, если накосячим — подскажет где.
Пока не подходим к самому интересному! Тут обязательно выбрать именно тот тип ПЛИС, с которым будем работать. Их там шибко много, но нужный найти можно.
Проверяем, если накосячили, еще можно уехать назад.
И вот оно. Маленькое наше счастье. Все создалось и загрузилось.
Но не спешите радоваться — нам нужна схема! Для этого идем далее в меню File→New.
Откроется это окно:
Схемный редактор конечно не фонтан, особенно если привык к Splan, но работать можно.
Теперь нужно сохранить файл внутри нашего проекта.
С названием не мудрствую, чтоб не путаться.
Получится так:
↑ Все готово. Теперь можно творить!
Для того чтобыНо об этом нам сообщит компилятор в процессе.
В поле «Name» набираем 74257. Это мультиплексор 2×4. Далее, обязательно нужно накидать входы и выходы. Для входа набираем input, для выхода — output.
По даташиту смотрим логику работы ног (например здесь для разрешения работы надо на OE (или GN) подать лог 0), и подключаем куда надо vcc или gnd. Все это также набирается в поле «Name».
Ну и рисуем соединения согласно выбранной схемы. Обязательно нужно дать уникальные имена входам и выходам, чтоб потом не запутаться. Я их назвал по имени сигнала с которым они работают.
Должно получиться примерно так:
Я сделал проще — я сначала нарисовал схему,
и по ней именовал ноги.
Так получилось более наглядно.
После этого нужно скомпилить проект. Для этого вверху в меню есть треугольный значок с названием «Start compilation».
Результат получается примерно такой:
Это нормально, главное чтоб не было ошибок и проект скомпилировался.
Предупреждения можно игнорировать, они, как правило, связаны с невозможностью провести моделирование поведения схемы. А если полезло красненькое — то косяк серьезный, работать не будет. Здесь же видна суммарная информация — сколько занято ячеек и сколько использовано ног.
После этого надо назначить ноги, точнее привязать ноги к конкретным пинам ПЛИС. Для этого лучше использовать рисунок платы:
Следует иметь в виду, что ноги для программатора нужно развести на разъем программатора, специальные и неиспользованные ноги нужно оставить висеть в воздухе. Во избежании казусов. В даташите на выбранный тип ПЛИС ноги описаны.
Для привязке физических ног к виртуальным используется функция Pin Planner. Это самое шикарное во всем процессе. Не надо думать как и куда развести ноги на плате, просто накидал при разводке платы и назначил в процессе!
Pin Planner находится левее кнопки компилятора (чип с карандашом и символом пина).
Вот такое окошко:
Тут видно наш выбранный в начале проекта чип и его доступные для назначения ноги. Они обозначены кружочками.
Внизу список наших имеющихся виртуальных ног.
Просто берем node name из левой колонки и назначаем ему location. При этом назначенный пин станет темно красным на рисунке.
Вот так.
После привязки всех ног окончательная схема выглядит так:
Возле входов и выходов появились номера физических ног микросхемы.
Тут я поигрался немного с разными типами делителей. И отдельно вывел выход мониторинга шины DATA или DSDL. По ней стоит делитель с нереальным коэффициентом деления аж 262144 на пяти счетчиках 7493. Теперь у меня весело мигает светодиод при передаче данных. Оно конечно нафиг не нужно, но получилось наглядно.
Все, готово. Еще раз компилим проект. Если все хорошо — можно пробовать шить, или прошивать нашу плис. Естественно она должна быть припаяна в схему.
Сам программатор можно поставить в систему заранее, драйвера есть в папке с программой %\altera\91sp2\quartus\drivers\usb-blaster, но питание его выходного буфера производится от платы с ПЛИС, поэтому без питания работать он не будет.
Теперь, когда все готово, идем в меню с программатором. Оно тоже вверху.
Вот такое окно:
Кнопкой Hardware Setup выбираем USB Blaster, тип загрузки — JTAG.
Внизу наш проект. Галочками отмечаем нужные опции.
Включаем питание ПЛИС и дрожащей рукой нажимаем Start…
Процесс идет очень быстро, я даже испугаться не успел. Если что-то прошилось, то внизу в логе будет такое:
Можно выдохнуть.
Девайс умный. Сам читает тип ПЛИС, так что другой проект просто не зашьется.
Также в случае перепутанных/не припаяных ногах программатора будет грязная ругань, что девайс не опознан или проблема программатора.
Но это не значит что все заработало как надо. Возможно потребуются коррективы схемы, изменение логики и повторная прошивка.
Производителем заявлено 100 циклов перезаписи ПЛИС, мой личный рекорд в этом проекте — 6!
А все потому, что я считал например, что у буфера с именем btri, что я использовал как логический аналог 74lvc1g125, вход разрешения работы OE имеет активное состояние лог 1, а оказалось, что это полный аналог 125 го буфера, и OE у него активно при лог 0.
Прошивать можно в любой момент, даже в процессе работы ЦАП. Ничего страшного не происходит.
Возможное количество прошивок больше 100, но производитель не гарантирует работоспособность ПЛИС при превышении этого порога. Реально можно шить больше и чаще, специалисты проверяли.
Но о сотне всегда помнишь и много раз подумаешь, прежде жать кнопку «Старт».
При назначении выводов ПЛИС не предусмотрено подключение «подпорок», или подтягивающих резисторов на плюс или минус питания, как это сделано в микроконтроллерах.
Также не предусмотрены прочие «аналоговые» заморочки для подключения к стандартной логике. Поэтому все времязадающие конденсаторы, подтягивающие резисторы, и любые другие «аналоговые» компоненты в логике ПЛИС отсутствуют. Все это необходимо предусмотреть заранее — подключить внешние «подтяжки» на нужные ноги ПЛИС или вывести конденсаторы времязадающих цепей на внешние ноги.
Иначе никак.
Настоящие разработчики делают еще одну «фишку» — формирование SPI для управления ЦАП с помощью ПЛИС.
Я, как неспециалист, конечно попытался реализовать подобное на макетной плате на базе EPM240, но получилось немного не так, как хотелось. Точнее получилось г*, и я сразу потерял интерес к этому процессу.
Но оно и понятно, тут уже нужно использовать не логические элементы, а описание логики работы на hardware description language (HDL). Он чем то напоминает старый добрый Basic, но моих знаний пока недостаточно для его освоения. К тому же формировать SPI управление на том же STM32/Arduino оказалось проще с точки зрения количества задействованных ног у контроллера и количества проводов в связке ЦАП-МК.
То есть выигрыш в формировании SPI в ПЛИС оказался лично для меня пока сомнительным удовольствием. Может потом и освою, а пока по старинке используем контроллер.
Ну, а если, к примеру, наш проект окажется большего размера, и не хватит нам ног или ёмкости ПЛИС, можно использовать что-нибудь из серии MAX-II, например EPM240T100C5 .
Шаг ног там конечно поменьше, зато ног побольше и емкость уже 240 ячеек. Я их зачем-то заказал, но смог нагрузить только на 20%, поэтому, чтоб не валялись, пришлось применять. Вон она, слева от генераторов притаилась.
↑ Итого
Как вы понимаете, применение ПЛИС не ограничивается ЦАП. Наоборот, эту технологию активно применяют там, где нужно сэкономить место и заменить десятки корпусов обычной логики на один корпус ПЛИС.
Любой конечный автомат, вроде блока управления вертушкой, механикой, или какие-нибудь электронные часы — это само простое, что пришло в голову.
Думаю, данный материал будет полезен многим.
Ну, а у меня на сегодня все.
Продолжение следует!
С уважением, Алексей.
Картина Дудикова «Утро над ЦАПом», 2017 год.
Холст, масло, сыр, чай с сахаром
2019-2-9 23:48 CPLD
Бывают ситуации когда LPT ByteBlaster нет возможности использовать, а прошить Altera хочется Для этого можно собрать USB ByteBlaster и забудем про LPT.
Схема программатора достаточно проста и незатейлива. Сердцем программатора является микроконтроллер PIC18F14k50.
После изготовления устройства получилось следующее:
Затянул программатор в термоусадку и проковырял отверстия для светодиодов.
Собрал программатор навесом, потому что он мне нужен был на один раз. Использовал стабилитрон Д814Б получил почти 9в. Прошилось с первого раза, но софт очень медленный - главное результат, мы никуда не торопимся.
Программа для работы с программатором:
После подключения программатора, в Диспетчере устройств программатор опознается со следующим идентификатором:
Теперь нужно установить драйвер из папки в которую установлен quartus, в моём случае драйвер лежит в папке C:\altera\13.0sp1\quartus\drivers\usb-blaster\. После того как программатор успешно определиться в системе как Altera ByteBlaster, можно зайти в quartus и настроить его на использование нашего программатора.
Отмечу, что работать с таким программатором гораздо удобнее, чем с LPT аналогом. Намного компактнее и практичнее в наше время. Отлично запустилось под Windows 10 x64 с последними обновлениями.
Также этим программатором можно прошивать ПЛИС от Lattice с помощью следующей утилиты:
Схема программатора в формате PDF:
Печатная плата программатора (обратите внимание на фотографии, там нужна одна перемычка):
Внимание! Копирование, в том числе частичное, запрещено!
Читайте также: