653 Shares 8267 views

Opis I2C interfejs w języku rosyjskim

Nowoczesne urządzenia gospodarstwa domowego, elektroniki przemysłowej i różnych urządzeń telekomunikacyjnych można znaleźć dość często podobne rozwiązania, ale produkt może być praktycznie połączone ze sobą. Na przykład, praktycznie każdy system zawiera następujące elementy:


  • pewne „inteligentne” urządzenie sterujące, które jest korzystne w większości przypadków oznacza monokryształu mikrokomputer;
  • Jednostki ogólnego przeznaczenia, takie jak LCD, bufor pamięci RAM, portów I / O, pamięci EEPROM lub specjalistycznych przetworników danych;
  • Specyficzne składniki, w tym cyfrowej konfiguracji obwodu i uczta dla sygnałów video i radiem.

Jak zoptymalizować ich wykorzystanie?

Aby zapewnić jak najbardziej efektywne wykorzystanie tych ogólnych rozwiązań dla projektantów świadczeń i samych producentów, jak również zwiększyć ogólny poziom wykonania różnych urządzeń i uproszczenia węzłów obwodu używanych, firma Philips postanowił opracować bardzo prosty dwukierunkowej magistrali dwuprzewodowej, która dostarcza najbardziej wydajne sterowanie mezhmikroskhemnoe. Ten autobus zapewnia przesyłanie danych za pośrednictwem interfejsu I2C.

Aby przedziale czasowym określonym przez producenta obejmuje ponad 150 CMOS i urządzeń bipolarne, które są zgodne z I2C i przeznaczone do prowadzenia prac w dowolnej z wymienionych kategorii. Należy zauważyć, że interfejs I2C jest początkowo zbudowany we wszystkich kompatybilnych urządzeń, dzięki którym mogą one bez żadnych trudności, aby komunikować się ze sobą za pomocą specjalnego autobusu. Poprzez zastosowanie tego rozwiązania projektowego okazała się rozwiązać sporo problemów Parowanie różnych urządzeń, które są dość charakterystyczne zakresie rozwoju systemów cyfrowych.

Główne zalety

Nawet jeśli spojrzeć na krótkim opisem UART, SPI, I2C, można wyróżnić następujące zalety tego ostatniego:

  • Do pracy trzeba tylko dwie linie – synchronizacji i danych. Każde urządzenie, które jest podłączone do magistrali, może być następnie skierowana przez oprogramowanie całkowicie unikalny adres. W dowolnym momencie istnieje prosty związek, który pozwala na czołową funkcję jak nadajnik master głównego lub odbiornika.
  • Ten autobus zapewnia możliwość posiadania wielu gospodarze, zapewniając wszystkie niezbędne narzędzia do wykrywania kolizji i arbitrażu, pomaga zapobiec uszkodzeniu danych w przypadku, gdy dwa lub więcej z góry zaczyna równoczesnej transmisji informacji. W normalnym trybie pracy zapewnia tylko sekwencyjne przesyłanie danych ośmiobitowe z szybkością nie większą niż 100 kbit / s, a w trybie szybkim, że wartość progowa może być zwiększona do czterech razy.
  • Wióry użyć specjalnie wbudowanego filtra, który skutecznie hamuje kolce i zapewnia maksymalną integralności danych.
  • Maksymalna możliwa liczba żetonów, które mogą być połączone do jednej szyny jest ograniczone jedynie przez maksymalny możliwy jego pojemności 400 pF.

Zalety dla projektantów

interfejs I2C, jak również wszystkie kompatybilne chipy mogą znacznie przyspieszyć proces rozwoju, z układu funkcjonalnego do jego ostatecznego prototypu. Należy zauważyć, że ze względu na możliwość wystąpienia takich wiórów bezpośrednie połączenie szyny bez użycia wszelkiego rodzaju dodatkowe obwody jest miejsce na dalsze udoskonalenie i modyfikacji prototypowego systemu przez odłączenie i połączenia różnych urządzeń z magistrali.

Istnieje wiele zalet, które wyróżniają interfejsu I2C. Opis, w szczególności, pozwala zobaczyć następujące korzyści dla projektantów:

  • Bloki w schemacie funkcjonalnym odpowiada w pełni wiórów, a tym samym gwarantuje wystarczająco szybkie przejście od zasadzie działania.
  • Nie ma potrzeby, aby rozwinąć interfejsy magistrali, ponieważ opona jest początkowo zintegrowany w specjalnym chipie.
  • Zintegrowana komunikacja i protokoły adresowania urządzeń pozwala systemowi, który zostanie określony w pełni oprogramowanie.
  • Te same rodzaje wiórów można stosować w razie potrzeby całkowicie różnych zastosowań.
  • Całkowity czas rozwoju jest znacznie zmniejszona ze względu na fakt, że projektanci mogą dość szybko zapoznać się z najczęściej używanych bloków funkcyjnych, a także wszelkiego rodzaju chipsów.
  • W razie potrzeby można dodać lub usunąć żetony z systemu, a to nie ma dużego wpływu na innego urządzenia podłączonego do tej samej magistrali.
  • Całkowity czas rozwoju oprogramowania można znacznie zmniejszyć ze względu na fakt, że nie wolno używać biblioteki modułów oprogramowania wielokrotnego użytku.

Ponadto warto zauważyć, niezwykle prostą procedurę diagnostyczną dla wszelkich niepowodzeń i dalszego debugowania, który jest inny interfejs I2C. Opis mówi, że jeśli jest to konieczne, można bez trudu śledzić natychmiast nawet niewielkie odchylenia w zakresie eksploatacji tych urządzeń, aw konsekwencji podjąć odpowiednie środki. Warto również zauważyć, że projektanci przedstawili specjalne rozwiązania, które w szczególności są bardzo atrakcyjne dla wielu przenośnych urządzeń i systemów, które zapewniają zasilane z baterii, za pomocą interfejsu I2C. w języku rosyjskim Opis wskazuje również, że jej stosowanie pozwala na następujących ważnych zalet:

  • Dostatecznie wysoka odporność na jakichkolwiek zakłóceń występuje.
  • Niezwykle niski pobór mocy.
  • Szeroki zakres napięcia zasilania.
  • Szeroki zakres temperatury.

Korzyści dla technologów

Warto zauważyć, że nie tylko projektantom, ale także technologia jest często całkiem niedawno zaczęli używać dedykowanego interfejsu I2C. do rosyjskiego opisu wskazuje na dość szeroki zakres korzyści, które są przewidziane do tej kategorii profesjonalistów:

  • Standardowa magistrala szeregowa dwuprzewodowy z interfejsem pomaga zminimalizować połączenie między żetonów, to znaczy, że przedstawienie mniejszy kontakt i wymaga mniejszej liczby ścieżek, dzięki czemu płytki drukowane nie są tak drogie i mają o wiele mniejszy rozmiar.
  • W pełni zintegrowany interfejs I2C LCD1602 lub jakaś inna opcja eliminuje potrzebę korzystania z dekodera adresów, a także innych zewnętrznych płytką logiki.
  • To zapewnia możliwość używania równocześnie kilka prowadzące na magistrali, co znacznie przyspiesza testowania oraz regulacji urządzenia, ponieważ szyna może być podłączone do linii montażowej komputerowego.
  • Dostępność zgodny z tych wiórów w interfejsie VSO, SO i wyspecjalizowaną DIL pakiet może znacznie zmniejszyć wymagania co do rozmiarów urządzenia.

To tylko krótka lista korzyści, które różnią się interfejsem I2C LCD1602 i innych. Również kompatybilne chipy mogą znacznie zwiększyć elastyczność systemu stosowanego w celu zapewnienia niezwykle prostą konstrukcję różnych opcji wyposażenia, a także stosunkowo łatwą rozbudowę do dalszego wsparcia na obecnym poziomie rozwoju. Tak więc możliwe jest, aby rozwijać całą rodzinę innego sprzętu, używając jako podstawy pewien model bazowy.

Dalsze modernizacja urządzeń i rozszerzania ich funkcji można przeprowadzić poprzez standardowe połączenia szyny odpowiadającej za pomocą układu interfejsu 2C Arduino lub dowolnego innego dostępnego wykazu. W razie potrzeby w celu uzyskania większej ROM, w tym przypadku będzie to wystarczające tylko do wybrania innego mikrokontrolera posiadającego zwiększoną ilość pamięci ROM. Od zaktualizowanego chipie jeśli konieczne stanie całkowicie zastąpić stare, można łatwo dodać nowe funkcje do urządzenia lub w celu zwiększenia jego ogólnej wydajności za pomocą konwencjonalnego odłączenia już przestarzałych chipsy i dalej zastąpienie ich nowszych urządzeń.

ACCESS.bus

Ze względu na fakt, że opona ma charakter dwóch drutu oraz możliwość zaprogramowania adresowania ACCESS.bus za jednego z najbardziej idealnych platform jest właśnie interfejs I2C. Specyfikacja (opis w języku rosyjskim jest przedstawiony w artykule), to urządzenie sprawia, że jest znacznie tańsza alternatywa do aktywnego korzystania z wcześniejszą interfejs RS-232C do podłączania różnych urządzeń peryferyjnych do komputerów wykorzystujących standard wykorzystuje cztery-złącze.

Wprowadzenie do specyfikacji

Dla zaawansowanych aplikacji sterowania 8-bitowe mikrokontrolery, które wykorzystują, zapewnia możliwość zainstalowania kilku kryteriów projektowych:

  • Kompletny system w większości przypadków korzystne zawiera mikrokontroler oraz inne urządzenia peryferyjne, zawierający pamięć oraz różne porty wejścia / wyjścia;
  • Całkowity koszt łączenia różnych urządzeń powinno być bardzo zminimalizowane w jednym systemie;
  • System, który pełni funkcje kontrolne, nie przewiduje się potrzeby zapewnienia transmisji danych o wysokiej prędkości;
  • ogólna wydajność zależy bezpośrednio na sprzęcie, a także charakteru magistrali łączącej.

Aby opracować system, w pełni zgodny z powyższymi kryteriami, trzeba skorzystać z autobusu, w którym interfejs szeregowy I2C ma być używany. Pomimo faktu, że istnieje równoległy przepustowość magistrali szeregowej, wymaga mniejszej liczby połączeń i mniej żetonów kontaktowych. Nie powinniśmy zapominać, że opona zawiera nie tylko przewody połączeniowe, ale także różnych formatów i procedur niezbędnych do zapewnienia komunikacji w systemie.

Urządzenie do komunikacji, które wykorzystują interfejs I2C emulacji oprogramowania lub opona musi mieć konkretny protokół, który umożliwia różne możliwości wywłaszczyć kolizji, utratę informacji lub blokowania. W szybkich urządzeń musi być w stanie skontaktować się z wolna, a jednocześnie system nie powinien zależeć od podłączonego sprzętu, ponieważ nie mogą być używane inaczej wszystkie ulepszenia i modyfikacje. Konieczne jest również, aby opracować procedurę, w którym rzeczywista instalacji, dane urządzenie jest obecnie zapewnia autobus sterowania iw jakim czasie. Ponadto, jeśli różne urządzenia posiadające inną częstotliwość zegara, są podłączone do tej samej magistrali, konieczne jest, aby ustalić źródło jego synchronizacji. Wszystkie te kryteria odpowiedniego interfejsu I2C dla AVR i każdy inny na tej liście.

Podstawowa koncepcja

I2C może obsługiwać dowolną technologię chipową używany. Interfejs I2C LabVIEW i podobna to wiązać się z użyciem dwóch liniach do przekazywania informacji – i synchronizacji danych. Każde urządzenie, połączone w ten sposób wykryty z powodu unikalny adres, bez względu na to, czy bufor wyświetlacza LCD, mikroprocesor, pamięć lub interfejs klawiatury i tym samym mogą działać jako nadajnik lub odbiornik, w zależności od celu, do którego w szczególności ten sprzęt jest przeznaczony.

W większości przypadków korzystne jest bufor LCD standardowy odbiornik i pamięć nie może tylko odbierać, ale także przesyłać różne dane. Ponadto, proces przenoszenia urządzeń informacje mogą być sklasyfikowane jako slave i master.

W tym przypadku urządzenie zwane jest element nadrzędny, który inicjuje transmisję danych i sygnały synchronizujące są generowane. W tym przypadku wszelkie urządzenia adresowalne należy rozpatrywać w odniesieniu do swoich niewolników.

Interfejs komunikacyjny I2C przewiduje kilku wiodących, czyli więcej niż jedno urządzenie zdolne do kontroli autobus jest w stanie połączyć się z nim. Możliwość korzystania z więcej niż jednego mikrokontrolera do opony wskazuje, że więcej niż jeden host może być wysłany w dowolnym momencie. Aby wyeliminować potencjalny chaos, że ryzyko występuje, gdy zachodzi taka sytuacja, opracowaliśmy wyspecjalizowane procedury arbitrażowej, która korzysta z interfejsu I2C. Ekspandery i inne urządzenia dostarczyć do podłączenia urządzenia do szyny na tzw rządów montażowej I.

Generacja sygnału taktowania jest obowiązkiem kapitana, a każdy generuje swój własny sygnał podczas transferu danych, a ponadto można go zmienić tylko w przypadku, że „ciągnie” powolne niewolnika lub innego mistrza, gdy występuje kolizja.

ustawienia ogólne

Jako SCL SDA i są dwukierunkowe linie, które są połączone z dodatnim źródła zasilania za pomocą pull-up. Gdy opona jest całkowicie darmowe, każda linia jest w górnym położeniu. Stopnie wyjściowe urządzeń, które są podłączone do magistrali musi mieć funkcję open-spustowy lub otwarty kolektor, które mogą być świadczone przez montażowej informacji interfejsu IM I2C mogą być przesyłane z szybkością nie większą niż 400 kbit / s w trybie szybkim, podczas gdy w standardowej prędkości poniżej 100 kbit / s. Łączna liczba urządzeń, które mogą być jednocześnie podłączonych do magistrali, zależy tylko od jednego parametru. Ta zdolność linii wynosi nie więcej niż 400 pF.

potwierdzenie

Potwierdzenie jest obowiązkowa procedura w transferze danych. Ołów generuje odpowiednie impulsy synchronizacji, gdy przetwornik zwalnia linię SDA podczas tego zegara jako potwierdzenie. Następnie, odbiornik musi zapewnić stabilną linię SDA retencji dla stanu wysokiego zegara stabilnie w stanie niskim. W tym przypadku konieczne jest, aby wziąć pod uwagę konfigurację i przytrzymaj.

W większości przypadków korzystny skierowana odbiornik musi koniecznie wygenerowania przyznać po każdym odebranym bajcie, a jedynym wyjątkiem są tu tylko te sytuacje, w których początek wysyłania zawiera adres CBUS.

Jeśli odbiornik niewolnik nie jest możliwe, aby wysłać potwierdzenie własnym adresem, konieczne jest, aby opuścić wiersz danych w stan wysoki, a następnie koordynator zasygnalizuje możliwość wystawienia „stop”, który przerywa wysyłanie wszystkich informacji. Jeżeli adres został zweryfikowany, ale nie może być napędzany przez długi czas już akceptować żadnych danych, które prowadzą powinny być również przerwana przez wysyłanie. Aby to zrobić, niewolnik nie potwierdza następny odebrany bajt i po prostu opuszcza linię szybkiej transmisji danych, tak, że mistrz generuje sygnał „stop”.

Jeśli procedura spedycja, przewidują master-odbiornik, w tym przypadku, musi zgłosić się do końca transmisji prowadzonej niewolniczej, a nie jest to potwierdzone przez ostatniego odebranego bajtu. W tym przypadku, nadajnik niewolnik natychmiast zwolnić linię danych może prowadzić do wytworzenia sygnału „Stop” lub powtórzyć sygnał ponownie przycisk „Start”.

Aby sprawdzić dostępność sprzętu, można spróbować wprowadzić standardowe przykłady szkiców dla interfejsu I2C Arduino, jak na zdjęciu powyżej.

arbitraż

Ołów może rozpocząć przekazywanie informacji dopiero po całkowitym wyzwoleniu opony, ale dwa lub więcej wiodącym mogą spędzić generowanie sygnału startu w minimalnym czasie przechowywania. To ostatecznie prowadzi do określonego sygnału „start” na autobusie.

Prace prowadzone na SDA magistrali arbitraż te chwile aż SCL-bus jest w stanie wysokim. Jeśli jeden z wiodących zaczyna nadawać linię danych niska, ale z drugiej – wysoka, wtedy ten drugi jest całkowicie odłączony od niego, ponieważ stan SDL nie jest odpowiedni wyższy stan jego przedłużenia.

Kontynuacja arbitrażu mogą być wykonywane na kilka bitów. Ze względu na fakt, że pierwsze adresy są transmitowane, a następnie dane, arbitraż może mieć długość do końca adres, a jeśli zostanie ona skierowana przez prowadzące tego samego urządzenia, w tym przypadku, weźmie udział i różne dane w arbitrażu. Z tego powodu system arbitrażu dane nie zostaną utracone w przypadku jakiejkolwiek kolizji.

Jeśli mistrz traci arbitraż, w którym to przypadku może wydać impulsy synchronizacji SCL do bajta końcowego, a dla których dostęp został utracony.