Satura rādītājs:

LIETOT EXTreme degli AVR mikrokontrolleru programmēšanai: 8 soļi
LIETOT EXTreme degli AVR mikrokontrolleru programmēšanai: 8 soļi

Video: LIETOT EXTreme degli AVR mikrokontrolleru programmēšanai: 8 soļi

Video: LIETOT EXTreme degli AVR mikrokontrolleru programmēšanai: 8 soļi
Video: Part 3 - Around the World in 80 Days Audiobook by Jules Verne (Chs 26-37) 2024, Novembris
Anonim
LIETOT EXTreme degli AVR mikrokontrolleru programmēšanai
LIETOT EXTreme degli AVR mikrokontrolleru programmēšanai

Visi jūs, AVR lietotāju brālība, un tie, kas tikai ieiet straumē. Daži no jums sāka ar PIC mikrokontrolleriem, bet daži - ar ATMEL AVR, tas ir rakstīts jums!

Tātad jūs iegādājāties USBASP, jo tas ir lēts un efektīvs, lai zibspuldzētu ROM jūsu Atmega ierīcē vai varbūt ATTINY diapazonā. Tos var iegūt zem 5 USD kā atvērtā pirmkoda USB-ASP ķīniešu klonus! AVRdude ir programmatūra to programmēšanai.

Jūs neapšaubāmi zināt, kā ģenerēt Hex failu, izmantojot Atmel Studio (es joprojām izmantoju AVR Studio v4.19, nevis jaunāko 7. versiju, jo tas ir ātrāks un ātrāks manā vieglajā viena kodola CPU klēpjdatorā)/ Netbook un WINAVR instalēšana, ja lasāt šo. Viss, kas rakstīts DotNet, darbojas LĒNI! un jaunākās versijas ir izstrādātas tā, lai jūsu klēpjdators darbotos kā bruņurupucis! Jūs varat izmantot Studio v4.19, lieliskāko ATMEL Studio versiju AVR mikrokontrolleriem, pārslēdzoties uz 7. versiju, kad tas tiešām ir nepieciešams jaunākajām mikroshēmām, un padariet savu laiku klēpjdatorā produktīvāku, strādājot, nevis gaidot! Šo es iesaku.

Tipiska AVR frants komandrinda Atmega programmēšanai ar Hex failu darbojas šādi:

RAKSTIET ZIBSNĪ: AVRdude -s -c avrisp -p t44 -P usb -U "zibspuldze: w: D: / ARDUINO / pwmeg1.hex: a"

šeit pwmeg1.hex ir Intel hex fails, kas "jāsadedzina" vai "jāiespiež" mikrokontrollera Lingo "mērķa MCU"

Tas ir kumoss, ko atcerēties! Jūs varētu uzrakstīt sērijveida failu un palaist to komandrindā logos, nosaucot to par write_flash.bat. Līdzīgi drošinātāju lasīšanai, vēl viens kumoss rindiņas, kas jāatceras! Tas kļūst garlaicīgs.

lasīšanai flash + eeprom: AVRdude -s -c avrisp -p t44 -P usb -U "flash: r: D: / ARDUINO / pwmeg1.hex: i" -U "eeprom: r:: i"

