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



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

Assemblerprogrammering

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

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

EDA215 Digital- och datorteknik för Z

Kommunikationssystem grundkurs, 2G1501 Övningar modul 1 Dataöverföring & fysisk infrastruktur 1 Dataöverföring

EDA Digital och Datorteknik

Extrauppgifter för CPU12

Programexempel för FLEX

Övning 7. Timer, serieport

Övningar modul 1 - Dataöverföring & fysisk infrastruktur

Exempel 3 på Tentamen

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Onsdag 12 Januari 2011, kl

LiTH Lab1: Asynkron seriell dataöverföring via optisk länk Laboration 1. Asynkron seriell dataöverföring via optisk länk

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

Assemblerprogrammets struktur; exempel

Digitalteknik F12. Några speciella automater: register räknare Synkronisering av insignaler. Digitalteknik F12 bild 1

Digital- och datorteknik. Mekatronik-, data- och elektroingenjör Åk 1/ lp 1o2. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen

Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik

TENTAMEN (med svar och vissa lösningar)

Datakommunikation med IR-ljus.

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen.

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

CHALMERS TEKNISKA HÖGSKOLA

Tentamen (Svar och lösningsförslag)

Tentamen. EDA432 Digital- och datorteknik, IT DIT790 Digital- och datorteknik, GU. Måndag 18 Oktober 2010, kl

Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller

Laboration Datorteknik TSIU02 2. I/O-programmering

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

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

Digital och Datorteknik EDA /2011. EDA 451 Digital och datorteknik 2010/2011. Uppbyggnad_och_funktion.pdf

Bilda styrsignalerna till datavägen RESET FETCH EXECUTE NF NF NF. Digital och Datorteknik EDA /2011. Digital och Datorteknik EDA /2011

4 Paket- och kretskopplade nät

4 Paket- och kretskopplade nät

Digital- och datorteknik. Lars-Eric Arebrink. Av institutionen utgiven instruktionlista FLEXIBLE INSTRUKTION SET PROCESSOR FLISP

Adressrum, programmerarens bild

Design av mindre digitala system. Föreläsning Digitalteknik, TSEA52 Mattias Krysander Institutionen för systemteknik

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Måndag 19 oktober 2009, kl

Adressavkodning - busskommunikation

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

Digital- och datorteknik

EDA451 - Digital och Datorteknik 2009/2010. EDA Digital och Datorteknik

LV6 LV7. Aktivera Kursens mål:

Assemblerprogrammeringsuppgifter för FLIS-processorn

MC11. Enkortsdator. MC11 - Hårdvarubeskrivning. MC68HC11 är Motorola INC MS-DOS är Microsoft Corporation MC11, MC68 och MD68k är microlf

Lösningsförslag tenta

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik Mattias Krysander Institutionen för systemteknik

Exempel 1 på Tentamen med lösningar

Hemtenta 2 i Telekommunikation

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik

Kommunikation Jan-Åke Olofsson

Tenta i Digitalteknik

Digitala projekt rapport

Laborationsmoment t 2 - En Borrautomat

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Laborationsmoment t 2 - En Borrautomat

ALU:n ska anslutas hur då?

Tentamen med lösningar

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Digital- och datorteknik

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

Tentamen i Datorkommunikation den 10 mars 2014

LEU240 Mikrodatorsystem

Tenta i Digitalteknik

Tentamen 3. EDAxxx Grundläggande Datorteknik DIT791 Grundläggande Datorteknik, GU. Måndag xx Oktober 20xx, kl

Denna genomgång behandlar följande:

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Transkript:

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

Parallell dataöverföring I digitala system finns ofta behovet att flytta ett eller flera dataord från ett ställe (sändare) till ett annat ställe (mottagare). Vi har redan stött på detta i samband med FLEXprocessorn där man i en operation flyttar 8-bitars dataord mellan två register eller mellan ett register och arbetsminnet. I FLEX-processorn använde vi databussen för överföringen och en klocksignal som verkställde laddningen av dataordet hos mottagaren. MOP 11/12 2

Parallell dataöverföring (forts.) Att överföra ett helt dataord i en operation på detta sätt kallas parallell (samtidig) överföring. Parallell överföring används av praktiska och ekonomiska skäl där avståndet mellan sändare och mottagare är litet. Sändare Dataregister Avstånd 0-1 m 8 bitar - Parallell överföring Dataregister Mottagare MOP 11/12 3

Parallell dataöverföring (forts.) Ett praktiskt problem med parallell överföring är att de olika bitarna i ett dataord anländer till mottagaren vid något olika tidpunkter på grund av olika fördröjning i bitledningarna. Detta fenomen blir mera märkbart vid ökat avstånd mellan sändare och mottagare eller vid ökad datahastighet (dataord/sekund) och kallas skevning (skewing). Ett ekonomiskt problem med parallell överföring är att varje bitledning i bussen inklusive sändar- och mottagarkretsar kostar pengar. Bredare buss ger alltså högre kostnad. MOP 11/12 4

Seriell dataöverföring Istället för att överföra ett helt dataord åt gången kan man skicka dataordets bitar en och en, efter varandra. Detta kallas seriell överföring. Seriell överföring används normalt då sändare och mottagare befinner sig på medellångt (1 m) till långt (km) avstånd från varanda. Av lätt insedda skäl blir detta långsammare men samtidigt billigare. Göteborg (sändare) Dataregister 1 bit - Seriell överföring Dataregister Stockholm (mottagare) MOP 11/12 5

Seriell dataöverföring (forts.) Hur lång tid tar det minst för en bit att resa från Göteborg till Stockholm? 3 s 480 10 t = = = 1, 6 8 c 3 10 ms Göteborg (8 bitar) Dataregister skift bit0 1 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 bit - Seriell överföring Stockholm Databuffert skift bit7 (8 bitar) MOP 11/12 6

Seriell dataöverföring (forts.) Hårdvarulösning för sändare och mottagare: Göteborg (8 bitar) Klocka (10 khz) Stockholm (8 bitar) Klocka (10 khz) dvs 10 bitar/ms Skiftregister 1 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 Skiftregister D 16 bitar på väg till Stockholm Sändaren i Göteborg hinner skicka 16 bitar innan den först sända biten når Stockholm. MOP 11/12 7

Seriell dataöverföring (forts.) Alternativ mjukvarulösning för sändaren: Start ldaa InPort Läs Indata ldab #8 Antal skift Next staa UtPort Sänd bit0 lsra Skifta fram nästa jsr Delay01ms Vänta 0,1 ms decb Sista biten? bne Next..hopp om Nej bra Start Delay01ms nop rts Dummyrutin för Delay MOP 11/12 8

Seriell dataöverföring (forts.) Enkel hårdvarulösning för sändare: Cnt_8 kopplad till bit 0 på InPort CS_UtPort nollställer signalen Cnt_8 CS_UtPort Klocka Logik med räkare Load UtPort LD Databuss(8) UtPort och Skiftregister (STAA UtPort) Seriell data ut TxD MOP 11/12 9

Seriell dataöverföring (forts.) Program för sändning med enkel hårdvarulösning: Mask equ %00000001 Maskbit för skiftat ut 8 bitar ldx #Data Pekare till dataarea NextCh ldaa 1,x+ Läs dataord cmpa #D_end Sista dataordet? beq Slut..hoppa om JA Wait ldab InPort Läs Status bitb #Mask Skiftregister tomt? beq Wait Nej, vänta staa UtPort Ja, nytt dataord till Skiftreg bra NextCh Fortsätt med nästa Slut nop bra Slut MOP 11/12 10

Seriell dataöverföring (forts.) Förbättrad hårdvarulösning med databuffert för sändare: CS_UtPort Datareg_Tomt till bit 0 InPort Databuss(8) (STAA UtPort) Klocka Logik med räknare Cnt_8 C Dataregister LD Skiftregister Buffertregister för data som skall sändas Seriell data ut TxD MOP 11/12 11

Seriell dataöverföring (forts.) Program för sändning med databuffert: Empty equ %00000001 Maskbit för Datareg tomt ldx #Data Pekare till dataarea NextCh ldaa 1,x+ Läs dataord cmpa #D_end Sista dataordet? beq Slut..hoppa om JA Wait ldab InPort Läs Status bitb #Empty Dataregister tomt? beq Wait Nej, vänta staa UtPort Ja, nytt datord till Datareg bra NextCh Fortsätt med nästa Slut nop bra Slut MOP 11/12 12

Seriell dataöverföring (forts.) Buffrad mottagning: CS_DataIn (LDAA DataIn) Datareg_Fullt Till bit 0 InPort Databuss(8) Klocka Logik med räknare OE LD C Data Register Seriell data in RxD D C Skiftregister MOP 11/12 13

Seriell dataöverföring (forts.) Program för mottagning med databuffert: Full equ %00000001 Maskbit för Datareg fullt ldx #Data Pekare till dataarea Wait ldab InPort Läs Status bitb #Full Dataregister fullt? beq Wait Nej, vänta ldaa DataIn Ja, nytt datord mottaget staa 1,x+ Spara dataord i dataarea cmpa #D_end Sista dataordet? bne Wait Nej, fortsätt med nästa Slut nop bra Slut MOP 11/12 14

Seriell dataöverföring (forts.) Fungerar förslaget nedan? Klock- krets Göteborg Stockholm (8 bitar) (8 bitar) 1 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 Skiftregister Skiftregister D MOP 11/12 15

Synkron seriell dataöverföring Alltid hög Alltid låg 0 1 Noll-bit Ett-bit MOP 11/12 16

Asynkron seriell dataöverföring Klock- krets Sändare (8 bitar) Klock- krets Mottagare (8 bitar) Skiftregister 1 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 D Skiftregister MOP 11/12 17

Asynkron seriell dataöverföring Block (Frame) 7 - bitars ASCII 0 b0 b1 b2 b3 b4 b5 b6 P 1 t Startbit Paritetsbit Stoppbit MOP 11/12 18

Seriekommunikation Asynkron överföring Startbit 0 b0 b1 b2 b3 t1 t2 t3 t4 t5 t6 MOP 11/12 19

Seriekommunikation Asynkron överföring Startbit 0 b0 b1 b2 b3 t1 t2 t3 t4 t5 t6 x Bitsekvensdetektor u CP MOP 11/12 20

Seriekommunikation Hur många databitar kan "vara i luften" samtidigt mellan Göteborg och Stockholm? Vi förutsätter en klockfrekvens på 1 MHz och 1 databit per klockperiod. Antal bitar = c s 1 f = 1600 bitar MOP 11/12 21

Seriekommunikation- Överföringskapacitet Överför 100 Gbyte från Göteborg till Stockholm på serieform med bithastigheten 10 6 bitar per sekund: t ant. bitar = = f 9 100 10 8 6 1 10 5 = 8 10 s 9, 3 dygn MOP 11/12 22

Seriekommunikation- Datanät- Media Tvinnad partråd Koaxialkabel Fiberoptik Kapacitet Låg Medium Mycket hög Flexibilitet Mycket hög Medium Låg Kontaktering Billig Medium Mycket dyr Störokänslighet Låg Bra Mycket hög MOP 11/12 23

Seriekommunikation- typiskt datablock Styrfält Datafält Checksumma Slutmarkering Startfält MOP 11/12 24