Мазмуну:

AVR микроконтроллерин программалоо үчүн EXTREME Burner КОЛДОНУУ: 8 кадам
AVR микроконтроллерин программалоо үчүн EXTREME Burner КОЛДОНУУ: 8 кадам

Video: AVR микроконтроллерин программалоо үчүн EXTREME Burner КОЛДОНУУ: 8 кадам

Video: AVR микроконтроллерин программалоо үчүн EXTREME Burner КОЛДОНУУ: 8 кадам
Video: ESP8266 ESP01 WI-FI-UART | Программирование LDmicro-Roboremo 2024, Ноябрь
Anonim
AVR микроконтроллерин программалоо үчүн EXTREME Burner КОЛДОНУУ
AVR микроконтроллерин программалоо үчүн EXTREME Burner КОЛДОНУУ

Бардык AVR колдонуучуларынын боордоштугу жана агымга жаңы киргендер, кээ бирлериңиз PIC микроконтроллерлери менен, кээ бирлери ATMEL AVR менен башташты, бул сиз үчүн жазылган!

Ошентип, сиз USBASP сатып алдыңыз, анткени анын Atmega түзмөгүңүздөгү ROMду, же ATTINY диапазонун жаркыратуу арзан жана эффективдүү. Буларды 5 долларга чейин алууга болот, анткени ачык булак USB-ASPтин кытай клондору! AVRdude - бул аларды программалоо үчүн программа.

Сиз, албетте, Atmel Studio аркылуу Hex файлын кантип түзүүнү билесиз (мен дагы акыркы v7дин ордуна AVR Studio v4.19 колдонуп келем, анткени ал менин бир ядролук CPU ноутбугумда тезирээк жана ылдамыраак)/ Netbook жана WINAVR, эгер сиз муну окуп жатсаңыз. DotNetте жазылган нерсенин баары жай иштейт! жана кийинки версиялар ноутбукту таш бакага окшоп иштетүү үчүн иштелип чыккан! Сиз AVR микроконтроллерлери үчүн ATMELден Studio v4.19дун эң мыкты версиясын колдоно аласыз, 7 -версияга кийинчерээк чиптер үчүн керек болгондо которулуп, ноутбукта убактыңызды жемиштүү кылып, күтүүнүн ордуна иштей аласыз! Бул мен сунуштаган нерсе.

Hex файлы бар Atmega программасы үчүн кадимки AVR досунун буйрук сабы мындай иштейт:

FLASH ЖАЗЫҢЫЗ: AVRdude -s -c avrisp -p t44 -P usb -U "flash: w: D: / ARDUINO / pwmeg1.hex: a"

Бул жерде pwmeg1.hex - бул Lingo микроконтроллериндеги "максаттуу MCUга" "өрттөлүүчү" же "жаркыраган" Intel hex файлы

Бул эстен кеткис сөз! Сиз пакеттик файлды жазып, аны windows_script_flash.bat деп атаган Windowsтун командалык сабында иштете аласыз. Ошо сыяктуу эле, сактандыргычтарды окуу үчүн, дагы бир оозду унутпоо керек! Бул тажатма болуп калат.

окуу үчүн flash + eeprom: AVRdude -s -c avrisp -p t44 -P usb -U "flash: r: D: / ARDUINO / pwmeg1.hex: i" -U "eeprom: r:: i"

