Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Podobne dokumenty
Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Komunikacja w mikrokontrolerach Laboratorium

Magistrala I 2 C. Podstawy systemów mikroprocesorowych. Wykład nr 5 Interfejsy szeregowe c.d.

Programowanie mikrokontrolerów

Laboratorium mikroinformatyki. Szeregowe magistrale synchroniczne.

Komunikacja w mikrokontrolerach Laboratorium

Instytut Teleinformatyki

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Mikroprocesory i Mikrosterowniki Laboratorium

Zewnętrzne układy peryferyjne cz. 1 Wykład 12

Systemy wbudowane - wykład 8. Dla zabicia czasu Notes. I 2 C aka IIC aka TWI. Notes. Notes. Notes. Przemek Błaśkiewicz.

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

MIKROKONTROLERY - MAGISTRALE SZEREGOWE

Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy

Mikroprocesory i Mikrosterowniki

Magistrala I 2 C. - mikrokontroler A (nadajnik-master) wysyła dane do mikrokontrolera B (odbiornik-slave)

Systemy wbudowane - wykład 7

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4

Sprzężenie mikrokontrolera (nie tylko X51) ze światem zewnętrznym lokalne interfejsy szeregowe

Magistrala LIN

Komunikacja z urzadzeniami zewnętrznymi

MAGISTRALE MIKROKONTROLERÓW (BSS) Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Programowanie Mikrokontrolerów. Magistrala I2C (Inter-Integrated Circuit).

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2

Mikroprocesory i Mikrosterowniki

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Współpraca procesora z urządzeniami peryferyjnymi

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

CompactPCI. PCI Industrial Computers Manufacturers Group (PICMG)

Magistrale szeregowe

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

Standard transmisji równoległej LPT Centronics

na w inny sposób. Można się tutaj wzorować na zmierzchowym wyłączniku światła względu na ograniczoną ilość miejsca nie

Analiza protokołów (4)

Zastosowania mikrokontrolerów w przemyśle

Technika Mikroprocesorowa

Analizowanie protokołów szeregowych oscyloskopami Rohde&Schwarz (2) SPI, I 2 C

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Politechnika Białostocka Wydział Elektryczny

Architektura komputerów

Współpraca procesora ColdFire z urządzeniami peryferyjnymi

KOMPUTEROWE SYSTEMY POMIAROWE

Systemy wbudowane - Laboratorium Informatyka studia zaoczne inżynierskie

PL B1. AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE, Kraków, PL BUP 21/10

W spółczesne koncepcje elektronicznych systemów

Mikroprocesory i mikrosterowniki

Tworzenie sterowników dla FreeBSD. Michał Hajduk

Programowanie mikrokontrolerów 2.0

Charakterystyka mikrokontrolerów

Podstawy Techniki Mikroprocesorowej

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Komunikacja w mikrokontrolerach. Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski

Wstęp Architektura... 13

Magistrala SPI. Linie MOSI i MISO sąwspólne dla wszystkich urządzeńna magistrali, linia SS jest prowadzona do każdego Slave oddzielnie.

16. Szeregowy interfejs SPI

2. Architektura mikrokontrolerów PIC16F8x... 13

Architektura mikrokontrolera MCS51

PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI

Komunikacja w mikrokontrolerach Laboratorium

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Architektura mikrokontrolera MCS51

Instrukcja MM-717 Tarnów 2010

4. Karta modułu Slave

Architektura komputerów. Układy wejścia-wyjścia komputera

Systemy wbudowane Obsługa interfejsu 1-Wire na przykładzie termometru DS18B20

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

WPROWADZENIE Mikrosterownik mikrokontrolery

Układy transmisji przewodowej. na przykładzie USB

Expandery wejść MCP23S17 oraz MCP23017

Wstęp działanie i budowa nadajnika

Podstawy systemów mikroprocesorowych. Interfejs USART. Interfejsy szeregowe w mikrokontrolerach AVR

APLIKACJA COMMAND POSITIONING Z WYKORZYSTANIEM KOMUNIKACJI SIECIOWEJ Z PROTOKOŁEM USS W PRZETWORNICACH MDS/FDS 5000

Współpraca procesora z urządzeniami peryferyjnymi

PL B1. Akademia Górniczo-Hutnicza im. St. Staszica,Kraków,PL BUP 24/01. Wiesław Wajs,Kraków,PL

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

Korektor graficzny dla zestawu audio

I 2 C BUS (1) 1 L.Łukasiak: Podstawy Techniki Mikroprocesorowej (materiały pomocnicze)

Czujnik inercyjny LSM9DS0 oraz jego zastosowanie. praktyczne AVT 5491 PROJEKTY

Protokół CAN-bus PKP.

interfejs szeregowy wyświetlaczy do systemów PLC

1. Warstwa fizyczna. 2. Organizacja transmisji.

Programowanie Mikrokontrolerów

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1

UW-DAL-MAN v2 Dotyczy urządzeń z wersją firmware UW-DAL v5 lub nowszą.

Instrukcja obsługi czytnika MM-R32

Opis czytnika TRD-FLAT 2LN ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Programowanie mikrokontrolerów 2.0

Spis tre 1. Przedstawienie standardu 1-wire Dokumentacja układu DS18B Obsługa termometru DS18B20 w j

Problematyka sieci miejscowej LIN

Podział układów cyfrowych. rkijanka

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

TECHNIKA MIKROPROCESOROWA

Transkrypt:

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.

I2C a TWI Magistrala I2C wzięła swoją nazwę od skrótu: IIC : Inter Integrated Circuit bus. Zgodnie z tą nazwą, magistrala I2C służy do komunikowania się ze sobą układów scalonych w obrębie danego urządzenia. Właścicielem patentu na magistralę I2C jest koncern Philipsa, a I2C jest zastrzeżoną nazwą handlową. Producenci układów scalonych, których konstrukcja przewiduje komunikowanie się zgodne ze standardem I2C, robią to zazwyczaj w oparciu o licencję Philipsa.

TWI sterowanie Rejestry: TWCR (TWI Control Register) TWSR (TWI Status Register) TWBR (TWI Bit Rate Register) TWDR (TWI Data Register) TWAR (TWI Slave Address Register) 2 piny WE / WY Przerwanie: Flaga TWINT (TWCR) Włączanie TWIE (TWCR) Wektor 0x011

TWI struktura sieci Magistrala I2C składa się z dwóch linii: SDA ( - Serial Data) SCL ( - Serial Clock)

TWI struktura sieci Dwa typy układów: zarządzające (MASTER) - inicjuje cykl łączności, generuje przebieg zegarowy na linii SCL, zarządza transmisją podrzędne (SLAVE) - przyjmuje lub wysyła dane na polecenie MASTERA, w takt generowanego sygnału zegarowego SCL. Każdy SLAVE ma przypisany własny numer adresowy.

TWI w mikrokontrolerze ATmega8535 Komunikacja tryby pracy tryby pracy 7-bitowy rejestr adresowy (możliwość obsługi 128 różnych adresów Slave) arbitraż dla komunikacji Multi-master szybkość transmisji do dowolnie konfigurowalny adres dla pracy w trybie SLAVE oraz wsparcie dla komendy General Call rozpoznanie własnego adresu umożliwia wybudzenie ze stanu uśpienia

Parametry elektryczne Rezystancja wejściowa wyprowadzeń SDA i SCL jest na tyle duża, że nie wprowadza istotnych ograniczeń, co do liczby układów sterowanych z jednego wyjścia Ograniczenie takie wynika z dopuszczalnej pojemności Wyjścia gwarantują poprawną pracą z linią o pojemności do 400 pf Pojemność wejść poszczególnych układów I2C nie powinna przekraczać 10 pf Długość linii SDA i SCL nie powinna przekraczać kilku metrów.

Piny Piny SDA i SCL wszystkich układów mają konfigurację otwarty dren albo otwarty kolektor Stan na SDA / SCL będzie iloczynem stanów logicznych wszystkich podłączonych do nich wyjść PULL-UP

Protokół transmisji Dane przesyłane są w pakietach jedno bajtowych Liczba przesyłanych bajtów nie jest limitowana Transmisja od MSB Jeżeli odbiornik chwilowo nie może odebrać wysłanego bajtu danych może wymusić przejście nadajnika w stan oczekiwania (spowolnić transmisję)

Transmisja danych Stan bezczynności: 1 na SDA i SCL Gdy jeden układ przesyła dane pozostałe muszą zwolnić linię SDA (stan HIGH) Gdy na SDA i SCL jest stan wysoki magistrala jest wolna 1 2

Transmisja danych Odczyt bitu przez odbiornik gdy SCL jest w stanie Zmiany na SDA TYLKO gdy SCL jest w stanie

Sygnały START/STOP Pomiędzy START i STOP magistrala jest zajęta. Inne układy typu MASTER nie mogą przerwać transmisji. START: SDA gdy na SCL STOP: SDA gdy na SCL

Bity potwierdzenia - ACK Bit potwierdzenia Uzyskanie potwierdzenia upoważnia Brak potwierdzenia od odbiornika: * układ niegotowy do nawiązania łączności * układ niedołączony * układ niesprawny * wymuszenie końca transmisji (master odbiornik)

Bity potwierdzenia - ACK Potwierdzenie - wymuszenie stanu niskiego SDA w czasie dodatkowego impulsu SCL Stan wysoki oznacza brak potwierdzenia (negative acknowledge)

Adresowanie danych Każdy SLAVE posiada swój unikalny MASTER bezpośrednio po zainicjowaniu transmisji podaje MASTER ustala Kierunek przesyłania danych nie może się zmienić aż do

Adresowanie danych

Adresowanie danych - adresy specjalne

Adresowanie danych - adresy specjalne

Przykładowy cykl łączności: odczyt pojedynczego bajtu

Praca magistrali z kilkoma układami typu master Do jednej magistrali I2C może zostać podłączony więcej niż jeden układ master WTEDY Zapobiega utracie danych na skutek korzystania ze wspólnej magistrali

Arbitraż - Master ma prawo inicjować cykl łączności tylko wówczas, gdy - Prawo do transmisji zdobywa master, który - Brak zniekształcenia lub utraty danych - Master, który stracił arbitraż może generować sygnał zegarow do końca bajtu, w którym go stracił

Synchronizacja Synchronizacja zegarów - Zsynchronizowany sygnał zegarowy SCL posiada: poziom niski określony przez układ o najdłuższym '0' poziom wysoki określony przez układ o najkrótszym '1'

Budowa magistrali TWI (ATmega8535)

Rejestry magistrali TWI

TWI Control Register (TWCR) TWINT(7) praca zakończona; czekam na reakcję TWEA(6) TWI Enable Ack TWSTA(5) generuje TWSTO(4) TWWC(3) Write Collision TWEN(2) fizyczne TWIE(0) INT

TWI Control Register (TWCR) TWINT(7) praca zakończona; czekam na reakcję TWEA(6) Po wysłaniu TWI Enable Ack wirtualnie ON/OFF Po wysłaniu TWSTA(5) Po wysłaniu generuje START TWSTO(4) Po odebraniu STOP (M) lub przerywa transmisję (S) Po przegraniu TWWC(3) Po wykryciu Write na magistrali Collision swojego (wpis do SLA TWDR / General przy (7)=0) Call TWEN(2) Po wykryciu fizyczne na magistrali ON/OFF STOP lub REPEATED START Sygnalizacja błędu związanego z nielegalnym TWIE(0) INT ON/OFF START lub STOP

TWI Status Register (TWSR)

TWI Status Register (TWSR)

TWI Bit Rate Register (TWBR) TWBR powinno być > 10

TWI (Slave) Address Register (TWAR) 7-bitowy adres układu SLAVE Nie używane gdy układ jest Konieczne gdy w sieci jest TWGCE(0) ON/OFF rozpoznawania General Call

TWI Data Register (TWDR) Przechowuje obecny na magistrali (niezależnie od kierunku przepływu danych) Może być modyfikowany TWINT (TWCR) = 1 (=> m.in. nie można przed wysłaniem adresu SLA)

Algorytm programu