I2C-gränssnitt: beskrivning på ryska

Innehållsförteckning:

I2C-gränssnitt: beskrivning på ryska
I2C-gränssnitt: beskrivning på ryska
Anonim

I moderna hushållsapparater, industriell elektronik och olika telekommunikationsutrustning kan liknande lösningar ofta hittas, även om produkterna kan vara praktiskt taget orelaterade. Till exempel innehåller nästan alla system följande:

  • en viss "smart" styrenhet, som i de allra flesta fall är en mikrodator med ett chip;
  • komponenter för allmänna ändamål såsom LCD-buffertar, RAM, I/O-portar, EEPROM eller dedikerade dataomvandlare;
  • specifika komponenter inklusive digital inställning och signalbehandlingskretsar för video- och radiosystem.

Hur optimerar man sin applikation?

kort beskrivning av uart spi i2c-gränssnitt
kort beskrivning av uart spi i2c-gränssnitt

För att få ut det mesta av dessa vanliga lösningar till fördel för designers och tillverkare, samt för att förbättra den övergripande prestandan för olika hårdvaror och förenkla de applicerade kretskomponenterna, satte Philips sig för att utveckla den enklaste tvåtrådiga dubbelriktade buss som ger det mest produktiva interchipetkontrollera. Denna buss tillhandahåller dataöverföring via I2C-gränssnittet.

Idag inkluderar tillverkarens produktsortiment mer än 150 CMOS, såväl som bipolära enheter som är kompatibla med I2C och utformade för att fungera i någon av de listade kategorierna. Det bör noteras att I2C-gränssnittet initi alt är inbyggt i alla kompatibla enheter, på grund av vilket de enkelt kan kommunicera med varandra med hjälp av en speciell buss. På grund av användningen av en sådan designlösning var det möjligt att lösa ett ganska stort antal problem med gränssnitt mellan olika utrustningar, vilket är ganska typiskt för utvecklingen av digitala system.

nyckelfördelar

i2c-gränssnitt
i2c-gränssnitt

Även om du tittar på en kort beskrivning av UART, SPI, I2C-gränssnitten kan du lyfta fram följande fördelar med de senare:

  • För att fungera behöver du bara två rader - synkronisering och data. Vilken enhet som helst som ansluter till en sådan buss kan då programmässigt adresseras till en helt unik adress. Vid varje given tidpunkt finns det en enkel relation som gör att masterna kan agera som master-sändare eller master-mottagare.
  • Denna buss ger möjligheten att ha flera masters samtidigt, vilket ger alla nödvändiga medel för att fastställa kollisioner, såväl som skiljedom för att förhindra datakorruption i händelse av att två eller flera masters börjar sända information samtidigt. I standardlägeendast seriell 8-bitars dataöverföring tillhandahålls med en hastighet på högst 100 kbps, och i snabbläge kan denna tröskel ökas fyra gånger.
  • Chipsen använder ett speciellt inbyggt filter som effektivt dämpar överspänningar och säkerställer maximal dataintegritet.
  • Det maximala antalet chips som kan anslutas till en buss begränsas endast av dess maximala kapacitet på 400 pF.

Fördelar för konstruktörer

i2c-gränssnitt lcd1602
i2c-gränssnitt lcd1602

I2C-gränssnittet, såväl som alla kompatibla chips, kan avsevärt påskynda utvecklingsprocessen, från ett funktionsdiagram till dess slutliga prototyp. Samtidigt bör det noteras att på grund av möjligheten att ansluta sådana mikrokretsar direkt till bussen utan att använda alla typer av ytterligare kretsar, tillhandahålls utrymme för ytterligare modernisering och modifiering av prototypsystemet genom att koppla bort och ansluta olika enheter från buss.

Det finns många fördelar som gör att I2C-gränssnittet sticker ut. Beskrivningen, i synnerhet, låter dig se följande fördelar för konstruktörer:

  • Blocken på funktionsdiagrammet motsvarar helt mikrokretsar, och samtidigt tillhandahålls en ganska snabb övergång från funktionell till fundamental.
  • Det finns inget behov av att utveckla bussgränssnitt eftersom bussen redan är integrerad i dedikerade chips.
  • Integrerade kommunikationsprotokoll ochenhetsadressering gör att systemet kan vara helt mjukvarudefinierat.
  • Samma typer av mikrokretsar, vid behov, kan användas i helt olika tillämpningar.
  • Total utvecklingstid minskar avsevärt på grund av att designers snabbt kan bli bekanta med de vanligaste funktionsblocken, samt olika mikrokretsar.
  • Om så önskas kan du lägga till eller ta bort chips från systemet, och samtidigt inte ha någon större effekt på annan utrustning som är ansluten till samma buss.
  • Total mjukvaruutvecklingstid kan reduceras avsevärt genom att tillåta ett bibliotek med återanvändbara programvarumoduler.

Bland annat är det värt att notera den extremt enkla proceduren för att diagnostisera fel som har inträffat och ytterligare felsökning, som särskiljer I2C-gränssnittet. Beskrivningen tyder på att även mindre avvikelser i driften av sådan utrustning omedelbart kan övervakas utan svårighet och följaktligen lämpliga åtgärder kan vidtas. Det är också värt att notera att designers får speciallösningar, som i synnerhet är ganska attraktiva för olika bärbar utrustning och system som ger batterikraft med I2C-gränssnittet. Beskrivningen på ryska indikerar också att användningen gör att du kan tillhandahålla följande viktiga fördelar:

  • Tillräckligt hög grad av motstånd mot eventuella uppkommande störningar.
  • I slutändanlåg strömförbrukning.
  • Bredast matningsspänningsområde.
  • Brett temperaturområde.

Fördelar för teknologer

Det är värt att notera att inte bara designers, utan även teknologer nyligen har börjat använda ett specialiserat I2C-gränssnitt ganska ofta. Beskrivningen på ryska indikerar ett ganska brett utbud av fördelar som denna kategori av specialister ger:

  • En standard tvåtråds seriell buss med detta gränssnitt minimerar sammankopplingar mellan IC, vilket innebär att det krävs färre stift och färre spår, vilket gör PCB billigare och mycket mindre.
  • Ett fullt integrerat I2C-gränssnitt LCD1602 eller något annat alternativ eliminerar helt behovet av adressavkodare och annan extern liten logik.
  • Det är möjligt att använda flera masters på en sådan buss samtidigt, vilket avsevärt snabbar upp testning och efterföljande utrustningsinställning, eftersom bussen kan kopplas till en löpande linjedator.
  • Tillgängligheten av IC:er som är kompatibla med detta gränssnitt i VSO, SO och anpassade DIL-paket kan avsevärt minska kraven på enhetsstorlek.

Detta är bara en kort lista över fördelar som särskiljer I2C-gränssnittet på LCD1602 och andra. Dessutom kan kompatibla chips avsevärt öka flexibiliteten hos systemet som används, vilket gerextremt enkel design av olika utrustnings alternativ, samt relativt enkla uppgraderingar för att ytterligare stödja utvecklingen på nuvarande nivå. Således är det möjligt att utveckla en hel familj av olika utrustningar med en viss grundmodell som grund.

Ytterligare modernisering av utrustning och utökning av dess funktioner kan utföras med hjälp av en standardanslutning till bussen för motsvarande mikrokrets med hjälp av Arduino 2C-gränssnittet eller något annat från den tillgängliga listan. Om ett större ROM krävs räcker det bara med att välja en annan mikrokontroller med ett utökat ROM. Eftersom uppdaterade marker helt kan ersätta gamla om det behövs, kan du enkelt lägga till nya funktioner till utrustningen eller öka dess totala prestanda genom att helt enkelt koppla bort föråldrade marker och sedan ersätta dem med nyare utrustning.

ACCESS.bus

På grund av det faktum att bussen har en tvåtrådig natur, samt möjligheten till programadressering, är en av de mest idealiska plattformarna för ACCESS.bus I2C-gränssnittet. Specifikationen (beskrivning på ryska presenteras i artikeln) för denna enhet gör den till ett mycket billigare alternativ till det tidigare aktivt använda RS-232C-gränssnittet för att ansluta olika kringutrustning till datorer med en vanlig fyrstiftskontakt.

Specifikationsintroduktion

i2c-gränssnittsbeskrivning på ryska
i2c-gränssnittsbeskrivning på ryska

För moderna applikationer8-bitars kontroll, som använder mikrokontroller, är det möjligt att ställa in några designkriterier:

  • komplett system innehåller oftast en mikrokontroller och annan kringutrustning, inklusive minne och olika I/O-portar;
  • totalkostnaden för att kombinera olika enheter inom ett system bör minimeras så mycket som möjligt;
  • systemet som styr funktionerna sörjer inte för behovet av att tillhandahålla höghastighetsinformationsöverföring;
  • total effektivitet är direkt beroende av den valda utrustningen samt typen av anslutningsbussen.

För att designa ett system som helt uppfyller de listade kriterierna, måste du använda en buss som kommer att använda I2C seriella gränssnitt. Även om seriebussen inte har samma bandbredd som parallellbussen, kräver den färre anslutningar och färre chipstift. Samtidigt, glöm inte att bussen inte bara inkluderar anslutningsledningar, utan också olika procedurer och format som är nödvändiga för att säkerställa kommunikationen inom systemet.

Enheter som kommunicerar med mjukvaruemulering av I2C-gränssnittet eller motsvarande buss måste ha ett specifikt protokoll som gör att du kan förhindra olika möjligheter till kollisioner, förlust eller blockering av information. Snabba enheter ska kunna kommunicera med långsamma, och systemet ska inte vara beroende avfrån den utrustning som är ansluten till den, annars kommer alla förbättringar och modifieringar inte att kunna användas. Det är också nödvändigt att utveckla en procedur med hjälp av vilken det är realistiskt att fastställa vilken speciell enhet som för närvarande tillhandahåller bussstyrning och vid vilken tidpunkt. Dessutom, om olika enheter med olika klockfrekvenser är anslutna till samma buss, måste du bestämma källan för dess synkronisering. Alla dessa kriterier uppfylls av I2C-gränssnittet för AVR och alla andra från denna lista.

Huvudkoncept

i2c-gränssnittsspecifikationsbeskrivning på ryska
i2c-gränssnittsspecifikationsbeskrivning på ryska

I2C-bussen kan stödja vilken chipteknik som helst som används. I2C LabVIEW-gränssnittet och andra liknande det möjliggör användning av två rader för överföring av information - data och synkronisering. Varje enhet som är ansluten på detta sätt känns igen av sin unika adress, oavsett om det är en LCD-buffert, mikrokontroller, minne eller tangentbordsgränssnitt, och kan fungera som en mottagare eller sändare, beroende på vad den är avsedd för denna utrustning.

I de allra flesta fall är LCD-bufferten en standardmottagare, och minnet kan inte bara ta emot, utan också överföra olika data. Bland annat, enligt processen att flytta information, kan enheter klassificeras som slav och master.

I det här fallet är mastern enheten som initierar dataöverföringen och även genererarsynkroniseringssignaler. I det här fallet kommer alla adresserbara enheter att betraktas som slavar i förhållande till dem.

I2C-kommunikationsgränssnittet möjliggör närvaron av flera masters samtidigt, det vill säga mer än en enhet som kan styra bussen kan ansluta till den. Möjligheten att använda mer än en mikrokontroller på samma buss gör att mer än en master kan vidarebefordras vid varje given tidpunkt. För att eliminera det potentiella kaos som riskerar att uppstå när en sådan situation uppstår har ett specialiserat skiljeförfarande utvecklats som använder I2C-gränssnittet. Expanderare och andra enheter ger möjlighet att ansluta enheter till bussen enligt den så kallade ledningsregeln