Risinājums ir izmantot AVRdude vienu no lietotājam draudzīgiem GUI priekšgala rīkiem, piemēram, Bitburner, Khazama programmētājs, kas pēc būtības ir gandrīz līdzīgi. eXtreme deglis. Esmu daudz izmantojis bezmaksas lietojamo rīku: eXtreme Burner, tā daudzpusība, uzticamība, un šī apmācība ir par to. Tas var ne tikai mirgot jūsu hex failu / programmu MPU, izmantojot fonā AVRdude izdotās komandas, bet arī palīdzēt iestatīt DROŠINĀTĀJUS, kas ir sarežģīta tēma, kas bieži mulsina iesācējus AVR programmēšanā. Šeit ir saite uz izcilu pamācību par DROŠĪTĀJIEM, kuru varat apskatīt vai papildināt. Brīdinājuma vārds: ATMEL izmanto FUSE bita “1” stāvokli, lai norādītu tā “noklusējuma” stāvokli (neiestatīts vai neieprogrammēts stāvoklis), un “0”, lai norādītu tā ieprogrammēto vai iestatīto vai aktivizēto stāvokli! Tas ir tieši pretēji tam, ko jūs darāt ar FUSE bitiem PIC mikrokontrollerī. Esiet piesardzīgs, modificējot pulksteņa drošinātāju bitus, piemēram, veicot iekšējā RC pulksteņa maiņu uz ārēju kristālu, jo tas radīs problēmas, veidojot savienojumu ar mikroshēmu bez ārēja kristāla iestatīšanas. Tāpat esiet piesardzīgs, mainot kritisko drošinātāju bitu stāvokli, piemēram, SPIEN un RESET DISABLE (ja vēlaties turpināt saziņu ar MCU ar USB-ASP ISP / SPI režīmā, tiem vienmēr jābūt iestatītiem uz SPIEN = 0 un RESET DISABLE = 1 ! Ja to izdarīsit, jums būs nepieciešams augstsprieguma programmētājs, lai “atvienotu” jūsu AVR.

Ja jums rodas jautājums "kas pie velna ir drošinātāji" un "ko viņi dara"? Izlasiet šo lielisko rakstu:

Vēl viena saistīta tēma ir, kā iestatīt AVR MPU pulksteņa ātrumu, kas spēj darboties no 1Mhz līdz 16 vai 20Mhz. Ir arī īpašas zemas frekvences kristāla opcija 31,25 kHz, kas, pareizi izstrādāta, var likt jūsu AVR darboties ar AA baterijām 3 mēnešus!

Abus šos pulksteņa drošinātāju bitus (gan frekvenci, gan pulksteņa iekšējā RC/ārējā kristāla veidu un citus drošinātāju bitus) var iestatīt, izmantojot eXtreme Burner cilni FUSES. Vispirms mēs jums parādīsim ROM lasīšanu un pēc tam to, kā mirgot hex failu, izmantojot eXtreme Burner. Protams, jūs varētu izmantot arī tiešsaistes AVR drošinātāju vietnes, taču manu izskaidroto iespēju var izmantot, ja esat arī bezsaistē, jebkurā vietā.

1. darbība: veicamie iestatījumi:

Veicamie iestatījumi
Veicamie iestatījumi
Veicamie iestatījumi
Veicamie iestatījumi
Veicamie iestatījumi
Veicamie iestatījumi
Veicamie iestatījumi
Veicamie iestatījumi

Attēlos redzami IESTATĪJUMI, kas jāveic pirms darba uzsākšanas. (tikai vienu reizi). Apakšizvēlnes sadaļā “Aparatūras iestatījumi” mēs izvēlamies 375 Hz, jo lielākā daļa ATMEL rūpnīcas MCU ir iestatīti uz noklusējuma iestatījumiem 1 Mhz CPU pulkstenis iekšējā RC oscilatorā. ISP ātrums ir ceturksnis F_cpu. Tas mums dod 375 Khz tuvāko ātrumu, jūs varētu arī samazināt ātrumu, tas neko daudz nemainīs. Jūs varētu mēģināt izveidot savienojumu, atstājot to pēc noklusējuma, un izdot “izlasīt visu”, ja tas neizdodas, tad jūs varētu nākt šeit un mainīt ātrumu, samazinot to.

Tā kā, ja nevarat izveidot savienojumu (ziņojums tiktu dots programmētāja logā "nevaru sazināties ar mikroshēmu, vai nevar SCK"), datora pulksteņa signāls nevarēja sinhronizēties ar jūsu mikroshēmu, kuru mēģināt nolasīt vai programma)., jūs nevarētu mainīt CPU pulksteņa ātrumu vai mainīt tā ātrumu un veidu! Tātad savienošanās ir visa pamatā! Tas ir kā "PIRMAIS KONTAKTS", kā jūs redzat Spīlberga filmās. Ja jums tas izdodas, jūs vienmēr varat palielināt MCU pulksteņa ātrumu, attiecīgi ieprogrammējot drošinātājus, un vēlāk izmantot lielāku ātrumu, lai izveidotu savienojumu.

