Interfacing - kommunikation uden grænser
0 kommentarer

Introduktion

Jag har upptäckt något fantastiskt – vi är starkare tillsammans. Och så är elektronik! Hur kan man öka kvaliteten på kommunikationen mellan två parter som knappt förstår varandra? Oroa dig inte mer för vi kommer att utforska några av svaren. Allt handlar om gränssnitt! Tja, åtminstone för elektronik...

Att förstå gränssnittstekniker , inklusive kommunikationsprotokoll, dataöverföringsmetoder och drivrutiner, är avgörande för att elektroniktillverkare ska kunna ansluta sina enheter till andra system. Utan elektroniskt gränssnitt skulle ingen elektronik kunna kommunicera med varandra, och det är bara så otroligt tråkigt. Så vi får se om vi inte kan hjälpa dem!

Dataöverföringsmetoder

Sändningslägen är ett uttryck för 3 metoder, där moduler antingen kan sända data, ta emot data eller båda samtidigt. De 3 typerna är simplex, halv-duplex och full-duplex.

Simplex

Simplex beskrivs av 2 moduler - sändare och mottagare, se figur 1. En modul är sändaren och den andra modulen är mottagaren. De kan inte byta roll och det är alltså en enkelriktad kommunikation. Simplex = One Way Street!


Figur 1 : Illustrerar konceptet med simplexöverföringsmetoden. Som indikeras av pilens riktning går informationen från sändaren till mottagarmodulen.

En fördel med simplex kan vara att sändarmodulen kan utnyttja hela kapaciteten på kommunikationsmediet, som t.ex radiosignaler och/eller kablar för att överföra data. Simplex ses mellan en dator och ett tangentbord eller mellan en radiokontroll och ett fjärrstyrt leksaksplan eller racerbil.

Halv duplex

Halvduplex är när 2 moduler kan växla mellan sändar- och mottagarroller, se figur 2. För halvduplex kan båda modulerna skicka och ta emot data eftersom de kan byta roller. Det är dock viktigt att notera att varje modul inte kan ha båda rollerna samtidigt.


Figur 2 : Illustrerar konceptet med halvduplexöverföringsmetoden. Som indikeras av pilarnas riktning kan data sändas och tas emot av båda modulerna. Men varje modul kan bara ha en roll åt gången.

Med halvduplex kan kommunikationsmediets fulla kapacitet användas igen, som med simplex. Halvduplex ses till exempel i dataöverföringen i walkie talkies. Uppfattat. Över.

Full duplex

Full-duplex är där 2 moduler kan ha båda rollerna samtidigt - dvs båda modulerna kan både skicka och ta emot data samtidigt, se figur 3.
Det finns en begränsning av full duplex när det gäller överföringsmediekapacitet. Som vi lärde oss tidigare i den här bloggen kan både halvduplex och simplex använda hela kommunikationsmediets kapacitet, medan för fullduplex måste denna motorväg av data delas mellan varje modul. Eller så måste modulerna ha var sitt överföringsmedium.


Figur 3 : Illustrerar konceptet med full-duplex-överföringsmetoden. Som indikeras av pilarnas riktning kan data sändas och tas emot av båda modulerna samtidigt.
Full duplex används t.ex. i kommunikationen mellan telefoner och i mikrokontrollern Arduino UNO .

Seriell och parallell kommunikation

Serie
Data som rör sig mellan sändar- och mottagarmodulerna kan separeras i seriell och parallell kommunikation. Data kan överföras antingen seriellt eller parallellt. Seriella data är när bitar sänds över en anslutning en efter en per klockcykel , se figur 4.
(Inom elektronik är en klockcykel den tid som krävs för systemet att slutföra en enda instruktion eller operation)


Figur 4 : Illustrerar seriell kommunikation mellan två moduler. Här märker vi att värdena för de data som överförs kommer in i mottagarmodulen en efter en.

Fördelen med seriell kommunikation är att det är billigare och enklare än parallellkommunikation. Seriell kommunikation används också vanligtvis över längre avstånd än parallell kommunikation.

Parallell
Parallellöverföring består av flera kablar, en kabel för varje bit man vill överföra pr klockcykel, se figur 5.


Figur 5 : Illustrerar konceptet med parallell kommunikation. Varje kabel representerar en bit som överförs per klockcykel.
Parallell kommunikation används ofta över korta avstånd. Fördelen med parallell kommunikation är att det går snabbare jämfört med seriell kommunikation, då mer information sänds och tas emot per sekund. klockcykel.


Kommunikationsprotokoll

Ett kommunikationsprotokoll är ett system av regler som tillåter två eller flera enheter att överföra information via valfri variation av en fysisk kvantitet. Så det är systemet bakom kommunikationen av en fysisk enhet till en annan. Protokollet definierar regler, syntax, semantik och synkronisering av kommunikation och möjliga felåterställningsmetoder.

