Vad är seriell kommunikation och hur det fungerar?
introduktion
seriell kommunikation är den mest använda metoden för att överföra information mellan databehandlingsutrustning och kringutrustning. I allmänhet betyder kommunikation utbyte av information mellan individer genom skriftliga dokument, verbala ord, ljud-och videolektioner.
varje enhet kan det vara din dator eller mobil körs på seriellt protokoll. Protokollet är den säkra och pålitliga kommunikationsformen som har en uppsättning regler som adresseras av källvärden (avsändare) och destinationsvärd (mottagare). För att få en bättre insikt har jag förklarat begreppet seriell kommunikation.
i inbäddat system är seriell kommunikation sättet att utbyta data med olika metoder i form av seriell digital binär. Några av de välkända gränssnitten som används för datautbytet är RS-232, RS-485, I2C, SPI etc.
Vad är seriell kommunikation?
I seriell kommunikation är data i form av binära pulser. Med andra ord kan vi säga binär en representerar en logisk hög eller 5 volt, och noll representerar en logisk låg eller 0 Volt. Seriell kommunikation kan ta många former beroende på typ av Överföringsläge och dataöverföring. Överföringslägena klassificeras som Simplex, halv Duplex och Full Duplex. Det kommer att finnas en källa (även känd som avsändare) och destination (även kallad mottagare) för varje överföringsläge.
överföringslägen – seriell kommunikation
Simplex-metoden är en enkelriktad kommunikationsteknik. Endast en klient (antingen avsändaren eller mottagaren är aktiv åt gången). Om en avsändare sänder, mottagaren kan bara acceptera. Radio-och tv-överföring är exemplen på simplex-läge.
i Halvduplexläge är både avsändare och mottagare aktiva men inte åt gången, dvs. om en avsändare sänder kan mottagaren Acceptera men kan inte skicka och vice versa. Ett bra exempel är internet. Om en klient (bärbar dator) skickar en begäran om en webbsida bearbetar webbservern applikationen och skickar tillbaka informationen.
Full Duplex-läget används i stor utsträckning kommunikation i världen. Här kan både avsändare och mottagare sända och ta emot samtidigt. Ett exempel är din smartphone.
utöver överföringslägena måste vi överväga värddatorns endianness och protokolldesign (avsändare eller mottagare). Endianness är sättet att lagra data på en viss minnesadress. Beroende på datajusteringen klassificeras endian som
- Little endian och
- Big Endian.
ta detta exempel för att förstå begreppet endianness. Antag att vi har en 32-bitars hexadecimal data ABCD87E2. Hur lagras dessa data i minnet? För att få en klar uppfattning har jag förklarat skillnaden mellan Little endian och Big Endian.
Little Endian Vs Big endian
dataöverföring kan ske på två sätt. De är seriell kommunikation och parallell kommunikation. Seriell kommunikation är en teknik som används för att skicka data bit för bit med hjälp av en två-trådar dvs sändare (avsändare) och mottagare.
till exempel vill jag skicka en 8-bitars binär data 11001110 från sändaren till mottagaren. Men, vilken bit går ut först? Mest betydande Bit-MSB (7: e bit) eller minst betydande Bit – LSB (0: e Bit). Vi kan inte säga. Här funderar jag på att LSB flyttar först (för little Endian).
seriell kommunikation
från ovanstående diagram, för varje klockpuls; sändaren skickar en enda bit data till mottagaren.
parallell kommunikation flyttar 8,16 eller 32 bitar data åt gången. Skrivare och Xerox-maskiner använder parallell kommunikation för snabbare dataöverföring.
RS232 parallell kommunikation
skillnad mellan seriell och parallell kommunikation
seriell kommunikation skickar bara en bit åt gången. så, dessa kräver färre I / O (input-output) linjer. Därför upptar mindre utrymme och mer motståndskraftigt mot korsprat. Den största fördelen med seriell kommunikation är att kostnaden för hela det inbäddade systemet blir billigt och överför informationen över ett långt avstånd. Seriell överföring används i DCE-enheter (Data communication Equipment) som ett modem.
i parallell kommunikation skickas en bit data (8,16 eller 32 bitar) åt gången. Så, varje bit av data kräver en separat fysisk I / O-linje. Fördelen med parallell kommunikation är att det är snabbt men dess nackdel är att det använder mer Antal I / O (input-output) linjer. Parallell överföring används i PC (persondator) för sammankoppling av CPU (central processing unit), RAM (random access memory), modem, ljud, video och nätverkshårdvara.
Obs: Om din integrerade krets eller processor stöder mindre mängd Input/Output stift är det bättre att välja seriell kommunikation
För enkel förståelse, här är jämförelsen av seriell och parallell kommunikation.
seriell kommunikation | parallell kommunikation |
---|---|
skickar data bit för bit vid en klockpuls | överför en bit data åt gången |
kräver en tråd för att överföra data | kräver ’n’ antal rader för överföring av ’n’ bitar |
kommunikationshastigheten är långsam | kommunikationshastigheten är snabb |
installationskostnaden är låg | installationskostnaden är hög |
föredragen för fjärrkommunikation | används för kortdistanskommunikation |
exempel: dator till dator | dator till multifunktionsskrivare |
klocksynkronisering
för effektiv drift av seriella enheter, klockan är den primära källan. Fel på klockan kan leda till oväntade resultat. Klocksignalen är olika för varje seriell enhet, och den kategoriseras som synkront protokoll och asynkront protokoll.
synkront seriellt gränssnitt
alla enheter på synkront seriellt gränssnitt använder den enda CPU-bussen för att dela både klocka och data. På grund av detta är dataöverföringen snabbare. Fördelen är att det inte kommer att finnas någon obalans i baud rate. Dessutom krävs färre I / O-linjer (input-output) för gränssnittskomponenter. Exempel är I2C, SPI etc.
asynkront seriellt gränssnitt
det asynkrona gränssnittet har ingen extern klocksignal, och det bygger på fyra parametrar, nämligen
- Baud rate control
- dataflödeskontroll
- överförings-och mottagningskontroll
- felkontroll.
asynkrona protokoll är lämpliga för stabil kommunikation. Dessa används för långväga applikationer. Exempel på asynkrona protokoll är RS-232, RS-422 och RS-485.
hur seriell kommunikation fungerar?
avancerad CPU som mikrokontroller och mikroprocessor använder seriell kommunikation för att kommunicera med omvärlden såväl som på chip-kringutrustning. För att bli bekant, låt oss ta ett enkelt exempel. För Anta, du vill skicka en fil som finns i din bärbara dator till smartphone. Hur skulle du skicka? Förmodligen använder Bluetooth eller WiFi protokoll, höger.
Så här är stegen för att upprätta seriell kommunikation
- Lägg till anslutningen.
i det första steget söker din bärbara dator efter enheter i närheten 100m och listar ut de enheter som hittats. Denna process kallas ofta roaming.
- välj den enhet du vill kommunicera.
för att ansluta till din mobil måste parningen göras. Standardkonfigurationen finns redan i programvaran. Så inget behov av att konfigurera baudhastigheten manuellt. Utöver detta finns det fyra okända regler. De är baudhastighet, databitval (inramning), start-stop bit och paritet.
regler för seriell kommunikation
# 1 Vad är baudhastighet?
baudhastighet är hastigheten för överföring av data från sändaren till en mottagare i form av bitar per sekund. Några av standardbaudhastigheterna är 1200, 2400, 4800, 9600, 57600.
Du måste ställa in samma baudhastighet på båda sidor (mobil och Bärbar dator).
Obs: ju högre en baudhastighet, mer data kan överföras på mindre tid.
Jag rekommenderar dock att du använder upp till 115200 som en säker gräns på grund av felaktig matchning av samplingsfrekvensen vid mottagarens ände.
# 2 inramning
inramning visar hur många databitar du vill skicka från värdenheten (bärbar dator) till mobil (mottagare). Är det 5, 6, 7 eller 8 bitar? För det mesta föredras många enheter, 8 bitar. Efter att ha valt 8-bitars databit måste endianness överenskommas av avsändaren och mottagaren.
# 3 synkronisering
sändare lägger synkroniseringsbitar (1 startbit och 1 eller 2 stoppbit) till den ursprungliga dataramen. Synkroniseringsbitar hjälper mottagaren att identifiera start och slut på dataöverföringen. Denna process kallas asynkron dataöverföring.
# 4 felkontroll
datakorruption kan hända på grund av externt brus vid mottagarens ände. Den enda lösningen för att få stabil utgång är att kontrollera paritet.
om binärdata innehåller ett jämnt antal 1 är det känt som jämn paritet och Paritetsbiten är inställd på ’1’. Om binärdata innehåller ett udda antal 1, kallas det udda paritet, och nu är paritetsbit satt till ’0’.
asynkrona seriella protokoll
den vanligaste frågan som kommer att tänka på när du börjar arbeta med det inbäddade systemet är varför du använder asynkrona protokoll?
- för att flytta runt informationen på ett längre avstånd och
- för mer tillförlitlig dataöverföring.
några av de asynkrona kommunikationsprotokollen är:
RS-232 protokoll
- RS232 är det första seriella protokollet som används för anslutning av Modem för telefoni. RS står för rekommenderad Standard, och nu har den ändrats till MKB (Electronic Industries Alliance ) / TIA ( Telecommunication Industry Association).
- Det används också i modem, mus och CNC (computed numerical computing) maskiner. Du kan bara ansluta en enda sändare till en enda mottagare.
- den stöder full duplex kommunikation och tillåter baudhastighet upp till 1Mbps.
- kabellängden är begränsad till 50 fot.
som du vet är de data som lagras i minnet i form av byte. Du kanske tvivlar på hur konverteras byte-wise-data till binära bitar? Svaret är en seriell port.
den seriella porten har ett internt chip som heter UART. UART är en akronym för Universal asynkron mottagare sändare som omvandlar parallelldata (byte) till bitvis seriell form.
RS232 seriell Port
RS-232 ledningsanslutning
RS232 seriell port har nio stift, modeller av manlig eller kvinnlig typ. RS 232C seriellt Kommunikationsgränssnitt är den senare versionen av RS232.
alla funktioner som finns i RS232 finns i RS232C-modellen förutom att den har 25 stift. Av 25 eller 9 stift använder vi bara tre stift för anslutning av terminalenheter.
RS232 ledningsanslutning
RS422 gränssnitt
Vi kan bara överföra data upp till 1mpbs gräns med RS232. För att lösa detta problem kommer RS422 in i bilden. RS422 är ett seriellt gränssnitt med flera droppar. vi kan ansluta tio sändare till 10 mottagare åt gången med den enda bussen. Den skickar data med två tvinnade parkablar (differentialkonfiguration). Kabellängden är 4000 fot med en baudhastighet på 10Mbps.
RS 422 ledningsanslutning
RS485 gränssnitt
RS485 är branschens föredragna protokoll. Till skillnad från RS422 kan du ansluta 32 linjedrivrutiner och 32 mottagare i en differentialkonfiguration. Sändaren kallas också Line driver. Endast en sändare är aktiv åt gången.
RS485 ledningsanslutning
Obs: för både RS232 och RS485 måste du avsluta anslutningen manuellt.
1-Trådsprotokoll
en tråd liknar I2C-protokollet. Men skillnaden är att ett trådprotokoll använder en enda datalinje och jord. Det kräver ingen klocksignal och slavarna klockas med hjälp av intern kristalloscillator. Det ger halv duplex kommunikation.
en tråd använder 64-bitars adresseringsschema. Fördelen med ett trådgränssnitt är att det stöder långdistanskommunikation med låg kostnad. Men nackdelen är att dess hastighet är mindre.
asynkrona Trådbundna protokoll är väl lämpade för fjärrkommunikation. Det finns dock en nackdel som ger utrymme för synkrona seriella gränssnitt.
nackdelen är att om det finns behov av att ansluta fler sändare och mottagare går installationskostnaden hög.
synkrona seriella protokoll
synkrona kommunikationsprotokoll är de bästa resurserna för kringutrustning ombord. Fördelen är att du kan ansluta fler enheter på samma buss. Några av de synkrona protokollen är I2C, SPI, CAN och LIN.
I2C Protocol
I2C (Inter-integrated circuit) är ett två-trådigt dubbelriktat protokoll som används för utbyte av data mellan olika enheter på samma buss. I2c använder 7 bitars eller 10-bitars adress som gör det möjligt att ansluta upp till 1024 enheter. Men det kräver klocksignal för att generera start-och stoppförhållanden. Fördelen är att det ger dataöverföring vid 400 kbps. Den är lämplig för kommunikation ombord.
SPI protokoll
SPI (Serial peripheral interface) protokoll skicka och ta emot data i en kontinuerlig ström utan avbrott. Detta protokoll rekommenderas för highspeed datakommunikation krävs. Den maximala hastigheten den kan ge är 10 Mbps.
till skillnad från I2C har SPI 4 ledningar. De är MOSI (Master Out slave in), MISO (Master in slave out), klocka och slav välj signal. Teoretiskt kan vi ansluta obegränsat antal slavar och praktiskt taget beror det på lastkapacitansen hos bussen.
Can Protocol
detta protokoll är tillägnad fordonssystem eller bilar. Det är ett meddelandeorienterat protokoll som används för multiplex elektriska ledningar för att spara koppar. Det är en multi-master multi seriell buss som används i applikationer som automatisk start/stopp av fordon, kollisionsundvikande system etc.
USB
USB-gränssnitt är det bästa alternativet till seriella eller parallella portar. Dataöverföringen i samband med USB-portar är ganska snabbare än det seriella och parallella gränssnittet. USB stöder hastigheter från 1,5 Mbps (USB 1.0) till 4,8 Gbps (USB 3.0). Idag använder de flesta av de inbäddade enheterna USB OTG (on the Go programming) – teknik för att dumpa hex-filen till mikrokontroller.
Microwire
Microwire är ett seriellt kommunikationsprotokoll med tre ledningar. Den har en seriell I/O-port på mikrokontrollern för gränssnitt med perifera chips. Den stöder hastighet upp till 3Mbps. Det snabbare än I2C och delmängd av SPI-protokollet.
slutsats
seriell kommunikation är den viktigaste delen inom elektronik och inbyggda system. Dataöverföringshastigheten är kritisk om två enheter vill utbyta information på samma buss. Därför är det nödvändigt att välja ett giltigt seriellt protokoll för alla applikationer.
Läs också: Vad är inbäddat System och hur det fungerar?