Tāpēc apskatiet šeit sniegtos aparatūras iestatījumu momentuzņēmumus, pēc tam iestatiet arī ierīces tipu (mikroshēma, kuru mēģināt programmēt, tās modeļa numurs).

2. darbība. Ierīces tipa iestatīšana

Ierīces tipa iestatīšana
Ierīces tipa iestatīšana
Ierīces tipa iestatīšana
Ierīces tipa iestatīšana
Ierīces tipa iestatīšana
Ierīces tipa iestatīšana

skatiet ekrānuzņēmumu, 1. attēls, mēs esam iestatījuši "ATTINY44A". Šis ir 14 kontaktu mikrokontrolleris bez UART. Es nesen izmantoju šo SSU versiju. Ja esat instalējis Extreme burner stock versiju, ierīces atlases nolaižamajā sarakstā neredzēsiet Attiny44A, jūs redzēsiet Attiny44, kuru visos nolūkos mēs varam izmantot, lai programmētu arī Attiny44A, lai ieviestu jebkuru ierīci, kas nav norādīta šajā nolaižamajā sarakstā, izlasiet manu citu pamācāmo "Hacking eXtreme Burner".

Es izmantoju Atmega88PA-AU arī ar eXtreme Burner, taču šajā pamācībā mēs visur pieminam "Attiny44A". Kā tagad izveidot mazas 7 mm kvadrātveida SMD mikroshēmas maizes versiju un pārbaudīt to ar savām programmām? (skatiet attēlus, kas norāda mikroshēmas izmēru). Lai to izdarītu, skatiet manu citu pamācību, kur es demonstrēju, kā padarīt maizes dēli piemērotus spraudņa moduļus, izmantojot Attiny44A-SSU un ATmega88PA-AU

Kad esat apguvis šo tehniku, jūs varēsit pārbaudīt jebkuru mikroshēmu, ar kuru vēlaties uzzināt, vai tā ir SMD vai DIL pakete. Piemēram, es pat esmu izmantojis SMD mikroshēmu, kas nāk 32-pin 0.8 mm pin Quad iepakojumā (Atmega88A) līdzīgā veidā!

. Vai arī jūs varētu vienkārši izmantot Attiny44A 28 kontaktu DIL versiju šai instrukcijai vai jebkuram citam AVR, kuru jūs pašlaik izmantojat, lai izmēģinātu eXtreme Burner AVR programmēšanai.

3. darbība: izdodiet READ ALL vai READ FLASH

Izdodiet READ ALL vai READ FLASH
Izdodiet READ ALL vai READ FLASH
Izdodiet READ ALL vai READ FLASH
Izdodiet READ ALL vai READ FLASH

