Början Microcontrollers del 2: Att skapa ett SPI gränssnitt från programmeraren till mikrokontroller
Hej, hoppas vi du gillade del 1 av början Microcontrollers. Vi ska flytta i del 2 och börja prata om gränssnitt och hur du får din microcontroller att kommunicera med en dator.
Så, vid denna punkt, du bör känna till begreppet mikrokontroller (MCU). Du bör även ha en förståelse för de allmänna användningsområdena av mikrokontroller. Du har en grundläggande förståelse för pin-beläggning och hamnarna. Och, förhoppningsvis, du är upphetsad med en mikrokontroller hur, som avkänning och kontrollera miljön. Slutligen, du vet att vi kommer att få in i programmering sidan av saker.
Nu kommer vi att få mer djupgående med programmering. Men innan vi kan få ett program som lastas på chipet, behöver vi ett bra sätt att ansluta SPI (Serial perifera Interface) kontakten till chipet. Vi inte kunde mycket väl stoppa i kontakten i stiften av mikrokontroller, nu kunde vi? Sticker ledningar i slutet av kontakten och in i bakbord är tunn, oattraktiva och eventuellt skadlig till MCU om en tråd som transporterar spänning är oavsiktligt tillämpas på fel PIN-koden.
Därför för att maximera vår chans att lyckas och standardisera varje anslutningsförsöket, vi kommer att bygga en liten styrelse som innehåller en rubrik (lite metall stift som sticka upp) som SPI kontakten kan använda, och även en header som kommer att motsvara lämpliga stiften på mikrokontroller. Dessa kan helt enkelt vara en enda rad med sex stift eftersom skaparna av Atmel AVR Atmega32 mikrokontroller så eftertänksamt ligger dessa pins tillsammans. Detta kommer att tillåta oss att göra våra MCU gränssnittskortet med en mycket smal storlek, vilket kommer att minska det område som täcks på bakbord (som kan ses i videon). Oh ja, videon innehåller lite lödning, så du kan lära dig som alltför!
OK, så finns för att upprepa från den sista läraren, det en programmerare som behövs mellan datorn och mikrokontroller. Det bör noteras att det finns flera olika programmerare som kan användas, och en lämplig modell kan fås från Adafruit Industries (USBTinyISP) eller Sparkfun (Pocket AVR). Några av dessa programmerare ser helt annorlunda från andra, men alla av dem gör i princip samma sak--tillhandahåller ett gränssnitt mellan datorn och AVR mikrokontroller. Det är det! Observera att om du inte använder AVR Atmega32 mikrokontroller, måste du kontrollera kompatibilitet programmeraren du väljer att använda. Observera också att många av dessa programmerare använder samma drivrutiner, en fråga som vi kommer att få i nästa handledning.
Anslutningen mellan datorn och MCU är egentligen ganska enkelt, så det bör finnas någon anledning att vara rädd för (eller blyga med) gör dessa steg för att få ett program till mikrokontroller. Så, låt oss få till det! Kom ihåg att syftet med att göra sådana ett gränssnittskort, att säkerställa en korrekt anslutning varje gång vi måste läsa in vårt program till MCU. Så om du vill göra en styrelse som har jag visat i videon, sedan bara få ut din lödkolv. Inte vara rädd, få ut! Tja, bör du vara försiktig, eftersom det blir varmt. Men låt inte att få i din väg. Se bara till att läsa alla tillverkarens anvisningar på funktion på lödkolven. Glöm inte att bära glasögon; och inte andas lödtenn rök. Vissa människor använder ett sug fan för att få rök från arbetsytan.
Kolla in diagrammet 1.1 ovan. Ja, det är lite rörigt, men jag drog detta medan koffein forsade genom min system! SPI-kontakt pin-out är till vänster. Det finns pilar från detta SPI gränssnitt block till motsvarande stift på AVR Atmega32 mikrokontroller. Det kommer att finnas något behov för fancy komponenter till komplicerade denna process, så oroa dig inte--vi endast ansluter kablarna från SPI enheten till stift av mikrokontroller.
Låt oss gå igenom anslutningarna mellan SPI-enheten och MCU:
- Övre vänstra SPI pin är ansluten till MISO (Master i slav ute)
- Mellersta vänster SPI pin är ansluten till SCK (klocka stift)
- Nedre vänster SPI pin är ansluten till Reset (Återställ bara gör exakt vad är säger, och du kan vara säker på att vi kommer att tala om detta stift senare!)
- Nedre höger SPI pin är ansluten till GND (marken eller noll volt)
- Mellersta rätt SPI pin är ansluten till MOSI (Master ut slav i)
- Övre höger SPI pin är ansluten till VCC (+ 5 volt, vill du, kan du gå kontrollera spänning kraven i sammanfattningen eller den enorma manuellt, och tro mig, detta är inte en lätt läsa!).
Det är det! Allt du behöver göra nu är att löda ledningarna mellan de två uppsättningarna för headers (kom ihåg denna term? De är bara stift som sticka upp och sätt in i en kvinnlig rubrik). Observera att bilden längst upp på denna sida visar rubriken kvinnliga ansluten till manliga huvudet. När dessa kablar är anslutna och lödda-upp, skulle det se ut något i stil med dessa bilder. Men om du vill blir galen och göra det annorlunda, gå för det! Jag uppmuntrar kreativitet.
Som kan ses på bilderna, görs anslutningar från ledningarna till rubrikerna med lödtenn broar. En löda bro är bara löda som "blobbar" tillsammans för att ansluta två platser. Dessa blobbar liknar typ av liten figur 8's eller infinity symboler. Och det är inte så svårt att skapa dessa broar. Allt du behöver göra är löda två tråd med pin-anslutningar som vanligt, och sedan lägga till lite mer lödtenn medan du håller strykjärnet över båda anslutningarna. Detta kommer att ge tillräckligt löda om du vill skapa bron. Det finns dock möjligheten att de inte kommer att överbrygga. Ah, bane av liv för de flesta solderers!
Bron är inte generellt rekommenderas i de flesta tillämpningar. men i detta fall, det är helt enkelt det enklaste sättet att göra anslutningar mellan SPI och MCU stiften, och motsvarande kablar som ansluter dem. När du har tillräckligt löda tillämpas, och varma järnet är över två anslutningen, dra järnet rakt upp längs den PIN-kod och bron bör bibehållas. Annars kan du förstöra bron om varmt strykjärn får återigen att kontakt med huvuddelen av bron. Oroa dig inte--videon visar detta mycket fint, och du borde få kläm på det ganska snabbt.
Så, var inte så lätt? Nu får vi in programvara del av det i de nästa handledningen. Vi kommer att hitta programvaran på internet till: först känner igen och köra USBTinyISP programmeraren (eller, om du väljer, Pocket AVR programmerare); och andra, installera utvecklingsmiljön. Observera att av "förare," menar jag att installera en drivrutin under den Fönstren OS, och "utvecklingen" är helt enkelt programmet du använder för att skriva program som senare kommer att överföras till chipet. Om du använder du installerar detta program på ett annat operativsystem, som Linux eller Mac, kommer du fortfarande att kunna följa med. Här och där, kan jag tala om de andra underbara operativsystem och hur man gör saker (eller hitta de resurser som hjälper). Programmeringen är samma, men utvecklingen blir förmodligen något annorlunda.
Håll ögonen öppna för Del3!