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

Podobne dokumenty
Mikroprocesory i Mikrosterowniki 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

Komunikacja w mikrokontrolerach Laboratorium

Instytut Teleinformatyki

Laboratorium mikroinformatyki. Szeregowe magistrale synchroniczne.

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

Mikroprocesory i Mikrosterowniki Laboratorium

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

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

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

Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy

Systemy wbudowane - wykład 7

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

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

Mikroprocesory i Mikrosterowniki

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

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

MIKROKONTROLERY - MAGISTRALE SZEREGOWE

Komunikacja z urzadzeniami zewnętrznymi

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

Współpraca procesora z urządzeniami peryferyjnymi

Programowanie mikrokontrolerów 2.0

Magistrala LIN

Komunikacja w mikrokontrolerach Laboratorium

Magistrale szeregowe

Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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

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

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

Architektura komputerów

Programowanie Mikrokontrolerów

Mikroprocesory i Mikrosterowniki

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

Charakterystyka mikrokontrolerów

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

Analiza protokołów (4)

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

W spółczesne koncepcje elektronicznych systemów

Interfejsy szeregowe. Dariusz Chaberski

CompactPCI. PCI Industrial Computers Manufacturers Group (PICMG)

Systemy wbudowane - Laboratorium Informatyka studia zaoczne inżynierskie

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

TECHNIKA MIKROPROCESOROWA

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

Protokół CAN-bus PKP.

Wykład 3. Interfejsy CAN, USB

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

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

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

Standard transmisji równoległej LPT Centronics

Technika Mikroprocesorowa

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

Politechnika Białostocka Wydział Elektryczny

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

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Tworzenie sterowników dla FreeBSD. Michał Hajduk

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

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

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

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

Zastosowania mikrokontrolerów w przemyśle

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

Podstawy Techniki Mikroprocesorowej

Mikroprocesory i mikrosterowniki

2. Architektura mikrokontrolerów PIC16F8x... 13

Protokół CAN-bus PKP.

Kurs programowania mikrokontrolerów PIC(8)

Expandery wejść MCP23S17 oraz MCP23017

KOMPUTEROWE SYSTEMY POMIAROWE

16. Szeregowy interfejs SPI

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

OBSŁUGA INTERFEJSU TWI (I 2 C) NA MIKROKONTROLERZE ATMEGA16

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

Korektor graficzny dla zestawu audio

Programowanie mikrokontrolerów 2.0

4. Karta modułu Slave

Czujnik inercyjny LSM9DS0 oraz jego zastosowanie. praktyczne AVT 5491 PROJEKTY

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

Programowanie mikrokontrolerów. 15 stycznia 2008

Rozproszony system zbierania danych.

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Protokół CAN-bus. C omputers & C ontrol, Katowice, ul. Porcelanowa 11. 1/8

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Wykład 4. Interfejsy USB, FireWire

Współpraca procesora z urządzeniami peryferyjnymi

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

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

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

interfejs szeregowy wyświetlaczy do systemów PLC

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

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

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

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

Współpraca procesora z urządzeniami peryferyjnymi

Problematyka sieci miejscowej LIN

Politechnika Wrocławska, Katedra Inżynierii Biomedycznej Systemy Pomiarowo-Diagnostyczne, laboratorium

Transkrypt:

Komunikacja w mikrokontrolerach 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: Gotowość Flaga TWINT (TWCR) Włączanie TWIE (TWCR) Wektor 0x011

TWI struktura sieci SDA SCL Magistrala I2C składa się z dwóch linii:

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 Simple yet Powerful and Flexible Communication Interface, only Two Bus Lines Needed Both Master and Slave Operation Supported Device can Operate as Transmitter or Receiver 7-bit Address Space Allows up to 128 Different Slave Addresses Multi-master Arbitration Support Up to 400 khz Data Transfer Speed Noise Suppression Circuitry Rejects Spikes on Lines Fully Programmable Slave Address with General Call Support Address Recognition Causes Wake-up when AVR is in Sleep Mode

Parametry elektryczne Rezystancja wejściowa wyprowadzeń SDA i SCL Ograniczenie Wyjścia gwarantują poprawną pracą Pojemność wejść poszczególnych układów I2C Długość linii SDA i SCL

Piny Piny SDA i SCL wszystkich układów mają konfigurację otwarty dren albo otwarty kolektor Stan na SDA / SCL 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ę) DANE - 8 bitów

Transmisja danych 1 2

Transmisja danych

Sygnały START/STOP DANE START: SDA z Hi na Low gdy na SCL jest Hi STOP: SDA z Low na Hi gdy na SCL jest Hi

Bity potwierdzenia - ACK Bit potwierdzenia generuje odbiornik Uzyskanie potwierdzenia upoważnia nadajnik do wysłania kolejnego bajtu Brak potwierdzenia od odbiornika: DANE 8 bitów

Bity potwierdzenia - ACK Potwierdzenie Stan wysoki

Adresowanie danych Każdy SLAVE MASTER bezpośrednio po zainicjowaniu transmisji MASTER Kierunek przesyłania danych nie może się zmienić aż do końca cyklu łączności ADRES 7 bitów DANE 8 bitów

Adresowanie danych

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 Synchronizacja WTEDY Arbitraż

Arbitraż

Synchronizacja

Budowa magistrali TWI (ATmega8535)

Rejestry magistrali TWI

TWI Control Register (TWCR) TWINT(7) praca zakończona; czekam na reakcję TWEA(6) Po wysłaniu TWI START Enable / REPEATED Ack wirtualnie START ON/OFF Po wysłaniu SLA + R/W TWSTA(5) Po wysłaniu generuje bajtu danych START TWSTO(4) Po odebraniu STOP bajtu (M) danych lub przerywa transmisję (S) Po przegraniu arbitrażu 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)

TWI (Slave) Address Register (TWAR) 7-bitowy adres układu SLAVE TWGCE(0) ON/OFF

TWI Data Register (TWDR) Przechowuje Może być modyfikowany

Algorytm programu