Pievienojiet savu USBasp klēpjdatora USB portam, es pieņemu, ka esat jau ielādējis pareizos draiverus, kas pievienoti jūsu programmētājam, un ka tas ir pareizi atklāts. Tam vajadzētu parādīties Windows sākuma izvēlnes sadaļā “Ierīces un printeri”, ja tas būtu, tiklīdz tas ir pievienots USB portam! Savienojiet mērķa mikroshēmu uz tāfeles ar savu USBasp (atbilstošie SDI // ISP tapas, izmantojot 6 vai 10 kontaktu kabeli, ir jāpievieno starp abiem, proti, tapām: MOSI, RESET, MISO, SCK, Vcc, Ground).

Izlaidiet READ ALL no Xtreme Burner izvēlnes. Skatiet mūsu iegūtos attēlus un ziņojumus. Sākotnēji jūsu ekrānā degļa pirmajā cilnē tika parādīts ROM “FF”, pēc visu izlasīšanas tas parādīs faktisko ROM saturu mikroshēmā. Ja izmantojāt svaigi izgatavotu mikroshēmu vai izdzēstu mikroshēmu, pēc "Lasīt visu" saturā tiks parādīts FF. Neprogrammētas mikroshēmas atmiņā tiks parādīts “FF”, tāpat kā EEPROM (otrā programmētāja cilne), pēdējā cilne parāda DROŠINĀTĀJI.

Pēc IZLASĪT VISAS 3 cilnes parādītu pareizo mikroshēmā esošo informāciju. Pirms tam tā nebūtu, tāpēc, tiklīdz esat savienojis visu, vispirms izdodiet visu izlasīt.

4. solis: rakstiet Flash (jūsu heksadecimālais fails ir ierakstīts mikroshēmā ROM)

Rakstiet uz Flash (jūsu Hex fails ir ierakstīts mikroshēmā ROM)
Rakstiet uz Flash (jūsu Hex fails ir ierakstīts mikroshēmā ROM)
Rakstiet uz Flash (jūsu Hex fails ir ierakstīts mikroshēmā ROM)
Rakstiet uz Flash (jūsu Hex fails ir ierakstīts mikroshēmā ROM)
Rakstiet uz Flash (jūsu Hex fails ir ierakstīts mikroshēmā ROM)
Rakstiet uz Flash (jūsu Hex fails ir ierakstīts mikroshēmā ROM)

Atlasiet failu, izmantojot pārlūkošanas dialoglodziņu, kas tiek atvērts, noklikšķinot uz pirmās ikonas izvēlnes joslā. Mēs izvēlējāmies vienu failu, kā redzams attēlā. Kad esat izvēlējies hex failu (intel hex formāts), izvēlnes josla, kas parādīja "nav ielādēts fails", tika mainīta uz ielādēto faila nosaukumu.

Tagad programmatūras izvēlnē izsniedziet rakstīšanas zibspuldzi. Ziņojumi parādīs, kas notiek. skaties bildes.

Pēc veiksmīgas rakstīšanas jūs redzēsit “FF”, kas iezīmē svaigu vai izdzēstu ROM maiņu uz jūsu programmas vai hex faila saturu. Jūsu faila aizņemtais ROM izmērs vai baitu skaits ir zināms arī jums, aplūkojot šo ekrānu, kas parāda jūsu mērķa mikroshēmas faktisko ROM saturu, kuru tikko parādījāt.

Pārbaudes solis tiek veikts arī, nolasot mikroshēmu, saskaņā ar IESTATĪJUMIEM, ko veicām pirmajā solī. Tas ir redzams ziņojumos, ka arī verifikācija bija veiksmīga.

5. darbība: DROŠINĀTĀJI: kā tos iestatīt EXtreme Burner

DROŠINĀTĀJI: Kā tos iestatīt EXtreme Burner
DROŠINĀTĀJI: Kā tos iestatīt EXtreme Burner

Kad jūs izsniedzāt READ ALL, drošinātāji tika nolasīti no mikroshēmas. Tas ir pirmais attēlā redzamais attēls fuses.jpg.

Tagad, iespējams, jums tie jāmaina uz kaut ko citu. Drošinātāji sastāv no 4 kastēm, kas atrodas jūsu eXtreme Burner ekrāna pēdējā cilnē. Proti, LOW FUSE BYTE, HIGH FUSE BYTE, EXTENDED FUSE BYTE, LOCK FUSE BYTE un CALIBRATION BYTE. šādā secībā tie tiek parādīti.

Jūs varat vienkārši izmantot ONLINE drošinātāju kalkulatoru un aizpildīt tos

eleccelerator.com/fusecalc/fusecalc.php?

Vai arī jūs varētu izmantot eXtreme degli, lai to izdarītu jūsu vietā. bezsaistē jebkurā laikā: izvēlieties nolaižamajā sarakstā, kas tiek parādīts, noklikšķinot uz pogas DETAILS, kas atrodas zem katra drošinātāju baita veida. Vienkārši veiciet dubultklikšķi uz jebkuras DETAILS ekrāna rindiņas un vērojiet, kā tā mainās no SET uz CLEARED, un pārslēdziet savu stāvokli ar peles klikšķi uz katras rindiņas. Drošinātāju baits lodziņā virs tā attiecīgi mainīsies.

Ja jums rodas jautājums "kas pie velna ir drošinātāji" un "ko viņi dara"? Izlasiet šo lielisko rakstu:

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

6. darbība. Drošinātāju iestatīšana, izmantojot EXtreme Burner drošinātāju kalkulatoru

Drošinātāju iestatīšana, izmantojot EXtreme Burner drošinātāju kalkulatoru
Drošinātāju iestatīšana, izmantojot EXtreme Burner drošinātāju kalkulatoru
Drošinātāju iestatīšana, izmantojot EXtreme Burner drošinātāju kalkulatoru
Drošinātāju iestatīšana, izmantojot EXtreme Burner drošinātāju kalkulatoru
Drošinātāju iestatīšana, izmantojot EXtreme Burner drošinātāju kalkulatoru
Drošinātāju iestatīšana, izmantojot EXtreme Burner drošinātāju kalkulatoru

Jūs varat redzēt detaļu ekrānu, kas tiek parādīts katram drošinātāju baitam (LOW, HIGH, EXTENDED, LOCK un Calibration). Kalibrēšanas baits jāatstāj nemainīgs, jo tas parāda kalibrēšanas datu baitu AVR, kas attiecas uz iekšējo RC oscilatoru. LOCK baits parasti ir tikai FF (tas nav apspriests attēlos iepriekš), jo mācību laikā jūs nebloķētu zibspuldzi vai EEPROM. Jūs mainītu tikai LOW, HIGH un EXTENDED baitus. Esi uzmanīgs !

Ja maināt SPIEN bitu uz 1 (AVR mikrokontrolleru neieprogrammētais stāvoklis ir 1), jūs nevarēsit sazināties ar mikroshēmu, izmantojot USBASP vai jebkuru programmētāju! Noklusējuma stāvoklis tiek parādīts arī jūsu ekrānā katram drošinātāja bitam. Tas brīdina, ka SPIEN noklusējuma vērtība vienmēr ir 0 (ieprogrammēts stāvoklis), lai ISP programmēšanai varētu izmantot SPI režīmu. Atkļūdošanas vads vai DW bits vienmēr paliek 1 (neprogrammēts), ja SPIEN ir iestatīts uz 0. Arī šis ir noklusējuma stāvoklis. Arī paplašināto drošinātāju bitos pašprogrammēšanas iespējošanai jābūt '1' (neprogrammēts), ja mērķa mikroshēmas programmēšanai izmantojat USB-ASP (neizmantojot sāknēšanas ielādēšanas ROM, piemēram, ARDUINO).

Jūs varat mainīt pulksteņa bitus (3 skaitļos), lai izvēlētos iekšējo RC vai ārējo kristālu. Es parasti atstāju to iekšējam RC, kas ļauj jums iegūt 2 papildu tapas, kas atbrīvo ārējo kristālu, ko izmanto kā PORT tapas jūsu AVR projektiem. Parasti ārējais kristāls ir nepieciešams, ja jūsu projektā ir nepieciešams augstas precizitātes laiks. Izglītojamajiem pietiek ar iekšējo RC.

Parasti, kad esat apmeties uz kādu drošinātāju kombināciju, jūs to nemainīsit. Tā būtu vienreizēja. Jūs mirgot tikai ROM vai dažreiz arī EEPROM. EEPROM mirgošanai atsevišķu.eep failu ģenerē jūsu WINAVR / ATMEL studija, ja jūsu programma datu glabāšanai izmanto EEPROM. Pretējā gadījumā EEPROM netiek izmantots, un tas ir piepildīts ar “FF” datiem, kas parāda EEPROM “NO DATA statusu”.

7. darbība: drošinātāju bitu galīgā vērtība

Drošinātāju bitu galīgā vērtība
Drošinātāju bitu galīgā vērtība

Pēc visu drošinātāju bitu iestatīšanas un izmantoto lodziņu DETAILS aizvēršanas varat redzēt programmas aprēķināto drošinātāju bitu vērtību (skat. Attēlu). Atliek tikai izdot "Rakstīt drošinātājus", izmantojot izvēlni. Un apskatiet ziņojumus, kas ziņo par veiksmīgu rakstīšanu. Vēlāk jūs varat arī izdrukāt izvēlni READ ALL un pārbaudīt, vai degļa ekrāna pēdējā cilnē nolasītie drošinātāji sakrīt ar to, ko vēlaties ierakstīt mikroshēmā. (Drošinātāju pārbaude).

Jūs pamanīsit, ka šīs pamācības sākumā, kad mēs veicām lasīšanas drošinātājus, ekrānā tiek rādītas tās pašas Drošinātāju vērtības, kuras mēs redzam šeit! Tas ir tāpēc, ka šos drošinātājus es bieži izmantoju un reti mainu, kad tos iestatīju savā MCU, ja vien dažiem projektiem nemainu frekvenci no 1 Mhz uz 4 Mhz. AVR var iestatīt uz maksimālo 20Mhz (dažas mikroshēmas tikai līdz 16Mhz). F_cpu iestatītā frekvence ir atkarīga arī no sprieguma, ar kuru piegādājat mikroshēmu! Piemēram, ja jūsu mikroshēma darbojas no 1,8 V līdz 5,5 V no Vcc (atsauce uz datu lapu), jūs negaidītu, ka mikroshēma darbosies ar ātrumu 20 mhz, ja tai piegādāsit tikai 1,8 V! tu no tā gaidi pārāk daudz! Datu lapas tabulā ir norādīts, ar kādu spriegumu frekvence sasniedz skaitli. Jo augstāka ir mikroshēmu darbības biežums, jo vairāk siltuma un vairāk enerģijas tas patērē. Iedomājieties frekvenci kā dzīvnieka sirdspukstus. Kolibri ar augstu apkures ātrumu varētu sadedzināt vairāk enerģijas minūtē, salīdzinot ar vaļu vai ziloni ar daudz zemāku sirdsdarbību! Bet tad tas var paveikt daudz vairāk īsākā laikā. MCU ir tieši tāds.

8. solis: pabeidziet

Tagad esat pabeidzis visas eXtreme degļa darbības, esat izlasījis mikroshēmas ROM, atvēris HEX failu un parādījis to mikroshēmai un pārliecinājies, ka zibspuldze ir kārtībā, un jūs arī uzzinājāt, kā iestatīt drošinātājus un mirgot tos mikroshēmā.

Ja jums ir kādi jautājumi, es labprāt atbildēšu vai mainīšu apmācību, lai tā būtu skaidrāka.

Dažām mikroshēmām izvēlnē esošajā mikroshēmu izvēles nolaižamajā sarakstā var atrasties tā ieraksts. Vai arī jūs varat saskarties ar rakstīšanas kļūdām un pārbaudīt kļūdas. Šādos gadījumos, lūdzu, izlasiet manu citu pamācāmo “Hacking eXtreme Burner”, lai atrisinātu problēmu.

Laimīgu programmēšanu.

Ieteicams: