Безкоштовна технічна бібліотека ЕНЦИКЛОПЕДІЯ РАДІОЕЛЕКТРОНІКИ ТА ЕЛЕКТРОТЕХНІКИ Паралельний програматор для АТ89 Енциклопедія радіоелектроніки та електротехніки Енциклопедія радіоелектроніки та електротехніки / Мікроконтролери Широкими можливостями при порівняльній дешевизні увагу радіоаматорів привертають MSC-51-сумісні мікроконтролери фірми Atmel серії АТ89С з паралельним програмним інтерфейсом. На жаль, багато розповсюджених сьогодні програматорів для них непридатні. Потрібен спеціалізований. Автору запропонованої статті вдалося виготовити таку за рекомендаціями фірми Atmel, але на елементній базі, що випускається підприємствами СНД. Основна проблема при розробці саморобного програматора - знати і точно дотримуватися алгоритмів програмування мікроконтролерів. Багатьох несподіванок вдається уникнути, скориставшись схемами та програмним забезпеченням, що публікуються фірмами-розробниками мікросхем. Для завантаження програмних кодів мікроконтролери АТ89С51, АТ89С52, АТ89С1051, АТ89С2051, AT89S8252 фірма Atmel рекомендує пристрій, описаний в [1]. Його відносна складність (сім цифрових та дві аналогові мікросхеми) та скромне програмне забезпечення, що працює під DOS, з лишком окупаються надійністю програмування з дотриманням усіх фірмових алгоритмів. На рис. 1 наведена схема програматора, що відрізняється від "фірмового" в основному елементною базою. Запис у регістри DD2-DD5 інформації, що надходить від комп'ютера по лініях DATA1 DATA8, відбувається за спадами імпульсів негативної полярності на входах С, що надходять від дешифратора DD1 У регістрі DD3 і частини регістра DD4 зберігають 13-розрядну адресу осередку внутрішньої пам'яті мікроконтролер байт даних, призначених для запису в цей осередок, в DD5 і вільних від адреси розрядах DD2 - коди управління. Ланцюг R4C13 при включенні живлення наводить регістр DD1 у вихідний стан, запобігаючи випадковому спотворенню вмісту пам'яті програмованого мікроконтролера. Шинний формувач DD6 служить передачі даних з виходів мікроконтролера лінії DATA1-DATA8. Виходи мікросхеми DD6 не повинні бути активними, коли LPT-порт працює на висновок. Це враховано в програмі, що формує роздільні сигнали на входах мікросхем, що управляють. Резистори R1-R12 зменшують "дзвін", що супроводжує перепади сигналів на лініях LPT-порту та захищають його від перевантажень. Коли виходи елементів комп'ютера, підключені до ліній порту, і виходи деяких елементів програматора, зокрема найпрограмованішої мікросхеми, перебувають у високоімпедансному стані резистори наборів DR1-DR3 підтримують у відповідних ланцюгах високий логічний рівень. Програмовані мікросхеми встановлюють одну з двох панелей: АТ89С1051, АТ89С2051, АТ89С4051 у корпусі DIP-20 - в XS1; АТ89С51 та інші в корпусі DIP-40 – в XS2. Кварцовий резонатор ZQ1 частотою 6 МГц з конденсаторами С4 і С5 необхідний, щоб під час програмування працював тактовий внутрішній генератор мікроконтролера, встановленого в панель XS2. Тим, які встановлюють в панель XS1, не потрібно резонатор. На контакт 5 цієї панелі надходять тактові імпульси, сформовані програмно. Напруга живлення на роз'єм Х1 програматора подають від зовнішнього джерела. Їм може бути, наприклад, мережний адаптер відеоприставки SEGA Mega Drive-M. Хоча при номінальному навантаженні (1 А) його вихідна напруга вбирається у 11В, при струмі 70...90 мА, споживаному програматором, воно зростає до 14...15 У. Напруга 5 для живлення мікросхем (у тому числі програмованої) отримують за допомогою інтегрального стабілізатора DA1. Напруга на виході стабілізатора DA2 при низькому логічному рівні на виведенні 18 шинного формувача DD7 - 12 В. Точне значення встановлюють підстроювальним резистором R21. При високому логічному рівні на виведенні 18 транзистор VT2, що відкрився, підключає паралельно R21 ще один підстроювальний резистор R19, що зменшує вихідну напругу стабілізатора DA2 до 5 В. Швидкість наростання напруги на виході стабілізатора після зміни високого рівня на виведенні 18 DD7 низьким залежить від ємне та конденсатора С14 При занадто великій його ємності та високій швидкості роботи комп'ютера, що управляє, кілька молодших осередків FLASH-пам'яті мікроконтролера можуть виявитися запрограмованими з помилками. Вихідна напруга стабілізатора DA2 надходить на висновок 31 (EA/VPP) панелі XS2 безпосередньо, а на виведення 1 панелі XS1 (RST/VPP) через ключ на транзисторі VT1. При напрузі 12В ключ відкритий незалежно від логічного рівня на виведенні 16 регістра DD2, а при 5 - тільки у випадку, якщо цей рівень низький. Знижена яскравість світіння світлодіода HL2 свідчить про напругу 5 на виході DA2 і про те, що програмована мікросхема знаходиться в режимі зчитування кодів з її пам'яті. У режимі стирання та запису пам'ять напруга зростає до 12 В, яскравість світлодіода помітно збільшується. Це справедливо для всіх мікроконтролерів, крім тих, яким напруга 12 В не потрібна. При програмуванні двадцятививідних мікроконтролерів буде включено і світлодіод HL1. Вилку Х2 програматора з'єднують із розеткою LPT-порту IBM-сумісного комп'ютера кабелем довжиною до 2 м. У комп'ютері має бути включений розширений режим роботи LPT-порту (ЕСР/ЕРР). У сучасних системних блоках він діє за умовчанням. Якщо це не так, режим порту можна змінити, запустивши при початковому завантаженні комп'ютера програму BIOS SETUP (пункти меню "Integrated Peripherals" - "Parallel Port Mode"). ДЕТАЛІ ТА КОНСТРУКЦІЯ Програматор зібраний на двосторонній платі розмірами 140x140 мм. Стабілізатор DA1 встановлюють тепловідведення площею не менше 20 см2. Можна зібрати програматор на макетній платі навісним монтажем. Зверніть увагу, що конденсатори С4, С5 і кварцовий резонатор ZQ1 повинні бути розташовані якомога ближче до контактів 18, 19 панелі XS2. Вільні входи мікросхем DD1 (висновки 13-15), DD2 (висновок 8) і DD7 (висновки 15, 17) необхідно з'єднати з загальним висновком або виведенням живлення. Це підвищить завадостійкість приладу. Усі цифрові мікросхеми можна замінювати їх функціональними аналогами серій К555, КР1533 або імпортними, скориставшись, наприклад, рекомендаціями [2]. Транзистори VT1, VT2 - будь-які малопотужні відповідні структури, бажано з мінімальним падінням напруги на ділянці колектор-емітер відкритого транзистора. Підстроювальні резистори R19, R21 - СПЗ-19А. Набори резисторів DR1-DR3-НР1-4-9М можуть бути замінені на НР1-4-8М, на закордонні серії 9А або на відповідне число звичайних малогабаритних резисторів, зазначених на схемі номіналів. Резистори R1-R12 можна розмістити всередині корпусу вилки Х2. Панелі XS1 і XS2 повинні витримувати багаторазове встановлення та вилучення мікросхем. Найкраще застосувати ZIF-панелі (з нульовим зусиллям установки), призначені для мікросхем з відстанню між рядами контактів 7,5 мм (XS1) та 15 мм (XS2). Підходять і універсальні панелі, що допускають встановлення як "вузьких", так і "широких" мікросхем. Враховуючи, що ZIF-панелі в кілька разів дорожчі за решту деталей програматора, разом узятих, на платі передбачені контактні майданчики для встановлення звичайних, бажано з цанговими контактами. Застосовувати найдешевші панелі із плоскими контактами небажано. Після численних замін мікросхеми такі контакти втрачають надійність. Налагодження Перше включення програматора здійснюють, не з'єднуючи його з комп'ютером і без програмованої мікросхеми. Насамперед, перевіряють наявність напруги 13,5... 15,5 на вході і 5±0,1 на виході стабілізаторів DA1, DA2. В останньому випадку потрібне значення встановлюють підстроювальним резистором R19. При з'єднанні між собою висновків 1 і 10 мікросхеми DD6 напруга на її висновках 3, 5, 7, 9, 12, 14, 16, 18 має зменшуватися з 5 до 3...4 В. Якщо це не так, є помилки в монтажі або мікросхема DD6 несправна. Для подальшої перевірки з'єднують програматор із комп'ютером. Сигнали на лініях LPT-порту при роботі програматора виглядають на екрані осцилографа досить хаотично, судити за їхньою формою про справність пристрою складно. Рекомендується запустити тестову програму atmeltst.exe. У відповідь на запит на екрані введіть номер LPT-порту, до якого підключений програматор (1 або 2), після чого екран монітора набуде вигляду, показаного на рис. 2. Програма надає доступ до будь-якого з чотирьох регістрів DD2-DD5, дозволяючи записувати у них будь-які восьмирозрядні двійкові коди. Послідовність дій, що рекомендується, підкаже текст у нижній частині екрана. Наприклад, для перевірки проходження кодів керування слід вибрати на екрані рядок "Тест сигналів F3, С0-С2" та перевірити за допомогою осцилографа чи вольтметра логічні рівні на виходах мікросхеми DD2. Усі вони мають бути низькими та змінюватись високими при натисканні відповідних клавіш F1-F8. Маніпулюючи станом розрядів, перевіряють проходження сигналів по ланцюгах програматора відповідно до його схеми. Наприклад, низькому рівню на виведенні 19 DD2 (старший розряд регістру) повинні відповідати високий рівень на виведенні 18 DD7 і напруга 5 на виході стабілізатора DA2. Після натискання клавіші F8 напруга повинна збільшитись до 12 В і одночасно зрости яскравість свічення світлодіода HL2. Після повторного натискання клавіші F8 напруга та яскравість повинні повернутися до попередніх значень. Аналогічно перевіряють інші регістри і з'єднані з їх виходами ланцюга. ПРОГРАМУВАННЯ Пакет програм обслуговування програматора фірми Atmel, що безкоштовно розповсюджується, можна знайти на її сайті за адресою Вхідні пакет програми придатні для управління як "фірмовим", так і пропонованим програматорами. Однак краще скористатися русифікованою програмою at89.exe. З її допомогою можна програмувати всі мікроконтролери серії АТ89 з паралельним інтерфейсом, зокрема АТ89С4051, АТ89С55, AT89S51, AT89S52, AT89S53, "не охоплені" фірмовим пакетом. Програма автоматично визначає тип встановленого в одну з панелей мікроконтролера, аналізуючи для цього його сигнатуру - два або три байти, спеціально записані в постійній пам'яті. Перелік сигнатур мікроконтролерів сімейства АТ89 наведено у таблиці. Якщо всі байти сигнатури дорівнюють 0FFH, відсутній в панелі або несправний мікроконтролер, а можливо - не ввімкнено живлення програматора. Алгоритм програмування та перелік клавіш, за допомогою яких керують процесом, залишені без зміни. Операційне середовище, що рекомендується - MS DOS. Користувачам Windows слід запускати програму, попередньо перезавантаживши комп'ютер у режимі MS DOS або встановити такий режим у властивостях файлу. Інакше програмування мікросхем доведеться повторювати по три-чотири рази поспіль, доки не припиняться повідомлення про помилки верифікації. Весь процес програмування займає не більше однієї-двох хвилин, а завантаження FLASH-пам'яті - максимум 10... 15 с. Команди, список яких виведений екран монітора, подають, натискаючи клавіші з літерами латинського алфавіту. Регістр (верхній чи нижній) не має значення. Ім'я двійкового файлу, дані з якого мають бути завантажені в пам'ять мікроконтролера, вводять після подачі команди "Читання файлу". Вміст цієї пам'яті можна попередньо прочитати та зберегти в аналогічному файлі (команда "Запис до файлу"). При звірці вмісту пам'яті з даними з файлу (команда "Звірка з файлом") можлива поява на екрані повідомлень, подібних до такого: У комірці FLASH 039А = FF?! 6В Це означає, що в клітинці FLASH-пам'яті (пам'яті програм) мікроконтролера за адресою 39АН записаний код 0FFH замість 6ВН, вказаного у файлі. ЗАМІНА СТАБІЛІЗАТОРА DA2 При живленні від малопотужного мережевого адаптера і зниженій напрузі на програматор може надходити всього 12...13 В. Для стабілізатора DA1 така ситуація сприятлива (на ньому розсіюється менша потужність). А ось стабілізатор DA2 може вийти з робочого режиму, в результаті чого напруга, що подається на програмований мікроконтролер, впаде нижче за допустимі 11,5 В. Досвід показує, що мікросхеми фірми Atmel успішно програмуються і при 10,5 В. Однак гарантувати цього не можна. Якщо застосувати в стабілізаторі мікросхему КР1184ЕН2 або її прототип LP2951CL фірми National Semiconductor (є на багатьох материнських платах комп'ютерів), можна досягти надійної роботи програматора при зменшенні напруги живлення до 11,8 В. Стабілізатор збирають за схемою, зображеною на рис. 3, і підключають до показаних на рис. 1 точках А, Б та В. Мікросхема DA2, транзистор VT2, резистори R18-R21 і конденсатор С14 з програматора повинні бути виключені. Діод VD1 (див. рис. 3) при високому логічному рівні в точці А закритий, і вихідна напруга 5±0,03 задає прецизійний дільник напруги, що знаходиться всередині мікросхеми DA1. При низькому рівні в точці Діод відкритий, резистори R1 і R2 шунтують одне з плечей внутрішнього дільника. Вихідна напруга зростає до 12 В (його регулюють підстроювальним резистором R2). Конденсатор С1 пригнічує викиди напруги під час перехідних процесів. Його ємність (аналогічно конденсатору С14 на рис. 1) має бути занадто великий. Мікросхема КР1184ЕН2 має внутрішній детектор зниження вихідної напруги, який спрацьовує при зменшенні більш ніж на 5% від встановленого значення. В результаті відкривається транзистор VT1 і вмикається світлодіод HL1. Навантажувальна здатність виходу невелика, тому номінал резистора R4 не можна зменшувати. Якщо мікросхему КР1184ЕН2 (LP2951CL) придбати не вдалося, стабілізатор на мікросхемі DA2 (див. рис. 1) можна замінити вузлом, схема якого показана на рис. 4. Мінімальне падіння напруги на ньому складе 0,15...0,2 при струмі навантаження 20 мА. Колекторний струм транзистора VT4 при зазначеному на схемі номіналі резистора R5 не може перевищити 50 мА, що дозволяє не встановлювати цей транзистор тепловідведення. При низькому логічному рівні в точці А транзистор VT1 відкритий і вихідна напруга стабілізатора - 12 (регулюють підстроювальним резистором R1). При високому рівні та закритому транзисторі воно зменшиться до 5 В. Резистори R7 та R8 повинні мати граничне відхилення від номіналу не більше 1 % або бути підібрані з такою точністю. Мікросхему КР142ЕН19 можна замінити на імпортний аналог TL431CLP. Програми та креслення друкованої плати програматора література
Автор: С.Рюмік, м.Чернігів, Україна Дивіться інші статті розділу Мікроконтролери. Читайте та пишіть корисні коментарі до цієї статті. Останні новини науки та техніки, новинки електроніки: Запрацювала найвища у світі астрономічна обсерваторія
04.05.2024 Управління об'єктами за допомогою повітряних потоків
04.05.2024 Породисті собаки хворіють не частіше, ніж безпородні
03.05.2024
Інші цікаві новини: ▪ Лазерний проектор Epson Pro L30000UNL ▪ Світло згасло - повітря стало чистіше Стрічка новин науки та техніки, новинок електроніки
Цікаві матеріали Безкоштовної технічної бібліотеки: ▪ розділ сайту Параметри, аналоги, маркування радіодеталей. Добірка статей ▪ стаття Йоганн Гауг. Знамениті афоризми ▪ стаття Що стало причиною смерті аферистки, яка називала себе княжною Таракановою? Детальна відповідь ▪ стаття Роздільне мастило двотактного двигуна. Особистий транспорт ▪ стаття Удосконалення попереднього дільника частоти. Енциклопедія радіоелектроніки та електротехніки
Залишіть свій коментар до цієї статті: All languages of this page Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт www.diagram.com.ua |