Чечим-бул дээрлик окшош Bitburner, Khazama программисти сыяктуу AVRdude үчүн колдонуучуга ыңгайлуу GUI инструменттеринин бирин колдонуу. eXtreme Burner. Мен бекер куралды колдондум: eXtreme Burner көп, анын ар тараптуу, ишенимдүү, жана бул үйрөткүч ошол жөнүндө. Ал фонунда AVRdude берген буйруктарды колдонуп, өзүңүздүн он алтылык файлыңызды / программаңызды MPUга жаркылдатып эле койбостон, FUSESти орнотууга да жардам берет, бул татаал тема, бул көбүнчө үйрөнчүктөрдү AVR программалоосуна аралаштырат. Бул жерде сиз FUSES темасындагы эң сонун окуу куралына шилтеме бар, аны сиз өтсөңүз болот. Эскертүү: ATMEL FUSE битинин "1" абалын өзүнүн "демейки" абалын (орнотулбаган же программаланбаган абалын) жана "0" программасын же орнотулган же активдештирилген абалын көрсөтүү үчүн колдонот! Бул PIC микроконтроллериндеги FUSE биттери менен кылган нерсеге карама -каршы. Ички RC саатын тышкы кристаллга алмаштыруу сыяктуу саатты коргоочу биттерин өзгөрткөндө этият болуңуз, анткени бул тышкы кристаллды орнотпостон чипке туташууда көйгөйлөрдү жаратат. Ушундай эле, SPIEN жана RESET DISABLE сыяктуу кризистик биттердин абалын өзгөрткөндө этият болуңуз (эгерде сиз ISP / SPI режиминде USB-ASP менен MCU менен байланышты улантууну кааласаңыз, булар SPIEN = 0 жана RESET DISABLE = 1 деп коюлушу керек. ! Эгер сиз муну өчүрсөңүз, анда AVR'иңизди ачуу үчүн сизге жогорку вольттуу программист керек болот.

Эгерде сиз "эмне деген сактануу" жана "алар эмне кылышат" деп ойлоп жатсаңыз? Бул сонун жазууну окуңуз:

Дагы бир тиешелүү тема - 1 МГцтен 16 же 20 МГцке чейинки ылдамдыкка жөндөмдүү AVR MPUңуздун Саат ылдамдыгын кантип орнотуу. 31.25 кГц өзгөчө ылдамдыктагы өзгөчө кубаттуулуктагы кристалл варианты бар, эгерде ал туура иштелип чыкса, AVR батарейкаңызды 3 айга өчүрө алат!

Булардын экөө тең, Clock Fuse биттери (экөө тең жыштык жана сааттын ички RC/тышкы кристаллы жана башка Fuse биттери) eXtreme Burnerдеги FUSES өтмөгү аркылуу орнотулушу мүмкүн. Биринчиден, биз сизге ROMду окууну көрсөтөбүз, андан кийин eXtreme Burner аркылуу он алтылык файлды кантип жаркылдатуу керек. Албетте, сиз онлайн AVR сактандыруучу вебсайттарын колдоно аласыз, бирок мен түшүндүргөн вариант сиз оффлайнда болсоңуз, каалаган жерде колдонсо болот.

1 -кадам: Орнотуулар:

Орнотуулар
Орнотуулар
Орнотуулар
Орнотуулар
Орнотуулар
Орнотуулар
Орнотуулар
Орнотуулар

Сүрөттөр жумушту баштоодон мурун жасала турган ЖӨНДӨӨЛӨРДҮ көрсөтөт. (бир гана жолу). "Аппараттык орнотуулар" суб-меню пунктунун астында биз 375 Гцти тандап жатабыз, анткени ATMEL фабрикасынан MCU көбү ички RC осцилляторунда 1 МГц CPU саатынын Демейки жөндөөлөрүнө коюлган. ISP ылдамдыгы F_cpu чейреги. Бул бизге 375 кГцке жакын ылдамдыкты берет, сиз дагы төмөн ылдамдыкка барсаңыз болот, анча деле айырмасы жок. Сиз муну демейки абалында калтырып, "бардыгын окуйсуз" деп чыгууга аракет кылсаңыз болот, эгер ал ишке ашпаса, анда бул жерге келип ылдамдыкты төмөндөтүп өзгөртө аласыз.

Эгерде сиз туташа албасаңыз (программисттин терезесинде "чип менен байланыша албайт, SCK болбойт" деген билдирүү берилет), сиздин компьютериңиздеги саат сигналы сиз окуганга аракет кылып жаткан чипиңиз менен шайкештештирилбейт дегенди билдирет. Программа)., сиз CPU сааттын ылдамдыгын өзгөртө албайсыз же анын ылдамдыгын жана түрүн өзгөртө албайсыз! Ошентип туташуу - баарынын негизи! Бул Спилберг тасмаларындагыдай "БИРИНЧИ БАЙЛАНЫШ" сыяктуу. Эгерде сиз буга ийгиликке жетсеңиз, анда дайыма сактандыруучуларды программалоо аркылуу MCU саатыңыздын ылдамдыгын жогорулатып, кийинчерээк туташуу үчүн жогорку ылдамдыкты колдоно аласыз.

Ошентип, бул жерде берилген аппараттык жөндөөлөрдүн сүрөттөрүнөн өтүңүз, андан кийин түзмөктүн түрүн да коюңуз (сиз программалоого аракет кылып жаткан чип, анын моделинин номери).

2 -кадам: Сиздин түзмөктүн түрүн орнотуу

Түзмөгүңүздүн түрүн орнотуу
Түзмөгүңүздүн түрүн орнотуу
Түзмөгүңүздүн түрүн орнотуу
Түзмөгүңүздүн түрүн орнотуу
Түзмөгүңүздүн түрүн орнотуу
Түзмөгүңүздүн түрүн орнотуу

скриншотту караңыз, 1 -сүрөт, биз "ATTINY44A" орноттук. Бул UART деген 14 пиндүү микроконтроллер. Мен муну жакында эле колдонуп келе жатам, SSU версиясы. Эгерде сиз Extreme burner акция версиясын орноткон болсоңуз, анда сиз 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 чипин колдондум!

. Же жөн эле бул Instructable үчүн Attiny44Aнын 28pin DIL версиясын же AVR программалоо үчүн eXtreme Burnerди колдонуп жаткан AVRди колдонсоңуз болот.

3 -кадам: БААРЫН ОКУҢУЗ ЖАНА ОКУҢУЗ

Бардыгын ОКУУ же ОКУУ ФЛАСЫН чыгаруу
Бардыгын ОКУУ же ОКУУ ФЛАСЫН чыгаруу
Бардыгын ОКУУ же ОКУУ ФЛАСЫН чыгаруу
Бардыгын ОКУУ же ОКУУ ФЛАСЫН чыгаруу

USBaspти ноутбуктун USB портуна туташтырыңыз, менимче, сиз программистиңиз менен келген туура драйверлерди жүктөдүңүз жана ал туура табылды. Ал USB портуна туташа баштаганда, терезелердин баштоо менюсунда "Түзмөктөр жана Принтерлер" бөлүмүнүн алдында көрүнүшү керек! Максаттуу чипти USBasp менен туташтырыңыз (тиешелүү SDI // ISP казыктары 6 пин же 10 пин кабелин колдонуп, экөөнүн ортосуна туташтырылышы керек: MOSI, RESET, MISO, SCK, Vcc, Ground).

Xtreme Burner менюсунан БААРЫН ОКУҢУЗ. Биз алган сүрөттөрдү жана билдирүүлөрдү караңыз. Башында экраныңыз күйгүзгүчтүн биринчи табында ROM үчүн 'FF' көрсөткөн, баарын окуп чыккандан кийин ал чипте чыныгы ROM мазмунун көрсөтөт. Эгерде сиз фабриканын жаңы чипин же өчүрүлгөн чипти колдонгон болсоңуз, анда "Бардыгын окуудан" кийин ФФны көрөсүз. Программасыз чип эсинде 'FF' көрсөтөт, ошондой эле EEPROM (программисттин экинчи өтмөгү), акыркы өтмөктө FUSES көрсөтүлөт.

БААРЫН ОКУГандан кийин 3 өтмөк чипте камтылган туура маалыматты көрсөтөт. Буга чейин андай болмок эмес, андыктан бардыгын туташтырар замат Баарын окугула.

4 -кадам: Flash жазуу

Flash жазуу
Flash жазуу
Flash жазуу
Flash жазуу
Flash жазуу
Flash жазуу

Жогорудагы МЕНЮ тилкесиндеги биринчи сөлөкөттү чыкылдатуу менен ачылган Browse диалогунун жардамы менен файлды тандаңыз. Сүрөттө көрүнүп тургандай, биз бир файлды тандап алдык. Сиз он алтылык файлды (intel hex форматы) тандагандан кийин, "жүктөлгөн файл жок" деген меню тилкеси сиз жүктөгөн файлдын атына өзгөрдү.

Эми программалык камсыздоонун менюсунан жазуу флешин чыгарыңыз. Билдирүүлөр сизге эмне болуп жатканын көрсөтөт. сүрөттөрдү көрүү.

Ийгиликтүү жазгандан кийин, сиз программаңыздын же он алтылык файлыңыздын ичине жаңы же өчүрүлгөн ROM өзгөрүүсүн белгилеген 'FF' көрөсүз. Файлыңыздын ROMдо ээлеген байттардын өлчөмү же саны, сиз азыр эле жарк эткен максаттуу чипиңиздин чыныгы ROM мазмунун көрсөткөн бул экранды карап сизге да белгилүү.

Текшерүү кадамы, биз биринчи кадамда кылган ЖӨНДӨӨЛӨРГӨ ылайык, чипти окуу менен да жасалат. Бул текшерүү ийгиликтүү болгон билдирүүлөрдө көрүнүп турат.

5 -кадам: FUSES: Экстремалдуу күйгүчтө аларды кантип орнотсо болот

FUSES: Аларды Extreme Burnerде кантип орнотсо болот
FUSES: Аларды Extreme Burnerде кантип орнотсо болот

Сиз БААРЫН ОКУГАНДАН кийин, сактандыргычтар чиптен окулду. Бул БИРИНЧИ сүрөт көрсөтүлгөн fuses.jpg.

Эми, балким, сиз аларды башка нерсеге алмаштырышыңыз керек. Сактандыргычтар eXtreme Burner экраныңыздагы акыркы TABдеги 4 кутудан турат. Тактап айтканда, ТӨМӨН БУЙТ, БАЙКОО ФУЗЕЙТ, УЗАРТЫЛГАН САКТОО БАЙТЫ, БУТТУ КАЙТАРУУ ЖАНА КАЛИБРАЦИЯ БАЙТЫ. ушундай тартипте алар көрсөтүлөт.

Сиз жөн гана ОНЛАЙН сактандыргыч калькуляторун колдонуп, аларды толтура аласыз

eleccelerator.com/fusecalc/fusecalc.php?

Же сиз үчүн eXtreme burner колдонсоңуз болот. каалаган убакта оффлайнда: Ар бир сактандыруу байтынын астындагы DETAILS баскычын басканда пайда болгон ачылуучу тизмеден тандаңыз. DETAILS экранындагы каалаган сапты эки жолу чыкылдатыңыз жана анын SETтен CLEAREDге өзгөргөнүн көрүңүз жана чычкан басуу менен анын абалын алмаштырыңыз. Жогорудагы кутучадагы Fuse Byte ошого жараша өзгөрөт.

Эгерде сиз "эмне деген сактануу" жана "алар эмне кылышат" деп ойлонуп жатсаңыз? Бул сонун жазууну окуңуз:

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

6 -кадам: Extreme Burner Fuse Calculator колдонуу менен сактандыргычтарды орнотуу

Extreme Burner Fuse Calculator колдонуп, сактандыргычтарды орнотуу
Extreme Burner Fuse Calculator колдонуп, сактандыргычтарды орнотуу
Extreme Burner Fuse Calculator'дун жардамы менен сактандыргычтарды орнотуу
Extreme Burner Fuse Calculator'дун жардамы менен сактандыргычтарды орнотуу
Extreme Burner Fuse Calculator колдонуп, сактандыргычтарды орнотуу
Extreme Burner Fuse Calculator колдонуп, сактандыргычтарды орнотуу

Сиз ар бир сактандыруучу байт үчүн пайда болгон Деталдар экранын көрө аласыз (ТӨМӨН, ЖОГОРУ, УЗАРТЫЛГАН, КУЛПУКТАП ЖАНА Калибрлөө). Калибрлөө байты өзгөрүүсүз калтырылышы керек, анткени ал AVRде ички RC осцилляторуна тиешелүү болгон калибрлөө маалыматынын байтын көрсөтөт. LOCK байт адатта FF гана, (жогоруда сүрөттөрдө талкууланган эмес), анткени сиз окуу стадиясында Flash же EEPROMду кулпулабайт элеңиз. Сиз LOW, HIGH жана EXTENDED байттарын гана өзгөртүп жатасыз. Абайла !

Эгерде сиз SPIEN битин 1ге өзгөртсөңүз (AVR микроконтроллеринде программаланбаган абал 1), сиз чипиңиз менен USBASP же башка программистти колдоно албайсыз! Демейки абал экраныңызда ар бир сактандыруучу бит үчүн көрсөтүлөт. Бул сизге SPIEN демейки ар дайым 0 (программаланган абал) экенин эскертип, ISP программалоо үчүн SPI режимин колдонууга мүмкүнчүлүк берет. Мүчүлүштүктөрдү оңдоо зымы же DW бити SPIEN 0го коюлганда дайыма 1 (программаланбай) калат. Бул анын демейки абалы. Ошондой эле, эгерде сиз USB-ASPти максаттуу чипиңизди программалоо үчүн колдонуп жатсаңыз (ARDUINOдогудай жүктөгүч ROMду колдонбосоңуз), Extended Fuse биттеринде 'Self Programming Enable ' 1 '(программасыз) болушу керек.

Сиз ички RC же тышкы кристалды тандоо үчүн CLOCK биттерин (3 саны) өзгөртө аласыз. Мен адатта аны ички RCге калтырам, бул тышкы кристаллды бошотуу үчүн AVR долбоорлоруңуз үчүн ПОРТ казыктары катары колдонууну талап кылган 2 кошумча казык алууга мүмкүнчүлүк берет. Адатта, тышкы кристалл долбооруңузда тактыкты так убакытка муктаж болгондо керек болот. Окуучулар үчүн ички RC жетиштүү.

Адатта, сиз кандайдыр бир сактагычтын айкалышына токтолсоңуз, аны өзгөртпөйсүз. Бул бир жолку болмок. Сиз жөн гана ROMду же кээде EEPROMду жаркылдата түшмөксүз. EEPROMду күйгүзүү үчүн.eep файлын WINAVR / ATMEL студияңыз түзөт, эгер сиздин программаңыз EEPROMду маалыматтарды сактоо үчүн колдонсо. Болбосо, EEPROM колдонулбай калат, "FF" маалыматтары менен толтурулат, анда EEPROMдун "DATA абалы жок" көрсөтүлөт.

7 -кадам: Fuse биттеринин акыркы мааниси

Сакталуучу биттердин акыркы мааниси
Сакталуучу биттердин акыркы мааниси

Бардык Fuse биттерин орноткондон кийин жана сиз колдонгон DETAILS кутучаларын жапкандан кийин, программа тарабынан эсептелген Fuse биттеринин маанисин көрө аласыз (сүрөттү караңыз). Меню аркылуу "Жазуу сактагычтарын" чыгаруу гана калды. Кийинчерээк, менюдан БААРЫН ОКУП чыгара аласыз жана күйгүч экрандын акыркы таблосунда окулган сактандыргычтар чипке жазгыңыз келген нерсеге дал келерин текшере аласыз. (Fuse текшерүү).

Бул Нускаманын башталышында, биз READ FUSES кылганда, экранда биз көргөн бул FUSE баалуулуктары көрсөтүлгөнүн байкайт элеңиз! Себеби, мен кээ бир проекттер үчүн 1 МГцтен 4МГцке чейин жыштыгын өзгөртмөйүнчө, буларды көбүнчө мен колдонгон сейрек кездешет жана MCUга орноткондон кийин аларды сейрек алмаштырам. AVR максималдуу 20 МГцке коюлушу мүмкүн (кээ бир чиптер 16 МГцке чейин). Сиз F_cpu үчүн койгон жыштык чип менен камсыз кылган чыңалууңузга да байланыштуу! Мисалы, эгер сиздин чип VVдан 5.5Vга чейин VVдан 1.8Vга чейин иштесе (маалымат барагына шилтеме жасаңыз), эгер сиз ага 1.8V гана берсеңиз, Чипти 20 МГцте иштетүүнү күтпөйсүз! сиз андан өтө көп нерсени күтүп жатасыз! Маалыматтар баракчасындагы таблица кайсы чыңалууда фигуранын кайсы фигурада жогору экенин айтат. Чиптин иштөө жыштыгыңыз канчалык жогору болсо, жылуулук ошончолук көп жана керектелүүчү күч ошончолук көп болот. Жыштыкты жаныбардын жүрөгүнүн согушу сыяктуу ойлонуп көрүңүз. Угуу ылдамдыгы жогору болгон колибри мүнөтүнө жүрөгүнүн согушу бир кыйла төмөн Китке же пилге салыштырмалуу көбүрөөк энергия күйгүзөт! Бирок андан кийин ал кыска убакыттын ичинде көп нерсени жасай алат. MCU дал ушундай.

8 -кадам: Бүтүрүү

Эми сиз eXtreme burnerдеги бардык кадамдарды аткардыңыз, чиптин ROMун окудуңуз, HEX файлын ачып чипке жарк эттиңиз жана флештин жакшы экенин текшердиңиз, ошондой эле сиз сактандыргычтарды кантип орнотууну жана чипке жаркыроону үйрөндүңүз..

Эгер кандайдыр бир суроолор болсо, мен түшүнүктүү болушу үчүн үйрөткүчкө жооп берүүгө же өзгөртүүгө кубанычтамын.

Кээ бир чиптер үчүн менюдагы чип тандоо ачылуучу тизмесинде анын жазуусу жок болуп калышы мүмкүн. Же жазуу каталарына туш болуп, каталарды текшеришиңиз мүмкүн. Мындай учурларда, маселени чечүү үчүн менин башка Instructable "Hacking eXtreme Burner" окуп чыгыңыз.

Бактылуу программалоо.

Сунушталууда: