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

Avbrott - En enhet. I DAG fo 6 Mera avbrott. Avbrott - Fler enheter. Olika typer av avbrott DMA. Avbrott - Fler enheter -Avbrottshanterare

Projektlaboration 4, synkronisering av klockan

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

EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7)

Programexempel för FLEX

Övning 7. Timer, serieport

Styrenheten 9/17/2011. Styrenheten - forts Arb s 120. LV4 Fo10. Aktivera Kursens mål: Kap 7 Blå

Ö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

Maskinorienterad Programmering 2010/11

Digital- och datorteknik

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

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. Lars-Eric Arebrink

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

Maskinorienterad programmering

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)

Villkorliga hopp: 9/26/2011. Dagens mål: Du ska kunna.. Villrorliga (Relativa) hopp - forts Arb s 140. LV5 Fo12. LV5 Fo12. Aktivera Kursens mål:

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

DAT 015 Maskinorienterad programmering 2010/2011. Uppbyggnad_och_funktion.pdf

Adressavkodning - busskommunikation

Fortsä'ning Pekare. Ulf Assarsson. Originalslides av Viktor Kämpe

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:

Printerport. I DAG Fö 3. Adressavkodning för skrivarporten. Printerport - forts

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

Maskinorienterad Programmering 2010/2011. Maskinorienterad Programmering 2010/2011. Skrivarporten, p Arbetsbok MC12, avsnitt 2

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

Maskinorienterad programmering

Exempel 1 på Tentamen med lösningar

Anders Arvidsson ROBOTBESKRIVNING. Roboten på bilden är extrautrustad

Fortsä'ning Pekare. Ulf Assarsson. Originalslides av Viktor Kämpe

Hemtenta 2 i Telekommunikation

Digital- och datorteknik

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

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

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

Kommunikation Jan-Åke Olofsson

Avbrottshantering. Övningsuppgifter Lösningsförslag Uppgift (Reservation för diverse fel!)

Tenta i Digitalteknik

Digitala projekt rapport

Laborationsmoment t 2 - En Borrautomat

TENTAMEN (Något redigerad)

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å?

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

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

TENTAMEN. Digital- och datorteknik E. Institutionen för data- och informationsteknik Avdelningen för datorteknik. Elektro Åk 1/ lp 4 EDA216/DIT790

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

9/22/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke...

VELKOMMEN!!!! SYFTE o MÅL. till EDA485/DIT151. Maskinorienterad Programmering. Kurslitteratur. önskar Jan o Rolf

Tentamen i Datorkommunikation den 10 mars 2014

LEU240 Mikrodatorsystem

Tentamen. DAT015 Maskinorienterad programmering IT DIT151 Maskinorienterad programmering GU. Tisdag 15 december 2009, kl

Tenta i Digitalteknik

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

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Programmering av inbyggda system. Seriekommunikation. Viktor Kämpe

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

Maskinorienterad programmering

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