Half-duplex data transmission

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

Half-duplex data transmission

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

1. Which statement describes half-duplex transmission?
A Data travels in both directions at the same time
B Data travels in both directions, but only one direction at a time
2. Which device is an example of half-duplex transmission?
A A telephone call
B A walkie-talkie
3. Two devices use half-duplex. Device A is sending data. What must Device B do?
A Wait until Device A has finished sending
B Send its own data at the same time
4. True or false: half-duplex data can travel in only ONE direction ever.
A False: it can travel both ways, but not at the same time
B True: it only ever travels one way
5. What is the key idea behind half-duplex transmission?
A Devices take turns to send and receive
B Devices send and receive at the same moment

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1half-duplex AData can travel in both directions, but only one direction at a time, so devices take turns
2walkie-talkie BA half-duplex example: one person speaks while the other listens, then they swap
3Half-duplex lets two devices send data both ways, but never at the same moment Cif channel_busy: wait()
4In half-duplex, a device must wait for its turn before it can send DThis describes full-duplex, not half-duplex. In half-duplex, data goes both ways but only one direction at a time.
5Half-duplex: A <-> B at the same time EThis describes simplex, not half-duplex. Half-duplex can send in both directions, just not at once.
6Half-duplex: A -> B only, never B -> A FA -> B, then B -> A (one at a time)

Definitions

half-duplex

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
mode ← "___________"
2.
maxSenders ← _
3.
IF channelBusy THEN ____ ENDIF
4.
IF mode _ "half-duplex" THEN takeTurns() ENDIF
5.
IF channelFree THEN SEND(data) ____ WAIT ENDIF

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A mode ← "half-duplex"
B directions ← 1
C sendAtOnce ← FALSE
Question 2
A type ← "half-duplex"
B bothDirections ← TRUE
C simultaneous ← TRUE
Question 3
A IF talking = "A" THEN
B A sends data to B
C ELSE
D A sends data to B
E ENDIF
Question 4
A direction1 ← "A to B"
B direction2 ← "B to A"
C usedAtOnce ← 2
D // one direction at a time
Question 5
A transmission ← "full-duplex"
B devices take turns to send
C walkie-talkie is an example

Answer Key

Half-duplex data transmission
Section A: Quick Questions
Q1
B — Data travels in both directions, but only one direction at a time
Q2
B — A walkie-talkie
Q3
A — Wait until Device A has finished sending
Q4
A — False: it can travel both ways, but not at the same time
Q5
A — Devices take turns to send and receive
Section B: Match the Pairs
Q1
half-duplex → Data can travel in both directions, but only one direction at a time, so devices take turns
Q2
walkie-talkie → A half-duplex example: one person speaks while the other listens, then they swap
Q3
Half-duplex lets two devices send data both ways, but never at the same moment → A -> B, then B -> A (one at a time)
Q4
In half-duplex, a device must wait for its turn before it can send → if channel_busy: wait()
Q5
Half-duplex: A <-> B at the same time → This describes full-duplex, not half-duplex. In half-duplex, data goes both ways but only one direction at a time.
Q6
Half-duplex: A -> B only, never B -> A → This describes simplex, not half-duplex. Half-duplex can send in both directions, just not at once.
Section C: Definitions
Q1
half-duplex — Data can travel in both directions, but only one direction at a time, so devices take turns, like a walkie-talkie.
Section D: Fill in the Blanks
Q1
mode ← "half-duplex"
Q2
maxSenders ← 1
Q3
IF channelBusy THEN WAIT ENDIF
Q4
IF mode = "half-duplex" THEN takeTurns() ENDIF
Q5
IF channelFree THEN SEND(data) ELSE WAIT ENDIF
Section E: Spot the Error
Q1
B — Half-duplex data can travel in both directions, so directions should be 2. A value of 1 describes simplex.
Q2
C — In half-duplex the two directions are never used at the same time. Devices take turns, so simultaneous should be FALSE.
Q3
D — When it is not A's turn (the ELSE branch), B should send data to A. Having A send in both branches means the devices never swap turns.
Q4
C — Half-duplex has two directions available, but only one can be used at any moment. usedAtOnce should be 1, not 2.
Q5
A — The program describes devices taking turns, which is half-duplex. Full-duplex lets both devices send at the same time.