Готовият програматор


Комбиниран програматор за микроконтролери и памети

          Всички хора имат мечти, но обзалагам се, че в мечтите на хората занимаващи се с електроника има нещо общо. Всички те рано или късно се сблъскват с устройства с памет, които за да проработят все пак трябва да се програмират. Тъй като всеки нов проект е свързан с използването на нови интегрални схеми изискващи специфичен начин на програмиране, преди дори да е започнат проекта се налага изработването или закупуването на програматор.
           Доста реномирани (и не чак толкова реномирани) производители предлагат универсални и наистина добри програматори, но за съжаление, за повечето любители и по-малки фирми те си остават само една далечна переспектива. И така на повечето хора им се налага да правят програматор след програматор и да си мечтаят за универсално средство, което да решава проблемите им свързани с програмирането на EPROM-и, FLASH-ове, Е2PROM-и, микроконтролери ...
          Тук ще ви предложим един комбиниран програматор за микроконтролери и памети. Списъкът на интегралните схеми, които той може да програмира е достатъчно голям за да си спестим изброяването му, като ще споменем само, че с него могат да се програмират почти всички микроконтролери на Microchip (Pic12, Pic16), Atmel (AVR, AT89), SPI EEPROM-и (25xxx), 16- и 8-битови I2C EEPROM-и (24xxx, AT17xxx), 16- и 8-битови MicroWire EEPROM-и (93xxx) и някои други по специфични памети.
          Основното предимство на този програматор пред други типове е в това, че той се състои от една основна платка, към която се свързват различни приставки в зависимост от типа на микроконтролера, който ще бъде програмиран. Благодарение на точно тази особеност, програматорът може да бъде наречен универсален, тъй като всеки път когато ви се налага да използвате нов тип микроконтролер, вместо да закупувате нов програматор, можете просто да си подготвите необходимата приставка и да я свържете към вече съществуващата основна платка на програматора.
           За надеждността му ще кажем само, че той е използван за всички микроконтролери, програмирани в редакцията на списание "Млад конструктор" и нито веднъж не е възникнал проблем с програмирането на кой да е от използваните микроконтролери. Същевременно от момента на публикуването на настоящата статия, много наши читатели направиха свои допълнителни приставки, което още веднъж доказа универсалността на тази схема.
          Ако вече сте закупували готови програматори и впоследствие се е оказвало, че програматорът работи с PIC16F84, но необяснимо защо отказва при PIC16F84А, ако работи на един компютър и категорично отказва да програмира при друг, можете да бъдете сигурни, че тази схема няма да ви поднесе подобни изненади. Използваме я вече в продължение на три години и без страх можем да я препоръчаме на всеки, който държи да има надежден и качествен програматор. Колкото до цената и сами ще се убедите, че тя не е висока. Програматорът е достатъчно опростен и без екзотични интегрални схеми, което го прави не само евтин, но и сравнително лесен за изпълнение. Състои се от основна платка, която изработва всички необходими сигнали със съответните нива за програмиране, като ги извежда на два идентични куплунга (изпълнени с обикновени щифтови рейки). Върху тези куплунзи се поставят приставките със съответния цокъл за конкретната интегрална схема.
          За тези от вас, които все пак не са успели да "съживят" схемата, в края на тази статия сме посочили и най-често допусканите грешки при изработката на програматора и работата с него. Нека тези допълнителни напътствия да не обидят никого от вас. Те са резултат от реални случаи, при които сме помогнали на наши читатели да открият и отстранят причината за възникнали проблеми.
          Ако нямате опит или просто предпочитате да закупите готов програматор, можете да направите това чрез нашия електронен магазин, като използвате бутоните в горната част на тази страница.
.

Схемата

           Програматорът се свързва към серийния порт на компютъра, като предимствата на това свързване са, че кабела за връзка е само 5-жилен и посредством буферите за серийната връзка сме защитени от повреда на комютъра при къси съединения, подаване на по-високи напрежения и други подобни, които можем да си причиним по невнимание. Както ще забележите, отново използваме интегрална схема MAX232 за съгласуване на нивата на серийния порт и 5V-овия интерфейс на схемите, които ще програмираме. Предимството и е, че се захранва само с 5V и изработва необходимите нива от +/- 15V за серийната връзка, използвайки стандарта RS232C.
          Схемата разполага с 4 преобразуващи инвертора, като съответно 2 от тях (R1 и R2) са входове спрямо серийния канал и преобразуват +/- нивата му в 5V-ови, като същевремено ги инвертират. Например ако на входа R1 IN подадем – 15V, то на съответния му изход R1 OUT ще получим + 5V. Другите два (Т1, Т2) са изходи спрямо серийния канал, които по същия начин преобразуват и инвертират 5V-овите нива, подавани на входовете им (T1 IN или T2 IN) в +/- 15V-ови.
          Използваме още една допълнителна CMOS интегрална схема 40106, състояща се от шест инвертора с тригер на Шмидт на входа. Тези инвертори не преобразуват нива, а само инвертират сигналите, подавани на входовете им. Използваме ги за да “обърнем” още веднъж 5V-овите нива. Това инвертиране може да бъде извършено и от софтуера за PC, но тъй като така или иначе се налага да използваме два инвертора (ИС 3.4 и ИС 3.5) за да получим сигналите RSTCS25 и CS93XXX, по-добре е да използваме 3 от оставащите 4 инвертора на 40106 за хардуерно инвертиране.
          Програматорът се захранва с +1720V постоянно напрежение, от куплунга J1. За тези от вас, които предпочитат директното захранване от COM-порта на компютъра ще кажем само две неща - първо, това е основната причина за евентуални повреди по дъннната платка на компютъра и второ - не се учудвайте ако при този начин на захранване, вашата схема работи при някои компютри и отказва при други.
          Непосредствено след ключа K1 служещ за включване и изключване, са свързани два параметрични стабилизатора ИС 1 и ИС 2, съответно за 12V и 5V. Между извод 2 на ИС 1 и маса е свързан светодиод, който индицира включено състояние и същевременно падът от приблизително 1.2V върху него, “повдига” напрежението на изхода на стабилизатора IC 1 (спрямо маса) до около 13.2V. Това напрежение се използва за изработване на 12V програмиращо напрежение Vpp.
          Последователно на ИС 1 е свързан и стабилизаторът ИС 2 за изработване на захранващо напрежение Vcc=5V.
         Кондензаторите C1, C2 и C3 служат за филтрация на входните и изходните напрежения, като същевременно предпазват стабилизаторите от самовъзбуждане.
          Както забелязвате от 3-то краче на серийния куплунг започва една по-сложна верига, която изработва два сигнала и едно програмиращо напрежение. Ценеровият диод D5 за 4.7V и резистора R8 служат за съгласуване на нивата от +/- 15V, идващи от комуникационния порт на компютъра. При +15V напрежението на входа на ИС 3.5 e 4.7V, а при –15V, ценеровият диод работи като обикновен диод и предпазва CMOS схемата от изгаряне.           Транзисторът Т1 служи за инветирано управление на T2. Резисторът R5 задава управляващия му ток, а R1 осигурява надеждно запушване и отпушване, като предпазва прехода база-емитер от пренапрежение.
          Транзисторът Т2 служи за комутиране на напрежението от 13.2V, което през диода D6 се подава като Vpp към куплунзите с изходни сигнали (J2 и J3). При отпушен Т2 падът между емитера и колектора е приблизително 0.6 V, и отчитайки и пада върху диода D6, който също е 0.6 V получаваме 12V за Vpp.
          Светодиодът D2 и резисторът R6 осигуряват индициране на активно ниво на сигнала RSTCS25, което както при повечето интегрални схеми е прието за “0”.
          При серийно програмиране се използват основно два вида шини:
            1. Трипроводна - двупосочна линия за сигнали (DATA I2C), тактова линия (CLK) и маса. Пример за това е интерфейса I2C
            2. Четирипроводна – две еднопосочни линии за приемане и предаване (DATA I2C - вход от страна на програматора и DATA SPI - изход от страна на програматора) и маса. Пример за това е интерфейса SPI.
          Ключето К2 служи за обединяване на входа и изхода в шина от тип I2C или разделянето на тези две шини за формиране на шина от тип SPI. На практика положението на това ключе се определя от типа на микроконтролера, който ще програмираме - I2C - при PIC-микроконтролер и SPI - при ATMEL (АVR)- микроконтролер.
          Светодиодите D2 и D3 са за индикация на това в какво състояние е превключвателя К2 и съответно с какъв тип шина работим. (Ако желаете, можете вместо два отделни светодиода, да използвате един двуцветен (триизводен) така, както сме направили ние в програматора на снимката по-горе. При този вариант, на лицевия панел на програматора ще има само един светодиод за режим, който ще свети в различен цвят в зависимост от избраното положение на К2.)

Използвани елементи за основната платка на програматора:

Интегрални схеми: ИС1 - 78L12, ИС2 - 78L05, ИС3 - 40106, ИС4 - MAX 232
Транзистори и диоди: Т1 - ВС 547, Т2 - ВС557, D1D4 - светодиоди,
D5 - ценеров 4.7 V, D6 - 1N4148
Резистори и кондензатори
: R1 - 1 к, R2 - 10 к, R3 - 3.3 к,
R4 - 120 , R5 - 1 к, R6 - 220 , R7 - 27 к, R8 - 4.7 к,
С1, С2, С3 - 100 nF, С4, С5, С6, С7 - 390 nF1 F (ако са електролитни трябва да се спази поляритета на свързване)
Рейки 8-pin, гнездови - 2 бр.

Печатен оригинал на основната платка - (18kB, PDF)
          Всички печатни платки, необходими за програматора и приставките (със зелен лак и бял печат) можете да поръчате от нашия електронен магазин (на обща стойност 4.40 лв), а ако желаете, можете да получите пълен комплект елементи за схемата на програматора + кутия и букса за сериен порт (цена 23.10 лв).

         Управляващ софтуер

  
          Като управляващ софтуер за компютъра може да се използва PonyProg или ICProg, които можете да изтеглите от раздела "Софтуер"на нашата интернет страница. Тук ще напомним, че PonyProg благодарение на нашия колега инж. Данаил Чанев, вече има и преведената на български версия, която ако желаете можете да изтеглите свободно от същия раздел. Програмата ICProg обаче, не му отстъпва по нищо и ако желаете да използвате нея, можете без проблем да се ориентирате в менютата, тъй като те са подобни на тези при PonyProg.
          За да бъде настоящото обяснение пълно, на фигурите по-долу сме показали настройките и при двете програми, а оставяме на вас да решите коя от тях да използвате при вашата работа.
          При PonyProg (фигурата вляво) , от меню Setup изберете Interface Setup. Изберете типа на връзката да бъде Serial и задайте съответния COM порт, на който смятате да свържете програматора. В раздела за инвертиране на сигналите всички позиции остават неселектирани ако програмирате AVR-микроконтролер и се селектира само Invert Dout, когато програмирате PIC-микроконтролер. След това трябва да изберете типа на устройството за програмиране от меню Device или от лентата за бърз достъп. За AVR микроконтролерите има възможност и за автоматично разпознаване на представител от дадена фамилия – AVR Auto. Това понякога е доста полезно, но все пак, ако знаете точно какъв е микроконтролера, изберете съответстващия му тип.
          Менютата File и Command се променят в зависимост от избрания тип устройство за програмиране.

          При ICProg (фигурата вдясно) тези настройки се задават като от менюто Settings се избере Hardware. При използване на тази програма не се инвертират нито входни нито изходни шини, независимо дали програмирате PIC или AVR-микроконтролер.

Настройки на програмата

 
Кратки напътствия за “съживяването” на програматора:


          1) Монтирайте всички мостчета по платката и проверете с уред дали не сте пропуснали нещо.
          2) Монтирайте стабилизатора ИС 1, кондензаторите C1 и C2, светодиода D1 и свържете ключа K1. Подайте захранване от +15V и проверете дали на изход 1 (Vout) на стабилизатора има 13.2V. Ако това не е изпълнено, проверете дали не сте поставили стабилизатора обратно, и дали захранването ви е в рамките 15-20 V.
          3) Монтирайте стабилизатора ИС 2 и кондензатора C3, подайте отново захранване и проверете дали то отива до всички крайни точки.
          4) Свържете куплунга за серийна връзка и си изгответе кабел за връзка със серийния порт на компютъра. Ако смятате да използвате кабела само за този програматор не е необходимо да поставяте куплунг за серийна връзка върху платката на програматора, а можете да запоите кабела директно върху нея. Желателно е дължината на кабела да не надхвърла 1.5 – 2 метра.
          5) Поставете ИС 4 и ИС 3, кондензаторите C4, C5, C6, C7 и свържете кабела със серийния порт на PC. Подайте захранване и проверете нивата и коректността на състояниято на сигналите върху изходите и входовете на двата чипа. Ако нивата са наред можете да подадете команда за четене от управляващия софтуер (PonyProg или ICPprog) и да проследите с осцилоскоп дали те се променят в съответствие с подаваните от компютъра сигнали. Ако нещо не е наред проверете дали всички стойности на елементите са такива, каквито са в схемата, дали не липсва връзка, или дали не сте направили грешка при свързването на кабела към порта.
          На практика кабелът представлява директна връзка на всички използвани краченца на куплунга за серийна връзка от страна на програматора, към съответстващите им по номера краченца на куплунга, който ще се куплира с този на PC.
          6) Налепете останалите компоненти, куплунзи, ЦК-ключето и проверете посредством софтуера дали на куплунзите излизат съответните сигнали в зависимост от типа на устройството, което е избрано за програмиране.
          7) Следващия етап е да си изработите и приставката за програмиране, и след като я проверите да я изпробвате с реален микроконтролер. Не забравяйте да изключвате захранването преди да извършвате каквито и да е манипулации в процеса на насищане на платката с елементи.

Приставка за AVR - микроконтролери  

Приставка AVR
      
   Запис (програмиране) на AVR микроконтролер
          При PonyProg от меню File избираме Open program (FLASH) file за да заредим файла със съдържанието на асемблирания файл с програмата, която искаме да запишем. Той може да бъде в Intel (HEX-формат) , Motorola (S-формат) или в двоичен (BIN) формат. След това от същото меню избираме Open data (EEPROM) file, който обикновено се генерира с разширение *.EEP. Ако искаме да ги презаредим, например след нанесени корекции в асемблерския файл и последващо асемблиране, избираме Reload files. Вече нямаме работа в меню File и избираме меню Command. Разполагаме с четири възможности за програмиране Write All – запис на програмния FLASH и данновия EEPROM, Write program (FLASH) – запис само на програмния FLASH, Write data EEPROM – запис само на данновия EEPROM и Write Security and Configuration Bits – запис на битовете за защита и конфигурация. След избиране на някоя от тези възможности се появява прозорец, който показва хода на програмирането или прозорец за грешка, ако нещо не е наред. При успешно програмиране се появява прозорец потвърждаващ успешното програмиране.
          Ако искаме да проверим дали записаното съответства на заредените от нас фалйове, в нашия случай за FLASH и EEPROM-паметите, избираме някой от видовете Verify от същото меню. В менюто Command има още една интересна команда – Program. Предимството на тази команда е, че тя може да се настройва посредством избор на различни варианти на програмиране в менюто Program options.
           Разполагате и с още няколко полезни команди, като Reset – ресет на програмираната ИС, поставена в куплунга на програматора, Erase – изтриване на програмираната ИС и Get info – връщане на информация за типа и паметта на програмираната интегрална схема.

Приставка AVR - схема

          Четене на AVR - микроконтролер.
         При PonyProg задаваме типа на ИС и от меню Command избираме някой от видовете четене (Read). Появява се прозорец, показващ хода на четенето и прозорец потвърждаващ успешното четене (разбира се ако е успешно). Прочетеното съдържание се показва в шестнадесетичен формат в прозореца за визуализация на буфера на програматора. От меню File избираме последователно Save Program (FLASH) File As… и Save Data (EEPROM) File As…, като задаваме съответно имената на файловете, в които искаме да запишем прочетеното съдържание съответно за FLASH и EEPROM паметите.

Използвани елементи за AVR - приставката:

Кварц 4 MHz
Кондензатори С1, С2 - 20 pF
Цокли
- 20-pin, 40-pin
Рейки 8-pin, щифтови - 2 бр.

Печатен оригинал на AVR-приставката - (18kB, PDF)

Приставка за PIC - микроконтролери


Приставка PIC           Веднага след излизането на първата част на тази статия нетърпеливи читатели ни попитаха дали с настоящия хардуер могат да се програмират микроконтролери от фамилията PIC на MICROCHIP. Не е възможно едни от най-популярните в последните години микроконтролери да не бъдат заложени при проектирането на универсален програматор, така че отговорът, разбира се, е “Да”. Приставката, която ви предлагаме тук, е предвидена именно за представители на тези микроконтролери, като сме се постарали тя да обхване 3 различни по възможности устройства, а именно: PIC16C(F)84 - най популярните, PIC12C50X - серия микроконтролери с малки размери, но не толкова малки възможности, и PIC16F87Х – микроконтролери с по-сериозна периферия, и разбира се, по-висока цена. Всички те се програмират със синхронен сериен интерфейс, със серийна даннова шина и тактов сигнал, които като сигнали от страна на програматора са съответно DATA_I2C и CLK.
           Всяка по-сериозна фирма, произвеждаща “интелигентни” интегрални схеми, се стреми да си създаде свой собствен интерфейс, но общото за синхронните серийни интерфейси е, че те предават данните по две или по една линия, като, когато линиите се две, те обикновено са еднопосочни, т.е. едната е изход и по нея устройството предава данни, а другата е вход и по нея устройството приема данни (разбира се и двете са синхронизират с тактовия сигнал). Такъв е интерфейсът за програмиране на микроконтролерите на ATMEL. В случая с MICROCHIP обаче, интерфейса e по една двупосочна линия, като се спазват определени приоритети за предаване на данните и командите. Тази линия се формира в програматора чрез обединяване на линиите DATA_SPI (изход за програматора) и DATA_I2C (вход за програматора), като обобщеният сигнал излиза на програмиращите куплунзи J2 и J3 отново като сигнал DATA_I2C.
          За да се избегнат конфликти по тази двупосочна шина, обикновено двете линни се дават накъсо през съпротивление, но тъй като в нашия случай устройствата, “закачени” на шината, са само 2 (програматор и микроконтролер), конфликти трудно могат да настъпят и дори това да се получи, те са кратковременни и опитът показва, че не водят до повреди.

Приставка PIC - схема

            Именно затова сме си спестили съпротивлението, като посредством ключа K2 двете линии се дават директно накъсо, като другата девиаторна секция на ключа управлява съответния светодиод, за да можем лесно да индицираме в какво положение - еднопроводна или двупроводна шина, се намира нашия програматор. Друга особеност при програмирането на тези микроконтролери е, че за да се премине в режим на програмиране, е необходимо на извода MCLR на микроконтролера да се подаде напрежение от порядъка на 12V. Това напрежение се изработва от стабилизатора ИС 1 и светодиода D1, комутира се от транзистора T2 и през диода D6 се подава на изводи VPP върху програмиращите куплунзи J2 и J3.
    Ако вече сте изпробвали основната платка на програматора, която беше описана по-горе, можете да пристъпите към изработка и на приставка за PIC-микроконтролери. При изпробването на приставката, първо проверете дали на изхода на стабилизатора ИС1 излизат 13.2V спрямо маса и дали изходът VPP при програмиране се установява в 12V.
          При програмиране на някои от представителите на серията PIC12C50x е възможно да се получи загряване ИС 1 и ИС 2. Ако това стане, можете да замените интегралните стабилизатори с по-мощни (в корпус ТО-220). Върху самата приставка, към извода MCLR на куплунга за микроконтролера са свързани паралелно към маса кондензаторът C1 и резисторът R1 като C1 изпълнява ролята на филтър за смущения, разположен непосредствено до извода на микроконтролера. След отпадане на сигнала VPP резисторът R1 разрежда кондензатора C1 и поддържа вече програмирания микроконтролер в неактивно състояние – MCLR се установява в ниско ниво.
   За тези от вас, които смятат да работят с PONY PROG, ще напомним, че сигналът Dout трябва да бъде конфигуриран като инвертиран. Това можете да направите в менюто “SET UP” -> “Intеrface Setup” на програмата. При използване на ICProg такова инвертиране не е необходимо.

Използвани елементи за PIC - приставката

Резистори и кондензатори - R1 - 47k, С1 - 15nF, С2 - 100nF
Цокли - 8-pin, 18-pin, 28-pin
Рейки 8-pin, щифтови - 2 бр.

Печатен оригинал на PIC - приставката - (18kB, PDF)

Приставка за ЕЕPROM-памети от сериите 93XXX и 25ХХХ


Приставка ЕЕPROM 93, 25          Със следващата, също много полезна приставка, която ви предлагаме можете да програмирате едни от най-разпространените EEPROM-и от серията 93xx, а също и EEPROM-и от серията 25xx.
           Представителите на серията 93ХХ се управляват (четат и записват) посредством двупосочен даннов сериен синхронен интерфейс, с разделени линии за приемане и предаване, наречен Microwire, който е разработен от фирмата National Semiconductor. Той е изцяло 5 V-ов, като напреженията за програмиране се изработват вътре в чипа. Особеност на този интерфейс е и сигналът CS (Chip select – избор на чип), който позволява свързването на повече от едно устройство към шината (DO, DI, CLK), като активното му ниво е високо, за разлика от повечето интегрални схеми, при които активното ниво е логическа нула. Освен това CS служи и за определяне на начало и край на команда, така че за край на команда се счита падането на този сигнал в ниско ниво. Това означава две неща:
           1) ако при изпращане на команда този сигнал достигне до “0”, например при пик от смущение, командата се игнорира и се рестартира цикълът за приемане на команди, така че оставащите битове, предавани след смущението, могат да бъдат погрешно интерпретирани и да доведат до нежелани последствия;
           2) ако този сигнал по една или друга причина не достига до ниско ниво, не може да бъде започнато изпълнение на следващата команда. Както разбирате, и двете състояния са нежелателни.
           При тестването на приставката не са забелязани никакви проблеми, но ако все пак при вас се появят, което може да е следствие на нестабилен сериен порт или повреден елемент в програматора, първо проверете състоянието на веригата от 3-то краче на серийния куплунг до сигнал CS93ххх на програмиращите куплунзи J2 и J3.
           Вероятно ще забележите, че на схемата всички изводи на J2 са свързани накъсо със съответстващите им изводи от J3, a на платката това не е така. Причината за това е, че тези връзки вече са направени на основната платка на програматора, а на платката програмиращите сигнали са взети от единия или другия куплунг единствено от съображения за по-лесно опроводяване. Приставката разполага с два цокъла за програмиране на EEPROM-и от серията 93xx, като това са двата варианта за разположение на изводите на представителите на тази серия. Цокълът 93Cx6-SO8 e предназначен за някои от SMD вариантите, като на платката е поставен стандартен DIP8 цокъл, тъй като цокли или щипки за подобни SMD компоненти са рядкост и са много скъпи. По-лесният вариант е да запоите SMD чипа върху 8-краков DIP-цокъл и така ще можете да използвате 93Cx6-SO8, особено ако се налага неколкократно препрограмиране или четене на чипа.
      ЕЕPROM-ите от серията 25xx се управляват по SPI интерфейс (Serial Peripherial Interface – сериен периферен интерфейс), който, както виждате от изводите на чипа, доста наподобява Microwire интерфейса. Бележките относно този интерфейс са подобни на предходния, затова няма да изпадаме в подробности. Не са ни известни други разположения на изводите на различните представители на серията, затова е предвиден само един цокъл.

Приставка ЕЕPROM 93, 25 - схема
Използвани елементи за приставката:

Кондензатор С1 - 100 nF
Цокли 8-pin - 3 бр.

Рейки 8-pin, щифтови - 2 бр.

Печатен оригинал на приставката - (18kB, PDF)

Приставка за ЕЕPROM-памети от серията 24ХХХ


Приставка ЕЕPROM 24          Тази приставка се използва за EEPROM-и с I2C интерфейс и тъй като този интерфейс се наложи през последните години, представителите на серията 24xx са също много популярни и удобни за употреба.
           I2C интерфейсът е разработен и стандартизиран от Philips и по същество представлява синхронен сериен интерфейс с обща линия за предаване и приемане на данни (SDA). Синхронизацията се извършва от сигнала SCL, като, за да няма конфликти по данновата линия, са разработени строги правила за главни и подчинени устройства, както и специфични адреси за определен тип устройства. EEPROM-ите от тази серия имат 3 адресни извода, съответно A0,A1 и А2, като с тях може да се настрои адресът, на който отговаря чипът.
           Обикновено при програмиране е най-лесно да се установят и трите адресни извода в ниско ниво, т. е. към маса, но понякога се налга A0 да бъде терминиран към 5V – (високо ниво), т.е. нечетен адрес, като затова се използва комбинацията от мостове (джъмпери) JP2-JP3, като нормално JP3 e свързан, а JP2 е отворен. Извод номер 7 (TEST) на интегралната схема може да има различни функции при различните представители на серията 24xx, като понякога се налага той да бъде свързван към маса. За тази цел е предвиден джъмперът JP1. Нормалното състояние на този джъмпер е отворено.
         

                                          Приставка ЕЕPROM 24 - схема      

Използвани елементи за приставката:

Кондензатори С1, С2 - 100 nF
Цокли 8-pin - 2 бр.

Джъмпери - 2 бр.
Рейки 8-pin, щифтови - 2 бр.

Печатен оригинал на приставката - (18kB, PDF)

          Най-често допускани грешки при изработката на схемата:
          - неправилно свързване на крачетата към куплунга за серийния порт;
          - неправилна настройка на програмиращия софтуер - погрешно зададен тип на програматора или неправилно посочен номер на серийния порт;
          - неправилно положение на ключето за избор на режим (К2). При PIC микроконтролери - правилното положение е I2C, а при AVR микроконтролери - SPI;
          - неправилно избран тип на програмирания микроконтролер или неправилно поставен микроконтролер (при поставянето на микроконтролера не е спазено означеното положение на 1-во краче на чипа);
          - пропуснато инвертиране на Dout (при програмиране на PIC-микроконтролер с използване на PonyProg). Още веднъж напомняме, че такова инвертиране се избира в настройките на програмата само при PonyProg и не е необходимо при работа с ICProg;
          - некоректно написан или компилиран файл. Съобщението за непълен запис на микроконтролера не се дължи непременно на проблем със самия програматор. То може да се получи и тогава, когато има допуснати грешки във файла, с който се опитвате да програмирате контролера. За да избегнете такива проблеми, можете при първоначалната проверка на готовия програматор да използвате един от HEX-файловете, направени в редакцията за схеми, публикувани в списанието (всеки един от тях можете да изтеглите свободно от раздела "Софтуер" на нашата интернет страница).
          - неправилно поставена приставка или неправилно запоени контактни рейки (и при основната платка на програматора и при приставките за отделните микроконтролери, рейките се запояват от страната на пистите така, както е показано на снимките по-горе);
          - недостатъчно високо напрежение на външното захранване (желателно е поне 16-17V, особено при програмиране на PIC-микроконтролери);
          - лоша спойка, окъсени писти или пропуснато мостче върху печатна платка (най-често върху основната платка на програматора, която е и най-наситена с проводящи писти);
          
           Готови за употреба печатни платки
можете да поръчате от нашия електронен магазин, а ако желаете, можете да получите пълен комплект платки и елементи за схемата на програматора.
          За бърза препратка към съответния раздел на електронния магазин можете да използвате бутоните в горната част на тази страница.
          Въпреки че се постарахме да ви предложим най-често използваните приложения на настоящия програматор, това не са пълните му възможности и сме сигурни, че всеки един от вас има идеи за развитието му.
          Пожелаваме ви успех и в разработването на нови приставки, като се надяваме да споделите опита си и с нас, за да можем да го направим достъпен за повече хора.

Инж. Данаил ЧАНЕВ
Млад конструктор, 2001
Списание "Млад конструктор" брой 2 и 3 / 2001 год.
Всички права запазени.