1. PIC ПРОГРАМИСТ

Надявам се, че моята статия ще помогне на някои радиолюбители да преминат прага от цифровите технологии към микроконтролерите. В интернет и радиолюбителските списания има много програмисти: от най-простите до много усуканите. Моят не е много сложен, но надежден.

Първата версия на програматора е предназначена за програмиране на 18 и 28 "пинови" PIC контролери. Програматорът е базиран на схема от Радио списание №10 за 2007г. Но изборът на кондензатор C7, експериментите с различни версии на ICprog, PonyProg, WinPic и скоростта на четене и запис не дадоха желания резултат: успешно програмиране се получаваше всеки друг път. И това продължи, докато + 5V захранването на програмируемата микросхема не беше направено отделно, а не след 12-волтовия стабилизатор. Оказа се такава схема.

Опасявайки се от неуспехи, нарисувах печата така, че платката да се постави директно в Com-порта, което не е много лесно поради всички видове "дантели" и малко разстояние до кутията. Оказа се печат с неправилна форма, но се слага нормално в COM порта и програмира без грешки.

С течение на времето направих удължител с дължина около 1 метър. Сега програмистът лежи до монитора и е свързан към COM порта. Работи добре: микроконтролерите PIC16F84A, PIC16F628A, PIC16F873A са програмирани много пъти.

Моля, обърнете внимание: чипът Max и светодиодите са инсталирани от страната на печатните проводници. Букси - ZIF-28, като едната се използва за 18-пинов PIC. Панелите са обозначени с първите крака и цифрите "18" и "28". Трансформатор 220 15 волта, 4 вата е инсталиран в корпуса на щепсела на адаптера. Трябва да включите в контакта, след като инсталирате микроконтролера в гнездото. NPN транзисторинискомощни високочестотни (300 MHz) в пакет to-92.

Временно не инсталирах XP конектора и след това се оказа, че не е особено необходим. Трябваше по някакъв начин да програмирам запоения MK, така че вкарах проводниците директно в ZIF и го поправих. Препрограмирането беше успешно.

Работя с програми ICprog и WinPic-800.

В IC-prog 1.05D следните настройкипрограмист:

  • Програмист – JDM програмист
  • Порт -Com1
  • Директен достъп до пристанища.
  • Инвертиране: вход, изход и часовник (тик).

В WinPic-800 –v.3.64f всичко е идентично, но все пак трябва да настроите „птицата“ да използва MCLR.

В интернет можете свободно и безплатно да изтеглите тези програми. Но за да улесня живота, ще се опитам да прикача всичко необходимо. Току-що си спомних: колко „безполезни неща“ аз самият изтеглих от интернет и колко време прекарах в разглобяването на всичко това.

  • PCB програматор
  • Програма WinPic-800 ( )
  • Програма IC-Prog().
  • Статия за IC-Prog.

2. ПРОГРАМАТОР-2 ЗА PIC КОНТРОЛЕРИ

С течение на времето стана необходимо да се програмират 14 и 40 "pin" пика. Реших да направя програмист за цялото средно семейство PIC. Схемата е същата, добавени са само два панела. Всичко това се помещава в кутия от бивш мултицет.

На 13 февруари 2014 г. беше направена корекция на печатната платка: от 5-ия щифт на конектора RS232 пистата преминава към минус захранването (и на предишния - към 6-ия щифт на микросхемата MAX). Нов печат в "programer2-2".

Можете да запазите един KREN-ku. Тези. свържете цялата верига от един 5-волтов стабилизатор. Не инсталирайте VR3 и C9, но поставете джъмпер (обозначен с пунктирана линия на диаграмата). Но Кренка още не съм пил. Многократно програмиран PIC16F676, 628A, 84A и 873A. Но все още не съм пробвал 877.

Някои кондензатори са инсталирани от страната на печатните проводници. Ролките са разположени в хоризонтално положение. За да не полагам проводници, монтирах C7 - 2бр и R12 - 3бр.

Много важно: корпусът на конектора RS232 трябва да бъде свързан към минус захранването.

Захранването (15 V) и програмите са същите като в първата версия.

Списък на радио елементи

Обозначаване Тип Деноминация Количество ЗабележкарезултатМоят бележник
Схема 1
DD1 RS-232 интерфейс IC

MAX232E

1 MAX232CPE Към бележника
VT1-VT4 биполярен транзистор

2N3904

4 ТО-92 Към бележника
VDS1 Диоден мост

DB157

1 Към бележника
VD1 токоизправителен диод

1N4148

1 Към бележника
VR1, VR3 Линеен регулатор

L7805AB

1 Към бележника
VR2 Линеен регулатор

KA78R12C

1 Към бележника
C1 470uF 35V1 Към бележника
C2, C3, C5, C6 електролитен кондензатор10uF 50V4 Към бележника
C4, C8 електролитен кондензатор470uF 16V2 Към бележника
C7 електролитен кондензатор1uF 25V1 Към бележника
C11 Кондензатор0,1 mF1 Към бележника
R1, R7 Резистор

10 kOhm

2 Към бележника
R2 Резистор

470 ома

1 Към бележника
R3, R5, R11 Резистор

4,7 kOhm

3 Към бележника
R4, R10 Резистор

2 kOhm

2 Към бележника
R6, R8, R9 Резистор

1 kOhm

3 Към бележника
R12 Резистор

240 ома

1 Към бележника
HL1 Светодиод 1 червен Към бележника
HL2 Светодиод 1 Зелено Към бележника
Схема 2
DD1 RS-232 интерфейс IC

MAX232E

1 MAX232CPE Към бележника
VT1-VT4 биполярен транзистор

2N3904

4 ТО-92 Към бележника
VDS1 Диоден мост

DB157

1 Към бележника
VD1 токоизправителен диод

1N4148

1 Към бележника
VR1, VR3 Линеен регулатор

L7805AB

2 Към бележника
VR2 Линеен регулатор

KA78R12C

1 Към бележника
C1, C2, C4, C5 Кондензатор10uF 50V4 Към бележника
C3 електролитен кондензатор470uF 35V1 Към бележника
C6, C9 електролитен кондензатор470uF 16V2 Към бележника
C7.1-C7.3 Кондензатор0,1uF3

Веднъж реших да сглобя обикновен LC метър на pic16f628a и, разбира се, трябваше да се мига с нещо. Преди имах компютър с физически com порт, но сега имам само usb и pci-lpt-2com платка на мое разположение. Като начало сглобих прост JDM програмист, но както се оказа, той не искаше да работи нито с pci-lpt-com платката, нито с usb-com адаптера (ниско напрежение на RS-232 сигнали). Тогава се втурнах да търся usb pic програмисти, но там, както се оказа, всичко беше ограничено до използването на скъпи pic18f2550 / 4550, които естествено нямах, и е жалко да използвам толкова скъпи MK, ако го правя много рядко нещо на пикове (предпочитам Avr-s, не е проблем да ги флашна, те са много по-евтини и ми се струва, че е по-лесно да пиша програми върху тях). След дълго ровене в интернет в една от многото статии за програмиста EXTRA-PIC и различните му опции, един от авторите написа, че extrapic работи с всякакви com портове и дори usb-com адаптер.

Схемата на този програмист използва преобразувател на логическо ниво max232.

Мислех, че ако използвам usb адаптер, тогава би било много глупаво да правите двукратно преобразуване на usb нива в usart TTL, TTL в RS232, RS232 обратно в TTL, ако можете просто да вземете TTL сигналите на RS232 порта от usb-usart конверторния чип.

Така и направи. Взех чипа CH340G (който има всички 8 com-port сигнала) и го свързах вместо max232. И това се случи.

В моята схема има джъмпер jp1, който не е в допълнителния пик, сложих го, защото не знаех как ще се държи TX изхода на ниво TTL, така че направих възможно да го обърна на оставащия свободен NAND елемент и не загуби, както се оказа, директно TX пинът е логичен и следователно има 12 волта на VPP щифта, когато е включен, и нищо няма да се случи по време на програмирането (въпреки че можете да инвертирате TX програмно).

След сглобяването на платката идва ред на теста. И тогава дойде основното разочарование. Програмистът беше определен веднага (с програмата ic-prog) и спечели, но много бавно! По принцип може да се очаква. След това в настройките на com порта, които зададох максимална скорост(128 kilobaud) започна да тества всички намерени програми за JDM. В резултат PicPgm се оказа най-бързият. Моят pic16f628a беше напълно флашнат (hex, eeprom и config) плюс проверка някъде около 4-6 минути (още повече, че четенето е по-бавно от писането). IcProg също работи, но по-бавно. Нямаше програмни грешки. Пробвах и да флашна eeprom 24c08, резултатът е същият - всичко шие, но много бавно.

Заключения: програмистът е доста прост, няма скъпи части (CH340 - $0,3-0,5, k1533la3 може да се намери сред радио боклуци), работи на всеки компютър, лаптоп (и дори можете да използвате таблети с Windows 8/10). Минуси: Много е бавен. Той също изисква външно захранванеза VPP сигнала. В резултат на това, както ми се стори, за рядко мигане на пикове, това е лесен за повторение и евтин вариант за тези, които нямат древен компютър с необходимите портове под ръка.

Ето снимка на готовото устройство:

Както се казва в песента, „ослепих го от това, което беше“. Наборът от части е най-разнообразен: както smd, така и DIP.

За тези, които се осмеляват да повторят схемата, почти всеки (ft232, pl2303, cp2101 и т.н.) е подходящ като usb-uart конвертор, вместо k1533la3, k555 е подходящ, мисля, че дори серия k155 или чуждестранен аналог 74als00 вероятно дори ще работи с логически НЕ елементи като k1533ln1. Прилагам моята печатна платка, но окабеляването там за наличните елементи всеки може да си го преначертае.

Списък на радио елементи

Обозначаване Тип Деноминация Количество ЗабележкарезултатМоят бележник
IC1 ЧипCH340G1 Към бележника
IC2 ЧипK1533LA31 Към бележника
VR1 Линеен регулатор

LM7812

1 Към бележника
VR2 Линеен регулатор

LM7805

1 Към бележника
VT1 биполярен транзистор

KT502E

1 Към бележника
VT2 биполярен транзистор

KT3102E

1 Към бележника
VD1-VD3 токоизправителен диод

1N4148

2 Към бележника
C1, C2, C5-C7 Кондензатор100 nF5 Към бележника
C3, C4 Кондензатор22 pF2 Към бележника
HL1-HL4 СветодиодВсякакви4 Към бележника
R1, R3, R4 Резистор

1 kOhm

3

И така, време е да изучавам микроконтролери и след това да ги програмирам, а също така исках да сглобя устройства върху тях, чиито схеми вече са в Интернет, добре, просто морето. Е, намерихме схема, купихме контролер, изтеглихме фърмуера .... и какво да флашнем с какво ??? И тук възниква въпросът за радиолюбител, който започва да овладява микроконтролери - изборът на програмист! Бих искал да намеря най-добрия вариант по отношение на гъвкавост - простота на веригата - надеждност. „Марковите“ програмисти и техните аналози бяха незабавно изключени поради доста сложна схема, която включва същите микроконтролери, които трябва да бъдат програмирани. Тоест, получава се "порочен кръг": за да се направи програмист, е необходим програмист. Така търсенето и експериментите започнаха! В началото изборът падна върху PIC JDM. Този програматор работи от com порта и се захранва от там. Изпробвано е тази опция, уверено програмира 4 от 10 контролера, с отделно захранване, ситуацията се подобри, но не много, на някои компютри той отказа да прави каквото и да било и не осигурява защита от "глупак". След това беше проучен програмистът Pony-Prog. По принцип почти същото като JDM.Програматорът Pony-prog е много проста верига, захранван от компютърен com порт, във връзка с което във форуми, в Интернет много често има въпроси за повреди при програмиране на един или друг микроконтролер. В резултат на това изборът беше направен върху модела "Extra-PIC". Погледнах схемата - много просто, компетентно! На входа има MAX 232, който преобразува сигналите от серийния порт RS-232 в сигнали, подходящи за използване в цифрови схемис TTL или CMOS нива, не претоварва COM порта на компютъра от ток, тъй като използва стандарта за работа RS232, не представлява опасност за COM порта.Ето първият плюс!
Работи с всякакви COM-портове, както стандартни (±12v; ±10v), така и нестандартни COM-портове на някои модели съвременни лаптопи със сигнални линии с ниско напрежение до ±5v - още един плюс! Поддържа се от общи програми IC-PROG, PonyProg, WinPic 800 (WinPic800) и други - третият плюс!
И всичко това се захранва от собствен източник на енергия!
Беше решено - трябва да събираме! Така че в списание Радио 2007 г. № 8 беше намерена модифицирана версия на този програмист. Позволява програмиране на микроконтролери в два режима.
Има два начина за поставяне на PICmicro микроконтролери в режим на програмиране:
1. При включено захранващо напрежение Vcc повишете напрежението Vpp (на щифта -MCLR) от нула до 12V
2. При изключено Vcc, повишете Vpp от нула до 12V, след което включете Vcc
Първият режим е главно за устройства с ранна разработка, той налага ограничения върху конфигурацията на щифта -MCLR, който в този случай може да служи само като вход за първоначалния сигнал за настройка, а в много микроконтролери е възможно да завъртите този щифт в обикновена линия на един от портовете. Това е още един плюс на този програмист. Диаграмата му е показана по-долу:

По-голям
Всичко беше сглобено на бредборд и тествано. Всичко работи добре и стабилно, не са забелязани никакви проблеми!
Начертан е печат за този програмист.
depositfiles.com/files/mk49uejin
всичко беше сглобено в отворена кутия, снимката на която е по-долу.




Свързващият кабел е направен независимо от сегмент от осемжилен кабел и стандартни конектори Komovsky, никакви конектори за нулев модем няма да работят тук, предупреждавам ви веднага! Сглобяването на кабела трябва да се вземе внимателно, незабавно да се отървете от главоболието в бъдеще. Дължината на кабела трябва да бъде не повече от един и половина метра.
Кабелна снимка


И така, програмистът е сглобен, кабелът също, време е да проверите цялата тази икономика за работоспособност, да потърсите проблеми и грешки.
Първо инсталирайте програмата IC-prog, която можете да изтеглите от уебсайта на разработчика www.ic-prog.com Разопаковайте програмата в отделна директория. Получената директория трябва да съдържа три файла:
icprog.exe - шел файл на програматор.
icprog.sys - драйвер, необходим за работа под Windows NT, 2000, XP. Този файл трябва винаги да е в директорията на програмата.
icprog.chm - Помощен файл.
Инсталиран, сега ще е необходимо да го конфигурирате.
За това:
1. (Само за Windows XP): Кликнете с десния бутонщракнете върху файла icprog.exe. Свойства >> раздел Съвместимост >> Поставете отметка в квадратчето до "Изпълни тази програма в режим на съвместимост за:" >> изберете "Windows 2000".
2. Стартирайте файла icprog.exe. Изберете "Настройки" >> "Опции" >> раздел "Език" >> задайте езика на "руски" и щракнете върху "Ok".
Съгласете се с твърдението „Трябва да рестартирате IC-Prog сега“ (щракнете върху „Ok“). Обвивката на програмиста ще се рестартира.
Настройки" >> "Програмист

1.Проверете настройките, изберете COM порта, който използвате, щракнете върху "Ok".
2. След това „Настройки“ >> „Опции“ >> изберете раздела „Общи“ >> поставете отметка в квадратчето за „Вкл. NT/2000/XP драйвер" >> Щракнете върху "Ok" >> ако драйверът не е бил инсталиран на вашата система преди, в появилия се прозорец "Потвърждаване" щракнете върху "Ok". Драйверът ще се инсталира и черупката на програмиста ще се рестартира.
Забележка:
За много бързи компютри може да се наложи да увеличите настройката I/O Latency. Увеличаването на този параметър повишава надеждността на програмирането, но времето, прекарано за програмиране на микросхемата, също се увеличава.
3. "Настройки" >> "Опции" >> изберете раздела "I2C" >> поставете отметки в квадратчетата: "Активиране на MCLR като VCC" и "Активиране на блоков запис". Щракнете върху "Ok".
4. "Настройки" >> "Опции" >> изберете раздела "Програмиране" >> махнете отметката от елемента: "Проверка след програмиране" и поставете отметка в квадратчето "Проверка по време на програмиране". Натиснете OK.
Ето го настроено!
Сега бихме искали да тестваме програмиста на място с IC-prog. И тук всичко е просто:
След това в програмата IC-PROG в менюто изпълнете: Настройки >> Тест на програмиста

Преди да изпълните всеки елемент от методологията за тестване, не забравяйте да зададете всички "полета" в първоначалната им позиция (всички "отметки" не са отметнати), както е показано на фигурата по-горе.
1. Поставете отметка в полето „Вкл. Data Out“, в същото време трябва да се появи „отметка“ в полето „Въвеждане на данни“ и трябва да се зададе ниво на регистрация на контакта (DATA) на конектора X2. "1" (поне +3,0 волта). Сега затворете контакта (DATA) и контакта (GND) на конектора X2 помежду си, докато знакът в полето „Въвеждане на данни“ трябва да изчезне, докато контактите са затворени.
2.При поставяне на "отметка" в полето "Вкл. Часовник ”, на контакта (CLOCK) на конектора X2 трябва да се настрои нивото на лога. "един". (не по-малко от +3,0 волта).
3.При поставяне на "отметка" в полето "Вкл. Нулиране (MCLR) ", на контакта (VPP) на конектора X3, нивото трябва да бъде настроено на +13,0 ... +14,0 волта и светодиодът D4 (обикновено червен) трябва да светне. Ако превключвателят за режим е настроен на позиция 1, светодиодът HL3 ще светне
Ако по време на тестването някой сигнал не премине, трябва внимателно да проверите целия път на този сигнал, включително кабела, свързващ се към COM порта на компютъра.
Тестване на канала за данни на програмиста EXTRAPIC:
1. 13 изход на чипа DA1: напрежение от -5 до -12 волта. При настройка на "отметката": от +5 до +12 волта.
2. 12 изход на чипа Da1: напрежение +5 волта. При отметка в полето: 0 волта.
3. 6 изходен чип DD1: напрежение 0 волта. При настройка на "отметката": +5 волта.
3. 1 и 2 изходен чип DD1: напрежение 0 волта. При настройка на "отметката": +5 волта.
4. 3 изхода чип DD1: напрежение +5 волта. При отметка в полето: 0 волта.
5. 14 изхода на чипа DA1: напрежение от -5 до -12 волта. При настройка на "отметката": от +5 до +12 волта.
Ако всички тестове са успешни, тогава програмистът е готов за работа.
За да свържете микроконтролера към програмиста, можете да използвате подходящи гнезда или да направите адаптер на базата на ZIF гнездо (с нулева сила на натискане), например, както тук radiokot.ru/circuit/digital/pcmod/18/.
Сега няколко думи за ICSP - In-Circuit Programming
PIC контролери.
При използване на ICSP на платката на устройството е необходимо да се предвиди възможност за свързване на програмист. Когато програмирате с помощта на ICSP, 5 сигнални линии трябва да бъдат свързани към програмиста:
1. GND (VSS) - общ проводник.
2. VDD (VCC) - плюс захранващо напрежение
3. MCLR" (VPP) - вход за нулиране на микроконтролера / вход за програмиране на напрежение
4. RB7 (DATA) - двупосочна шина за данни в режим на програмиране
5. RB6 (ЧАСОВНИК) Въвеждане на часовник в режим на програмиране
Останалите щифтове на микроконтролера не се използват в режима на вътрешносхемно програмиране.
Възможност за свързване на ICSP към микроконтролера PIC16F84 в корпус DIP18:

1. Линия MCLR" е отделена от веригата на устройството чрез джъмпер J2, който се отваря в режим на програмиране в схемата (ICSP), прехвърляйки изхода на MCLR към изключителното управление на програмиста.
2. Линията VDD в режим на програмиране на ICSP е изключена от веригата на устройството чрез джъмпер J1. Това е необходимо, за да се избегне потреблението на ток от VDD линията от веригата на устройството.
3. Линия RB7 (двупосочна шина за данни в режим на програмиране) е изолирана по ток от веригата на устройството с резистор R1 с номинална стойност най-малко 1 kOhm. В тази връзка максималният входящ / източен ток, осигурен от тази линия, ще бъде ограничен от резистор R1. Ако е необходимо да се осигури максимален ток, резисторът R1 трябва да бъде заменен (както в случая с VDD) с джъмпер.
4. Линия RB6 (вход за PIC синхронизация в режим на програмиране), както и RB7, се изолират по ток от веригата на устройството чрез резистор R2 с номинална стойност най-малко 1 kOhm. Следователно максималният ток на потъване/потъване, осигурен от тази линия, ще бъде ограничен от резистор R2. Ако е необходимо да се осигури максимален ток, резисторът R2 трябва да бъде заменен (както в случая с VDD) с джъмпер.
Местоположение на ICSP щифтовете за PIC контролери:


Тази диаграма е само за справка, по-добре е да се изяснят програмните заключения от листа с данни на микроконтролера.
Сега помислете за фърмуера на микроконтролера в програмата IC-prog. Ще разгледаме примера за конструкция от тук rgb73.mylivepage.ru/wiki/1952/579
Ето схемата на устройството


тук е фърмуера
Мигане на контролера PIC12F629. Този микроконтролер използва за своята работа osccal константата - това е шестнадесетична калибровъчна стойност на вътрешния осцилатор на МК, с която МК отчита времето при изпълнение на своите програми, което се записва в последната пикова клетка с данни. Свързваме този микроконтролер към програмиста.
Екранната снимка по-долу показва последователността от действия в програмата IC-prog с червени числа.


1. Изберете типа на микроконтролера
2. Натиснете бутона "Четене на чип".
В прозореца на кода последната клетка ще бъде нашата константа за този контролер. Всеки контролер има своя собствена константа ! Не го изтривайте, запишете го на лист хартия и го залепете върху чипа!
Отиваме по-нататък


3. Натиснете бутона "Отваряне на файл ...", изберете нашия фърмуер. В прозореца програмен кодще се появи кодът на фърмуера.
4. Слизаме до края на кода, щракнете с десния бутон върху последната клетка и изберете "област за редактиране" в менюто, въведете стойността на константата, която сте записали в полето "Шестнадесетичен", щракнете върху "OK" .
5. Щракнете върху "програмиране на чипа".
Процесът на програмиране ще започне, ако всичко върви добре, програмата ще покаже съответно известие.
Изваждаме чипа от програмиста и го вмъкваме в сглобеното оформление. Включваме захранването. Натискаме бутона за стартиране Ура работи! Ето видео на мигача в действие
video.mail.ru/mail/vanek_rabota/_myvideo/1.html
Разбрах го. Но какво ще стане, ако имаме файл програмен кодв asm асемблер, но имаме нужда от шестнадесетичен файл на фърмуера? Тук е необходим компилатор. и това е - това е Mplab, в тази програма можете както да пишете фърмуер, така и да компилирате. Ето прозореца на компилатора


Инсталирайте MPlab
Намираме програмата MPASMWIN.exe в инсталирания Mplab, обикновено се намира в папката - Microchip - MPASM Suite - MPASMWIN.exe
Нека го стартираме. В прозореца (4) Преглед намираме нашия (1) изходен код .asm, в прозореца (5) Процесор избираме нашия микроконтролер, щракнете върху Сглобяване и вашият фърмуер ще се появи в същата папка, в която сте посочили изходния код. HEX Това е то!
Надявам се, че тази статия ще помогне на начинаещите в овладяването на PIC контролери! Късмет!

Случи се така, че започнах запознанството си с микроконтролерите с AVR. PIC микроконтролерите за момента, за момента - заобиколени. Но, въпреки това, те също имат уникален, интересен за повторение дизайн! Но тези микроконтролери също трябва да бъдат флашнати. Пиша тази статия главно за себе си. За да не забравите технологията, как да флашнете PIC микроконтролер без проблеми и безсмислена загуба на време.

Как да програмирате PIC микроконтролери или прост JDM програмист

За първата схема - дълго и упорито се опитвах да направя PIC програматор по схемите намерени в интернет - нищо не стана. Жалко, но трябваше да се обърна към приятел, за да мига MK. Но не това е целта - постоянно да тичате около познати! Същият приятел също посъветва проста схема, която работи от COM порта. Но дори когато го сглобих, пак не се получи. В крайна сметка не е достатъчно да сглобите програмист - трябва също да настроите програма за него, която ще мигаме. И точно това не получих. Цял облак инструкции в Интернет и малко от тях ми помогнаха ...

След това успях да флашна един микроконтролер. Но тъй като го флашнах при условия на сериозна липса на време, не се сетих да запазя поне връзка към инструкцията. И в крайна сметка не го намерих по-късно. Затова повтарям - пиша статия, за да имам свои инструкции.

И така, програмист за PIC микроконтролери. Просто, но не и 5 жични като за AVR микроконтролерикойто използвам и днес. Ето и диаграмата:

Тук печатна електронна платка ().

COM конекторът е запоен с щифтове директно към подложките (основното е да не се бъркате с номерирането). Вторият ред щифтове е свързан към платката с малки джъмпери (казах много неразбираемо, да). Ще се опитам да дам снимка ... въпреки че е страшно (нямам нормален фотоапарат в момента).
Най-порочното е, че за PIC микроконтролерите са необходими 12 волта за фърмуер. И по-добре не 12, а малко повече. Да кажем 13. Или 13,5 (между другото, експерти - поправете ме в коментарите, ако греша. Моля.). 12 волта все още може да се вземе някъде. Къде е 13? Просто се измъкнах от ситуацията - взех прясно заредена литиево-полимерна батерия, която имаше 12,6 волта. Е, или дори четириклетъчна батерия, с нейните 16 волта (флашнах един PIC по този начин - няма проблем).

Но пак се отклоних. Така че - инструкции за фърмуер PIC микроконтролери. Търсим програмата WinPIC800 (за съжаление простият и популярен icprog не работи за мен) и я конфигурираме, както е показано на екранната снимка.

След това отворете файла на фърмуера, свържете микроконтролера и го флашнете.

Предложеният програматор се основава на публикация от радиосписание № 2, 2004 г. „Програмиране на модерни PIC16, PIC12 на PonyProg“. Това е първият ми програмист, който използвах за флашване на PIC чипове у дома. Програмистът е опростена версия на JDM програмиста, оригиналната схема има RS-232 към TTL конвертор под формата на чип MAX232, той е по-гъвкав, но не можете да го сглобите „на коляно“. Тази схема няма активна съставка, не съдържа оскъдни части и е много проста, може да се сглоби без използване на печатна платка.

Ориз. едно: електрическа схемапрограмист.

Описание на схемата
Схемата на програмиста е показана на фиг. 1. Резисторите във веригите CLK (тактова), DATA (информация), Upp (програмиращо напрежение) служат за ограничаване на протичащия ток. PIC контролериса защитени от повреда чрез вградени ценерови диоди, така че се получава известна съвместимост на TTL и RS-232 логиката. В представената схема има диоди VD1, VD2, които „отнемат“ положително напрежение от COM портспрямо пин 5 и го прехвърлете към захранването на контролера, поради което в някои случаи е възможно да се отървете от допълнителен източник на захранване.

Установяване
На практика не винаги се случва този програмист да работи без настройка от първия път, защото. работата на тази схема е силно зависима от параметрите на COM порта. Имам обаче, на две майчини Гигабайтови платки 8IPE1000 и WinFast под XP всичко заработи веднага. Ако сте твърде мързеливи, за да се справите с неработеща, по-сложна програмна схема, тогава трябва да опитате да сглобите тази. Ето някои неща, които могат да повлияят:

По-новата мат. борда, разработчиците обръщат по-малко внимание на тези портове, тъй като тези портове отдавна са остарели. Можете да се отървете от това, като закупите USB-COM адаптер, въпреки че отново закупеното устройство може да не е подходящо. Необходимите параметри са: променливо напрежениетрябва да се промени поне от -10V до +10V (log. 0 и 1) спрямо 5-ия щифт на конектора. Изходният ток трябва да бъде поне такъв, че когато резистор от 2,7 kΩ е свързан между 5-ия щифт и тествания щифт, напрежението да не пада под 10V (аз не съм виждал такива платки). Също така портът трябва правилно да определя напреженията, идващи от контролера, при ниво на напрежение близо до 0V, но не повече от 2V, се открива нула и съответно при над 2V се открива единица.

Проблеми могат да възникнат и от софтуера.
Това важи особено за LINUX OS, т.к поради наличието на емулатори като wine, портовете на VirtualBox може да не работят правилно и от тях се изискват много функции. Ще засегна тези въпроси по-подробно в друга статия.

Познавайки тези характеристики, нека започнем да строим.
За това е много желателно да имате програмата ICProg 1.05D.
В менюто на програмата първо трябва да изберете в настройките респ. порт (COM1. COM2), изберете JDM програматор. След това отворете прозореца "Проверка на хардуера" в менюто "Настройки". В това меню трябва да поставите отметки в квадратчетата на свой ред и да измерите напрежението на контактите на свързания конектор с волтметър. Ако параметрите на напрежението не отговарят на нормата, тогава, за съжаление, това може да е причината за неработоспособност, тогава ще трябва да сглобите верига с RS-232 TTL конвертор. След като поставите отметка във всички квадратчета, трябва да се уверите, че на ценеровия диод се формира захранващо напрежение от около 5V. Ако напреженията са нормални и няма грешки при монтажа, тогава всичко трябва да работи. Поставяме контролера в гнездото, отваряме фърмуера, програмираме го. Квадратчетата за отметка като „Инвертиране на данните“ не е необходимо да бъдат активирани (всички не са отметнати). Също така не забравяйте, че някои партиди контролери може да нямат съвсем стандартни параметри и не могат да бъдат флашнати, в такива случаи с този програмист можете само да опитате да намалите захранващото напрежение от 5V на 3-4V, като свържете съответното. ценеров диод, погледнете контролера за погрешно активиране на режим LVP (програмиране на ниско напрежение), как да предотвратите, можете да прочетете в интернет за конкретен тип контролер. Вероятно можете да увеличите програмното напрежение на проблемния контролер само чрез усложняване на веригата чрез въвеждане на усилвателно стъпало с общ емитер, захранван от допълнителен източник на енергия.

Сега повече за проблема със захранването на устройството. Програматорът е тестван с програми ICProg и конзола picprog под Linux, трябва да работи с всеки, който поддържа JDM, ако свържете допълнителен източник на захранване (той е свързан чрез резистор 1kΩ към ценеровия диод, диодите с резистори в този случай могат да бъдат напълно изключено). Факт е, че алгоритмите за управление на програмиста за отделен софтуер са различни, програмата ICProg е най-непретенциозната. Беше забелязано, че в Windows OS тази програма на неизползван контакт 2 повдигна правилното напрежениезахранване, същата програма под емулатора в Линукс на друга мат. Платката вече не можеше да направи това, но беше намерен изход чрез вземане на захранване от напрежението за програмиране. Като цяло с ICProg мисля, че можете да използвате този програмист без допълнително захранване. С друг софтуер това едва ли ще бъде гарантирано, например "native" from Хранилища на Ubuntu picprog без захранване просто не открива програмиста, показвайки съобщението „JDM хардуер не е намерено". Вероятно или получава някакви данни, без да прилага напрежението за програмиране, или го прави твърде бързо, така че филтърният кондензатор все още не е имал време да се зареди.