I2C-grænseflade: beskrivelse på russisk

Indholdsfortegnelse:

I2C-grænseflade: beskrivelse på russisk
I2C-grænseflade: beskrivelse på russisk
Anonim

I moderne husholdningsapparater, industriel elektronik og forskelligt telekommunikationsudstyr kan lignende løsninger ofte findes, selvom produkterne praktisk t alt ikke er relaterede. For eksempel inkluderer næsten alle systemer følgende:

  • en vis "smart" styreenhed, som i langt de fleste tilfælde er en enkelt-chip mikrocomputer;
  • komponenter til generelle formål såsom LCD-buffere, RAM, I/O-porte, EEPROM eller dedikerede datakonvertere;
  • specifikke komponenter, herunder digital tuning og signalbehandlingskredsløb til video- og radiosystemer.

Hvordan optimerer man deres applikation?

kort beskrivelse af uart spi i2c-grænseflader
kort beskrivelse af uart spi i2c-grænseflader

For at få mest muligt ud af disse almindelige løsninger til gavn for designere og producenter, samt for at forbedre den overordnede ydeevne af forskellig hardware og forenkle de anvendte kredsløbskomponenter, satte Philips sig for at udvikle den enkleste to-leder tovejs bus, der giver den mest produktive inter-chipstyring. Denne bus leverer dataoverførsel via I2C-grænsefladen.

I dag omfatter producentens produktsortiment mere end 150 CMOS, såvel som bipolære enheder, der er kompatible med I2C og designet til at fungere i enhver af de angivne kategorier. Det skal bemærkes, at I2C-grænsefladen i første omgang er indbygget i alle kompatible enheder, på grund af hvilken de nemt kan kommunikere med hinanden ved hjælp af en speciel bus. På grund af brugen af en sådan designløsning var det muligt at løse et temmelig stort antal problemer med interface til forskelligt udstyr, hvilket er ret typisk for udviklingen af digitale systemer.

Nøglefordele

i2c interface
i2c interface

Selv hvis du ser på en kort beskrivelse af UART, SPI, I2C grænseflader, kan du fremhæve følgende fordele ved sidstnævnte:

  • For at fungere behøver du kun to linjer - synkronisering og data. Enhver enhed, der forbinder til en sådan bus, kan så programmeres adresseres til en helt unik adresse. På ethvert givet tidspunkt er der en simpel relation, der gør det muligt for masterne at fungere som master-sender eller master-modtager.
  • Denne bus giver mulighed for at have flere mastere på én gang, hvilket giver alle de nødvendige midler til at bestemme kollisioner, samt voldgift for at forhindre datakorruption i tilfælde af, at to eller flere mastere begynder at transmittere information samtidigt. I standardtilstandkun seriel 8-bit datatransmission leveres med en hastighed på ikke mere end 100 kbps, og i hurtig tilstand kan denne tærskel øges fire gange.
  • Chipsene bruger et specielt indbygget filter, der effektivt undertrykker overspændinger og sikrer maksimal dataintegritet.
  • Det maksim alt mulige antal chips, der kan tilsluttes én bus, er kun begrænset af dens maksim alt mulige kapacitet på 400 pF.

Fordele for konstruktører

i2c interface lcd1602
i2c interface lcd1602

I2C-grænsefladen, såvel som alle kompatible chips, kan fremskynde udviklingsprocessen betydeligt, fra et funktionelt diagram til dets endelige prototype. Samtidig skal det bemærkes, at på grund af muligheden for at forbinde sådanne mikrokredsløb direkte til bussen uden at bruge alle former for ekstra kredsløb, er der plads til yderligere modernisering og modifikation af prototypesystemet ved at afbryde og tilslutte forskellige enheder fra bus.

Der er mange fordele, der får I2C-grænsefladen til at skille sig ud. Beskrivelsen giver dig især mulighed for at se følgende fordele for konstruktører:

  • Blokkerne på funktionsdiagrammet svarer fuldt ud til mikrokredsløb, og samtidig er der givet en ret hurtig overgang fra funktionel til fundamental.
  • Der er ingen grund til at udvikle busgrænseflader, fordi bussen allerede er integreret i dedikerede chips.
  • Integrerede kommunikationsprotokoller ogenhedsadressering gør det muligt for systemet at være fuldstændig softwaredefineret.
  • De samme typer mikrokredsløb kan om nødvendigt bruges i helt forskellige applikationer.
  • Den samlede udviklingstid er væsentligt reduceret på grund af det faktum, at designere hurtigt kan blive fortrolige med de mest almindeligt anvendte funktionelle blokke, samt forskellige mikrokredsløb.
  • Hvis det ønskes, kan du tilføje eller fjerne chips fra systemet, og samtidig ikke have meget effekt på andet udstyr, der er tilsluttet den samme bus.
  • Den samlede softwareudviklingstid kan reduceres betydeligt ved at tillade et bibliotek af genanvendelige softwaremoduler.

Det er blandt andet værd at bemærke den ekstremt enkle procedure til diagnosticering af fejl, der er opstået og yderligere fejlretning, som adskiller I2C-grænsefladen. Beskrivelsen antyder, at selv mindre afvigelser i driften af sådant udstyr om nødvendigt kan overvåges øjeblikkeligt uden besvær, og derfor kan passende foranst altninger træffes. Det er også værd at bemærke, at designere får specielle løsninger, som især er ret attraktive for forskellige bærbare udstyr og systemer, der leverer batteristrøm ved hjælp af I2C-grænsefladen. Beskrivelsen på russisk angiver også, at dens brug giver dig mulighed for at give dig følgende vigtige fordele:

  • Tilstrækkelig høj grad af modstand mod enhver opstået interferens.
  • I sidste endelavt strømforbrug.
  • Bredeste forsyningsspændingsområde.
  • Bredt temperaturområde.

Fordele for teknologer

Det er værd at bemærke, at ikke kun designere, men også teknologer for nylig er begyndt at bruge en specialiseret I2C-grænseflade ganske ofte. Beskrivelsen på russisk angiver en temmelig bred vifte af fordele, som denne kategori af specialister giver:

  • En standard to-leder seriel bus med denne grænseflade minimerer sammenkoblinger mellem IC'er, hvilket betyder, at der er færre ben og færre spor påkrævet, hvilket gør PCB'er billigere og meget mindre.
  • Et fuldt integreret I2C-interface LCD1602 eller en anden mulighed eliminerer fuldstændig behovet for adressedekodere og anden ekstern lille logik.
  • Det er muligt at bruge flere mastere på en sådan bus på samme tid, hvilket fremskynder test og efterfølgende udstyrsopsætning markant, da bussen kan tilsluttes en samlebåndscomputer.
  • Tilgængeligheden af IC'er, der er kompatible med denne grænseflade i VSO, SO og tilpassede DIL-pakker, kan reducere kravene til enhedsstørrelse betydeligt.

Dette er blot en kort liste over fordele, der adskiller I2C-grænsefladen på LCD1602 og andre. Derudover kan kompatible chips øge fleksibiliteten af det anvendte system betydeligt, hvilket giverekstremt simpelt design af forskellige udstyrsmuligheder, samt relativt nemme opgraderinger for yderligere at understøtte udviklingen på nuværende niveau. Det er således muligt at udvikle en hel familie af forskelligt udstyr ved at bruge en bestemt grundmodel som grundlag.

Yderligere modernisering af udstyr og udvidelse af dets funktioner kan udføres ved hjælp af en standardforbindelse til bussen på det tilsvarende mikrokredsløb ved hjælp af Arduino 2C-grænsefladen eller en hvilken som helst anden fra den tilgængelige liste. Hvis der kræves en større ROM, vil det kun være nok at vælge en anden mikrocontroller med en øget ROM. Da opdaterede chips fuldstændigt kan erstatte gamle, hvis det er nødvendigt, kan du nemt tilføje nye funktioner til udstyr eller øge dets samlede ydeevne ved blot at frakoble forældede chips og derefter erstatte dem med nyere udstyr.

ACCESS.bus

På grund af det faktum, at bussen har en to-leder karakter, samt muligheden for programadressering, er en af de mest ideelle platforme for ACCESS.bus I2C-grænsefladen. Specifikationen (beskrivelse på russisk er præsenteret i artiklen) af denne enhed gør den til et meget billigere alternativ til den tidligere aktivt brugte RS-232C-grænseflade til tilslutning af forskellige perifere enheder til computere ved hjælp af et standard fire-benet stik.

Specifikationsintroduktion

i2c interface beskrivelse på russisk
i2c interface beskrivelse på russisk

Til moderne applikationer8-bit kontrol, som bruger mikrocontrollere, er det muligt at indstille nogle designkriterier:

  • komplet system inkluderer for det meste én mikrocontroller og andre perifere enheder, inklusive hukommelse og forskellige I/O-porte;
  • samlede omkostninger ved at kombinere forskellige enheder inden for ét system bør minimeres så meget som muligt;
  • systemet, der styrer funktionerne, sørger ikke for behovet for højhastighedsinformationsoverførsel;
  • total effektivitet er direkte afhængig af det valgte udstyr samt arten af forbindelsesbussen.

For at designe et system, der fuldt ud opfylder de anførte kriterier, skal du bruge en bus, der vil bruge I2C-seriegrænsefladen. Selvom den serielle bus ikke har parallelbussens båndbredde, kræver den færre forbindelser og færre chipben. Samtidig skal du ikke glemme, at bussen ikke kun omfatter forbindelsesledninger, men også forskellige procedurer og formater, der er nødvendige for at sikre kommunikation i systemet.

Enheder, der kommunikerer ved hjælp af softwareemulering af I2C-grænsefladen eller den tilsvarende bus, skal have en specifik protokol, der giver dig mulighed for at forhindre forskellige muligheder for kollisioner, tab eller blokering af information. Hurtige enheder skal kunne kommunikere med langsomme, og systemet bør ikke være afhængigt affra det tilsluttede udstyr, da alle forbedringer og modifikationer ellers ikke vil kunne bruges. Det er også nødvendigt at udvikle en procedure, ved hjælp af hvilken det er realistisk at fastslå, hvilken bestemt enhed der i øjeblikket leverer busstyring og på hvilket tidspunkt. Derudover, hvis forskellige enheder med forskellige clockfrekvenser er forbundet til den samme bus, skal du beslutte dig for kilden til dens synkronisering. Alle disse kriterier opfyldes af I2C-grænsefladen for AVR'en og andre fra denne liste.

Hovedkoncept

i2c-grænsefladespecifikationsbeskrivelse på russisk
i2c-grænsefladespecifikationsbeskrivelse på russisk

I2C-bussen kan understøtte enhver anvendt chipteknologi. I2C LabVIEW-grænsefladen og andre lignende den giver mulighed for brug af to linjer til overførsel af information - data og synkronisering. Enhver enhed, der er tilsluttet på denne måde, genkendes på sin unikke adresse, uanset om det er en LCD-buffer, mikrocontroller, hukommelse eller tastaturinterface, og kan fungere som modtager eller sender, afhængigt af hvad den er beregnet til dette udstyr.

I langt de fleste tilfælde er LCD-bufferen en standardmodtager, og hukommelsen kan ikke kun modtage, men også transmittere forskellige data. Blandt andet kan enheder i henhold til processen med at flytte information klassificeres som slave og master.

I dette tilfælde er masteren den enhed, der starter dataoverførslen og også genererersynkroniseringssignaler. I dette tilfælde vil alle adresserbare enheder blive betragtet som slaver i forhold til det.

I2C-kommunikationsgrænsefladen sørger for tilstedeværelsen af flere mastere på én gang, det vil sige, at mere end én enhed, der er i stand til at styre bussen, er i stand til at oprette forbindelse til den. Muligheden for at bruge mere end én mikrocontroller på samme bus betyder, at mere end én master kan videresendes på et givet tidspunkt. For at eliminere det potentielle kaos, der risikerer at opstå, når en sådan situation opstår, er der udviklet en specialiseret voldgiftsprocedure, der bruger I2C-grænsefladen. Udvidere og andre enheder sørger for tilslutning af enheder til bussen i henhold til den såkaldte ledningsregel

Generering af clock-signalet er masterens ansvar, og hver master genererer sit eget signal under dataoverførsel, og det kan kun ændre sig senere, hvis det "trækkes" af en langsom slave eller en anden master, når der opstår en kollision

Generelle parametre

Både SCL og SDA er tovejslinjer, der forbindes til en positiv strømforsyning med en pull-up modstand. Når dækket er helt frit, er hver linje i en høj position. Udgangstrinene for enheder, der er tilsluttet bussen, skal være open-drain eller open-collector, så den kablede OG-funktion kan leveres. Information via I2C-interfacet kan transmitteres med en hastighed på højst 400 kbpshurtig tilstand, mens standardhastigheden ikke overstiger 100 kbps. Det samlede antal enheder, der samtidigt kan tilsluttes bussen, afhænger kun af én parameter. Dette er linjekapacitansen, som ikke er mere end 400 pf.

Bekræftelse

i2c interface beskrivelse
i2c interface beskrivelse

Bekræftelse er en obligatorisk procedure i dataoverførselsprocessen. Masteren genererer den passende synkroniseringsimpuls, mens senderen frigiver SDA-linjen under denne synkroniseringsimpuls som en bekræftelse. Derefter skal modtageren sikre, at SDA-linjen holdes stabil under urets høje tilstand i en stabil lav tilstand. I dette tilfælde skal du sørge for at tage højde for opsætnings- og ventetider.

I langt de fleste tilfælde er det obligatorisk for den adresserede modtager at generere en bekræftelse efter hver modtaget byte, med den eneste undtagelse, når starten af transmissionen inkluderer en CBUS-adresse.

Hvis modtager-slaven ikke har mulighed for at sende bekræftelse af sin egen adresse, skal datalinjen stå højt, og så vil masteren være i stand til at udsende et "Stop"-signal, som vil afbryde afsendelsen af alle oplysninger. Hvis adressen er bekræftet, men slaven ikke kan modtage flere data i lang tid, skal masteren også afbryde afsendelsen. For at gøre dette, kvitterer slaven ikke for den næste modtagne byte og forlader blot linjenhøj, hvilket får masteren til at generere et stopsignal.

Hvis overførselsproceduren sørger for tilstedeværelsen af en master-modtager, så skal den i dette tilfælde informere slaven om slutningen af transmissionen, og dette gøres ved ikke at kvittere for den sidst modtagne byte. I dette tilfælde frigiver slavesenderen straks datalinjen, så masteren kan afgive et "Stop"-signal eller gentage "Start"-signalet igen.

For at kontrollere, om udstyret virker, kan du prøve at indtaste standardeksempler på skitser til I2C-grænsefladen i Arduino, som på billedet ovenfor.

voldgift

2c arduino interface
2c arduino interface

Mastre kan først begynde at sende information, efter at bussen er helt fri, men to eller flere mastere kan generere et startsignal på minimum holdetid. Dette resulterer i sidste ende i et specifikt "Start"-signal på bussen.

Voldgift fungerer på SDA-bussen, mens SCL-bussen er høj. Hvis en af masterne begynder at sende et lavt niveau på datalinjen, men samtidig er den anden høj, så er sidstnævnte fuldstændig afbrudt fra den, fordi SDL-tilstanden ikke svarer til den høje tilstand af dens interne linje.

Arbitrage kan fortsætte over flere bits. På grund af det faktum, at adressen sendes først, og derefter dataene, kan voldgift vare indtil slutningen af adressen, og hvis masterne vil adressereden samme enhed, så vil forskellige data også deltage i voldgiften. På grund af denne voldgiftsordning vil ingen data gå tabt, hvis der opstår en kollision.

Hvis masteren mister voldgiften, kan den afgive clock-impulser i SCL indtil slutningen af byten, hvor adgangen gik tabt.

Anbefalede: