Seriekommunikation. Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets

Relevanta dokument
Seriekommunikation. Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets

Seriekommunikation. Ur innehållet: Nätverkstopologier Nätverksprotokoll LIN, CAN Asynkron/synkron seriell överföring Programmering av USART-krets

CAN ett kommunikationsprotokoll för realtidssystem MOP 12/13 1

Seriekomunikation. CAN ett kommunikationsprotokoll för realtidssystem. Seriekomunikation -forts. Seriekomunikation -forts

Dataöverföring på Parallell- och serieform MOP 11/12 1

Tentamen med lösningsförslag

Ulf Assarsson. Grafisk display + seriekommunika3on (USART) Läromoment: USART Grundläggande C-programmering del 2

Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder. Jens A Andersson

Produkter och tjänster inom fordonsel

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: (OS)

Datakommunikation i fordon

Datorbaserad mätteknik

Projektlaboration 4, synkronisering av klockan

Programmering av inbyggda system. Seriekommunikation. Viktor Kämpe

Instuderingsfrågor ETS052 Datorkommuniktion

F6: I/O hantering. Typer av I/O i ett datorsystem. Protokoll för synkronisering. Drivrutiner. Memory mapped Port mapped. Polling Timed Interrupt DMA

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit

Bussar och I/O. samt. vad kan man göra med NEXYS3

Grundläggande datavetenskap, 4p

Föreläsning 3. Datakodning (Data encoding) Mål (fortsättning) Länk Mottagare. Sändare

Övning 7. Timer, serieport

Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder. Jens A Andersson

Tentamen med lösningsförslag

Föreläsning 4. Multiplexering (1/2) Multiplexering (2/2) Multiplexering Närnät

IS1500 Lösningar övning CE_O CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io.

GPIO - General Purpose Input Output

Laborationer onsdag/fredag. Laborationer onsdag/fredag. Tillförlitlig dataöverföring Multiplexering Lokala nät (inledning) Labbmanual

GPIO - General Purpose Input Output

Styrteknik: Binära tal, talsystem och koder D3:1

MAC-(sub)lagret. Nätlagret. Datalänklagret. Fysiska lagret LLC MAC. LLC = Logical Link Control-sublager MAC = Media Access Control-sublager

DA HT2011: F18. Länklagret och uppkopplingstekniker Ann-Sofi Åhn

Lokala nät Ethernet o 802.x. (Maria Kihl)

Alias 1.0 Rollbaserad inloggning

Lokala nät (forts ) Ethernet o 802.x Stora nät och behovet av nätprotokoll IP. Felkorrektion. Att bekräfta paket. Jens A Andersson (Maria Kihl)

Kapitel 3 o 4. Tillförlitlig dataöverföring. (Maria Kihl)

Kihl & Andersson: , 4.5 Stallings: , , (7.3)

Lösningar till tentan i ETS052 Datorkommunikation

Grundstruktur. Grundstruktur

Bussar och I/O. samt. vad kan man göra med NEXYS3. Nexys3. Prog + spänningsmatning. Expansionskort

Länkhantering (feldetektering, felhantering, flödeskontroll) Maria Kihl

Vad är kommunikation? Vad är datorkommunikation? Dataöverföring; Inledning

6. Blandade uppgifter

Modbus Seriell Kommunikation

Access till nätet. Maria Kihl

Maskinorienterad programmering

BSR Diagnostic tool Communcation over CAN and K-line bus

Denna genomgång behandlar följande:

Tillförlitlig dataöverföring. Jens A Andersson

F7: I/O hantering. Asynkron och synkron busscykel Bussfördelning. Periferikretsar

KomSys Repetition. Emma Fitzgerald

Allt om datalogging och datakommunikation!

Kihl & Andersson: Kapitel 6 (+ introduktioner från kap 7, men följ slides) Stallings: 9.5, 14.1, 14.2, Introduktion i 14.3, 16.1

Datasäkerhet och integritet

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

F6: I/O hantering. Typer av I/O i ett datorsystem. Memory mapped

Enkla datatyper minne

Datakommunikation med IR-ljus.

Kapitel 3 o 4 Att skicka signaler på en länk Tillförlitlig dataöverföring. Att göra. Att sända information mellan datorer

Digital kommunikation. Maria Kihl

Kihl & Andersson: , 3.1-2, (ej CDM) Stallings: 3.1-4, 5.1, 5.2, 5.3, 8.1, 8.2

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Allt om datalogging och datakommunikation!

Digital kommunikation. Maria Kihl

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Att sända information mellan datorer. Information och binärdata

Kihl & Andersson: , Stallings: , 12.1, 12.2, 13.1, 13.3

OH Slides E: Local Area Networks. Repeater. Vanliga LANtopologier. Några av IEEE 802 protokollen. Hub. Ring. Stjärnnät. Buss

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

SOA. Länkar +ll sidor om SOA h3p:// h3p://dsv.su.se/soa/

Lösningar till tentan i ETS052 Datorkommunikation

Digital Personvåg MANUAL H

Tentamen med lösningsförslag

Lunds Tekniska Högskola. I-10 Grupp 11: David Sundström Max Schulz Albert Lundberg Handledare: Bertil Lindvall

Kapitel 2 o 3. Att skicka signaler på en länk. (Maria Kihl)

Kapitel 5: Lokala nät Ethernet o 802.x. Felkorrektion. Att bekräfta paket. Jens A Andersson (Maria Kihl)

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Industriell Datakommunikation

Introduktion - LAN Design och switching concepts Basic Switch Concepts and Configuration Frågor? Referenser. Nätverksteknik 2

Ad-hoc-nätverk och spontana nätverk

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04

Föreläsning 10 Mål Förse en översikt av mobilnätens utveckling Förstå komponenterna i ett mobilt nät. Mobila nätverk (1/5) Mobila nätverk (2/5)

Elektronik. Viktor Öwall, Digital ASIC Group, Dept. of Electroscience, Lund University, Sweden-

Kihl & Andersson: , 3.3 Stallings: , 12.1, 12.2, 13.1, 13.3

Beacon BluFi Bluzone. Givarna har mycket hög känslighet och kan mäta mycket små förändringar.

Sekvensnät vippor, register och bussar

Tentamen SSY 065, måndag 16/12, 14:00-18:00, V. Lärare: Petter Falkman, (772) 3723 Tider för lärarens närvaro: 15:00, 16:30

Kommunikation inom automation. Kommunikation på olika nivåer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Trådlös kommunikation En introduktion av Open Systems Engineering AB

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Assemblerprogrammering för ARM del 2

Examples on Analog Transmission

Periferikretsar. ADC/DAC Räknare Realtidsklocka Timer Interrupthanterare UART (Universal Asynchronous Reciever and Transmitter) Seriell dataöverföring

Allmänt om Modbus. Modbus

LTH, Institutionen för Elektro- och Informationsteknik (EIT)

Arduinokurs. Kurstillfälle 4

VERKTYG FÖR BILKOMMUNIKATION VIDA ALL-IN-ONE

ETSF05 Repetition av KomSys

Datalänklagret. Datalänklagret ska:

City Mobility Transport Solutions -Environmental and economic sustainability by new technology Trondheim 26th of June

Transkript:

Seriekommunikation Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets Läsanvisningar: Arbetsbok kapitel 7 Seriekommunikation 1

Parallell överföring + god bandbredd - många ledare ger dyrare överföringsmedia mycket snabbt vid korta avstånd Seriekommunikation 2

Seriell överföring + få ledare ger enklare (billigare) överföringsmedia - sämre bandbredd överföringshastighet efter prestandakrav Seriekommunikation 3

Nätverkstopologi Strukturer för hur datorer kopplas i hop, ofta ser man kombinationer av de olika varianterna. Olika protokoll har utvecklats för olika strukturer, exvis: RS232 (punkt till punkt) Ethernet (mask, stjärna) Token ring (ring) USB (träd) CAN, LIN (buss) Seriekommunikation 4

Nätverksprotokoll Kommunikationsmedia Ett "kommunikationsprotokoll" är en uppsättning regler som tillsammans entydigt specificerar hur datautbytet (datakommunikationen) ska gå till. Protokollen baseras oftast på någon speciell nätverkstopologi och förutsätter någon speciell accessmetod. Med acessmetod (åtkomstmetod) menar man den policy som används när en nod behöver skicka data och därför måste använda kommunikationsmediat. De vanligaste är: Master/Slave CDMA, Collission Detect, Multiple Access CRMA, Collission Resolution, Multiple Access TDMA, Time Division, Multiple Access "token, ring-protokoll Seriekommunikation 5

Asynkron överföring, Startbitsdetektering Protokollet anger en ledig -nivå på kommunikationsledningen. Då nivån växlar tolkas detta som en startbit (t 0 ). Mottagaren läser därefter av ledningen ( samplar ) efter ett halvt bitintervall (t 1 ) och därefter ytterligare hela bitintervall (t 2,t 3,t 4 osv). Seriekommunikation 6

Klocksynkronisering Vid olika hastighet kommer en förskjutning av mottagarens sampling så småningom resultera i att fel bitintervall samplas... Genom att specificera maximalt antal bitar som skickas vid ett tillfälle, en ram, kan man också bestämma en största tillåten differens och därmed också acceptera skillnader hos sändares respektive mottagare klockor. Seriekommunikation 7

RS232, 9-bitars ram Exempel på hur en ram kan se ut Bitarnas betydelse definieras mera exakt av protokollet Exempelvis, RS232 : ASCII-tecknet z (= 01111010=0x7A, LSB först) överförs då på följande sätt Seriekommunikation 8

Synkron överföring Gemensam klocksignal och data EXEMPEL: Manchester kodning, bitlängden bestäms av positiva flanker, nivån i mitten av biten anger 0 eller 1. Metoden kallas RZ (Return to Zero) Kräver bara en ledning men minskar bandbredden. Seriekommunikation 9

Synkron överföring Klocksignal och data på skilda ledningar Kräver två ledningar men ökar bandbredden. Används för enklare tillämpningar, industristandarder: SPI (Serial Peripheral Interface) I 2 C använder denna teknik. Seriekommunikation 10

USART Universal Synchronous/Asynchronous Receiver/Transmitter Fysiskt gränssnitt (transceiver) RS232 (PtoP, duplex) LIN (asynkron buss) USART IR(trådlöst) Smartcard (synkron buss) Seriekommunikation 11

USART programmerarens bild, som en struct... Registeruppsättning typedef struct tag_usart { volatile unsigned short sr; volatile unsigned short Unused0; volatile unsigned short dr; volatile unsigned short Unused1; volatile unsigned short brr; volatile unsigned short Unused2; volatile unsigned short cr1; volatile unsigned short Unused3; volatile unsigned short cr2; volatile unsigned short Unused4; volatile unsigned short cr3; volatile unsigned short Unused5; volatile unsigned short gtpr; } USART; #define USART1 ((USART *) 0x40011000) Seriekommunikation 12

USART RS232 Ofta kommuniceras UTF8 (ASCII-) tecknen "Terminal"- konsollfönster Det finns 8 olika seriekretsar... Fysiskt gränssnitt (transceiver) Terminal Programmerarens bild USART RS232 Seriekommunikation 13

EXEMPEL: Enkla in- och utmatningsrutiner med USART Skapa funktioner: _outchar(char c) som matar ut 'c' till en terminal. char _tstchar(void) som kontrollerar om något tecken anlänt från terminalen, i så fall returnerar detta, annars returneras 0. char _inchar(void) som väntar tills något tecken anlänt från terminalen, och returnerar detta. Vi löser på tavlan... Seriekommunikation 14

UART Status och dataregister OUTCHAR(c): // Vänta tills TXE är 1 // Skriv 'c' till dataregistret TSTCHAR: réturnera c // Är RXNE=1? // Nej, c = 0 // Ja, läs c från dataregistret // Returnera c Bit 7: TXE: Transmit dataregister empty Denna bit sätts av hårdvara när innehållet av TDR registret har överförts till skiftregistret. Ett avbrott genereras om TXEIE bit = 1 i registret USART_CR1. Det återställs vid skrivning till USART_DR registret. 0: Dataregistrets sändardel är upptaget med en överföring. 1: Dataregistrets sändardel är klar att användas. Bit 5 RXNE: Receive data register not empty Denna bit sätts då innehållet i skiftregister RDR har överförts till USART_DR, dvs. ett nytt tecken har kommit. Ett avbrott genereras om RXNEIE = 1 i USART_CR1. Biten nollställs igen vid en läsning från USART_DR. Biten kan också återställas genom att skriva en nolla till den. 0: Inget nytt innehåll i USART_DR sedan senaste läsningen 1: Nytt innehåll finns i USART_DR. Seriekommunikation 15

UART feldetektering Bit 3 ORE: Overrun Error Denna bit sätts av hårdvaran om ett nytt tecken anländer samtidigt som det finns ett oläst tecken i dataregistret ("overrun error"). Ett avbrott genereras om RXNEIE = 1 i USART_CR1. Det återställs av en läsning från USART_SR följt av en läsning från USART_DR. 0: Inget förlorat tecken 1: Mottaget tecken är överskrivet (förlorat) Bit 1 FE: Framing Error Denna bit sätts av hårdvara när ett ramfel, oftast orsakat av förlorad synkronisering, upptäckts. Biten återställs av en läsning från USART_SR följt av en läsning från USART_DR. 0: Inget ramfel upptäcks 1: Ramfel eller BREAK-ram detekterad Bit 2 NF: Noise detection Flag Denna bit sätts av hårdvara när störningar i form av brus upptäcks i en mottagen ram. Biten återställs av en läsning från USART_SR följt av en läsning från USART_DR. 0: Ingen störning detekterad 1: Störning detekterad Bit 0 PE: Parity Error Denna bit sätts av hårdvara när ett paritetsfel uppträder hos mottagaren. Biten återställs av en läsning från USART_SR följt av en läsning från USART_DR. Programmet måste vänta på att RXNE-biten ettställts innan PE-biten återställs. Ett avbrott genereras om PEIE = 1 i USART_CR1. 0: Inget paritetsfel 1: Paritetsfel Seriekommunikation 16

Protokoll i fordonstillämpningar Mirror Lock Lock Window lift Power Train Instruments Seat Heating Heating Infotainment systems Central body control Climate Roof Heating Trunk Steering wheel panel Very high performance High performance Medium performance Lock Lock Seat Mirror Mirror Heating Lock Seat Seat Universal motor Universal panel Interior lights Low end performance Seriekommunikation 17

LIN, 1998 LIN Local Interconnection network ursprungligen: VOLCANO Lite Partners: Freescale, VOLVO CAR, BMW, AUDI, Volkswagen, Daimler-Chrysler Mentor Graphics (tidigare: Volcano Communication Technology) Syfte: Låg kostnad, mindre prestanda och säkerhetskrav, flexibel systemarkitektur Seriekommunikation 18

LIN, typiska tillämpningar Roof: (high amount of wiring) Rain Sensor, Light Sensor, Light Control, Sun Roof (Rain Sensor needs to be interrogated every 10-20ms) Door/window/seat: Mirror,Central ECU, Mirror, Switch, Window Lift, Seat Control Switch, Door Lock, etc. Steering Wheel: (very many controls are going to be positioned on the steering wheel) Climate: many Small Motors Control Panel Cruise Control, Wiper, Turning Light, Optional: Climate Control, Radio, Telephone, etc. Seat: many Seat Position Motors, Occupancy Sensor, Control Panel Seriekommunikation 19

LIN, kommunikation (master/slave) master control unit polling master task slave task slave control unit slave task slave control unit slave task inter-frame spacing synch Identifier field next synch field Master Task Response spacing 2 byte 1 byte data block parity time Slave Task time Seriekommunikation 20

CAN, Controller Area Network Bus topology CSMA/CR (Carrier sense, Multiple Access/ Collision Resolution) Error detection capabilities Supports atomic broadcast 0-64 bytes of data per frame Twisted pair Maximum 1 Mbit/s ARB CTRL DATA CRC ACK EOF Arbitration (identifier) Control information 0-8 bytes Checksum Acknowledge End of frame MESSAGE FRAME SOF ARB CTRL DATA CRC ACK EOF Seriekommunikation 21

CAN, detektering av busskrock Idle bus (recessive level) Bus transceivers Open collector Bus level: Recessive (bit) 1 Dominant (bit) 0 Bus level +5V R 1 1 NodeA Node B Seriekommunikation 22

CAN, detektering av busskrock Two nodes transmitting same level (1) transmit 1 transmit 1 receive 1 Bus level +5V I R = 0 receive 1 1 1 1 I A = 0 Node A 1 1 Node B 1 I B = 0 Seriekommunikation 23

CAN, detektering av busskrock transmit 0 receive 0 +5V R Bus level: 0V I R =I A transmit 1 receive 0 Node A Node B 0 0 0 1 1 0 1 1 I A I B =0 Node B aborts transmission since the received bit differs from the transmitted bit Seriekommunikation 24

CAN, arbitrering Arbitration field (identifier with priority) Nodes own specific message identifiers. EXAMPLE: Three nodes start simultaneously Node A transmits: $257 (0010 0101 0111) Node B transmits: $360 (0011 0110 0000) Node C transmits: $25F (0010 0101 1111) Bit number SOF 1 2 3 4 5 6 7 8 9 10 11 12 13 Bus level D D D R D D R D R D R R R R Node A 0 0 0 1 0 0 1 0 1 0 1 1 1 1 Node B 0 0 0 1 1 Aborts Node C 0 0 0 1 0 0 1 0 1 1 Aborts Seriekommunikation 25