Articles

Wat is seriële communicatie en hoe het werkt?

Inleiding

seriële communicatie is de meest gebruikte methode voor de overdracht van informatie tussen gegevensverwerkende apparatuur en randapparatuur. In het algemeen betekent communicatie uitwisseling van informatie tussen individuen door middel van schriftelijke documenten, mondelinge woorden, audio-en videolessen.

elk apparaat kan het zijn uw Personal computer of mobiel draait op serieel protocol. Het protocol is de veilige en betrouwbare vorm van communicatie met een set regels gericht door de bron host (afzender) en bestemming host (ontvanger). Om een beter inzicht te hebben, heb ik het concept van seriële communicatie uitgelegd.

in embedded systeem is seriële communicatie de manier om gegevens uit te wisselen met behulp van verschillende methoden in de vorm van serieel digitaal binair. Enkele van de bekende interfaces gebruikt voor de gegevensuitwisseling zijn RS-232, RS-485, I2C, SPI etc.

Wat is seriële communicatie?

in seriële communicatie hebben gegevens de vorm van binaire pulsen. Met andere woorden, We kunnen zeggen binaire één staat voor een logica hoog of 5 volt, en nul staat voor een logica laag of 0 volt. Seriële communicatie kan vele vormen aannemen, afhankelijk van het type transmissiemodus en gegevensoverdracht. De transmissiemodi worden geclassificeerd als Simplex, Half Duplex en Full Duplex. Er zal een bron (ook bekend als een afzender) en bestemming (ook wel een ontvanger) voor elke transmissie modus.

Transmissiemodi - seriële communicatie

Transmissiemodi – seriële communicatie

De simplex-methode is een eenrichtingscommunicatietechniek. Slechts één client (de afzender of de ontvanger is tegelijkertijd actief). Als een afzender verzendt, kan de ontvanger alleen accepteren. Radio-en televisieuitzendingen zijn voorbeelden van simplex-modus.

In Half-Duplex modus zijn zowel de afzender als de ontvanger actief, maar niet tegelijk, d.w.z. als een afzender verzendt, kan de ontvanger wel accepteren maar niet verzenden en omgekeerd. Een goed voorbeeld is een internet. Als een client (laptop) een aanvraag voor een webpagina verzendt, verwerkt de webserver de toepassing en stuurt de informatie terug.

De Full-Duplex modus wordt veel gebruikt communicatie in de wereld. Hier kunnen zowel de afzender als de ontvanger tegelijkertijd verzenden en ontvangen. Een voorbeeld is uw smartphone.

naast de transmissiemodi moeten we rekening houden met het endianness-en protocolontwerp van de hostcomputer (afzender of ontvanger). Endianness is de manier om de gegevens op een bepaald geheugenadres op te slaan. Afhankelijk van de gegevensuitlijning wordt endian geclassificeerd als

  • Little Endian en
  • Big Endian.

neem dit voorbeeld om het concept van endianness te begrijpen. Stel, we hebben een 32-bit hexadecimale data ABCD87E2. Hoe worden deze gegevens opgeslagen in het geheugen? Om een duidelijk idee te hebben, heb ik het verschil uitgelegd tussen Little Endian en Big Endian.

Little Endian Vs Big Endian

Little Endian Vs Big Endian

gegevensoverdracht kan op twee manieren gebeuren. Ze zijn seriële communicatie en parallelle communicatie. Seriële communicatie is een techniek die wordt gebruikt om gegevens beetje bij beetje te verzenden met behulp van een twee-draden dwz zender (zender) en ontvanger.

bijvoorbeeld, Ik wil een 8-bit binaire data 11001110 van de zender naar de ontvanger sturen. Maar welk deel gaat er eerst uit? Meest significante Bit-MSB (7e bit) of minst significante Bit – LSB (0e Bit). Dat kunnen we niet zeggen. Hier ben ik overweegt LSB beweegt eerst (voor little Endian).

seriële communicatie

seriële communicatie

uit het bovenstaande diagram, voor elke klokpuls; de zender stuurt een enkel stukje data naar de ontvanger.

parallelle communicatie verplaatst 8,16, of 32 bits data tegelijk. Printers en Xerox-machines gebruiken parallelle communicatie voor snellere gegevensoverdracht.

RS232 parallelle communicatie

RS232 parallelle communicatie

verschil tussen seriële en parallelle communicatie

seriële communicatie verstuurt slechts één bit per keer. dus, deze vereisen minder I / O (input-output) lijnen. Dus minder ruimte innemen en beter bestand tegen cross-talk. Het belangrijkste voordeel van seriële communicatie is, de kosten van het gehele embedded systeem wordt goedkoop en stuurt de informatie over een lange afstand. Seriële overdracht wordt gebruikt in DCE (Data communication Equipment) apparaten zoals een modem.

in parallelle communicatie wordt een stuk data (8,16 of 32 bit) tegelijk verzonden. Dus, elk stukje data vereist een aparte fysieke I / O lijn. Het voordeel van parallelle communicatie is dat het snel is, maar het nadeel is dat er meer I/O (input-output) lijnen worden gebruikt. Parallelle overdracht wordt gebruikt in PC (personal computer) voor het koppelen van CPU (centrale verwerkingseenheid), RAM (random access memory), modems, audio, video en netwerk hardware.

Opmerking: Als uw geïntegreerde schakeling of processor minder Input/Output pinnen ondersteunt, is het beter om seriële communicatie

te kiezen voor eenvoudig begrip, hier is de vergelijking van seriële en parallelle communicatie.

Seriële Communicatie Parallelle Communicatie
Zendt gegevens beetje bij beetje op een klok puls Overdracht van een deel van de gegevens in een tijd
Vereist een draad om de data te verzenden Vereist dat de ‘n’ het aantal regels voor het verzenden van ‘n’ bits
Communicatie snelheid is traag Communicatie snelheid is snel
Installatie kosten laag de Installatie kosten zijn hoog
voorkeur voor communicatie over lange afstand gebruikt voor communicatie over korte afstand
voorbeeld: Computer naar computer Computer naar multifunctionele printer

kloksynchronisatie

voor een efficiënte werking van seriële apparaten is de klok de primaire bron. Storing van de klok kan leiden tot onverwachte resultaten. Het kloksignaal is verschillend voor elk serieel apparaat, en het is gecategoriseerd als synchrone protocol en asynchrone protocol.

synchrone seriële interface

alle apparaten op synchrone seriële interface gebruiken de enkele CPU-bus om zowel klok als gegevens te delen. Als gevolg van dit feit, gegevensoverdracht is sneller. Het voordeel is dat er geen mismatch in baudrate zal zijn. Bovendien zijn er minder I / O (input-output) lijnen nodig om componenten met elkaar te verbinden. Voorbeelden zijn I2C, SPI etc.

asynchrone seriële interface

de asynchrone interface heeft geen extern kloksignaal en is gebaseerd op vier parameters, namelijk

  1. baudrate control
  2. Data flow control
  3. transmissie-en ontvangstcontrole
  4. Foutcontrole.

asynchrone protocollen zijn geschikt voor stabiele communicatie. Deze worden gebruikt voor langeafstandstoepassingen. Voorbeelden van asynchrone protocollen zijn RS-232, RS-422 en RS-485.

Hoe werkt seriële communicatie?

geavanceerde CPU zoals microcontroller en Microprocessor maken gebruik van seriële communicatie om te communiceren met de externe wereld en op de chip randapparatuur. Om vertrouwd te raken, laten we een eenvoudig voorbeeld nemen. Voor stel, u wilt een bestand aanwezig in uw laptop te sturen naar smartphone. Hoe zou je sturen? Waarschijnlijk met behulp van Bluetooth of WiFi protocol, rechts.

dus, hier zijn de stappen om de seriële communicatie tot stand te brengen

  1. voeg de verbinding toe.

In de eerste stap zal uw laptop zoeken naar apparaten in de buurt van 100m en de gevonden apparaten weergeven. Dit proces wordt vaak roaming genoemd.

  1. Selecteer het apparaat dat u wilt communiceren.

om verbinding te maken met uw mobiele telefoon, moet de koppeling worden gedaan. De standaard configuratie is al aanwezig in de software. Dus geen behoefte om de baudrate handmatig configureren. Verder zijn er vier onbekende regels. Ze zijn baudrate, data Bit selectie( framing), start-stop bit, en pariteit.

regels voor seriële communicatie

regels voor seriële communicatie

# 1 Wat is baudrate?

baudrate is de snelheid waarmee gegevens van de zender naar een ontvanger worden overgebracht in de vorm van bits per seconde. Sommige van de standaard baudrates zijn 1200, 2400, 4800, 9600, 57600.

u moet aan beide zijden dezelfde baudrate instellen (mobiel en Laptop).

opmerking: hoe hoger een baudrate, meer gegevens kunnen worden overgedragen in minder tijd.

Ik adviseer echter om tot 115200 als veilige limiet te gebruiken vanwege een mismatch van de bemonsteringsfrequentie aan het einde van de ontvanger.

# 2 Framing

Framing toont hoeveel gegevensbits u van het hostapparaat (Laptop) naar mobiel (ontvanger) wilt verzenden. Is het 5, 6, 7, of 8 bits? Meestal veel apparaten, 8 bits hebben de voorkeur. Na het selecteren van de 8-bit data chunk, endianness moet worden overeengekomen door de afzender en ontvanger.

# 3 synchronisatie

zender voegt synchronisatiebits (1 startbit en 1 of 2 stopbit) toe aan het oorspronkelijke gegevensframe. Synchronisatiebits helpen de ontvanger om het begin en einde van de gegevensoverdracht te identificeren. Dit proces staat bekend als asynchrone gegevensoverdracht.

# 4 Foutcontrole

gegevenscorruptie kan optreden als gevolg van externe ruis aan het einde van de ontvanger. De enige oplossing om de stabiele output te krijgen is om de pariteit te controleren.

als de binaire gegevens een even aantal 1 ’s bevatten, wordt het even pariteit genoemd en wordt de pariteitsbit ingesteld op’1′. Als de binaire gegevens een oneven aantal van 1 ’s bevatten, wordt het oneven pariteit genoemd, en nu is pariteit bit ingesteld op ‘0’.

asynchrone seriële protocollen

De meest voorkomende vraag die bij je opkomt als je begint te werken aan het embedded systeem is waarom je asynchrone protocollen moet gebruiken?

  • om de informatie op een langere afstand te verplaatsen en
  • voor een betrouwbaardere gegevensoverdracht.

sommige asynchrone communicatieprotocollen zijn:

RS-232 protocol

  • RS232 is het eerste seriële protocol dat wordt gebruikt voor het aansluiten van modems voor telefonie. RS staat voor Recommended Standard en is nu veranderd in EIA (Electronic Industries Alliance ) / Tia ( Telecommunication Industry Association).
  • het wordt ook gebruikt in modem -, muis-en CNC-machines (computed numerical computing). U kunt slechts een enkele zender aansluiten op een enkele ontvanger.
  • Het ondersteunt full duplex communicatie en maakt baudrate tot 1Mbps mogelijk.
  • kabellengte is beperkt tot 50 voet.

zoals u weet, zijn de in het geheugen opgeslagen gegevens in de vorm van bytes. U kunt twijfelen hoe de byte-wise gegevens worden geconverteerd naar binaire bits? Het antwoord is een seriële poort.

De seriële poort heeft een interne chip genaamd UART. UART is een acroniem voor Universal Asynchronous Receiver Transmitter die de parallelle gegevens (byte) converteert naar de bitsgewijze seriële vorm.

RS232 seriële poort

RS232 seriële poort

rs-232 Bedradingsaansluiting

de RS232 seriële poort heeft negen pinnen, mannelijk of vrouwelijk type. RS 232C seriële communicatie interface is de latere versie van RS232.

alle functies in RS232 zijn aanwezig in het RS232C-model, behalve dat het 25 pinnen heeft. Van de 25 of 9 pinnen gebruiken we slechts drie pinnen voor de aansluiting van eindapparaten.

RS232 Bedradingsverbinding

RS232 Bedradingsverbinding

RS422 Interface

We kunnen gegevens slechts tot 1mpbs-limiet overdragen met behulp van RS232. Om dit probleem op te lossen komt RS422 in beeld. RS422 is een multi-drop seriële interface. we kunnen tien zenders verbinden met 10 ontvangers tegelijk met behulp van de enkele bus. Het verzendt gegevens met behulp van twee twisted pair kabels (differentiële configuratie). Kabellengte is 4000 voet met een baudrate van 10Mbps.