Det är masterns ansvar att generera klocksignalen, och varje master genererar sin egen signal under dataöverföring, och den kan bara ändras senare om den "dras" av en långsam slav eller en annan master när en kollision inträffar

Allmänna parametrar

Både SCL och SDA är dubbelriktade linjer som ansluts till en positiv strömförsörjning med ett pull-up-motstånd. När däcket är helt fritt är varje linje i en hög position. Slutstegen för enheter som är anslutna till bussen måste vara open-drain eller open-collector så att den trådbundna OCH-funktionen kan tillhandahållas. Information via I2C-gränssnittet kan överföras med en hastighet på högst 400 kbpssnabbt läge, medan standardhastigheten inte överstiger 100 kbps. Det totala antalet enheter som samtidigt kan anslutas till bussen beror på endast en parameter. Detta är linjekapacitansen, som inte är mer än 400 pf.

Bekräftelse

i2c-gränssnittsbeskrivning
i2c-gränssnittsbeskrivning

Bekräftelse är en obligatorisk procedur i dataöverföringsprocessen. Mastern genererar lämplig synkpuls medan sändaren släpper SDA-linjen under denna synkpuls som en bekräftelse. Därefter måste mottagaren säkerställa att SDA-linjen hålls stabil under klockhögtillståndet i ett stabilt lågläge. I det här fallet, se till att ta hänsyn till inställningar och hålltider.

I de allra flesta fall är det obligatoriskt för den adresserade mottagaren att generera en bekräftelse efter varje mottagen byte, med det enda undantaget när starten av överföringen inkluderar en CBUS-adress.

Om mottagaren-slaven inte har något sätt att skicka bekräftelse på sin egen adress, bör datalinjen lämnas hög, och då kommer mastern att kunna utfärda en "Stopp"-signal, som kommer att avbryta sändningen av all information. Om adressen har bekräftats, men slaven inte kan ta emot mer data under en längre tid, måste mastern också avbryta sändningen. För att göra detta, bekräftar inte slaven nästa mottagna byte och lämnar helt enkelt linjenhög, vilket gör att mastern genererar en stoppsignal.

Om överföringsproceduren tillåter närvaron av en master-mottagare, måste den i detta fall informera slaven om slutet av överföringen, och detta görs genom att inte kvittera den senast mottagna byten. I detta fall släpper slavsändaren omedelbart dataledningen så att mastern kan ge en "Stopp"-signal eller upprepa "Start"-signalen igen.

För att kontrollera om utrustningen fungerar kan du försöka lägga in standardexempel på skisser för I2C-gränssnittet i Arduino, som på bilden ovan.

Arbitration

2c arduino-gränssnitt
2c arduino-gränssnitt

Masters kan börja skicka information först efter att bussen är helt ledig, men två eller flera masters kan generera en startsignal vid minsta hålltid. Detta resulterar så småningom i en specifik "Start"-signal på bussen.

Arbitration fungerar på SDA-bussen medan SCL-bussen är hög. Om en av masterna börjar sända en låg nivå på datalinjen, men samtidigt den andra är hög, är den senare helt bortkopplad från den, eftersom SDL-tillståndet inte motsvarar det höga tillståndet för dess interna linje.

Arbitrage kan fortsätta över flera bitar. På grund av det faktum att adressen överförs först, och sedan data, kan skiljedom pågå till slutet av adressen, och om befälhavarna kommer att adresserasamma enhet, då kommer också olika data att delta i skiljeförfarandet. På grund av detta skiljeförfarande kommer ingen data att gå förlorad om någon kollision inträffar.

Om mastern förlorar medlingsförfarandet, kan den utfärda klockpulser i SCL till slutet av byten, under vilken åtkomst förlorades.

Rekommenderad: