Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт - QubStore

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Привет Хабр. Мы хотим вам немного рассказать про один интересный недавний ремонт, а так-же свой опыт и инструкцию скачивания прошивки с ПЛИС ALTERA MAX.

Началось все с прибора Fluorophos FLM200 – прибор для проверки качества пастеризации молока.

Фото прибора Fluorophos FLM200 (уже немного разобраного)

Прибор к нам попал с другого ремонта, в котором ребята не смогли разобраться с неработающим дисплеем. Текст он не отображал, а просто моргал раз в секунду курсором (не знаю, уместно ли прикреплять фото/видео абсолютно каждого шага повествования, но фоток и видосов у меня наверное не хватит), при этом сам прибор прекрасно функционировал и без дисплея.

Ниже фото самого снятого дисплея:

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Снятый дисплей лицевая сторона

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Снятый дисплей сзади

Как раз таки слева на второй фотографии мы видим ПЛИС Altera EPM3064, на который у нас и упало главное подозрение. Мы доблестно решили его поменять, заказали новый чип, и далее будет небольшая инструкция по тому, как слить прошивку с Altera ПЛИС, этот метод проверяли на MAX3000 и на MAX7000.

Начнем с программатора. Нужен будет комп с LPT. Шнурки LPT USB (пример будет снизу) тут не покатят, это история для принтеров.

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Схема программатора (брал от сюда https://www.rlocman.ru/shem/schematics.html?di=41195&srsltid=AfmBOopvB0MA0Xn95Lhua1sqGRYcjDbUFrGnJyGR_p9R32yeopop-F9V )

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Схема программатора

DB25 + Витая пара, и продолжаем продолжать.

Спаяв невероятно сложный программатор и подпаявшись к ПЛИС, мы переходим к подготовке нашего ПК (или ноутбука в моем случае). Покупаем😈 и качаем MAX+PLUS2 и устанавливаем драйвер по инструкции (родной ссылки с форума radiokot я найти не смог):

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Инструкция установки драйвера

Теперь пойдем поэтапно:

  1. Создаем проект Text Editor file. File -> New -> Выбираем Text Editor file

  2. Выбираем проект как активный. File -> Project -> Set Project to Current File

  3. Assign -> Device . Выбираем свой ПЛИС

  4. Пишем минимальный код, чтобы его скомпилировать. Мой пример:

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Пример кода для комплиляции

SUBDESIGN untitled2 – нужно заменить на название своего проекта.

Компилим в File->Project->Save Compile.

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Компиляция завершена успешно

5. Переходим в программирование.

Вид кнопки, если кто-то не найдет

Теперь у нас доступна кнопка Examine

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Окно Programmer

Она нам и нужна, теперь ПЛИС->ByteBlaster->PC и жамкаем её. В независимости от того, стоял Security Bit при прошивке или нет, что-то скачаться должно в любом случае, и Programmer нам напишет, что все прошло успешно!

6. Долгожданный файлик мы можем сохранить File->Save programming data as
Файл должен быть расширения .pof

Теперь же, чтобы проверить результат, мы должны глянуть, что мы накачали с ПЛИСа, я использую WINHEX.

Пример залоченного ПЛИС, все в FF :

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Security bit установлен

А теперь пример удачно загруженной программы

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Security bit не установлен. Программа у нас)

Думаю, что с залитием прошивки не должно возникнуть вопросов, но кратко, находясь в Programmer, File->Select programming data, выбираем pof file и Program

Сами проворачивали все на старом ноутбуке Toshiba с LPT портом и Windows XP. Метод проверен на EPM3064ATC44 и EPM7128STC100. Ничего нового тут в целом описано не было, все это давно кусками лежит на разных форумах, я просто собрал в кучу)

Так чтозж там с приборчиком и дисплеем то?

Замена ПЛИС не дала абсолютно ничего. Шина данных, приходящей с материнской платы была жива и кидала данные о выводе дисплею, ниже пример с ПО анализатора логики:

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Тут вроде он пишет “Standby   15”

И на этом этапе мы не нашли варианта лучше, чем переделать всю логическую часть дисплея) Ну действительно не нашли. Вариантов как для нас больше и не оставалось, мы нашли еще один такой подобный девайс, который нам вежливо разрешили поковырять, а там дисплей другой ревизии, без ПЛИС. Вообщем-то все грустно, но мы ребята непростые, и у мы уже видели Arduino Nano на месте того родных ПЛИС и МК (может быть ее видел только я).

И вот далее последовали два интересных выходных ковыряния этого дисплея и попыток на него что-либо вывести:

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Тут только успел припаяться к драйверам, чтобы начать изучать их роль в схеме

Два драйвера на символ и один на колонку. План капкан. Спустя 6 часов первые результаты)

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Тут дисплею питания не хватает немного)

И финальный результат:

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Новая плата уже в приборе

Вытряхивание или скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

Кто имел дело с таким прибором может заметить различие в шрифте, но…

Можно, а зачем?

Итог, все работает, заказчик доволен, и я доволен, потому что весьма интересно провел выходные, программируя эту историю)

Статья на мой взгляд получилась и так довольно большая, не думаю, что уместно здесь еще рассказывать про процесс написания прошивки на ардуино, хотя это тоже на мой взгляд интересный опыт, но чуть что вторую часть никто не отменял)

Так-же мы оставили на память пасхалку на приборе, при запуске на дисплей на 2 секунды выводится сначала название нашей организации YSL Systems. Кстати да, мы компания YSL Systems, и мы делаем много чего интересного, можно почитать тут.

Внимание!

Спасибо за внимание!

Ссылка на основную публикацию