RS 422 Bedradingsaansluiting

rs 422 Bedradingsaansluiting

RS485 Interface

RS485 heeft de voorkeur van de industrie. In tegenstelling tot RS422, kunt u 32 line drivers en 32 ontvangers aansluiten in een differentiële configuratie. De zender wordt ook wel Line driver genoemd. Er is echter slechts één zender tegelijk actief.

RS485 Bedradingsaansluiting

RS485 Bedradingsaansluiting

opmerking: voor zowel RS232 als RS485 moet u de verbinding handmatig beëindigen.

1-draad Protocol

Eén draad is vergelijkbaar met het I2C-protocol. Maar het verschil is dat één draadprotocol één datalijn en grond gebruikt. Het vereist geen kloksignaal en de slaven worden geklokt met behulp van interne kristal oscillator. Het biedt half duplex communicatie.

Eén draad gebruikt een 64-bits adresseringsschema. Het voordeel van een draad interface is, het ondersteunt lange afstand communicatie met lage kosten. Maar het nadeel is dat de snelheid minder is.

asynchrone bedrade protocollen zijn zeer geschikt voor communicatie over lange afstand. Er is echter één nadeel dat ruimte geeft aan synchrone seriële interfaces.

het nadeel is dat als er meer zenders en ontvangers moeten worden aangesloten, de installatiekosten hoog oplopen.

synchrone seriële protocollen

synchrone communicatieprotocollen zijn de beste bronnen voor randapparatuur aan boord. Het voordeel is dat u meer apparaten op dezelfde bus kunt aansluiten. Sommige synchrone protocollen zijn I2C, SPI, CAN en LIN.

I2C Protocol

I2c (Inter-integrated circuit) is een tweedraads bidirectioneel protocol dat wordt gebruikt voor de uitwisseling van gegevens tussen verschillende apparaten op dezelfde bus. I2c maakt gebruik van 7-bit of 10-bit adres waardoor tot 1024 apparaten kunnen worden aangesloten. Maar, het vereist kloksignaal voor het genereren van start en stop voorwaarden. Het voordeel is dat het gegevensoverdracht biedt bij 400 kbps. Het is geschikt voor communicatie aan boord.

SPI Protocol

SPI (Serial peripheral interface) protocol verzend en ontvang gegevens in een continue stream zonder enige onderbreking. Dit protocol wordt aanbevolen voor highspeed datacommunicatie is vereist. De maximale snelheid die het kan bieden is 10 Mbps.

In tegenstelling tot i2c heeft SPI 4 draden. Ze zijn MOSI (Master out slave in), MISO (Master in slave out), klok en Slaaf select signaal. Theoretisch kunnen we onbeperkt aantal slaven aan te sluiten en praktisch is het afhankelijk van de laadcapaciteit van de bus.

CAN-Protocol

Dit protocol is gewijd aan voertuigsystemen of auto ‘ s. Het is een message-oriented protocol dat wordt gebruikt voor multiplex elektrische bedrading om het koper te besparen. Het is een multi-master multi seriële bus die wordt gebruikt in toepassingen zoals automatische start/stop van voertuigen, botsingsvermijdingssystemen enz.

USB

USB-interface is het beste alternatief voor seriële of parallelle poorten. De gegevensoverdracht in verband met USB-poorten zijn vrij sneller dan de seriële en parallelle interface. USB ondersteunt snelheden van 1,5 Mbps (USB 1.0) tot 4,8 Gbps (USB 3.0). Tegenwoordig gebruiken de meeste embedded apparaten USB OTG (on the Go programming) techniek voor het dumpen van het hex bestand naar de microcontroller.

Microwire

Microwire is een driedraads serieel communicatieprotocol. Het heeft een seriële I / O-poort op de microcontroller om te communiceren met perifere chips. Het ondersteunt snelheid tot 3Mbps. Het sneller dan i2c en subset van SPI-protocol.

conclusie

seriële communicatie is het essentiële onderdeel op het gebied van elektronica en ingebedde systemen. De snelheid van gegevensoverdracht is van cruciaal belang als twee apparaten informatie willen uitwisselen op dezelfde bus. Daarom is het noodzakelijk om voor elke toepassing Een geldig serieel protocol te kiezen.

Lees ook: Wat is Embedded systeem en hoe het werkt?

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *