Innholdsfortegnelse:

Hvordan bruke en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2: 9 trinn
Hvordan bruke en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2: 9 trinn

Video: Hvordan bruke en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2: 9 trinn

Video: Hvordan bruke en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2: 9 trinn
Video: Начало работы с пайкой 2024, November
Anonim
Hvordan bruke en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2
Hvordan bruke en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2

Dette er trinnvise instruksjoner om hvordan du bruker en Raspberry Pi og den gratis åpen kildekode-kommandoen avrdude for å bit-bang-programmere en DIMP 2 eller DA PIMP 2. Jeg antar at du er kjent med din Raspberry Pi og LINUX kommandolinje. Du trenger ikke å være kjent med AVR -brikke programmering, men det hjelper hvis noe går galt fordi du kan lese utdataene til avrdude og ha en ide om hva du skal gjøre.

Denne prosedyren bør ta omtrent 1 time første gang og 5 til 10 minutter hver gang etter.

Du vil trenge:

1) En Raspberry Pi med GPIO -pinner og strømforsyning. Jeg bruker en Raspberry Pi Zero W med GPIO -pinner loddet på. Operativsystemet skal være Raspberry Pi OS (tidligere Raspbian). Jeg bruker Raspbian Lite (Stretch), som er litt gammel. Disse kommandoene bør fortsatt fungere på den nyeste versjonen av Raspberry Pi OS.

Fremover vil jeg referere til Raspberry Pi som "RPi."

2) Jumper-ledninger fra kvinne til kvinne. Få en av hver av disse fargene: rød, svart, blå, gul, grønn, lilla. Jeg bruker brun i stedet for lilla.

3) En DIMP 2 eller DA PIMP 2 med den valgfrie 10-pinners ICSP-hodet loddet inn. Jeg bruker en DIMP 2 her, men instruksjonene er de samme for DA PIMP 2.

4) Internett-tilgang for RPi slik at du kan installere gratis open-source kommandoen avrdude.

5) En kopi av.hex flash -filen for DIMP 2 eller DA PIMP 2. Du kan bygge.hex filen selv fra rå kildekoden, men jeg vil ikke vise deg hvordan du gjør det her.

6) En måte å logge på RPi-bruk enten en nettverkstilkobling eller direkte konsolltilgang. Du må kunne kjøre kommandoer på den.

Trinn 1: Fjern strømledningen og fjern 9V -batteriet

Sjekk først om strømledningen er koblet til DIMP 2 eller DA PIMP 2 og koblet til strømnettet. I så fall FARE: FARE FOR LETHAL STØT. Bruk gummihansker og slå av hovedbryteren på DIMP 2 eller DA PIMP 2. Koble deretter strømledningen fra strømnettet, og koble strømledningen fra DIMP 2 eller DA PIMP 2. Du kan ta av gummihanskene når strømledningen er fjernet.

Fjern deretter 9V -batteriet. RPi får strøm til DIMP 2 gjennom de røde (Vcc) og svarte (GND) ledningene. Slå glidebryteren på DIMP 2 eller DA PIMP 2 til av for sikkerhets skyld.

Trinn 2: Koble til hoppetrådene

Koble til hoppetrådene
Koble til hoppetrådene
Koble til hoppetrådene
Koble til hoppetrådene
Koble til hoppetrådene
Koble til hoppetrådene
Koble til hoppetrådene
Koble til hoppetrådene

Når RPi ikke er slått på, begynner du å koble til jumperledningene. Fremover er GPIO -pinnene på Raspberry Pi og ICSP -pinnene er på DIMP 2 (topptekst J3) eller DA PIMP 2 (topptekst J1).

Se diagrammet jeg brosteinsbelagte sammen og bildene hvis du er tapt.

RPi -delen av diagrammet er fra pinout.xyz.

ATMEGA48V-10PU-delen av diagrammet er copyright 2016 Atmel Corp.

Jeg hevder rimelig bruk av disse tegningene på grunn av de betydelige, transformative tilleggene.

Svart går fra GPIO pin 6 til ICSP pin 10. Dette er GND (Ground)

Gul går fra GPIO pin 12 til ICSP pin 9. Dette er MISO.

Grønt går fra GPIO pin 16 til ICSP pin 1. Dette er MOSI.

Blått går fra GPIO pin 18 til ICSP pin 7. Dette er SCK eller SCLK (SClock)

Lilla (brun på bildene mine) går fra GPIO pin 32 til ICSP pin 5. Dette er RESET.

Rødt går fra GPIO pin 4 til ICSP pin 2. Dette er Vcc (5V Power)

Trinn 3: Slå på RPi

Nå, fortsett og slå på RPi. Voltmeterdelen av DIMP 2 eller DA PIMP 2 burde også slå seg på, men du vil ikke vite det ved å se på skjermen. Hvis du er i tvil, må du måle spenningen med den røde sonden ved pinne 20 på ATMEGA48V-10PU og den sorte sonden på pinne 4, 6 eller 8 på ICSP-hodet. Det bør være rundt 5VDC.

Trinn 4: Installer Avrdude

Instruksjonene mine viser bare kommandolinjekommandoer. Hvis du har en GUI som kjører, vil du åpne en Terminal for å kjøre disse kommandolinjekommandoene.

Logg på som standard bruker -pi. Standardpassordet er bringebær

Installer avrdude -kommandoen ved å skrive følgende ved kommandoprompten på terminalen:

sudo apt-get install avrdude

Trinn 5: Rediger Avrdude Config File

Rediger avrdude -konfigurasjonsfilen ved å skrive:

sudo nano /etc/avrdude.conf

Legg disse linjene til midten av filen der de andre programmeringsdefinisjonene er. Det jeg gjorde er å kopiere programmeringsseksjonen rett over den for id = "linuxgpio", deretter lime den inn rett nedenfor (på linje 1274) og deretter redigere den nye delen.

Programmerer

id = "pi_1"; desc = "Bruk Linux sysfs -grensesnittet til å bitbange GPIO -linjer"; type = "linuxgpio"; reset = 12; sck = 24; mosi = 23; miso = 18;;

Lagre deretter filen ved å trykke: Ctrl-O

Og avslutt deretter nano-editoren ved å trykke: Ctrl-X

Trinn 6: Last ned eller kopier.hex Flash -filen til /home /pi

Kopier.hex flash -filen til RPi. Jeg antar at du vet hvordan du gjør dette. TIPS: Bruk kommandoen wget, curl, git eller scp for å få filen ned fra nettet til RPi.

DIMP 2s.hex -fil er her, sammen med kildekoden:

github.com/dchang0/dimp2

En tilpasset versjon av DA PIMP 2s.hex -fil er her. Jeg har ikke testet dette!

github.com/jcwren/DaPimp2

Hvis versjonen ovenfor av. Hex -filen til DA PIMP 2 ikke fungerer, er kildekoden til den originale DA PIMP 2 fra Mikey Sklar her. Du må selv kompilere den til en fungerende.hex -fil. Jeg dekker ikke det i disse instruksjonene fordi det vil være en lang (men ikke vanskelig) opplæring. Jeg programmerte flere fungerende DA PIMP 2 -enheter med denne kildekoden:

drive.google.com/open?id=0Bx5Als-UeiZbSUdH…

Eller du kan gå til hovedsiden DA PIMP 2 her og klikke på lenken til kildekoden.

mikeysklar.blogspot.com/p/da-pimp-battery-…

Sett.hex -filen på denne banen og filnavnet på RPi …

For DIMP 2:

/home/pi/dimp2.hex

For DA PIMP 2:

/home/pi/da_pimp2.hex

Trinn 7: Kontroller at Avrdude kan snakke med ATMEGA48V-10PU

Kjør avrdude-kommandoen for å sikre at den kan snakke med ATMEGA48V-10PU-brikken på DIMP 2 eller DA PIMP 2.

cd /home /pi

sudo avrdude -c pi_1 -p m48 -v

Du får omtrent en side med utdata. Se på slutten. Hvis du får et svar som dette, kan du fortsette.

avrdude: AVR -enhet initialisert og klar til å godta instruksjoner

Lesing | #################################################### | 100% 0,00s

Hvis ikke, er det noe galt, og du bør finne ut av det. Mest sannsynlig er det en feilkobling, men en annen vanlig klage jeg har sett er at ATMEGA48V-10PU-brikken er en falsk. Det ser ut til at mange av dem som selges på Amazon eller ebay er forfalskninger. De som selges av Mouser eller Digikey og andre autoriserte distributører er ekte.

Trinn 8: Flash.hex-filen til ATMEGA48V-10PU

Kjør denne kommandoen for å programmere brikken …

For DIMP 2:

cd /home /pi

sudo avrdude -c pi_1 -p m48 -U blits: w: dimp2.hex

For DA PIMP 2:

cd /home /pi

sudo avrdude -c pi_1 -p m48 -U flash: w: da_pimp2.hex

Du får omtrent en side med utdata. Se etter disse linjene:

avrdude: skriveblits (1528 byte):

Skriving | #################################################### | 100% 0,79s

avrdude: bekrefter …

avrdude: 1528 byte med flash -verifisert avrdude: safemode: Sikringer OK (E: FF, H: DF, L: 62)

Hvis du har kommet så langt, bør du se LED -displayet som viser nuller for spenningen. Hvis du ser nullene, er du ferdig! Hvis ikke, gå til neste trinn.

Hvis du ser nullene, må du slå av RPi -en din med denne kommandoen:

sudo shutdown -h nå

Når strømlampen på RPi slås av (DIMP 2 eller DA PIMP 2 vil fortsatt være på), kan du koble strømforsyningen fra RPi. Koble deretter fra jumperledningene mellom RPi og DIMP 2 eller DA PIMP 2.

Trinn 9: Enkel feilsøking hvis blitsen mislyktes

Hvis du ikke ser nuller på skjermen på DIMP 2 eller DA PIMP 2, er det på tide å feilsøke.

Igjen, sjekk ledningene først.

Sjekk deretter sikringstilstandene vist av avrdude. Det er mulig at brikken din kom med sikringene satt til andre verdier enn fabrikkstandarden. Det kan hende at brikken må tilbakestilles, noe som krever en helt annen maskinvareenhet. Dette er et problem med mange av de falske ATMEGA48V-10PU-brikkene som selges på ebay-de er gamle brikker trukket fra kassert maskinvare, og sikringene er satt, og selgeren gadd ikke å nullstille sikringene.

Noen ganger er brikken ikke engang en ATMEGA48V-10PU. Det kan være en annen brikke merket. Vanligvis kan du fortelle disse forfalskningene ved å se nøye på markeringene på toppen og bunnen av brikken. Det er klokere å få din ATMEGA48V-10PU gjennom en pålitelig leverandør som Mouser eller Digikey.

Anbefalt: