Меню

Программатор w27c512 45z своими руками

Программатор для EPROM на Arduino

Понадобилось при изучении и ремонте компьютеров, которые старше меня, прошивать ПЗУшки. Тесты оперативной памяти и периферии проводить. Нормального программатора у меня на тот момент не было.

Собрать на логике для LPT порта, конечно, можно, но данный вариант был отброшен, так как для использования пришлось бы включать ещё какого-нибудь старичка. В современных компах все ещё встречается данный интерфейс (правда не полноценный разъем, а на гребенке) да и купить плату в PCI слот тоже не проблема, но возникают уже сложности с софтом. Он был написан очень давно, когда работа с портами ввода/вывода в операционных системах велась иначе. Соответственно, в современных версиях Windows ПО не будет работать.

Сразу стоит оговориться, что про существование TL866 знаю. И даже в процессе разработки все же его купил себе, но он не в состоянии прошить микросхемы, которые требуют высокое напряжение программирования. Максимум 18 вольт (TL866+ или 21 для предыдущей версии).

Беглое гугление привело меня к данному репозиторию. Собрав программатор, я смог сдампить пару интересующих чипов. А вот с прошивкой все оказалось куда сложнее… Софт этого просто не умеет… Его, конечно, можно обмануть, выставив неправильный чип, но работает это не во всех случаях и явно не наш метод

Очень сильно огорчил пользовательский интерфейс, который, вместо классического варианта с предоставлением права выбора порта пользователю, проходился по всем доступным последовательным интерфейсам. Соответственно, все устройства перезагружаются. Особенно обидно, наверное, когда у тебя 3D принтер уже часов 10 печатает детальку с флешки, а тут такая подстава.

Мир OpenSource прекрасен тем, что ты можешь взять проект и дописать его под свою задачу. В данном случае исходных кодов к графическому интерфейсу нет. По крайней мере я их не нашел, хотя можно было написать разработчику. Стало интересно и появился небольшой повод для изучения Qt. Так что софт будет кросплатформенный.

Берем за основу схему из предыдущего проекта и дорабатываем устройство до требуемого функционала. Решил пожертвовать поддержкой EEPROM в софте. Возможно, это не совсем удачное решение, но для электрически стираемых чипов уже не нужно такое высокое напряжение. При доработке опирался на самую объемную микросхему (27C512 для DIP28) и убрал всю путаницу относительно адресных ножек. Весь адрес будет задаваться исключительно при помощи сдвиговых регистров (74HC595). Это освободит дополнительные ноги самого микроконтроллера, которые понадобятся для управления подачей напряжения программирования. А все необходимые сигналы (PRG) можно получить модификацией адреса перед загрузкой в регистры.

Принцип подачи напряжения программирования остался прежним. Изменения только в области защиты выводов микроконтроллера и сдвиговых регистров. Заменил резисторы (1 КОм) на диоды с подтяжкой к лог. 0. Это менее агрессивный вариант. Хотя, справедливости ради, и резисторы работают.

Изучив документацию на все интересующие чипы, определил, что требуется три точки подачи Vpp:

  1. 27C16 на 21 ногу микросхемы (23 ногу DIP28 сокета)
  2. 27C32 и 27C512 на сигнал #OE (Output Enable)
  3. 27C64, 27C128, 27C256 на 1 ногу микросхем

Микросхемы 27C16 и 27C32 от остальных отличаются корпусом, так что им требуется подавать напряжение питания на 26 ножку сокета. Это адресная нога A13 для более емких собратьев. Тока с выхода сдвигового регистра должно хватить для работы, но на время загрузки данных его выходы переходят в Z состояние. Подобный режим допустим, но включение на чтение или запись одной ячейки вряд ли является нормой. Поэтому под управление питания установлен дополнительный транзистор. И ещё один потребовался для 27C16, которому на время чтения необходимо подать на вход Vpp 5 вольт. Можно, конечно, на время чтения выставить напряжение программирования на значения 5 вольт, но переключаться между 25 и 5 вольтами неудобно.

Если есть свободные ноги АЦП, то почему бы не измерять напряжение программирования? Плата разведена под Arduino Nano. На нем имеются два дополнительных входа, которые кроме как для АЦП использовать нельзя. На самом деле это особенность многих микроконтроллеров AVR в корпусе для поверхностного монтажа. На китайских Arduino UNO частенько есть входы A6 и A7. С учетом того, что напряжение может быть до 30 вольт (вроде больше всего хотят отечественные РФ5, 25 вольт), рассчитываем делитель из того, что есть в наличии. Точность в 0.5 вольта для данной задачи вполне достаточна. Эта функция — защита от дурака, а не вольтметр.

Читайте также:  Ремонт лапки швейной машинки своими руками

Можно, конечно, было заморочиться и выступать в качестве ШИР (широтно импульсное регулирование) контроллера, но ножек свободных не осталось. Поэтому на печатной плате есть посадочное место для преобразователя DC-DC Step Up на чипе MT3608, которые за копейки доступны на али.

По схеме на этом все.

Алгоритм работы с данными микросхемами очень прост. С ним можно ознакомится в небольшом видео.

Источник

Доработка программатора MAVR для работы с W27 С 512-45Z

Как доработать файлы aMAVR1 программатора Ковлева MAVR и схему для работы с W27С512-45Z , добавив режим стирания ЭРПЗУ , W27С512-45Z , режим работы с другими ПЗУ серии 27Cxxx ,28Cxxx , 29Cxxx? Можно убрать поддержку 24Сxx.Как переделать на Лазарус программу и обеспечить устойчивый обмен данными по (виртуальному) UART-порту на 115200 бод 8-N-2 ?
Есть ли у кого — то готовые решения? Если что, потом допишу свои варианты и соображения на эту тему .

Есть ли у кого -то программы на лазарусе для обмена данными по UART с двухпоточностью (фоновый прием при передаче ) на 115200 бод 8-N-2 ? Можно и аналогично хайасмовскому сделать с «мультитредс «.

Добавлено через 1 минуту
Кажется, «глюкнул » браузер , удалить копию темы с таким же названием , плохо вводилось название микросхемы в заголовке при редактировании

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Вложения

aMAVR1_fixed_read27_1.zip (317.9 Кб, 19 просмотров)

Библиотека или функция для работы с SHA-512
Нужна библиотека или функция с помощью которой я смогу зашифровать строку в SHA-512

Доработка программы для работы с классами
прикрепил проект, помогите плз доработать программу, там пару ошибок связанные с классами + нужно.

Как проверить исправность работы USBasp программатора?
Есть програматор. Не получаеться записать HEX файл на мк. Как убедиться что программатор виден для.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Вложения

asm_m8515_1.zip (343.2 Кб, 8 просмотров)

Еще не проверял эту прошивку

Добавлено через 48 секунд
Можно на 8-N-2 переделать

Добавлено через 26 минут
Фьюзы 8515-ю как в MAVR(под 7,3728 -8МГц ) , под 16а еще не добавил, вычислю потом(внешний Crystal кварц до 8 . 12 МГц, локбиты по умолчанию , как был прошит , время запуска и делитель выбрать без делителя ).nop в подпрограмме 10 тактов подкорректировать .

Добавлено через 2 минуты
Под мегу8а в папке с ассемблером для понипрог добавлял , для AVRDUDE по функциям (тогда птички инверсные, быть бдительными , особенно с локбитами и сбросом , у нас на выводе сброса сброс, а не пин порта, без бутлоадера, с нуля , без прерываний ).

Добавлено через 12 минут
Можно еще кнопку сравнения буфера с микросхемой добавить, пока по контрольным суммам достаточно .
Я бы еще выводы управления и ША,ШД буферировал. PD2,PD3 можно под nRD,nWR или nP, Vpe , Vid использовать,переназначив их функции . 24сxx пока поддерживаются в другом чипе (других программаторов достаточно , в том числе экстрапика, PICK Kit2 +AVRRDUDE, USBTINY,USBASP ).

Источник

Программирование 29C256 и 27C512 Honda Civic.

И так у вас есть чип, есть место, куда он вставляется в мозге OBD1. Вы даже создали прошивку, которая дает вам прирост с помощью программы Crome. Как же теперь записать ее на чип, чтобы поехать с ней? Я говорил раньше, что программируется 29C256 и 27C512 память только параллельным программатором, который есть не в каждом доме. Существуют несколько путей решения:

  • Купить программатор, цена около 50-300$. Пользоваться им будете максимум 10-15 раз.
  • Спаять самому параллельный программатор по схеме из Интернета, занятие трудное и, для новичка, не благодарное.
  • Найти телемастерскую, которая, за $30 или меньше, могла бы 1 раз прошить микросхему.
  • Купить за 10-100$ параллельный программатор, который уже стал старым на барахолке или в Интернете, например PicProg+
Читайте также:  Пятновыводитель для автомобильного салона своими руками

Первые два пункта я отбросил. Так как я знал, что я прошьюсь минимум 5 и максимум 10 раз. И платить за одну микросхему $200 мне не хотелось. Второй вариант, для меня сложен, может, я немного ленив. У меня просто не хватило времени заняться новым программатором. Хотя есть наборы, достаточно дешевые которые можно спаять за 1-2 часа. Найти телемастерскую не получилось, такое барахло как наши микросхемы памяти ни кому не нужны. Я знаю точно, что на радио рынке типа Царицыно или Митино в Москве такие услуги есть, но что-то не хотелось мне за 5 прошивок каждый раз отдавать по $10-20. Поэтому я перешел к пункту 4. Я нашел программатор PicProg+ в Интернете за $30, основная проблема, по которой продают этот программатор в том, что фирма Phyton больше не поддерживает (С 2002 года) данный программатор, и программа через которую запускается программатор не идет ни под Windows XP, Vista, и тем более Seven. Эти системы не поддерживают полный доступ к порту LPT.

Общий вид PicProg+ для прошивок Honda Civic P28

Вариант 1: Работаем под MS-DOS

Это самый брутальный и правильный способ для работы именно с этим программатором. Вам нужен программатор, флешкарта USB размером не больше 2GB, и любой компьютер с рабочим LPT портом. для начала скачайте программу HP USB Disk Storage FormatTool, архив дискеты Windows98 и урезанный архив программы PicProg. Распакуйте архивы, каждый в свою папку. Вставьте USB диск в компьютер, очистите его от файлов. Запустите программу HP USB Disk Storage FormatTool. P.S. Сейчас я проверял эту страницу и Google Chrome сказал, что мои файлы не безопасны. Я повторно проверил это AVG антивирусом, все в порядке. Я пользуюсь этим достаточно долго.

  • Установите галочку Quick Format
  • Установите галочку Create a Dos startup disk
  • Ниже выберите папку с файлами из архива Shell98
  • Нажмите Start
  • По окончанию процесса закройте программу, и зайдите в папку флешки
  • Создайте папку PP и скиньте туда все файлы из архива Picprog-Phyton.zip

Все готово. Теперь у вас есть рабочая загрузочная флешка с программой Picprog на борту. Остается установить флешку в компьютер, установить в BIOS режим загрузки с флеш накопителя и загрузиться с нее. когда вы увидете похожее на C:\, напишите cd pp, а затем picprog. Инструкция по использованию Picprog+ в самом последнем абзаце статьи.

Вариант 2: Прошиваем под Windows XP, Seven, Vista, Linux

Лучше не мучайтесь а приобретите универсальный программатор MiniPro TL866CS. И все же если у вас на руках есть программатор PicProg+, с LPT портом, и уже подключен к вашему компьютеру. Если вы все-таки не хотите расставаться с уютным окном вашей системы 32х или 64х битной, то установить Virtual Machine Player. То есть виртуальную машину DOS, только не забудьте в опциях передать управление LPT от физического компьютера к виртуальной системе. Все остальное как в варианте 1. Главное чтобы ваш процессор поддерживал режим виртуализации. Например мне попался Intel Pentium 4 650 в котором нет этого режима, и VMware Player даже не установился. P.S. Если у вас не работает VMware Player 4 или VMware Player 5, просто найдите VMware Player 3.

Инструкция по работе с PicProg+ Phyton

Конечно я даю урезанную инструкцию и урезанную программу,для наших целей, а именно записать-считать много всего не нужно. Во первых сначало нужно выбрать микросхему нажмите F2, выберите Parallel E(E)PROM и из списка выберите нужную микросхему памяти. Я очень надеюсь что у вас AT29C256, поэтому смело выбирайте пункт 27. Теперь все готово для чтения или записи. Если вы хотите считать прошивку, то нажмите ALT-F4, после этого сохраните путем нажатия ALT-F8 и написать любое название. Сохраненная прошивка будет в корне программы и должна весить ровно 32768 байт, или 8000h. Для записи прошивки вам необходимо изначально положить прошивку в корень программы. Выбрать необходимый тип микросхемы ALT-F4, нажать ALT-F9 и написать название файла точно с расширением (обычно .BIN). Дальше программа спросит о формате файла, нужно выбрать Binary. Чтобы не мучаться с названием прошивки называйте для себя просто (1.bin). Ну и наконец необходимо записать на микросхему, ALT-F3. После не забудьте сверить загруженный файл и то что вы сейчас записали на прошивку нажатием ALT-F5. Если в моменте чтения или записи у вас будут какие то ошибки, остановите процесс и не выходя из программы попробуйте подвигать микросхему. 28 ножек это достаточно, обычно все ошибки связаны с плохим контактом.

Читайте также:  Ремонт бассейна бествей своими руками

Случайная статья узнай что то новое

Данная статья актуальна для автомобилей Honda выпуска 1992-2000 годов, таких как Civic EJ9, Civic EK3, CIVIC EK2, CIVIC EK4 и CIVIC FERIO (частично). Информация будет актуальна для владельцев Honda Integra в кузовах DB6, DC1, с моторами ZC, D15B, D16A.

Источник

Доработка программатора MAVR для работы с W27 С 512-45Z

Как доработать файлы aMAVR1 программатора Ковлева MAVR и схему для работы с W27С512-45Z , добавив режим стирания ЭРПЗУ , W27С512-45Z , режим работы с другими ПЗУ серии 27Cxxx ,28Cxxx , 29Cxxx? Можно убрать поддержку 24Сxx.Как переделать на Лазарус программу и обеспечить устойчивый обмен данными по (виртуальному) UART-порту на 115200 бод 8-N-2 ?
Есть ли у кого — то готовые решения? Если что, потом допишу свои варианты и соображения на эту тему .

Есть ли у кого -то программы на лазарусе для обмена данными по UART с двухпоточностью (фоновый прием при передаче ) на 115200 бод 8-N-2 ? Можно и аналогично хайасмовскому сделать с «мультитредс «.

Добавлено через 1 минуту
Кажется, «глюкнул » браузер , удалить копию темы с таким же названием , плохо вводилось название микросхемы в заголовке при редактировании

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Вложения

aMAVR1_fixed_read27_1.zip (317.9 Кб, 19 просмотров)

Библиотека или функция для работы с SHA-512
Нужна библиотека или функция с помощью которой я смогу зашифровать строку в SHA-512

Доработка программы для работы с классами
прикрепил проект, помогите плз доработать программу, там пару ошибок связанные с классами + нужно.

Как проверить исправность работы USBasp программатора?
Есть програматор. Не получаеться записать HEX файл на мк. Как убедиться что программатор виден для.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Вложения

asm_m8515_1.zip (343.2 Кб, 8 просмотров)

Еще не проверял эту прошивку

Добавлено через 48 секунд
Можно на 8-N-2 переделать

Добавлено через 26 минут
Фьюзы 8515-ю как в MAVR(под 7,3728 -8МГц ) , под 16а еще не добавил, вычислю потом(внешний Crystal кварц до 8 . 12 МГц, локбиты по умолчанию , как был прошит , время запуска и делитель выбрать без делителя ).nop в подпрограмме 10 тактов подкорректировать .

Добавлено через 2 минуты
Под мегу8а в папке с ассемблером для понипрог добавлял , для AVRDUDE по функциям (тогда птички инверсные, быть бдительными , особенно с локбитами и сбросом , у нас на выводе сброса сброс, а не пин порта, без бутлоадера, с нуля , без прерываний ).

Добавлено через 12 минут
Можно еще кнопку сравнения буфера с микросхемой добавить, пока по контрольным суммам достаточно .
Я бы еще выводы управления и ША,ШД буферировал. PD2,PD3 можно под nRD,nWR или nP, Vpe , Vid использовать,переназначив их функции . 24сxx пока поддерживаются в другом чипе (других программаторов достаточно , в том числе экстрапика, PICK Kit2 +AVRRDUDE, USBTINY,USBASP ).

Источник