I2C-grensesnitt: beskrivelse på russisk

Innholdsfortegnelse:

I2C-grensesnitt: beskrivelse på russisk
I2C-grensesnitt: beskrivelse på russisk
Anonim

I moderne husholdningsapparater, industriell elektronikk og diverse telekommunikasjonsutstyr kan man ofte finne lignende løsninger, selv om produktene praktisk t alt kan være urelaterte. For eksempel inkluderer nesten alle systemer følgende:

  • en viss "smart" kontrollenhet, som i de aller fleste tilfeller er en enkeltbrikke mikrodatamaskin;
  • generelle komponenter som LCD-buffere, RAM, I/O-porter, EEPROM eller dedikerte dataomformere;
  • spesifikke komponenter inkludert digital tuning og signalbehandlingskretser for video- og radiosystemer.

Hvordan optimalisere applikasjonen deres?

kort beskrivelse av uart spi i2c-grensesnitt
kort beskrivelse av uart spi i2c-grensesnitt

For å få mest mulig ut av disse vanlige løsningene til fordel for designere og produsenter, samt for å forbedre den generelle ytelsen til forskjellig maskinvare og forenkle de brukte kretskomponentene, satte Philips seg for å utvikle den enkleste to-leder toveis buss som gir den mest produktive inter-brikkenstyre. Denne bussen gir dataoverføring via I2C-grensesnittet.

I dag inkluderer produsentens produktutvalg mer enn 150 CMOS, samt bipolare enheter som er kompatible med I2C og designet for å fungere i alle kategoriene som er oppført. Det skal bemerkes at I2C-grensesnittet i utgangspunktet er innebygd i alle kompatible enheter, på grunn av hvilket de enkelt kan kommunisere med hverandre ved hjelp av en spesiell buss. På grunn av bruken av en slik designløsning, var det mulig å løse et ganske stort antall problemer med grensesnitt til forskjellig utstyr, noe som er ganske typisk for utvikling av digitale systemer.

Nøkkelfordeler

i2c-grensesnitt
i2c-grensesnitt

Selv om du ser på en kort beskrivelse av UART, SPI, I2C-grensesnittene, kan du fremheve følgende fordeler ved sistnevnte:

  • For å fungere trenger du bare to linjer - synkronisering og data. Enhver enhet som kobles til en slik buss kan da adresseres programmatisk til en helt unik adresse. Til enhver tid er det en enkel relasjon som gjør at masterne kan fungere som master-sender eller master-mottaker.
  • Denne bussen gir muligheten til å ha flere mastere samtidig, og gir alle nødvendige midler for å bestemme kollisjoner, samt voldgift for å forhindre datakorrupsjon i tilfelle to eller flere mastere begynner å overføre informasjon samtidig. I standardmoduskun seriell 8-bits dataoverføring leveres med en hastighet på ikke mer enn 100 kbps, og i hurtigmodus kan denne terskelen økes fire ganger.
  • Briggene bruker et spesielt innebygd filter som effektivt undertrykker overspenninger og sikrer maksimal dataintegritet.
  • Maksim alt mulig antall brikker som kan kobles til én buss er kun begrenset av dens maksim alt mulige kapasitet på 400 pF.

Fordeler for konstruktører

i2c-grensesnitt lcd1602
i2c-grensesnitt lcd1602

I2C-grensesnittet, så vel som alle kompatible brikker, kan øke hastigheten på utviklingsprosessen betydelig, fra et funksjonelt diagram til den endelige prototypen. Samtidig skal det bemerkes at på grunn av muligheten for å koble slike mikrokretser direkte til bussen uten å bruke alle slags tilleggskretser, gis det plass for ytterligere modernisering og modifikasjon av prototypesystemet ved å koble fra og koble til forskjellige enheter fra buss.

Det er mange fordeler som gjør at I2C-grensesnittet skiller seg ut. Spesielt beskrivelsen lar deg se følgende fordeler for konstruktører:

  • Blokkene på funksjonsdiagrammet samsvarer fullt ut med mikrokretser, og samtidig er det gitt en ganske rask overgang fra funksjonell til fundamental.
  • Det er ikke nødvendig å utvikle bussgrensesnitt fordi bussen allerede er integrert i dedikerte brikker.
  • Integrerte kommunikasjonsprotokoller ogenhetsadressering lar systemet være fullstendig programvaredefinert.
  • De samme typene mikrokretser, om nødvendig, kan brukes i helt forskjellige applikasjoner.
  • Total utviklingstid reduseres betydelig på grunn av at designere raskt kan bli kjent med de mest brukte funksjonsblokkene, samt ulike mikrokretser.
  • Om ønskelig kan du legge til eller fjerne sjetonger fra systemet, og samtidig ikke ha stor effekt på annet utstyr koblet til samme buss.
  • Total programvareutviklingstid kan reduseres betydelig ved å tillate et bibliotek med gjenbrukbare programvaremoduler.

Blant annet er det verdt å merke seg den ekstremt enkle prosedyren for diagnostisering av feil som har oppstått og ytterligere feilsøking, som utmerker I2C-grensesnittet. Beskrivelsen antyder at selv mindre avvik i driften av slikt utstyr om nødvendig kan overvåkes umiddelbart uten vanskeligheter og følgelig kan passende tiltak iverksettes. Det er også verdt å merke seg at designere får spesielle løsninger, som spesielt er ganske attraktive for ulike bærbare utstyr og systemer som gir batteristrøm ved hjelp av I2C-grensesnittet. Beskrivelsen på russisk indikerer også at bruken lar deg gi deg følgende viktige fordeler:

  • Tilstrekkelig høy grad av motstand mot eventuelle forstyrrelser.
  • Til sluttlavt strømforbruk.
  • Bredeste forsyningsspenningsområde.
  • Bredt temperaturområde.

Fordeler for teknologer

Det er verdt å merke seg at ikke bare designere, men også teknologer nylig har begynt å bruke et spesialisert I2C-grensesnitt ganske ofte. Beskrivelsen på russisk indikerer et ganske bredt spekter av fordeler som denne kategorien spesialister gir:

  • En standard to-leder seriell buss med dette grensesnittet minimerer sammenkoblinger mellom ICer, noe som betyr at det er færre pinner og færre spor som kreves, noe som gjør PCB billigere og mye mindre.
  • Et fullt integrert I2C-grensesnitt LCD1602 eller et annet alternativ eliminerer helt behovet for adressedekodere og annen ekstern liten logikk.
  • Det er mulig å bruke flere mastere på en slik buss samtidig, noe som gjør testing og påfølgende utstyrsoppsett betydelig raskere, siden bussen kan kobles til en samlebåndsdatamaskin.
  • Tilgjengeligheten av IC-er som er kompatible med dette grensesnittet i VSO-, SO- og tilpassede DIL-pakker kan redusere kravene til enhetsstørrelse betraktelig.

Dette er bare en kort liste over fordeler som skiller I2C-grensesnittet til LCD1602 og andre. I tillegg kan kompatible brikker betydelig øke fleksibiliteten til systemet som brukes, og girekstremt enkelt design av ulike utstyrsmuligheter, samt relativt enkle oppgraderinger for å støtte videre utvikling på dagens nivå. Dermed er det mulig å utvikle en hel familie med forskjellig utstyr, med en viss grunnmodell som grunnlag.

Ytterligere modernisering av utstyr og utvidelse av funksjonene kan utføres ved hjelp av en standard tilkobling til bussen til den tilsvarende mikrokretsen ved å bruke Arduino 2C-grensesnittet eller en hvilken som helst annen fra den tilgjengelige listen. Hvis en større ROM kreves, vil det bare være nok å velge en annen mikrokontroller med økt ROM. Siden oppdaterte brikker fullstendig kan erstatte gamle om nødvendig, kan du enkelt legge til nye funksjoner i utstyret eller øke ytelsen ved å koble fra utdaterte brikker og deretter erstatte dem med nyere utstyr.

ACCESS.bus

På grunn av det faktum at bussen har en to-leder natur, samt muligheten for programadressering, er en av de mest ideelle plattformene for ACCESS.bus I2C-grensesnittet. Spesifikasjonen (beskrivelsen på russisk er presentert i artikkelen) av denne enheten gjør den til et mye billigere alternativ til det tidligere aktivt brukte RS-232C-grensesnittet for å koble ulike eksterne enheter til datamaskiner ved hjelp av en standard fire-pinners kontakt.

Spesifikasjonsintroduksjon

i2c-grensesnittbeskrivelse på russisk
i2c-grensesnittbeskrivelse på russisk

For moderne applikasjoner8-bits kontroll, som bruker mikrokontrollere, er det mulig å sette noen designkriterier:

  • komplett system inkluderer stort sett én mikrokontroller og annet periferiutstyr, inkludert minne og forskjellige I/O-porter;
  • totalkostnaden ved å kombinere ulike enheter i ett system bør minimeres så mye som mulig;
  • systemet som kontrollerer funksjonene sørger ikke for behovet for høyhastighets informasjonsoverføring;
  • total effektivitet er direkte avhengig av utstyret som er valgt, så vel som typen av forbindelsesbussen.

For å designe et system som fullt ut oppfyller de listede kriteriene, må du bruke en buss som vil bruke det serielle I2C-grensesnittet. Selv om seriebussen ikke har båndbredden til parallellbussen, krever den færre tilkoblinger og færre chippinner. Samtidig må du ikke glemme at bussen ikke bare inkluderer tilkoblingsledninger, men også ulike prosedyrer og formater som er nødvendige for å sikre kommunikasjon i systemet.

Enheter som kommuniserer ved hjelp av programvareemulering av I2C-grensesnittet eller tilsvarende buss må ha en spesifikk protokoll som lar deg forhindre ulike muligheter for kollisjoner, tap eller blokkering av informasjon. Raske enheter skal kunne kommunisere med trege enheter, og systemet skal ikke være avhengig avfra utstyret som er koblet til den, da ellers ikke alle forbedringer og modifikasjoner vil kunne brukes. Det er også nødvendig å utvikle en prosedyre ved hjelp av hvilken det er realistisk å fastslå hvilken bestemt enhet som for øyeblikket gir bussstyring og på hvilket tidspunkt. I tillegg, hvis forskjellige enheter med forskjellige klokkefrekvenser er koblet til samme buss, må du bestemme kilden til synkroniseringen. Alle disse kriteriene oppfylles av I2C-grensesnittet for AVR og eventuelle andre fra denne listen.

Hovedkonsept

i2c-grensesnittspesifikasjonsbeskrivelse på russisk
i2c-grensesnittspesifikasjonsbeskrivelse på russisk

I2C-bussen kan støtte hvilken som helst brikketeknologi som brukes. I2C LabVIEW-grensesnittet og andre lignende det sørger for bruk av to linjer for overføring av informasjon - data og synkronisering. Enhver enhet koblet til på denne måten gjenkjennes av sin unike adresse, uavhengig av om det er en LCD-buffer, mikrokontroller, minne eller tastaturgrensesnitt, og kan fungere som mottaker eller sender, avhengig av hva den er beregnet på dette utstyret.

I de aller fleste tilfeller er LCD-bufferen en standardmottaker, og minnet kan ikke bare motta, men også overføre ulike data. Blant annet, i henhold til prosessen med å flytte informasjon, kan enheter klassifiseres som slave og master.

I dette tilfellet er masteren enheten som starter dataoverføringen, og også genererersynkroniseringssignaler. I dette tilfellet vil alle adresserbare enheter betraktes som slaver i forhold til det.

I2C-kommunikasjonsgrensesnittet sørger for tilstedeværelsen av flere mastere samtidig, det vil si at mer enn én enhet som er i stand til å kontrollere bussen er i stand til å koble til den. Muligheten til å bruke mer enn én mikrokontroller på samme buss gjør at mer enn én master kan videresendes til enhver tid. For å eliminere det potensielle kaoset som risikerer å oppstå når en slik situasjon oppstår, er det utviklet en spesialisert voldgiftsprosedyre som bruker I2C-grensesnittet. Utvidere og andre enheter sørger for å koble enheter til bussen i henhold til den såk alte ledningsregelen

Å generere klokkesignalet er masterens ansvar, og hver master genererer sitt eget signal under dataoverføring, og det kan bare endres senere hvis det "dras" av en treg slave eller en annen master når en kollisjon oppstår.

Generelle parametere

Både SCL og SDA er toveis linjer som kobles til en positiv strømforsyning med en pull-up motstand. Når dekket er helt fritt, er hver linje i en høy posisjon. Utgangstrinnene til enheter som er koblet til bussen må være åpen-drain eller open-collector slik at den kablede OG-funksjonen kan gis Informasjon gjennom I2C-grensesnittet kan overføres med en hastighet på ikke mer enn 400 kbpshurtigmodus, mens standardhastigheten ikke overstiger 100 kbps. Det totale antallet enheter som kan kobles til bussen samtidig avhenger av kun én parameter. Dette er linjekapasitansen, som ikke er mer enn 400 pf.

Bekreftelse

i2c-grensesnittbeskrivelse
i2c-grensesnittbeskrivelse

Bekreftelse er en obligatorisk prosedyre i dataoverføringsprosessen. Masteren genererer passende synkroniseringspuls mens senderen slipper SDA-linjen under denne synkroniseringspulsen som en bekreftelse. Deretter må mottakeren sørge for at SDA-linjen holdes stabil under klokkehøytilstanden i stabil lavtilstand. I dette tilfellet må du ta hensyn til oppsett- og ventetider.

I de aller fleste tilfeller er det obligatorisk for den adresserte mottakeren å generere en bekreftelse etter hver mottatt byte, med det eneste unntaket når starten av overføringen inkluderer en CBUS-adresse.

Hvis mottaker-slaven ikke har mulighet til å sende bekreftelse på sin egen adresse, bør datalinjen stå høyt, og da vil masteren kunne gi et "Stopp"-signal, som vil avbryte sendingen av all informasjon. Hvis adressen er bekreftet, men slaven ikke kan motta flere data på lang tid, må masteren også avbryte sendingen. For å gjøre dette, bekrefter ikke slaven den neste mottatte byten og forlater ganske enkelt linjenhøy, noe som får masteren til å generere et stoppsignal.

Hvis overføringsprosedyren sørger for tilstedeværelse av en master-mottaker, må den i dette tilfellet informere slaven om slutten av overføringen, og dette gjøres ved å ikke kvittere for den sist mottatte byten. I dette tilfellet slipper slavesenderen umiddelbart datalinjen slik at masteren kan avgi et "Stopp"-signal eller gjenta "Start"-signalet igjen.

For å sjekke om utstyret fungerer, kan du prøve å legge inn standardeksempler på skisser for I2C-grensesnittet i Arduino, som på bildet over.

arbitration

2c arduino-grensesnitt
2c arduino-grensesnitt

Mastre kan begynne å sende informasjon først etter at bussen er helt ledig, men to eller flere mastere kan generere et startsignal på minimum holdetid. Dette resulterer til slutt i et spesifikt "Start"-signal på bussen.

Arbitration fungerer på SDA-bussen mens SCL-bussen er høy. Hvis en av masterne begynner å sende et lavt nivå på datalinjen, men samtidig er den andre høy, blir sistnevnte fullstendig koblet fra den, fordi SDL-tilstanden ikke svarer til den høye tilstanden til dens interne linje..

Arbitrage kan fortsette over flere biter. På grunn av det faktum at adressen blir overført først, og deretter dataene, kan voldgift vare til slutten av adressen, og hvis mesterne vil adresseresamme enhet, vil også ulike data delta i voldgiften. På grunn av denne voldgiftsordningen vil ingen data gå tapt hvis det oppstår en kollisjon.

Hvis masteren mister arbitreringen, kan den avgi klokkepulser i SCL til slutten av byten, hvor tilgangen gikk tapt.

Anbefalt: