Първо няколко думи за програматорите и защо те са ни необходими в контекста на работа с микроконтолери. След като напишем дадена програма и компилираме получаваме поредица от машинни инструкции записани във файл (най често със разширение .hex) Тази файл всъщност представлява представлява превод на нашата програма на специфичния език на микроконтролера, така че той да може да я изпълни. Целта на прогрматора е да запише въпросната програма в енергонезависимата памет на микроконтролера (така наречения FLASH). Програматора е устройство, което представлява съвкупност от 2 части хардуер и софтуер. С помощта на хардуера се осъществява физическа връзка между MCU и PC, а софтуера управлява процеса на запис.
След тези уводни думи ще опиша накратко работата с известния програматор PonyProg и конкретно как да записваме MCU от серията AVR на фирмата ATMEL, към която спадат и ATMEGA процесорите.
PonyProg може да се изтегли от следната страница:
http://www.lancos.com/ppwin95.html ,последната версия е 2.07a
PonyProg предлага подръжка на много видове памети и MCU и два вида интерфейса за връзка чрез серийния и паралелния порт на PC. Паралелния порт е по удобен за работа тъй като позволява директна връзка със MCU, без да е неободимо да се конвертират нивата на сигналите.
След инсталирането на програмата е нужно да се направи калибрация и да се настрои интрефейса за връзка. Калибрирането става от меню "Setup->Calibration" като се следват инструкциите по екрана. Настройката на интерфейса става от меню "Setup ->Interface Setup", появява се един диалогов прозорез "I/O port setup" и него избираме режим "Parallel" и опция от падащото меню "AVR ISP I/O" и накрая избирам паралелния порт с който да работим (обикновено това е LPT1)
След като приключихме с тези настройки, остава да укажем фамилията и типа процесор с който ще работим. Това става от двете падащи менюта от оснвния прозорец на програмата. От първия избираме "AVR micro", а от втория конкретния модел в нека в нашия пример това е ATmega8. С това софтуера е настроен и сега трябва да се преборим с хардуера. Има няколко различни схеми за свързване, засега ще се спрем на най простата, която е дал Борислав в този негов постинг:
http://www.robotics-bg.com/forum/viewtopic.php?p=490#490Тя позволява директна връзка (през резистори, моля не си ги спестявайте!) между MCU и PC. Каква е идеята? Микроконтролера има вграден протокол за прорамиране през специализиран сериен интерфейс. Той ползва 5 връзки със следните имена SCK, MISO,MOSI, RESET и разбира се GND. Тези сигнали са изведени на пиновете на MCU и необходимо да се свържат съгласно указаната схема към паралелния порт. PonyProg управлява съответните пинове на пралалелния порт като по тозиначин реализира протокола за запис на паметта на микроконтролера.
Засега спирам и в следващите постинги ще обясня по нататъшните стъпки. Успех на всички