Програматор Willem Prog
Необхідність мати програматор кожному фахівцеві так чи інакше пов'язаному з електронікою доводити, я думаю, не потрібно, зараз рідкісний пристрій обходиться без застосування мікросхем програмованої пам'яті та мікроконтролерів. Ринок пропонує найширший вибір програматорів, що відрізняються за призначенням, ступенем складності, ціною, принципами побудови схеми тощо, в тому числі й українського виробництва. Крім того, існує і розвивається велика кількість відкритих проектів доступних в Інтернеті. І при цьому всі запевняють, що саме їхній програматор вартий уваги. Ось тут починається найболючіше для кожної людини небайдужої до техніки - проблема вибору найбільш відповідного для конкретних потреб програматора або конструкції для самостійного повторення.
Якщо говорити лише про універсальних програматорів, то навіть на українському ринку можна знайти кілька цілком пристойних і доступних за ціною: Triton, Майстер, Uniprog, Autoprog, немає сенсу перераховувати все – надто довго. Бентежить лише те, що завжди знайдеться мікросхема, яку не підтримують ці програматори. Крім того, задоволення від самостійного складання конструкції багато чого варте і особисто для мене переважує все інше.
Проектів програматорів для повторення та самостійного складання в Інтернеті також можна знайти чимало, хотілося б коротко сказати про ті, з якими доводилося працювати. Насамперед, це, звісно, патріарх "програматоробудування" - Турбо фірми "Бінар". Неможливо підрахувати, скільки людей повторили його схему, цифра, напевно, буде з багатьма нулями. У мене теж лежить програматор Турбо однієї з перших версій, придбаний вісім років тому. І він досі працює. На рис.1 показано одне із варіантів цієї конструкції від Олексія Бєлянського.

Рис.1 Програматор "Turbo"
На жаль, в останній доступній версії програмного забезпечення Turbo-v6 немає підтримки сучасних мікросхем, у тому числі FWH.


Рис.2b Програматор "BiDiPro" (вид знизу, з боку деталей)
Більш детально про цей проект і Турбо можна ознайомитись на сайтах Ігоря Попова (http://www.geocities.com/pop_eco/) та на сайті фірми Бінар.
Не варто забувати і Hot Swap. Багато хто користується цим способом досі. Смикати МС bioc'а на ходу не варто, краще виготовити давно відоме пристосування з двох панелек, а оскільки всі необхідні сигнали є на ISA шині, ці панельки можна змонтувати на старій ISA карті, обрізавши її розведення. Сигнал CE, що перемикається для вибору активної мікросхеми, береться з панельки bios на материнській платі. Такий пристрій у комплекті зі старенькою матплатою під socket 7 або slot 1 майже нічого не вартий і дозволяє працювати з відносним комфортом. За допомогою утиліт Amiflash та Uniflash (http://www.uniflash.org) можна писати практично всі існуючі Flash мікросхеми. Для FWH принцип той самий, тільки перемикається сигнал IDO. Ніщо не заважає користуватися цим же способом при записі послідовних МС та PIC, але немає відповідної програми, на жаль, ніхто не хоче її писати.

А далі знову пошук відповідної конструкції (Цим змушені займатися всі любителі конструювання не спроможні, як і я, освоїти хоча б одну мову програмування і не здатні написати програму для власної схеми). Взагалі-то принцип побудови програматорів заснований на використанні LPT (або COM) портів для управління схемою та основного процесора PC як керуючого процесора програматора середпрофесіоналів вважається безнадійно застарілим, він накладає жорсткі обмеження на швидкість роботи та функціональні можливості пристрою. Сучасні програматори, ті ж Triton або Майстер, мають вбудований процесор зі своєю програмою і дуже складну схему управління вузлами, побудовану на універсальних логічних драйверах, але цей шлях доступний тільки професійним колективам, а серед любителів радіоелектроніки, як і раніше, популярне програмування через LPT, тому я вибрав найпростіший і розкручений проект - Willem Prog. Насмикнув з Інтернету все, що зміг знайти за темою, кількість варіантів та версій виявилася вражаючою:
- pcb3; pcb4; pcb4,5 (http://willem.org/)
- pcb3b (http://www.se-ed.net/eprom/)
- pcb3.1 (http://msevm.com)
- pcb3.5; pcb4.0c; pcb4.5c (http://www.sivava.com)
- EzoFlash+ (http://www.ezoflash.com/).
Остання модифікація Willem'а мені особливо імпонує – жодних перемикачів, жодних сокетів, залишено лише те, без чого не обійтись. Власне вийшов базовий блок програматора з дворядним роз'ємом для адаптера, всі необхідні з'єднання та напруги Vcc та Vpp формуються на самому адаптері. На рідкість раціональний підхід до розв'язання задачі, тим більше, що зазвичай доводиться мати справу з двома-трьома типами мікросхем і ускладнювати конструкцію понад необхідне ні до чого.
Але симпатії симпатіями, а купити в нашій глибинці всі потрібні компоненти неможливо, тому придбав набір для складання Willem ATH 3,1 special, що пропонується на сайті e-KIT (http://e-kit.su). Того ж дня, як отримав посилку, сів і змонтував плату, прогнав Test H/W, усунув кілька дефектів на печатці і програматор заробив (попри одну невстановлену перемичку, як потім виявилося). На фото 4 -те, що в мене вийшло.

Програматор "Willem"
Картинка, природно та сама, що і на сайті e-KIT, але відмінності є. Вільний 4-й контакт додаткового джампера я пристосував для запису i28F001BT (рис. 5), припаяючи до нього провід від Vpp і додав джампер перемикання pcb3,1/3,5.


Рис.5 Установка додаткового джампера Рис.6 Установка джамперів перемикання pcb3,1 pcb3,5
(Нумерація компонентів за схемою ATH 3,1 Special) Програматор складається з двох частин, які є повністю самостійними: послідовної секції та головної паралельної EPROM частини. Послідовна секція підтримує мікросхеми I2C серії: 24CXXX, 25Cxxx та 93Cxxx. PIC-контролери також підтримуються, вони можуть бути запрограмовані з шини IC2 і Vpp (ICSP) або в додаткових панельках, встановлених на платі. Ця секція - простий ланцюг, який йде від D0 (pin 2 LPT) на U1d(4049), потім Q6, Q5, U1e і до BUSY (pin 11 LPT). Цей ланцюг також використовується для контролю підключення програматора до порту.
Паралельна секція складається з кількох частин:
(Нумерація компонентів за схемою ATH 3,1 Special) Ця сторінка - про версії eprom programmer 4.0, 4.5, 3.1
PCB3B від Gitti Ieo дуже схожий, але є відмінності - секція регулятора напруги - повністю інша: 3.1, використовує 7805 і 7812 інтегральні стабілізатори, Vpp 21 і 25 можуть бути отримані додатковими стабілітронами на корпусному виведенні 7812, Pcb3b напруги.
Конфігурація джемперів також відмінна.
Після закінчення монтажу програматора зробіть повний візуальний огляд. Це дуже важливо для виявлення проблем, спричинених поганою пайкою та дефектами друкованої плати,(Неминучими при "прасно - лазерної" технології, особливо pcb3b, де щільність монтажу набагато вища). Використовуйте сильне джерело світла та лупу. Перевірте правильність встановлення компонентів, особливо мікросхем. У сумнівних випадках звіряйтеся з принциповою схемою, не можна довіряти лише монтажці. Це найважливіший пункт.
ПРАВИЛЬНО ЗІБРАНИЙ ПРОГРАМАТОР ПРАЦЮЄ ВІДРАЗУ І НАЛАДКИ НЕ ВИМАГАЄ. ПЕРЕВІРЕНО.
2.Перевірка стабілізаторів напруги та ланцюгів живлення.
При першому включенні підключіть джерело живлення 14-30в через резистор 150-300, це допоможе уникнути неприємностей пов'язаних з короткими замиканнями і неправильно вставленими мікросхемами.DIP4 - все on, DIP12 - все off. Повинен спалахнути зелений світлодіод (принаймні, у мене він зелений). Інакше шукайте кз та урвища. Перевірте 12,7 на виході 7812 , якщо встановлені стабілітрони, можна перевірити 21в і 25в перемикаючи DIP свіч. Напруга має відрізнятися трохи більше 5% . Якщо Vpp занадто мало, 20.5, наприклад, Ви можете підключити послідовно зі стабілітроном діод 1n4148 в прямому напрямку або використовувати стабілітрон іншого номіналу. Перевірте напругу на виході 7805 і всіх ІС pin - 16. (4049 pin). Якщо на виході 7805 не 5, а нуль і вона гріється, то в ланцюгах живлення кз, якщо напруга нижче, ніж 5 в і нагрівання, це найбільш ймовірно чіп, встановлений навпаки, цей чіп також стане теплим.
З 4.0 та 4.5 версіями це трохи відрізняється: v4.0 використовує 2 LM317's, які встановлені з кількома резисторами та DIPswitch. v4.5 використовує 7812 12.6 і LM317 з резисторами.
Підключіть програматор до PC, увімкніть джерело живлення та завантажте OS.
(У мене використовуються: Acorp 6BX86, PII350, 64Mb RAM, LPT-EPP+ECP, Блок живлення 15внестабілізований вилковий. Windows 98SE2. Epr097ja)
Запустіть EpromM51.exe, якщо програматор не виявлений (меню Help\Test Hardware - у рядку стану має з'явитися повідомлення Hardware present) перевірте електроживлення та кабель. Можна поекспериментувати із налаштуваннями bios, але це навряд чи допоможе.
Якщо ви впевнені в справності зовнішніх ланцюгів (LPT, кабель, блок живлення), переходьте на закладку H/W test і перевірте "серіал (D0 pin 2)", повинна стати '1', інакше є проблема зі зв'язком з PC. Перевірте проходження сигналу (3-5в або 0) по ланцюжку від LPT pin 2 - 4049 pin 9 - 4049 pin 10 (інверсія) - Q6 (інверсія - Q5 (інверсія) - 4049 pin 11 - 4049 pin 12 (Знову інверсія) - LPT pin 11.
Якщо зміна сигналу проходить, має бути зв'язок та проблема на вашому PC.
Якщо програма визначає наявність програматора, Ви можете продовжити випробування.
Важливо зрозуміти, що контроль підключення програматора не говорить нічого про паралельну eprom секції, контроль Апаратних засобів використовує послідовний контур пристрою.
Встановіть DIP12 у положення, показані у вікні H/W Test програми. По черзі ставте "пташки" на всіх висновках ZIF32 і перевіряйте напругу вольтметром, на Vcc, A0-A17, D0-D7, WE має бути 5в (на А9 3-4в через діодну розв'язку). Для виявлення можливих замикань перевіряйте контакти ZIF поруч із тим, що стоїть у "1", там мають бути "0". Наприклад: Ви перевіряєте A5, A4 і A6 повинні залишитися в "0".
Особисто я мав два замикання на платі через погане травлення і одне через краплю припою, одну неправильно встановлену перемичку. Іноді проходить збій через недбало виготовлений адаптер PLCC32 і простий переустановкою в ZIF, що усувається.
v. 0,97g - за відгуками найстабільніша з усіх.
v. 0,98D5 – не пробував, за відгуками працює дуже нестабільно.
Після всіх експериментів друкована плата мого ATH 3,1s прийшла в плачевний стан, планую зібрати собі новий програматор. За основу взяв схему та розведення pcb3b, додав резистори, рекомендовані розробниками ПЗ та джампери перемикання pcb3b/pcb3,5. перетворювач на МС 34063 викинув і повернув 7812 (ні до чого ускладнювати схему для задоволення використовувати живлення від USB).
Підправив друковану плату під зроблені зміни. Жодних сюрпризів від такого варіанту чекати не доводиться - всі вузли не нові і багато разів перевірені. Що вийшло, дивіться у додатках.