Inter och Intra System Protocols

För att få en förståelse för inter- och intrasystemprotokoll måste det fastställas vad ett protokoll i sig är. Så låt oss utveckla lite mer. Vi vet att ett protokoll är en uppsättning regler som två eller flera moduler följer för att förstå vad de kommunicerar med varandra. En abstraktion kan vara kommunikationen mellan två personer som talar danska och en tredje person som talar indiska. Om danskarna inte kan tala indiska, och indianerna inte kan tala danska, uppstår kommunikationen mellan de två parterna helt enkelt som en slumpmässig kombination av utländska bokstäver eller oigenkännliga ljud. För att kommunicera med varandra behöver de en tolk.

Intersystemprotokoll och intrasystemprotokoll särskiljs om två moduler kommunicerar inom ett system, till exempel ett kretskort, eller om det är en modul som kommunicerar med en annan modul utanför systemet. Intrasystemprotokoll är protokoll som kommunicerar internt i ett system. I vår abstraktion skulle det här vara när de dansktalande och indisktalande människorna kan kommunicera utan hjälp utifrån och förstå varandras språk. Inter-systemet är då protokoll som kommunicerar bortom ett system.


Metoden med vilken data överförs, oavsett om det är inter eller intra, bestäms mer specifikt av kommunikationsprotokollet som används. Några av dessa kommunikationsprotokoll kan vara SPI, I2C och UART för att nämna några.


SPI

SPI använder "MasterSlave"-principen. SPI, Serial Peripheral Interface, har synkron överföring. SPI sänder seriellt och har ingen inbyggd felkontroll. Kommunikationen mellan master och slav (man kan typ tänka på det som sändar- och mottagarmoduler) är full duplex - för varje klockcykel sänds en bit från båda enheterna.


I2C

I2C, IIC "I squared C" eller "Inter-Integrated-Circuit", är ett bussprotokoll som sänder data seriellt och synkront. I2C kan ha flera masters och slavar i ett system. Protokollet kräver 2 anslutningar SDA (Serial DAta) och SCL (Serial CLock). SCL är en styrbuss med klocksignalen, som i sin tur bestämmer hastigheten på dataöverföringen.
I2C skickar data i paket och använder start- och stoppvillkor för att säkerställa att data överförs och tas emot korrekt, se figur 6.


Figur 6 : Datan, eller meddelandet, innehåller en startbit som kommer att följas av adressen som är specifik för den slav som mastern kommer att kommunicera med. Därifrån finns en läs/skrivbit som talar om för slaven om mastern kommer att läsa eller skriva till den. ACK/NACK är en bekräftelse/icke-bekräftelsebit som skickas av mottagaren av ett meddelande - antingen en slav eller master, för att tala om att paketet har tagits emot korrekt. I denna figur ser vi 2x 8 bitar sända efter den första ACK/NACK. Dessa datapaket kvitteras sedan eller ej innan paketets stoppbit.


UART

UART-protokollet är en krets av 2 enheter där 1 kan ta en parallell signal, konvertera från parallell till seriell och överföra denna till en annan enhet som omvandlar signalen tillbaka till parallell. UART sänder seriellt och asynkront. Det kräver ingen klockcykel. Kretsen kan ha maximalt 1 master och 1 slav.
UART-datapaket är konstruerade som visas i figur 7.

Figur 7: UART-datapaket


Drivrutin

Så nu vet vi lite mer om hur data kan överföras och tas emot i elektronik. Men var tar vi emot den data som överförs? För det använder vi enhetsdrivrutiner. Så vad är drivrutiner?
En enhetsdrivrutin är ett datorprogram som gör att en dators operativsystem kan kommunicera med olika typer av hårdvara som kopplar ihop många olika moduler. Tanken med en drivrutin är att hårdvarutillverkaren bara behöver göra en typ av hårdvara (eller så få som möjligt) och få den att fungera på olika operativsystem. Man kan då tänka sig att en sådan enhetsdrivrutin måste ta hänsyn till många olika faktorer för att den ska kunna användas i dessa olika former av kommunikation mellan elektronik och därigenom vara så effektiv som möjligt!

Skriv en kommentar!

Relevanta produkter

TS101 digital loddekolbeTS101 digital loddekolbe i hånd
TS101 digital lödkolv med USB C-försörjning
Erbjudande prisFrån 1 116 kr
14 i lager
TS80P USB-C Loddekolbe kitTS80P Loddekolbe
TS80P USB-C mini Lödpenna sats
Erbjudande prisFrån 1 276 kr
2 i lager
bruge Loddekolbe Renser til at rengøre loddekolbespidsenLoddekolbe Renser
Lyxigt rengöringsmedel för lödkolv
Erbjudande pris143 kr
8 i lager