ROM програмист
Мултифункционален програматор
Понастоящем са разработени голям брой различни видове програмисти, както любителски, така и професионални, масово произвеждани. Обикновено програматорът се управлява от персонален компютър, към който е свързан чрез стандартен порт - паралелен или сериен.
Но стандартната хардуерно-софтуерна конфигурация на IBM-съвместим компютър, дори и с високоскоростен процесор и RAM, не позволява точно формиране на времеви интервали, по-малки от няколкостотин милисекунди. За програмиране на съвременни ROM са необходими импулси с продължителност от порядъка на няколко микросекунди или по-малко.
Този проблем е най-остър при многозадачни операционни системи, така че преди да програмирате микросхемата, може да се наложи да рестартирате компютъра в режим на емулация на MS DOS, което е много неудобно, особено ако трябва да повторите тази операция няколко пъти по време на отстраняване на грешки. А версиите на Windows след Millennium изобщо не поддържат MS DOS режим.
Предложеният програмист е опит за създаване на просто и евтино устройство за любителска употреба с минимални компютърни изисквания и с възможност за разширяване на обхвата на поддържаните микросхеми. В момента се поддържат най-често използваните класове чипове в радиолюбителската практика: PROM, EPROM, EEPROM, FLASH, MCS-51, PIC16, PIC18, ATMEL AVR и чипове памет с I2C интерфейс.
Основната разлика между този дизайн и другите е възможността за работа с всеки компютър, работещ с всяка операционна система. Не е задължително Windows или DOS, дори не е задължително IBM съвместим компютър. Важно е да има COM порт и стандартна комуникацияпрограма за работа с него.
За да опростим и намалим разходите за проектиране, както и да осигурим максимална гъвкавост и възможност за надграждане, трябваше да се откажем от изкушението да програмираме всички микросхеми, като ги поставим в един универсален гнездо. За всеки клас ROM се използва обикновен plug-in модул, който се свързва към универсалното гнездо на програматора. В повечето случаи това е просто адаптер между конектора и гнездото за микросхемата. Трябва да се отбележи, че за разлика от професионалните разработки, този дизайн ви позволява да програмирате вече остарели, но все още понякога използвани в аматьорската практика, ROM със стопими джъмпери от серията 556PT. и 155PE3. Едва ли е възможно тези микросхеми да се програмират в един универсален контакт.
Работа с програмист
Потребителят контролира процеса на програмиране, като въвежда команди от клавиатурата на компютъра и наблюдава резултатите от тяхното изпълнение на екрана. Всички команди се състоят от една или две латински букви, които могат да се въвеждат както с главни, така и с малки букви на клавиатурата. Командата може да бъде последвана от един, два или три числови параметъра, разделени с интервал. Незначещите нули отляво могат да бъдат пропуснати, но командата за редактиране може да бъде натисната с клавиша "Back Space". Въвеждането се завършва с натискане на "Enter". В случай на грешка по време на въвеждане се извежда съобщението "ГРЕШКА" и се изисква потвърждение за изпълнение на команди, последствията от които могат да бъдат необратими за програмируемата микросхема. На екрана постоянно присъства пълен списък с всички налични команди, така че дори и да използвате програмиста веднъж годишно, няма да се налага да помните нищо.
На компютъра трябва да работи някаква програма за комуникация, като например "Telemax", която е включена в NortonCommander 5.0, "Terminal" от Windows 3.1, "Hiper Terminal" от Windows 95/98, ZOC 4.05, прост, но много удобен терминал Tera Term Pro 2.4 или нещо подобно.
Когато конфигурирате комуникационната програма, е необходимо да премахнете линиите за инициализация на модема, да деактивирате режимите "Local echo" и "CR / LF broadcast" и да изберете терминала ANSI. Кодовата таблица може да бъде ASCII, Windows или KOI-8. Режимът на работа на серийния порт, към който е свързан програматорът, трябва да бъде както следва: скорост - 1200, 2400, 4800, 9600, 14400, 19200, 28800 или 57600 бода, брой битове - 8, без паритет, 1 стоп бит, контрол на потока - хардуерен (RTS/CTS).
След като включите захранването на програмиста, трябва да натиснете произволен буквено-цифров клавиш в латинския регистър на клавиатурата на компютъра, т.е. с код по-малък от 128. В този случай програмистът автоматично ще определи скоростта на порта и ще изпрати информация към компютъра със същата скорост. Ако всичко е направено правилно, на екрана ще се появи подкана за избор на кодовата таблица, с която ще работи програмистът. Както беше посочено по-горе, поддържа се DOS, Windows и KOI-8 кодиране. Всички следващи съобщения ще се показват на български език. Ако знаците не се четат, тогава кодовата таблица е избрана неправилно и трябва да изключите и включите отново програмиста, след което да изберете друго кодиране.
Програматорът е предназначен предимно за радиолюбители - дизайнери, т.е. за тези, които знаят какво е програмируем чип. Ето защо, за да се осигури възможно най-голяма гъвкавост на това устройство, някои сервизни функции трябваше да бъдат пожертвани. По-специално, конфигурационната дума за PIC контролерите трябва да се въведе ръчно, а не обичайните квадратчета за отметка като "защита включена - изключена".Това обаче според мен не е сериозен недостатък, т.к. по време на асемблирането конфигурационната дума може да бъде включена в HEX файла.
Стандартният FLASH фърмуерен файл е напълно подходящ за зареждане в паметта на програмиста. Но файлът с памет за данни с разширение .eep трябва първо да бъде променен. Това, разбира се, е недостатък, но ако пишете своя собствена програма, това няма значение, защото. на етапа на писане на източника можете да включите EEPROM данните във FLASH файла, както е описано по-горе. В същото време нищо не възпрепятства създаването на стандартен .eep файл за потребители на други видове програмисти.
Все още не съм решил как най-добре да конвертирам стандартен .eep файл във файл, подходящ за зареждане в този програмист. Предвид малкия обем, това може да се направи ръчно. FUSE битовете могат да бъдат въведени директно в програмиста или изобщо да не бъдат програмирани, оставяйки стойностите по подразбиране. Но в един файл ще бъде възможно да имате пълна информация за фърмуера на микроконтролера и впоследствие да не се замисляте кои FUSE трябва да бъдат програмирани и кои не.
За ATMEL AVR се поддържат всички режими на програмиране: ниско напрежение и високо напрежение. Това е така, защото в най-простия и широко използван режим на ниско напрежение, не всички типове AVR и не всички FUSE битове могат да бъдат програмирани. А някои видове изобщо не поддържат този режим на програмиране. Освен това, чрез промяна на стойностите на определени битове FUSE, този режим може да бъде деактивиран. И кой може да е сигурен, че няма да направи това по грешка или незнание? В този случай няма да се направи нищо, освен да изразите всичко, което мислите за разработчиците на компанията ATMEL и да изхвърлите чипа. Следователно, следната диаграма на плъгин блока за програмиране на AVR е предназначена само за "Highнапрежение". Предполага се, че режимът "Ниско напрежение" се използва изключително за програмиране в схемата по време на отстраняване на грешки. Разбира се, можете да направите блок за добавки за него, което ще се окаже много по-лесно.
По същите причини модулът MCS-51 plug-in е проектиран да програмира AT89S53 и AT89S8252 в паралелен режим. Последователното програмиране на тези контролери е предназначено да се използва само във веригата. Тяхната връзка е подобна на AVR, така че не можете да инсталирате ISP интерфейсния конектор на блока MCS-51, но използвайте конектора на резервния блок за AVR за програмиране в веригата. Моля, обърнете внимание, че по време на серийно програмиране пиновете PSEN (29) и ALE / PROG (30) трябва да са във въздуха.
Необходимо е да се спрем на още един недостатък на ATMEL AVR. Не всички типове са програмирани правилно със захранващо напрежение от 5V. Ето защо превключвателят SA1 беше въведен във веригата на щепселите (фиг. 7), което ви позволява да намалите захранващото напрежение до 3,8 V. В някои случаи това оказва безценна помощ и спестява време и нерви. Диодите VD1 и VD2 трябва да издържат на ток до 1A в случай на късо съединение.
Последната версия на програмиста поддържа следните класове и типове микросхеми:
PROM: 155PE3, 556PTxx EPROM: 2716. 27512, 27C64. 27C512 EEPROM: W27C512, 28C16A, 28C17A, 28C64A, AT28C64B, AT28C256, AT29C256/257/512 MCS-51: 8751, 87C51, 87C51FA, 87C51FB, 87C51FC, 87C51RD+, AT89C51, AT89C52, AT89C55, AT89C1051, AT89C2051, AT89C4051, AT89S53, AT89S8252 628, PIC16F73/74, PIC16F76/77, PIC16F873/874, PIC16 F876/877, PIC16C5xx, PIC16C6x, PIC16CE6xx, PIC16C7x AT90S2333, AT90S4414/4434, AT90S4433, AT90S8515/8535, ATtiny10/11,ATtiny12, ATtiny15, ATtiny28 I2C: 24LC01. 24LC512, PCA8581, PCF8582, ST24E16 PIC18: PIC18Fxx2/xx8

Схематични характеристики
Основният блок на програматора се състои от две функционални единици, разположени в един корпус - самият програматор и захранването.
По този начин този дизайн може да се използва не само по предназначение, но и за всякакви други цели, тъй като потребителят разполага с 4 двупосочни 8-битови I / O порта и сериен интерфейс за комуникация с компютър.

Захранването (фиг. 2) генерира цялото напрежение, необходимо за работата на програматора. Захранващото напрежение на програмируемата микросхема се стабилизира от микросхемата DA1. Ключът на транзисторите VT3 и VT5 ви позволява да изключите захранването на ROM, когато няма достъп до него. Напрежението на колектора VT3 може да приеме две фиксирани стойности - 5 или 6,5 волта, последното е необходимо за програмиране на 556RT ROM с предпазими джъмпери. а също и с UV изтриваща серия 27C. .Превключването се осъществява от транзистор VT4.
На чипа DA2 е монтиран стабилизатор от 5 волта, който е необходим за захранване на самия програмист. Напрежението за програмиране се генерира от стабилизатор DA3, с помощта на резистор R20 може да се регулира от 5 до 25 волта. Контролът се осъществява от стрелков волтметър PV1. Не е естетично? Но евтино, надеждно и практично! Благодарение на ключа на транзисторите VT6, VT8, VT9 това напрежение може да приеме нулева стойност, да бъде равно на захранващото напрежение (Vcc) или напрежението на програмиране (Vpp). Стабилизаторът на VD11 е необходим за работата на преобразувателя на ниво интерфейс RS-232C.
Конструкция и детайли.
Както бе споменато по-горе, програмистът се състои от основен блок и взаимозаменяемимодули. На предния панел на основното устройство има превключвател за включване, универсален конектор за свързване на сменяеми модули, волтметър със стрелка, регулатор на напрежението за програмиране и три светодиода, показващи включване, Vcc и Vpp.
Кварцовият резонатор ZQ1 трябва да е с честота 11,059 MHz. Като преобразуватели на нивото на интерфейса RS-232 можете да използвате специализиран чип MAX232, тогава няма да е необходим стабилизатор -5V. Възможно е, ако е необходимо, да се осигури галванична изолация с компютър, използвайки стандартни схемни решения.
Напрежението на намотка II на трансформатор Т1 трябва да бъде около 10 волта при токове до 0,5 A, а на намотка III - 25 волта при токове до 0,1. 0,2 A. Стабилизаторните чипове трябва да се поставят върху радиатора.
При безпроблемна инсталация и липса на грешки в програмата, цифровата част от настройката не изисква. Трябва само да се има предвид, че някои нискоактивни кварци са слабо възбудени в тази верига. В захранването е необходимо да изберете елементите VD2, VD3 и HL2, така че напрежението на колектора VT3 да може да вземе точно 5 и 6,5 волта. Също така е необходимо да се изяснят стойностите на резисторите R17 и R21, така че границите на регулиране на програмното напрежение Vpp от резистора R20 да са 5,25 волта според волтметъра PV1.
Като пример, можете давидитекак изглежда екрана на компютъра, когато започнете да работите с програмиста ида изтеглитетекстов файл, съдържащ информация, която се показва последователно на екрана по време на работа.
Можете да изтеглите две версии на чертежите на печатни платки на главния програматор, разработени от един от потребителите на това устройствоplataprg.zip(160kb).
За да спестите пари на потребителите и да опростите процедурата за надграждане,Наред с основния софтуер за програмиста е разработен и своеобразен "авариен флопидиск" - намалена версия на управляващата програма, която е поставена в ROM тип 2764. Поддържа програмиране само от сериите 27xxx, 28xxx, 29xxx. По този начин, за да използвате актуализираната версия на фърмуера, трябва да смените стандартния ROM в панела DD3 с авариен (Resque), да програмирате нова версия на софтуера с него и да върнете препрограмирания чип на мястото му, вдъхвайки нов живот на програмиста.
Ако имате въпроси, моля, посетете страницатаЧесто задавани въпроси..