- Komunikācijas protokolu veidi
- Pārraides režīmi sērijveida saziņā
- Pulksteņa sinhronizācija
- Citi ar sērijveida saziņu saistītie termini
- Sinhronie sērijas protokoli
- Asinhronie sērijas protokoli
- Secinājums
Pirms sākt ar sērijas sakaru protokoliem, sadalīsim terminoloģiju trīs daļās. Komunikācija ir ļoti labi zināms, terminoloģiju, kas ietver informācijas apmaiņu starp diviem vai vairākiem nesējiem. Iegultās sistēmās sakari nozīmē datu apmaiņu starp diviem mikrokontrolleriem bitu veidā. Šo datu bitu apmaiņu mikrokontrollerī veic daži definēti noteikumi, kas pazīstami kā sakaru protokoli. Tagad, ja dati tiek sūtīti virknē, ti, viens pēc otra, sakaru protokols ir pazīstams kā sērijas sakaru protokols. Precīzāk, datu biti tiek pārraidīti pa vienam secīgi pa datu kopni vai sakaru kanālu sērijveida sakaros.
Komunikācijas protokolu veidi
Digitālajā elektronikā ir pieejami dažādi datu pārsūtīšanas veidi, piemēram, sērijveida sakari un paralēlā saziņa. Līdzīgi protokoli ir sadalīti divos veidos, piemēram, sērijveida sakaru protokolā un paralēlo sakaru protokolos. Paralēlās komunikācijas protokolu piemēri ir ISA, ATA, SCSI, PCI un IEEE-488. Līdzīgi ir vairāki sērijas sakaru protokolu piemēri, piemēram, CAN, ETHERNET, I2C, SPI, RS232, USB, 1-Wire un SATA utt.
Šajā rakstā tiks aplūkoti dažādi sērijas sakaru protokolu veidi. Seriālā komunikācija ir visplašāk izmantotā pieeja informācijas pārsūtīšanai starp datu apstrādes perifērijām. Katra elektroniskā ierīce neatkarīgi no tā, vai tā ir personālais dators (PC) vai mobilais, darbojas ar seriālo komunikāciju. Protokols ir droša un uzticama saziņas forma, kurai ir noteikumu kopums, uz kuru attiecas avota resursdators (sūtītājs) un galamērķa resursdators (uztvērējs), līdzīgs paralēlajai komunikācijai.
Pārraides režīmi sērijveida saziņā
Kā jau minēts iepriekš, sērijveida saziņā dati tiek sūtīti bitu, ti, bināro impulsu formā, un ir labi zināms, ka binārais pārstāv loģiku HIGH un nulle - LOW. Atkarībā no pārraides režīma veida un datu pārsūtīšanas ir vairāki sērijveida sakaru veidi. Pārraides režīmi tiek klasificēti kā Simplex, Half Duplex un Full Duplex.
Vienkāršā metode:
Vienkāršošanas metodē vienlaikus var būt aktīvs kāds no nesējiem, ti, sūtītājs vai uztvērējs. Tātad, ja sūtītājs pārraida datus, uztvērējs var pieņemt tikai un otrādi. Tātad vienkāršās metodes metode ir vienvirziena komunikācijas tehnika. Plaši pazīstamie vienkāršās metodes piemēri ir Televīzija un Radio.
Puse dupleksa metode:
Pusdupleksā metodē gan sūtītājs, gan uztvērējs var būt aktīvi, bet ne vienlaikus. Tātad, ja sūtītājs pārraida, uztvērējs var pieņemt, bet nevar nosūtīt un līdzīgi otrādi. Labi pazīstamie pusdupleksa piemēri ir internets, kurā lietotājs nosūta datu pieprasījumu un saņem tos no servera.
Pilna dupleksa metode:
Pilnīgas dupleksajā metodē gan uztvērējs, gan raidītājs var vienlaikus nosūtīt datus viens otram. Pazīstams piemērs ir mobilais tālrunis.
Lai nodrošinātu atbilstošu datu pārraidi, pulkstenim ir svarīga loma, un tas ir viens no primārajiem avotiem. Pulksteņa nepareizas darbības dēļ datu pārraide notiek negaidīti, pat dažreiz tie tiek zaudēti. Tātad, izmantojot sērijveida sakarus, pulksteņa sinhronizācija kļūst ļoti svarīga.
Pulksteņa sinhronizācija
Pulkstenis ir atšķirīgs sērijveida ierīcēm, un tas tiek klasificēts divu veidu, ti. Sinhronā sērijas saskarne un asinhronā sērijas saskarne.
Sinhronā sērijas saskarne:
Tas ir punkts-punkts savienojums no kapteiņa ar vergu. Šāda veida saskarnē visas ierīces izmanto vienu procesora kopni, lai koplietotu datus un pulksteni. Datu pārraide kļūst ātrāka, izmantojot to pašu kopni, lai koplietotu pulksteni un datus. Arī šajā saskarnē nav datu pārraides ātruma neatbilstības. Raidītāja pusē notiek datu nobīde uz seriālo līniju, nodrošinot pulksteni kā atsevišķu signālu, jo datiem nav pievienoti starta, stop un paritātes biti. Uztvērēja pusē dati tiek izgūti, izmantojot raidītāja nodrošināto pulksteni, un sērijveida datus pārveido atpakaļ paralēlajā formā. Pazīstamākie piemēri ir I2C un SPI.
Asinhronā sērijas saskarne:
Asinhronajā seriālajā saskarnē ārējā pulksteņa signāla nav. Asinhronās sērijas saskarnes var redzēt galvenokārt lielos attālumos, un tās ir lieliski piemērotas stabilai komunikācijai. Asinhronajā seriālajā saskarnē ārējā pulksteņa avota neesamība liek tam paļauties uz vairākiem parametriem, piemēram, datu plūsmas kontroli, kļūdu kontroli, pārraides ātruma kontroli, pārraides kontroli un uztveršanas kontroli. Uz raidītāja puses, ir pārbīde paralēlu datu uz sērijas līniju, izmantojot savu pulksteni. Arī tas pievieno sākuma, pieturas un paritātes pārbaudes bitus. Uztvērēja pusē uztvērējs iegūst datus, izmantojot savu pulksteni, un pēc sākuma, stop un paritātes bitu atdalīšanas sērijas datus pārveido atpakaļ paralēlajā formā. Pazīstamākie piemēri ir RS-232, RS-422 un RS-485.
Citi ar sērijveida saziņu saistītie termini
Papildus pulksteņa sinhronizācijai ir dažas lietas, kas jāatceras, sērijveidā pārsūtot datus, piemēram, pārraides ātrums, datu bitu izvēle (kadrēšana), sinhronizācija un kļūdu pārbaude. Apspriedīsim šos terminus īsi.
Pārraides ātrums: Bauda ātrums ir ātrums, kādā dati tiek pārsūtīti starp raidītāju un uztvērēju bitu sekundē (bps) formā. Visbiežāk izmantotais datu pārraides ātrums ir 9600. Bet ir arī citi pārraides ātruma izvēles veidi, piemēram, 1200, 2400, 4800, 57600, 115200. Jo vairāk pārraides ātrums būs tauki, un vienlaikus dati tiks pārsūtīti. Arī datu pārraidei pārraides ātrumam jābūt vienādam gan raidītājam, gan uztvērējam.
Kadrēšana: Kadrēšana attiecas uz datu bitu skaitu, kas jānosūta no raidītāja uz uztvērēju. Datu bitu skaits lietojuma gadījumā atšķiras. Lielākajā daļā lietojumprogrammu kā standarta datu biti tiek izmantoti 8 biti, bet to var izvēlēties arī kā 5, 6 vai 7 bitus.
Sinhronizācija: Sinhronizācijas biti ir svarīgi, lai izvēlētos datu daļu. Tas norāda datu bitu sākumu un beigas. Raidītājs iestatīs sākuma un beigu bitus datu rāmim, un uztvērējs to attiecīgi identificēs un veiks turpmāko apstrādi.
Kļūdu kontrole: Kļūdu kontrolei ir svarīga loma, kamēr notiek sērijveida saziņa, jo ir daudz faktoru, kas ietekmē un papildina sērijveida sakaru troksni. Lai atbrīvotos no šīs kļūdas, tiek izmantoti paritātes biti, kur paritāte pārbauda pāra un nepāra paritāti. Tātad, ja datu rāmī ir pāra 1 skaitlis, to sauc par pāra paritāti un reģistra paritātes bits ir iestatīts uz 1. Līdzīgi, ja datu rāmī ir nepāra 1 skaitlis, to sauc par nepāra paritāti un notīra nepāra paritātes bits reģistrā.
Protokols ir gluži kā izplatīta valoda, kuru sistēma izmanto, lai saprastu datus. Kā aprakstīts iepriekš, sērijveida sakaru protokols ir sadalīts tipos, ti, sinhronā un asinhronā. Tagad abi tiks detalizēti apspriesti.
Sinhronie sērijas protokoli
Sinhronā tipa sērijas protokoli, piemēram, SPI, I2C, CAN un LIN tiek izmantoti dažādos projektos, jo tas ir viens no labākajiem resursiem borta perifērijas. Arī šie ir plaši izmantotie protokoli galvenajās lietojumprogrammās.
SPI protokols
Seriālā perifērā saskarne (SPI) ir sinhrona saskarne, kas ļauj savstarpēji savienot vairākus SPI mikrokontrollerus. SPI datu un pulksteņa līnijai ir nepieciešami atsevišķi vadi. Arī pulkstenis nav iekļauts datu plūsmā, un tam jābūt aprīkotam kā atsevišķam signālam. SPI var konfigurēt vai nu kā galveno, vai kā vergu. Četri pamata SPI signāli (MISO, MOSI, SCK un SS), Vcc un Ground ir datu komunikācijas daļa. Tāpēc, lai nosūtītu un saņemtu datus no verga vai galvenā, tam nepieciešami 6 vadi. Teorētiski SPI var būt neierobežots vergu skaits. Datu sakari ir konfigurēti SPI reģistros. SPI spēj nodrošināt līdz pat 10Mbps ātrumu un ir ideāli piemērots ātrgaitas datu komunikācijai.
Lielākajai daļai mikrokontrolleru ir iebūvēts atbalsts SPI, un tos var tieši savienot ar SPI atbalstītu ierīci:
- SPI komunikācija ar PIC mikrokontrolleru PIC16F877A
- Kā izmantot SPI komunikāciju STM32 mikrokontrollerī
- Kā izmantot SPI Arduino: saziņa starp diviem Arduino dēļiem
I2C sērijveida komunikācija
Starp integrētās shēmas (I2C) divu līniju komunikācija starp dažādiem IC vai moduļiem, kur divas līnijas ir SDA (sērijas datu līnija) un SCL (sērijas pulksteņa līnija). Abām līnijām jābūt savienotām ar pozitīvu padevi, izmantojot pievilkšanas rezistoru. I2C var nodrošināt ātrumu līdz 400 Kbps, un tas izmanto 10 bitu vai 7 bitu adresēšanas sistēmu, lai mērķētu uz konkrētu ierīci i2c kopnē, lai tā varētu savienot līdz 1024 ierīcēm. Tam ir ierobežota garuma komunikācija, un tas ir ideāli piemērots sakariem ar bortu. I2C tīklus ir viegli iestatīt, jo tajos tiek izmantoti tikai divi vadi, un jaunas ierīces var vienkārši savienot ar abām kopīgajām I2C kopņu līnijām. Tāpat kā SPI, mikrokontrollerim parasti ir I2C tapas, lai pievienotu jebkuru I2C ierīci:
- Kā izmantot I2C komunikāciju STM32 mikrokontrollerī
- I2C sakari ar PIC mikrokontrolleru PIC16F877
- Kā lietot I2C Arduino: saziņa starp diviem Arduino dēļiem
USB
USB (Universal Serial Bus) ir plaši lietojams protokols ar dažādām versijām un ātrumiem. Vienam USB resursdatora kontrollerim var pievienot ne vairāk kā 127 perifērijas ierīces. USB darbojas kā "plug and play" ierīce. USB tiek izmantots gandrīz tādās ierīcēs kā tastatūras, printeri, multivides ierīces, kameras, skeneri un pele. Tas ir paredzēts ērtai uzstādīšanai, ātrākam datu novērtējumam, mazāk kabeļu un karstā nomaiņai. Tas ir aizstājis apjomīgākas un lēnākas sērijveida un paralēlās ostas. USB izmanto diferenciālu signālu, lai samazinātu traucējumus un ļautu ātrdarbīgu pārraidi lielā attālumā.
Diferenciālā kopne ir veidota ar diviem vadiem, no kuriem viens pārstāv pārraidītos datus, bet otrs - tā papildinājumu. Ideja ir tāda, ka "vidējais" spriegums uz vadiem nesniedz nekādu informāciju, kā rezultātā ir mazāk traucējumu. USB ierīcēs ir atļauts uzņemt noteiktu enerģijas daudzumu, neprasot resursdatoram. USB datu pārsūtīšanai izmanto tikai divus vadus, un tas ir ātrāks nekā seriālais un paralēlais interfeiss. USB versijas atbalsta dažādus ātrumus, piemēram, 1,5Mbps (USB v1.0), 480 Mbps (USB2.0), 5Gbps (USB v3.0). Atsevišķa USB kabeļa garums var sasniegt līdz 5 metriem bez rumbas un 40 metrus ar rumbu.
VAR
Controller Area Network (CAN) tiek izmantots, piemēram, automobiļos, lai nodrošinātu saziņu starp ECU (dzinēja vadības bloki) un sensoriem. CAN protokols ir izturīgs, lēts un balstīts uz ziņām, un tas attiecas uz daudzām lietojumprogrammām - piemēram, automašīnām, kravas automašīnām, traktoriem, rūpnieciskiem robotiem. CAN kopnes sistēma ļauj centrāli diagnosticēt un konfigurēt kļūdas visos ECU. CAN ziņām tiek piešķirta prioritāte, izmantojot ID, lai augstākās prioritātes ID netiktu pārtraukta. Katrā ECU ir mikroshēma visu nosūtīto ziņojumu saņemšanai, izlemiet atbilstību un rīkojieties atbilstoši - tas ļauj ērti modificēt un iekļaut papildu mezglus (piemēram, CAN kopnes datu reģistrētājus). Lietojumprogrammas ietver transportlīdzekļu iedarbināšanu / apturēšanu, sadursmju novēršanas sistēmas. CAN kopņu sistēmas var nodrošināt ātrumu līdz 1Mbps.
Mikroviļņa
MICROWIRE ir 3Mbps sērijveida 3 vadu interfeiss, kas būtībā ir SPI saskarnes apakškopa. Microwire ir sērijveida I / O ports mikrokontrolleros, tāpēc Microwire kopne būs atrodama arī EEPROM un citās perifērijas mikroshēmās. Trīs līnijas ir SI (sērijas ievade), SO (sērijas izeja) un SK (sērijas pulkstenis). Sērijas ievades (SI) līnija mikrokontrollerim, SO ir sērijveida izejas līnija, un SK ir sērijveida pulksteņa līnija. Dati tiek novirzīti uz SK krītošo malu un tiek vērtēti uz augošās malas. SI ir nobīdīts uz SK pieaugošās malas. Papildu MICROWIRE kopnes uzlabojumu sauc par MICROWIRE / Plus. Galvenā atšķirība starp abiem autobusiem, šķiet, ir tā, ka MICROWIRE / Plus arhitektūra mikrokontrollerī ir sarežģītāka. Tas atbalsta ātrumu līdz 3Mbps.
Asinhronie sērijas protokoli
Asinhronais sērijveida protokolu veids ir ļoti būtisks, ja runa ir par uzticamu lielāku attālumu datu pārsūtīšanu. Asinhronai komunikācijai nav nepieciešams laika pulkstenis, kas ir kopīgs abām ierīcēm. Katra ierīce neatkarīgi klausās un nosūta digitālos impulsus, kas attēlo datu bitus pēc saskaņota ātruma. Asinhrono seriālo komunikāciju dažreiz sauc par tranzistora-tranzistora loģikas (TTL) sēriju, kur augstsprieguma līmenis ir loģika 1, un zemspriegums ir vienāds ar loģiku 0. Gandrīz katram mūsdienu tirgū esošajam mikrokontrollerim ir vismaz viens universāls asinhronais uztvērējs. Raidītājs (UART) seriālai saziņai. Piemēri ir RS232, RS422, RS485 utt.
RS232
RS232 (ieteicamais 232. standarts) ir ļoti izplatīts protokols, ko izmanto dažādu perifērijas ierīču, piemēram, monitoru, CNC, savienošanai. RS232 ir vīriešu un sieviešu savienotāji. RS232 ir point-to-point topoloģija ar pievienotu ne vairāk kā vienu ierīci, un tā attālums ir līdz 15 metriem ar 9600 bps. Informāciju par RS-232 saskarni digitāli pārraida ar loģisko 0 un 1. Loģiskais "1" (MARK) atbilst spriegumam diapazonā no -3 līdz -15 V. Loģiskais "0" (SPACE) atbilst a spriegums diapazonā no +3 līdz +15 V. Tas nāk DB9 savienotājā, kurā ir 9 kontakti, piemēram, TxD, RxD, RTS, CTS, DTR, DSR, DCD, GND.
RS422
RS422 ir līdzīgs RS232, kas ļauj vienlaikus nosūtīt un saņemt ziņojumus uz atsevišķām līnijām, bet tam izmanto diferenciālo signālu. RS-422 tīklā var būt tikai viena raidošā ierīce un līdz 10 saņemošajām ierīcēm. Datu pārraides ātrums RS-422 ir atkarīgs no attāluma un var svārstīties no 10 kbps (1200 metri) līdz 10 Mbps (10 metri). RS-422 līnija ir 4 vadi datu pārraidei (2 savīti vadi pārraidei un 2 savīti vadi saņemšanai) un viens kopīgs GND zemējuma vads. Datu līnijās spriegums var būt diapazonā no -6 V līdz +6 V. Loģiskā atšķirība starp A un B ir lielāka par +0,2 V. Loģiskā 1 atbilst starpībai starp A un B, kas mazāka par -0,2 V. RS-422 standarts nenosaka noteiktu savienotāju tipu, parasti tas var būt spaiļu bloks vai DB9 savienotājs.
RS485
Tā kā RS485 izmanto daudzpunktu topoloģiju, to visbiežāk izmanto nozarēs, un tas ir nozares vēlamais protokols. RS422 var savienot 32 līniju draiverus un 32 uztvērējus diferenciālā konfigurācijā, bet ar papildu retranslatoru un signāla pastiprinātāju palīdzību līdz 256 ierīcēm. RS-485 nenosaka noteiktu savienotāju tipu, bet tas bieži ir spaiļu bloks vai DB9 savienotājs. Darbības ātrums ir atkarīgs arī no līnijas garuma un pie 10 metriem var sasniegt 10 Mbit / s. Spriegums uz līnijām ir robežās no -7 V līdz +12 V. Pastāv divu veidu RS-485, piemēram, pusdupleksais režīms RS-485 ar 2 kontaktiem un pilna dupleksa režīms RS-485 ar 4 kontaktiem. Lai uzzinātu vairāk par RS485 lietošanu kopā ar citiem mikrokontrolleriem, pārbaudiet saites:
- RS-485 MODBUS sērijveida sakari, izmantojot Arduino UNO kā vergu
- RS-485 Sērijas komunikācija starp Raspberry Pi un Arduino Uno
- RS485 Sērijas komunikācija starp Arduino Uno un Arduino Nano
- Sērijas komunikācija starp STM32F103C8 un Arduino UNO, izmantojot RS-485
Secinājums
Seriālā komunikācija ir viena no plaši izmantotajām sakaru saskarņu sistēmām elektronikā un iegultās sistēmās. Datu pārraides ātrums dažādām lietojumprogrammām var būt atšķirīgs. Sērijveida sakaru protokoliem var būt izšķiroša loma, strādājot ar šāda veida lietojumiem. Tāpēc pareizā sērijas protokola izvēle kļūst ļoti svarīga.