====== Простой программатор для UOC TDA93xx/TDA95xx ====== Данное устройство предназначено только для лабораторных целей и не может быть использовано для массового программирования. Управление выполнено в виде скрипта для HardwareExpert. Соответственно потребуется сама среда HardwareExpert которую можно скачать [[ru:hardwareexpert:download|тут]] и скрипт, который можно скачать [[ru:hardwareexpert:scripts|тут]]. Программатор рассчитан на самостоятельную сборку. Можно использовать стандартную макетную плату с шагом 2,5 или 2,54 мм и металлизированными отверстиями. Представлены схемы в формате SPL70 и JPG. {{:ru:stati:alluoc:uoc-prog2_2.zip|Скачать инструкцию по сборке программатора.}} [{{ :ru:stati:uoc-jig.jpg?400|Вид собранного программатора}}] Для чтения достаточно питания 5V (2,8...3,9V на микросхеме). При этом очень удобно брать питание прямо с компьютера через шнур USB. Для записи нужно еще 9...10V. Элементы R6* VD3* VD4* ставить не обязательно. Но зато с ними при подключении 9...12V брать питание с USB не требуется. При чтении напряжение Vpp не нужно. При записи оно должно подаваться только после входа в режим программирования, иначе блокируется вывод Reset. Это можно делать как вручную, так и автоматически. В основном варианте напряжение Vpp подается кнопкой с фиксацией, при этом зажигается светодиод. Заменив или установив дополнительную панельку, можно работать с другими м/с этой группы. [{{ :ru:stati:pins.png?800 |Распиновка выводов под различные микросхемы}}] Рекомендуется подключать адаптер напрямую к разъему LPT на корпусе компьютера или пользоваться качественными удлинителями. Из панельки можно удалить неиспользуемые ламели. Если приобрести ZIF-панельку затруднительно, то можно использовать обычную, разместив ее на куске платы, где ранее стояла м/с в корпусе SDIP-64. При чтении демонтированной м/с для лучшего контакта следует очищать выводы от остатков флюса и после установки в панельку пошевелить ее там. При смене м/с в панельке отключение питания 3,3V не предусмотрено - как показал опыт, ничего страшного не происходит. Даже если случайно перевернуть м/с на 180° при установке, она не повреждается. Но если кто захочет, может выдергивать разъем общего питания (или USB) или поставить еще одну кнопку. [[http://2micom.ru/hwe-scripts/connect-uoc.7z | Скачать инструкцию по работе с программой.]] Поддерживается м/с с объемом ROM до 192K. По умолчанию установлен 64K (таких подавляющее большинство). Для чтения 128K его нужно установить вручную. Если м/с неисправна (один из выводов поврежден статикой), то иногда все же удается ее прочитать, подтягивая этот вывод резистором 50…500 ом к 5V. Для таких экспериментов предусмотрено снятие галки "Выполнять проверку соединения". Если определенные байты сигнатуры в прошивке и болванке не совпадают, то программатор по умолчанию заблокирует запись и выведет при этом сообщение о несовместимости сигнатур. Если возможна запись этих ячеек "поверх", то программатор сделает все сам и не будет выводить это сообщение. Но преобразование прошивки все равно может потребоваться при какой-нибудь еще смене типа болванки. Например, прошивки 9352 и 9554 сразу ложатся в болванку 9365, так же как 9384 и 9353 - в болванку 9363. Однако, например, перенести прошивку 9554 в болванку 9352 или 9381/9351 в болванку 9353/9363 в общем случае нельзя: может потребоваться патч сигнатуры. В то же время, если "забить" на телетекст, то можно записать, например, прошивку 9351 в 9381 без переделок, но потребуется снять галку "Проверить и записать сигнатуру", при этом иногда может появиться сообщение об ошибке в секции PK (0x60000), на которую в данном случае не нужно обращать внимания. Предусмотрена процедура патча прошивки при помощи соответствующего скрипта. Преобразованную прошивку можно записывать в любую подходящую по [[ru:stati:alluoc:uoc|техническим условиям]] болванку, сняв галку проверки сигнатуры. Подробнее читаем {{:ru:stati:alluoc:uoc_patch..pdf|здесь}}. Кажется, там есть ответы на все возможные вопросы.Можно было бы, конечно, сделать все гораздо более совершенным. Но лень. Кому надо - разберутся. Большая часть информации о работе UOC взята на сайте разработчиков: [[http://www.anyram.net/anyram_ru/index.php]] Для любителей экспериментировать: можно изменять схему сколько угодно. Например, добавить цепи автоподачи напряжения программирования. Однако __не следует исключать резисторы и конденсаторы между выводами м/с и LPT-порта__. Иначе возможны повторяющиеся ошибки по одним и тем же адресам, которые могут не проявиться при проверке. Длина проводников, соединяющих разъем LPT на плате адаптера и выводы микросхем, не должна превышать 100...150 мм. Выводы GND и XTALIN - по возможности короче. Как всегда в подобных устройствах, __обязательно устанавливать конденсаторы в цепях питания логических микросхем как можно ближе к их корпусам__.