Interfejsy szeregowe 2013/2014

Podobne dokumenty
Interfejsy szeregowe TEO 2009/2010

Architektura mikroprocesorów TEO 2009/2010

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

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

Wykład 7. Architektura mikroprocesorów powtórka

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Podstawy Techniki Mikroprocesorowej

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

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

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

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Współpraca procesora z urządzeniami peryferyjnymi

Mikrokontroler AVR ATmega32 - wykład 9

architektura komputerów w 1 1

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

16. Taksonomia Flynn'a.

Charakterystyka mikrokontrolerów

Komunikacja w mikrokontrolerach Laboratorium

Urządzenia peryferyjne RS-232. Wykład 2

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

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Programowalne układy logiczne kod kursu: ETD Układy sekwencyjne W

Komunikacja z urzadzeniami zewnętrznymi

Budowa Mikrokomputera

System mikroprocesorowy i peryferia. Dariusz Chaberski

Procesory rodziny x86. Dariusz Chaberski

MIKROKONTROLERY - MAGISTRALE SZEREGOWE

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Współpraca procesora z urządzeniami peryferyjnymi

Mikroprocesory i Mikrosterowniki

TECHNIKA MIKROPROCESOROWA

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

Współpraca procesora ColdFire z urządzeniami peryferyjnymi

Interfejsy systemów pomiarowych

Mikroprocesory i Mikrosterowniki

Szkolenia specjalistyczne

Wykład 3. Przegląd mikrokontrolerów 8-bit: STM8

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

Programowanie mikrokontrolerów. 15 stycznia 2008

Mikroprocesory i mikrosterowniki

Technika Mikroprocesorowa

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Wykład 3. Interfejsy CAN, USB

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Architektura systemów komputerowych

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji

(przykład uogólniony)

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

MIKROKONTROLERY I MIKROPROCESORY

Architektura systemów komputerowych. dr Artur Bartoszewski

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Mikroprocesory i Mikrosterowniki Laboratorium

Interfejsy. w systemach pomiarowych. Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Programowanie Układów Logicznych kod kursu: ETD6203. Komunikacja z układami cyfrowymi W dr inż. Daniel Kopiec

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

Programowanie Mikrokontrolerów

Technika mikroprocesorowa

Wykład Mikroprocesory i kontrolery

Architektura komputerów

Wykład 4. Interfejsy USB, FireWire

WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 4

Standard transmisji równoległej LPT Centronics

Obsługa kart pamięci Flash za pomocą mikrokontrolerów, część 1

Algorytmy dla maszyny PRAM

Współpraca procesora z urządzeniami peryferyjnymi

Systemy Wbudowane. Raspberry Pi Sterowanie serwomechanizmem (wersja 2019) Serwomechanizm. Serwomechanizm z silnikiem krokowym

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

Zastosowania mikrokontrolerów w przemyśle

Architektura potokowa RISC

Systemy wbudowane Mikrokontrolery

Maszyny liczace - rys historyczny

Architektura Systemów Komputerowych. Transmisja szeregowa danych Standardy magistral szeregowych

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

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

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

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

Techniki mikroprocesorowe i systemy wbudowane

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

Wykład 6. Mikrokontrolery z rdzeniem ARM

Podstawy Techniki Mikroprocesorowej wykład 13: MIMD. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

TECHNIKA MIKROPROCESOROWA

Bajt (Byte) - najmniejsza adresowalna jednostka informacji pamięci komputerowej, z bitów. Oznaczana jest literą B.

Architektura komputerów

Architektura systemu komputerowego

Wykład 2. Mikrokontrolery z rdzeniami ARM

3.Przeglądarchitektur

Architektura komputerów

Wstęp. Opis ATMEGA128 MINI MODUŁ VE-APS-1406

Hardware mikrokontrolera X51

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

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

PAMIĘCI SYNCHRONICZNE

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Technologia Informacyjna Wykład II Jak wygląda komputer?

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

Transkrypt:

Interfejsy szeregowe 2013/2014

Plan wykładów Wykład 1: - Wstęp. Interfejsy szeregowe SCI Wykład 2: - Interfejs SPI, I 2 C Wykład 3: - Interfejs USB Wykład 4: - Interfejsy bezprzewodowe ZigBee i Bluetooth Laboratorium 1-6: - program podczas laboratorium

Wykład 1 Wprowadzenie Interfejsy szeregowe vs interfejsy równoległe Interfejsy SCI

Klasyfikacje mikroprocesorów SIMD ang. Single Instruction Multiple Data SISD ang. Single Instruction Single Data MIMD ang. Multiple Instruction Multiple Data MISD ang. Multiple Instruction Single Data CISC ang. Complex Instruction Set Computers RISC ang. Reduced Instruction Set Computers Architektury: Von Neumanna Harvardzka Harvardzka zmodyfikowana

Klasyfikacje mikroprocesorów Cechy procesorów SISD: - jeden ciąg instrukcji - jeden ciąg danych - prostota konstrukcji - mała wydajność - duża popularność - większość mikrokontrolerów ma architekturę SISD

Klasyfikacje mikroprocesorów Cechy procesorów MISD: - wiele ciągów instrukcji - jeden ciąg danych - przetwarzanie równoległe - wiele jednostek wykonuje operację na jednych danych - rzadko używana

Klasyfikacje mikroprocesorów Cechy procesorów SIMD: - jeden ciąg instrukcji - wiele ciągów danych - wydajne przetwarzanie równoległe - różne dane obrabiane są w identyczny sposób - używane w superkomputerach, procesorach wektorowych oraz DSP

Klasyfikacje mikroprocesorów Cechy procesorów MIMD: - wiele ciągów instrukcji - wiele ciągów danych - wydajne przetwarzanie równoległe - wiele jednostek wykonuje operację asynchronicznie i niezależnie - używana w sieciach obliczeniowych w różnych konfiguracjach - pamięć może być współdzielona lub rozproszona

Klasyfikacje mikroprocesorów Cechy procesorów CISC: - duża liczba rozkazów (instrukcji) - mała optymalizacja - niektóre rozkazy potrzebują dużej liczby cykli procesora do wykonania - występowanie złożonych, specjalistycznych rozkazów - duża liczba trybów adresowania - do pamięci może się odwoływać bezpośrednio duża liczba rozkazów - mniejsza od RISC-ów częstotliwość taktowania procesora - powolne działanie dekodera rozkazów

Klasyfikacje mikroprocesorów Cechy procesorów RISC: - zredukowana liczba rozkazów (instrukcji) nawet poniżej 30! - duża optymalizacja czasowa wykonania rozkazu (1 cykl) - większość rozkazów wykonywana w jednym cyklu procesora - rozkazy proste lub bardzo proste - bardzo mała liczba trybów adresowania - ograniczony dostęp do pamięci - duża częstotliwość taktowania procesora - szybkie działanie dekodera rozkazów - większość operacji wykonywana według schematu: REG C =REG A operacja REG B - duża liczba rejestów pomocniczych - przetwarzanie potokowe (ang. pipelining)

Klasyfikacje mikroprocesorów Architektura von Neumanna:

Klasyfikacje mikroprocesorów Architektura von Neumanna: wspólna pamięć programu i danych procesor podzielony na ALU, pamięć i układy wejścia/wyjścia wspólna magistrala dla danych i programu dane odczytane z pamięci mogą zarówno danymi, jak i rozkazami łatwość programowania (jedna, ciągła mapa pamięci) mała wydajność

Klasyfikacje mikroprocesorów Architektura harvardzka:

Klasyfikacje mikroprocesorów Architektura harvardzka: osobne pamięci programu i danych prostsza architektura procesora uproszczony dekoder adresów/rozkazów osobna magistrala dla danych i programu dane odczytane z pamięci danych mogą być tylko danymi, a z pamięci rozkazów tylko rozkazami niemożliwa samo-modyfikacja programu procesora trudniejsze programowanie (dwie mapy pamięci, różne polecenia dostępu do różnych pamięci) większa wydajność dzięki uproszczeniu architektury i podwojeniu magistral używane np. W DSP i odczycie pamięci cache

Klasyfikacje mikroprocesorów Architektura harvardzka zmodyfikowana: modyfikacja polega na pozostawieniu oddzielnych pamięci ale wykorzystaniu wspólnej magistrali dzięki temu możliwa jest samo-modyfikacja kodu

Microprocessor - operation

Microprocessor - basics Microprocessor: is a programmable device accepts digital input data processes the data according to instructions stored in memory provides results as output operates on symbols represented in binary numeral system

Microprocessor - basics Main elements: Arithmethic Logic Unit Status Register Stack Pointer Program Counter Instruction Decoder Registers / Scratch Memory

Microprocessor - basics

Microprocessor - ALU ALU Arithmetic Logic Unit is the heart of microprocessor Width of A,B and R defines if microprocessor is 8-, 16-, 32- or 64 bits!!!

Microprocessor - ALU Functionality of ALU depends on the paticular realisation Usually it offers: Addition Subtraction Comparison Logical operations Multiplication Division

Microprocessor Status register Status register contains various flags and control bits Flags in the register are modified by different assembly code instructions

Microprocessor Stack Pointer The Stack is mainly used: for storing temporary data for storing local variables for storing return addresses after interrupts and subroutine calls The Stack Pointer Register always points to the top of the Stack the Stack is implemented as growing from higher memory locations to lower memory locations

Microprocessor Program Counter Program Counter (PC) - a special register holding the address of the instruction currently being executed Program counter is automatically advanced to point to the next instruction in the case of a jump, subroutine call, etc., a new value will simply be loaded into the program counter in order to cause a jump

Microprocessor Instruction decoder Instruction decoder fetches instructions from a proper memory In the next cycle the instructions are decoded and then executed For faster execution pipelining is used

Microprocessor Registers Each CPU consists of a certain number of universal registers They are usually used as temporary storage of data In some CPUs instead of registers a memory is used Access to the registers/momey is much faster than to external memory

Microprocessor program flow

Microprocessor program flow The program control logic and programaddress generation logic work together to provide proper program flow Normally, the flow of a program is sequential: the CPU executes instructions at consecutive program-memory addresses Discontinuities are caused by branches, function calls or interrupts

Microprocessor program flow Program execution starts from the address pointed by a special RESET pointer Instructions are in a machine code i.e. stream of 8-, 16- or 32b long values For simplicity assembly code is used:

Microprocessor memory map

8 vs 16 vs 32 bity Uwagi: więcej bitów = łatwiejsza praca z dużą ilością danych więcej bitów = mniejsze problemy z dokładnością obliczeń więcej bitów szybsza praca prostsze procesory jest łatwiej przyspieszać! procesory 32-bit są zazwyczaj szybsze bo taka jest potrzeba mniejsze procesory są często dużo sprawniejsze i prostsze w oprogramowaniu od większych braci

Numbers in microcontrollers CPUs natively support only integer numbers signed or unsigned CPU accumulator width defines size of supported numbers: 8b -> [0;0xff] = [0;255] 16b -> [0;0xffff] = [0;65535] 32b -> [0;0xffffffff] = [0;4294967296]

Numbers in microcontrollers Signed integers are usually written in U2 code: i.e. -1 = 0xff -128 = 0x80

Numbers in microcontrollers In CPUs there is problem with non-integer numbers Some CPUs support fractional numbers Some have additional coprocessor (Floating Point Unit FPU) for real numbers calculation

Numbers in microcontrollers Comparison of Integer and Fractional numbers:

Numbers in microcontrollers Floating point arithmetic is defined in IEEE754-2008 Standard defines: arithmetic formats: finite numbers (including signed zeros and subnormal numbers), infinities, and special "not a number" values (NaNs) interchange formats: encodings that may be used to exchange floating-point data in an efficient and compact form rounding algorithms: methods to be used for rounding numbers during arithmetic and conversions operations: arithmetic and other operations on arithmetic formats exception handling: indications of exceptional conditions (such as division by zero, overflow, etc.)

Numbers in microcontrollers Single precision: S EEEEEEEE FFFFFFFFFFFFFFFFFFFFFFF 0 1 8 9 31 X = ( 1) S 1. F 2 E 127 S sign E exponent bits F - fraction

Numbers in microcontrollers Double precision: S EEEEEEEEEEE FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFF 0 1 11 12 63 X = ( 1) S 1. F 2 E 1023 S sign E exponent bits F - fraction

Endiannes Endiannes is the same as byte-order Big-endian = MSB goes first Little-endian = LSB goes first

Interfejsy po co? Interface: a. equipment or programs designed to communicate information from one system of computing devices or programs to another. b. any arrangement for such communication.

Typy interfejsów: - Sprzętowe - Programowe - Szeregowe - Równoległe: - 4-bitowe - 8-bitowe - 16-bitowe - 32-bitowe - inne Interfejsy po co?

Interfejsy szeregowe vs równoległe Cechy interfejsów szeregowych: - prostota: - od średniej (RS232C) - do bardzo dużej (OneWire) - wydajność: - b. mała do małej (RS232, I2C) - średnia (ZigBee, SPI) - duża do b. dużej (USB, Ethernet) - trudność implementacji: - mała (OneWire, SCI) - średnia (USB, Ethernet) - duża (Bluetooth)

Interfejsy szeregowe vs równoległe Cechy interfejsów równoległych: - prostota: - średnia - wydajność: - duża (teoretycznie największa), - tym większa im szersza magistrala - limitowana przez błędy propagacji i przesłuchy - trudność implementacji: - mała przy niskich prędkościach - średnia przy wysokich - trudności z uzyskaniem dużego zasięgu - problemy z odbiciami

Błędy propagacji Czas propagacji sygnału na płytce PCB: Microstrip = 1 c + 2 ε c r Stripline = ε c r

Błędy propagacji Przykład: Dla laminatu FR4 przenikalność względna ε r =4 przy technologii wykonania Microstrip (lub podobnej): τ p = 1.5/c = 5 ns/m = 0.5 ns/10 cm Dla laminatu FR4 przenikalność względna ε r =4 przy technologii wykonania Stripline (lub podobnej): τ p = 2/c = 6,7 ns/m = 0.67 ns/10 cm Okres sygnału o częstotliwości 1 GHz to 1ns.

Interfejsy równoległe

Interfejsy równoległe Zastosowanie: - szeroko wykorzystywane do wzajemnych połączeń na płytach PCB (krótki zasięg) procesorów, pamięci, wyświetlaczy,układów programowalnych itp., itd. - wykorzystywane do połączeń między układami mikroprocesorowymi (średni zasięg), np. Parallel ATA - bardzo rzadko wykorzystywane do połączeń między systemami mikroprocesorowymi (duży zasięg), np. LPT

Parallel ATA Standard używany od prawie 20 lat do połączeń między płytami głównymi, a dyskami twardymi czy też napędami optycznymi. Początkowo używano przewodu 40-pinowego, później 80- pinowego z dodatkowymi pinami masy (zmniejszenie przesłuchów). Powstało wiele standardów (np. PCMCIA, S.M.A.R.T.)

Parallel ATA

Parallel ATA Zalety PATA: - długi czas rozwoju sprawdzona technologia Wady PATA: - wydajność poniżej 100MBps - niewygodny kabel połączeniowy - problemy Master/Slave - wykorzystanie napięć 5V obecnie zdecydowanie niepożądanych - CRC tylko danych, nie poleceń

Interfejs SCI

RS232C Cechy: Jeden z najbardziej popularnych interfejsów szeregowych Szeregowy, dwuprzewodowy Służy do komunikacji wewnętrznej i zewnętrznej Oryginalne wersje (np. RS-232C) wymagaję wielu linii sterujących (DB9, DB25) Dwa stany logiczne używane, ale nie TTL! Asynchroniczny transfer danych. Zegar nie przekazywany! Pełna transmisji duplex Transmisja Point - to - point Wydajność do kilkuset kb / s

RS232C

SCI serial communication interface Uproszczona wersja RS232C: wystarczające są tylko dwa piny transmisji danych RxD, TxD oraz masa GND - nie jest wymagana używanie ujemnych napięć - można użyć standardowych układów konwersji poziomów do standardu RS232C (np. MAX232) - prędkości osiągalne do kilku Mb/s (w ramach jednej płyty PCB, w wykorzystaniem warstwy RS422/485)

MAX232

MAX232 Układ bardzo popularny, Układ wytwarzany przez wielu producentów, Układ wytwarzany w bardzo wielu wersjach, np.: Dla napięć LVTTL33: MAX3232 Z zabezpieczeniem ESD: MAX3230E Dla obsługi pełnego portu RS232C: MAX3237E O dużej prędkości działania: MAX13235E Układ dostępny w wielu wersjach obudów od µmax i SOT-6 do PLCC44, czy DIP16

SCI USART (ATMega)

SCI ustawienia prędkości

SCI TMS320f2810 1/2

SCI TMS320f2810 2/2

SCI TMS320f2810 Cechy: - prędkość programowalna na 64k poziomów - edytowalna długość słowa: - od 1 do 8 bitów danych - parzystość, nieparzystość lub brak bitu - jeden lub dwa bity danych - buforowanie nadawanie i odczyt - obsługa przez przerwania lub sprawdzanie bitu - 16-to poziomowe FIFO odczytu i nadawania - automatyczna detekcja prędkości transmisji - możliwość komunikacji międzyprocesorowej

SCI Multiprocessor Communication Cechy: - komunikacja międzyprocesorowa umożliwia efektywną wymianę danych między procesorami podłączonymi do linii szeregowej, - możliwe do osiągnięcia prędkości sięgają kilkunastu Mb/s - pierwszy bajt jest adresem; - procesory o właściwym adresie odbierają następujące bajty danych - pozostałe procesory przechodzą w stan uśpienia/oczekiwania

SCI Multiprocessor Communication

RS232 Hardware flow control: It is possible to control the serial data flow between 2 devices by using the CTS input and the RTS output

USART in STM32F4 Hardware flow control: Request To Send - RTS flow control nrts is asserted (tied low) as long as the USART receiver is ready to receive a new data

USART in STM32F4 Hardware flow control: Clear To Send - CTS flow control the transmitter checks the ncts input before transmitting the next frame

Interfejs SPI

SPI serial peripheral interface Cechy: wydajny interfejs szeregowy do połączeń z układami peryferyjnymi, - architektura typu master-slave - połączenie z wykorzystaniem co najmniej czterech linii (MISO, MOSI, SCK, GND) - zazwyczaj nie jest wymagana konwersja poziomów sygnałów - transmisja synchroniczna względem linii zegara SCK - prędkości osiągalne do kilkudzisięciu Mb/s

SPI - podłączenie MISO master input slave output MOSI master output slave input SCLK serial clock SS slave select

SPI przebieg komunikacji Zarówno w obiekcie Master, jak i Slave występują rejestry przesuwne (zazwyczaj 8-bit) typu SIPO (serial-in, parallelout) i PISO (parallel-in, serial-out) W takt zegara następuje wymiana danych Po 8 (16) cyklach zegara wymiana danych jest zakończona

SPI konfiguracja Konfiguracji wymaga: Częstotliwość zegara (tylko master) Polaryzacja zegara Faza zegara CPOL=0 wartością bazową zegara jest 0 CPHA=0 dane czytane na narastającym zboczu CPHA=1 dane czytane na opadającym zboczu CPOL=1 wartością bazową zegara jest 1 CPHA=0 dane czytane na opadającym zboczu CPHA=1 dane czytane na narastającym zboczu

SPI konfiguracja

SPI podłączenia wielu urządzeń Typowa magistrala Daisy chain (łańcuch)

SPI AVR

SPI DSP 1/2

SPI DSP 2/2

SPI Pamięć EEPROM M95256 1/2

SPI Pamięć EEPROM M95256 2/2

SPI ADC MAX1402 1/3

SPI ADC MAX1402 2/3

SPI ADC MAX1402 3/3

Dziękuję za uwagę