Мазмұны:

AVR микроконтроллерін бағдарламалау үшін экстремалды оттықты қолдану: 8 қадам
AVR микроконтроллерін бағдарламалау үшін экстремалды оттықты қолдану: 8 қадам
Anonim
AVR микроконтроллерін бағдарламалау үшін экстремалды оттықты қолдану
AVR микроконтроллерін бағдарламалау үшін экстремалды оттықты қолдану

Сіз AVR қолданушыларының бауырластығы және ағынға енді ғана еніп жатқандар, сіздердің кейбіреулеріңіз PIC микроконтроллерлерінен, ал кейбіреулері ATMEL AVR -ден бастады, бұл сіз үшін жазылған!

Сіз USBASP сатып алдыңыз, себебі оның Atmega құрылғысындағы ROM -ды жыпылықтауы арзан және тиімді, немесе ATTINY диапазоны. Оларды 5 $ -дан төмен алуға болады, себебі қытайлық ашық көзі USB-ASP клондары! AVRdude - оларды бағдарламалауға арналған бағдарлама.

Сіз Atmel Studio көмегімен Hex файлын қалай жасау керектігін білесіз (мен соңғы v7 орнына әлі AVR Studio v4.19 қолданамын, себебі ол менің бір ядролы процессорлы жеңіл ноутбукте тезірек жұмыс істейді)/ Netbook пен WINAVR орнатады, егер сіз оны оқып отырсаңыз. DotNet -те жазылғанның бәрі баяу жұмыс істейді! ал кейінгі нұсқалары ноутбукты тасбақа сияқты жұмыс істеуге арналған! Сіз AVR микроконтроллерлеріне арналған ATMEL -ден Studio v4.19 студиясының ең жақсы нұсқасын қолдана аласыз, қажет болған кезде 7 -нұсқаға ауыса аласыз және ноутбукте күтудің орнына жұмыс жасай аласыз! Бұл мен ұсынатын нәрсе.

Hex файлымен Atmega бағдарламалауға арналған AVR әдеттегі командалық жолы келесідей жұмыс істейді:

FLASH ЖАЗУ: AVRdude -s -c avrisp -p t44 -P usb -U «жарқыл: w: D: / ARDUINO / pwmeg1.hex: a»

мұнда pwmeg1.hex - бұл Lingo микроконтроллеріндегі «мақсатты MCU» ішіне «өртелетін» немесе «жыпылықтайтын» Intel hex файлы

Бұл есте қаларлық нәрсе! Сіз пакеттік файлды жаза аласыз және оны command_flash.bat деп атау арқылы терезелердегі пәрмен жолында іске қоса аласыз. Сол сияқты сақтандырғыштарды оқу үшін, тағы бір жолды есте сақтаңыз! Бұл жалықтырады.

оқу үшін flash + eeprom: AVRdude -s -c avrisp -p t44 -P usb -U «flash: r: D: / ARDUINO / pwmeg1.hex: i» -U «eeprom: r:: i»

Шешім AVRdude-ге Bitburner, Khazama бағдарламашысы сияқты ыңғайлы GUI құралдарының бірін пайдаланады, олар іс жүзінде ұқсас. eXtreme Burner. Мен ақысыз қолдануға болатын құралды қолдандым: eXtreme Burner, оның әмбебап, сенімді, және бұл оқулық осы туралы. Ол фондық режимде AVRdude -ге берілген пәрмендерді қолдана отырып, сіздің он алтылық файлыңызды / бағдарламаңызды MPU -ға жыпылықтап қана қоймайды, сонымен қатар жаңашылдарды AVR бағдарламалауымен жиі шатастыратын күрделі тақырып болып табылатын FUSES орнатуға көмектеседі. Мұнда сіз өтуге немесе жаңартуға болатын FUSES тақырыбындағы тамаша оқулыққа сілтеме бар. Ескерту: ATMEL FUSE битінің «1» күйін өзінің «әдепкі» күйін (орнатылмаған немесе бағдарламаланбаған күйді) және «0» бағдарламаланған немесе орнатылған немесе белсендірілген күйін көрсету үшін қолданады! Бұл PIC микроконтроллеріндегі FUSE биттерімен жасайтын әрекеттерге қарама -қайшы. Ішкі RC сағатын сыртқы кристаллға ауыстыру сияқты сақтандырғыштардың разрядтарын өзгерткен кезде абай болыңыз, себебі бұл чипке сыртқы кристалды орнатусыз қосылуда қиындықтар туғызады. SPIEN және RESET DISABLE сияқты сыни сақтандырғыштардың күйін өзгерткен кезде абай болыңыз (егер олар ISP / SPI режимінде USB-ASP арқылы MCU-мен байланысын жалғастырғыңыз келсе, олар әрқашан SPIEN = 0 және RESET DISABLE = 1 күйіне орнатылуы керек). ! Егер сіз мұны ашсаңыз, сізге AVR -ді ажырату үшін жоғары вольтты бағдарламашы қажет болады.

Егер сіз «сақтандырғыштар не» және «олар не істейді» деп ойласаңыз? Бұл керемет жазбаны оқыңыз:

Тағы бір байланысты тақырып - AVR MPU жылдамдығының жылдамдығын 1 МГц -тен 16 немесе 20 МГц -ке дейін орнатуға болады. Сондай -ақ, 31,25 кГц төмен жиілікті кристалды опционды электр қуаты бар, егер ол дұрыс құрастырылса, АВР батареяларын 3 айға өшіре алады!

Бұл екеуін де сағат сақтандырғыш биттерін (жиілік пен сағаттың ішкі RC/сыртқы кристаллдың түрі және басқа сақтандырғыш биттері) eXtreme Burner ішіндегі FUSES қойындысы арқылы орнатуға болады. Алдымен біз сізге ROM -ды оқуды, содан кейін eXtreme Burner көмегімен он алтылық файлды қалай жыпылықтау керектігін көрсетеміз. Әрине, сіз онлайн AVR сақтандырғыш веб -сайттарын қолдана аласыз, бірақ мен түсіндіретін опцияны сіз офлайн режимде кез келген жерде қолдануға болады.

1 -қадам: Орнатылатын параметрлер:

Орнатылатын параметрлер
Орнатылатын параметрлер
Орнатылатын параметрлер
Орнатылатын параметрлер
Орнатылатын параметрлер
Орнатылатын параметрлер
Орнатылатын параметрлер
Орнатылатын параметрлер

Суреттерде сіз жұмысқа кіріспес бұрын жасалатын параметрлерді көрсетеді. (бұл тек бір рет). «Аппараттық құралдар параметрлері» қосалқы мәзірінің астында біз 375 Гц таңдаймыз, себебі ATMEL зауытының MCU-ның көп бөлігі ішкі RC осцилляторындағы 1 МГц процессорлық сағаттың әдепкі параметрлері болып табылады. Интернет -провайдердің жылдамдығы F_cpu тоқсанына тең. Бұл бізге 375 Гц ең жақын жылдамдықты береді, сіз төмен жылдамдықпен жүре аласыз, бұл маңызды емес. Сіз оны әдепкі бойынша қалдырып, «барлығын оқуға» рұқсат бере аласыз, егер ол сәтсіз болса, сіз осында келіп, жылдамдықты төмендете аласыз.

Егер сіз қосыла алмасаңыз (бағдарламашы терезесінде «чиппен байланыса алмайды, SCK мүмкін емес» деген хабарлама беріледі) сіздің компьютеріңіздегі сағат сигналы сіз оқуға тырысатын чиппен синхрондалмайтынын білдіреді. Бағдарлама)., сіз процессордың жылдамдығын өзгерте алмайсыз немесе оның жылдамдығы мен түрін өзгерте алмайсыз! Сондықтан байланыс - бәрінің негізі! Бұл Спилберг фильмдерінде көргендей «БІРІНШІ БАЙЛАНЫС» сияқты. Егер сіз бұған қол жеткізсеңіз, сақтандырғыштарды сәйкесінше бағдарламалау арқылы MCU -дың жұмыс жылдамдығын арттыра аласыз, кейінірек қосылу үшін жоғары жылдамдықты қолдана аласыз.

Мұнда берілген аппараттық құралдардың суреттерін қараңыз, содан кейін құрылғы түрін де орнатыңыз (сіз бағдарламалайтын чип, оның үлгі нөмірі).

2 -қадам: құрылғы түрін орнату

Құрылғы түрін орнату
Құрылғы түрін орнату
Құрылғы түрін орнату
Құрылғы түрін орнату
Құрылғы түрін орнату
Құрылғы түрін орнату

скриншотты қараңыз, 1 -сурет, біз «ATTINY44A» орнаттық. Бұл UART жоқ 14 істікшелі микроконтроллер. Мен мұны жақында SSU нұсқасын қолдандым. Егер сіз Extreme burner stock нұсқасын орнатқан болсаңыз, құрылғыны таңдау ашылмалы тізімінде Attiny44A көрінбейді, сіз Attiny44A бағдарламасын көре аласыз, оны біз барлық мақсатта Attiny44A бағдарламалау үшін қолдана аламыз, осы ашылмалы тізімге енгізілмеген кез келген құрылғыны енгізу үшін., менің басқа нұсқаулық «Hacking eXtreme Burner» оқыңыз.

Мен Atmega88PA-AU-ды eXtreme Burner-мен де қолдандым, бірақ бұл нұсқаулықта біз барлық жерде «Attiny44A» туралы айтамыз. Енді сіз 7 мм шаршы шағын SMD чипінің тақтайша нұсқасын қалай жасайсыз және оны бағдарламаларыңызбен қалай тексересіз? (чиптің өлшемін көрсететін суреттерді қараңыз), Бұл үшін менің басқа нұсқаулықты қараңыз, онда мен Attiny44A-SSU және ATmega88PA-AU көмегімен Breadboard-дің қосылатын модульдерді қалай жасау керектігін көрсетемін.

Сіз бұл техниканы меңгергеннен кейін, сіз өзіңізге қызықты SMD немесе DIL пакеті бар кез келген чипті тексере аласыз. Мысалы, мен 32-істікшелі 0.8 мм түйреуішті Quad пакетінде (Atmega88A) келетін SMD чипін қолдандым!

. Немесе бұл нұсқаулық үшін Attiny44A 28pin DIL нұсқасын немесе AVR бағдарламалау үшін eXtreme Burner бағдарламасын қолданып жүрген кез келген AVR -ды қолдануға болады.

3 -қадам: БАРЛЫҒЫН ОҚЫҢЫЗ немесе ОҚЫҢЫЗ

Барлығын ОҚЫҢЫЗ немесе ОҚЫҢЫЗ
Барлығын ОҚЫҢЫЗ немесе ОҚЫҢЫЗ
Барлығын ОҚЫҢЫЗ немесе ОҚЫҢЫЗ
Барлығын ОҚЫҢЫЗ немесе ОҚЫҢЫЗ

USBasp -ты ноутбуктің USB портына қосыңыз, менің ойымша, сіз бағдарламашымен бірге келген дұрыс драйверлерді жүктедіңіз және ол дұрыс анықталды. Ол USB портына қосыла салысымен, терезенің бастапқы мәзірінде 'Құрылғылар мен принтерлер' астында пайда болуы керек! Мақсатты чипті USB картасына қосыңыз (сәйкес SDI // ISP түйреуіштері 6 істікшелі немесе 10 істікшелі кабель арқылы қосылуы керек, атап айтқанда түйреуіштер: MOSI, RESET, MISO, SCK, Vcc, Ground).

Xtreme Burner мәзірінен БАРЛЫҒЫН ОҚЫҢЫЗ. Біз алған суреттер мен хабарламаларды қараңыз. Бастапқыда экранда қыздырғыштың бірінші таблицасында ROM үшін 'FF' көрсетілді, барлығын оқығаннан кейін чиптегі нақты ROM мазмұны көрсетіледі. Егер сіз зауыттық жаңа чипті немесе өшірілген чипті қолдансаңыз, «Барлығын оқу» дегеннен кейін мазмұнда FF пайда болады. Бағдарламаланбаған чип өзінің жадында 'FF' белгісін көрсетеді, сонымен қатар EEPROM (бағдарламашыдағы екінші қойынды), соңғы қойындыда САҚТАУЛАР көрсетіледі.

БАРЛЫҚ ОҚЫЛҒАН соң, 3 қойынды чиптегі дұрыс ақпаратты көрсетеді. Бұған дейін олай болмас еді, сондықтан сіз бәрін қосқаннан кейін алдымен Барлығын оқыңыз.

4 -қадам: Flash -ке жазыңыз (сіздің он алтылық файлыңыз чиптегі ROM -ға жыпылықтады)

Flash -ке жазыңыз (сіздің он алтылық файлыңыз чиптегі ROM -ға кірді)
Flash -ке жазыңыз (сіздің он алтылық файлыңыз чиптегі ROM -ға кірді)
Flash -ке жазыңыз (сіздің он алтылық файлыңыз чиптегі ROM -ға кірді)
Flash -ке жазыңыз (сіздің он алтылық файлыңыз чиптегі ROM -ға кірді)
Flash -ке жазыңыз (сіздің он алтылық файлыңыз чиптегі ROM -ға кірді)
Flash -ке жазыңыз (сіздің он алтылық файлыңыз чиптегі ROM -ға кірді)

Жоғарыдағы MENU жолағындағы бірінші белгішені басқанда ашылатын Шолу диалогы арқылы файлды таңдаңыз. Біз суретте көріп тұрғандай бір файлды таңдадық. Он алтылық файлды таңдағаннан кейін (intel hex форматы) «жүктелмеген файл» мәзірі сіз жүктеген файл атауына өзгерді.

Енді бағдарламалық жасақтама мәзірінен жазу флэшін шығарыңыз. Хабарлар сізге не болып жатқанын көрсетеді. суреттерді қараңыз.

Сәтті жазудан кейін сіз бағдарламалық жасақтаманың немесе он алтылық файлдың өзгергенін немесе жаңартылған ROM өзгерісін белгілейтін 'FF' көресіз. Сіздің файлыңыздың ROM -да алатын байттардың көлемі немесе саны сізге дәл қазір жарқылдаған мақсатты чиптің нақты ROM мазмұнын көрсететін экранға қарап сізге белгілі болады.

Тексеру қадамы чипті оқу арқылы да жасалады, біз бірінші қадамда орнатқан РЕТТЕУЛЕР бойынша. Бұл тексеру сәтті болғандығы туралы хабарларда көрінеді.

5 -қадам: САҚТАНДЫРУЛАР: Оларды экстремалды отта қалай орнатуға болады

САҚТАНДЫРУЛАР: Оларды экстремалды оттықта қалай орнатуға болады
САҚТАНДЫРУЛАР: Оларды экстремалды оттықта қалай орнатуға болады

Сіз барлығын оқығанда сақтандырғыштар чиптен оқылады. Бұл БІРІНШІ сурет fuses-j.webp

Енді оларды басқа нәрсеге өзгерту керек шығар. Сақтандырғыштар eXtreme Burner экранындағы соңғы кестеде 4 қораптан тұрады. Атап айтқанда, төмен сақтандырғыш байт, жоғары сақтандырғыш байт, ұзартылған сақтандырғыш байт, құлыптау сақтандырғыш байт және калибрлеу байт. олар ретімен көрсетіледі.

Сіз ONLINE сақтандырғыш калькуляторын қолдана аласыз және оларды сол сияқты толтыра аласыз

eleccelerator.com/fusecalc/fusecalc.php?

Немесе сіз мұны істеу үшін eXtreme қыздырғышын қолдана аласыз. кез келген уақытта дербес күйде: сақтандырғыш байттың әр түрінің астында орналасқан DETAILS түймесін басқанда пайда болатын ашылмалы тізімнен таңдаңыз. DETAILS экранындағы кез келген жолды екі рет нұқыңыз және оның SET -тен CLEARED -ге ауысуын қараңыз және оның жолын тышқанмен әр жолға шертіңіз. Жоғарыдағы қораптағы сақтандырғыш байты сәйкесінше өзгереді.

Егер сіз «сақтандырғыштар не» және «олар не істейді» деп ойласаңыз? Бұл керемет жазбаны оқыңыз:

www.instructables.com/id/Avr-fuse-basics-Running-an-avr-with-an-external-cl/

6 -қадам: Экстремалды оттық сақтандырғышының калькуляторын пайдаланып сақтандырғыштарды орнату

Экстремалды оттық сақтандырғышының калькуляторын пайдаланып сақтандырғыштарды орнату
Экстремалды оттық сақтандырғышының калькуляторын пайдаланып сақтандырғыштарды орнату
Экстремалды оттық сақтандырғышының калькуляторын пайдаланып сақтандырғыштарды орнату
Экстремалды оттық сақтандырғышының калькуляторын пайдаланып сақтандырғыштарды орнату
Экстремалды оттық сақтандырғышының калькуляторын пайдаланып сақтандырғыштарды орнату
Экстремалды оттық сақтандырғышының калькуляторын пайдаланып сақтандырғыштарды орнату

Сіз сақтандырғыш байттардың әрқайсысы үшін пайда болатын Мәліметтер экранын көре аласыз (LOW, HIGH, EXTENDED, LOCK және Calibration). Калибрлеу байты өзгеріссіз қалуы керек, себебі ол AVR -да ішкі RC осцилляторына қолданылатын калибрлеу деректерінің байтын көрсетеді. LOCK байты әдетте FF болып табылады, (жоғарыдағы суреттерде талқыланбаған), себебі сіз оқу кезеңінде Flash немесе EEPROM -ды құлыптамайтын боласыз. Сіз төмен, жоғары және ұзартылған байттарды ғана өзгертер едіңіз. Сақ болыңыз !

Егер сіз SPIEN битін 1 -ге өзгертсеңіз (AVR микроконтроллерінде бағдарламаланбаған күй 1), сіз USBASP немесе кез келген бағдарламашының көмегімен чиппен байланыса алмайсыз! Әр сақтандырғыш биті үшін экранда әдепкі күй көрсетіледі. Бұл сізге ISP бағдарламалау үшін SPI режимін пайдалануға мүмкіндік беретін SPIEN әдепкі мәні әрқашан 0 (бағдарламаланған күй) екенін ескертеді. Жөндеу сымы немесе DW биті SPIEN 0 мәніне орнатылғанда әрқашан 1 (бағдарламаланбаған) қалады. Бұл оның әдепкі күйі. Сонымен қатар, егер сіз USB-ASP-ді мақсатты микросхемаңызды бағдарламалау үшін пайдалансаңыз (ARDUINO-дағы жүктеуші ROM-ды пайдаланбайтын болсаңыз).

Ішкі RC немесе сыртқы кристалды таңдау үшін CLOCK биттерін (саны 3) өзгертуге болады. Мен әдетте оны ішкі RC үшін қалдырамын, бұл сізге сыртқы кристалды босату сіздің AVR жобаларыңыз үшін PORT түйреуіштері ретінде қолдануға болатын 2 қосымша түйреуіш алуға мүмкіндік береді. Әдетте сыртқы кристалл сіздің жобаңызда жоғары дәлдіктегі уақыт қажет болғанда қажет. Оқушылар үшін ішкі RC жеткілікті.

Әдетте сіз сақтандырғыштардың комбинациясына тоқтағаннан кейін оны өзгертпес едіңіз. Бұл бір реттік болар еді. Сіз ROM -ды немесе кейде EEPROM -ды ғана жыпылықтаған болар едіңіз. EEPROM жыпылықтау үшін бөлек.eep файлын WINAVR / ATMEL студиясы жасайды, егер сіздің бағдарламаңыз деректерді сақтау үшін EEPROM қолданса. Әйтпесе, EEPROM пайдаланылмай қалады, EEPROM -дің «ДЕРЕКТЕРІ жоқ» күйін көрсететін «FF» деректерімен толтырылады.

7 -қадам: сақтандырғыш биттердің соңғы мәні

Сақтандырғыш биттердің соңғы мәні
Сақтандырғыш биттердің соңғы мәні

Барлық сақтандырғыш биттерін орнатып, сіз қолданған DETAILS терезелерін жапқаннан кейін, сақтандырғыш битінің мәнін бағдарлама бойынша есептеуге болады (суретті қараңыз). Мәзірді пайдалану арқылы «Жазу сақтандырғыштарын» шығару ғана қалады және сәтті жазу туралы хабарларды қараңыз. Кейінірек, сіз мәзірден БАРЛЫҚТЫ ОҚЫП шығара аласыз және оттық экранының соңғы кестесінде оқшауланған материалдар чипке жазғыңыз келетін нәрсеге сәйкес келетінін тексере аласыз. (Сақтандырғышты тексеру).

Сіз Нұсқаулықтың басында READ FUSES жасаған кезде, экранда біз көрген FUSE мәндері көрсетілгенін байқайсыз! Себебі бұл мен жиі қолданатын сақтандырғыштар, мен оларды MCU -ға орнатқаннан кейін сирек өзгертемін, егер мен кейбір жобалар үшін жиілікті 1 МГц -тен 4 МГц -ке өзгертпейінше. AVR максималды 20 МГц -ке орнатуға болады (кейбір микросхемалар тек 16 МГц -ке дейін). Сіз F_cpu үшін орнатқан жиілік чипті беретін кернеуге де байланысты! Мысалы, егер сіздің чипіңіз 1,8 В кернеуінен 5,5 В -ге дейін жұмыс істесе (мәліметтер парағына сілтеме), егер сіз оған тек 1,8 В қуат берсеңіз, чипті 20 МГц -те іске қосасыз деп ойламайсыз! сіз одан көп нәрсе күтесіз! Мәліметтер парағындағы кесте жиіліктің қай фигурада жоғары кернеуде болатынын көрсетеді. Чиптің жұмыс жиілігі неғұрлым жоғары болса, соғұрлым ол жылу мен қуатты көбірек тұтынады. Жануарлардың жүрек соғысы сияқты жиілікті ойлап көріңіз. Есту ырғағы жоғары қарақұйрықтың жүрегі соғуы әлдеқайда аз китке немесе пілге қарағанда минутына жоғары энергия жанып кетеді! Бірақ содан кейін ол қысқа мерзімде көп нәрсені жасай алады. MCU дәл осылай.

8 -қадам: Аяқтаңыз

Енді сіз eXtreme burner -дегі барлық қадамдарды орындадыңыз, сіз чиптің ROM -ын оқыдыңыз, HEX файлын ашып, оны чипке шығардыңыз және жарқылдың жарамды екенін тексердіңіз, сонымен қатар сақтандырғыштарды орнатып, оларды чипке қалай жағуды білдіңіз..

Егер сізде сұрақтар туындаса, мен түсінікті болу үшін оқулыққа жауап беруге немесе өзгертуге қуаныштымын.

Кейбір чиптер үшін мәзірдегі чип таңдау ашылмалы тізімінде оның жазбасы жоқ болуы мүмкін. Немесе сіз жазу қателеріне тап болып, қателерді тексере аласыз. Мұндай жағдайларда мәселені шешу үшін менің басқа нұсқаулықты «Hacking eXtreme Burner» оқыңыз.

Бақытты бағдарламалау.

Ұсынылған: