IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale...

18
IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao @ venus .org

Transcript of IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale...

Page 1: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

IEEE 1394 A high-speed computer I/O serial bus

CASI / ELEC 98

By Rachad ALAO

Ecole Nationale Supérieure des Télécommunications

[email protected]

Page 2: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

PC

Video Camera

DVD -RAM

IEEE 1394, by Rachad ALAO ( [email protected] )

What’s the best way to interconnect these devices ?

Page 3: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

PC

Video Camera

DVD -RAM

IEEE 1394, by Rachad ALAO ( [email protected] )

What’s the best way to interconnect these devices ?

•Why not with USB? Too slow!•Why not with a SCSI bus? Fast enough, but…•What about an IEEE 1394 bus? You’ve got it!

Isochronous Traffic.Bandwidth Requirement : 6Mbit/s

Sporadic traffic.Bandwidth Requirement : 16Mbit/s

Page 4: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

IEEE 1394 Lecture Plan

IEEE 1394, by Rachad ALAO ( [email protected] )

I. How does IEEE 1394 work ?• Overview• Topology• Type of Transaction• Protocol’s Structure• Example of Data Transfer

II. Architecture of a IEEE 1394 Controller.• Project Overview• Functional Block Overview• Block Level Detailed Architecture• Transaction Layer, driver.

III. Conclusion.

Page 5: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

How does IEEE 1394 work ? Overview

IEEE 1394, by Rachad ALAO ( [email protected] ) Back to Lecture Plan

• High Speed• Hot plug and play• Isochronous capable• “Memory-bus-like” logical architecture

Page 6: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

How does IEEE 1394 work ? Topology

IEEE 1394, by Rachad ALAO ( [email protected] ) Back to Lecture Plan

Local Bus i

Bridge 1 Bridge 2

Node A

Node B

Node C Node D

Node E

Node A

Node B Node C

Node D Node E Node F

Local Bus 1 Local Bus 2

CablePortion

port

• Physical topology is a non-cyclic network but Logical Topology is a bus.• Node_ID[ 15 .. 0] = Bus_ID[15 .. 6] || Physical_ID[ 5 .. 0]

Page 7: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

How does IEEE 1394 work ? Type of Transaction

IEEE 1394, by Rachad ALAO ( [email protected] ) Back to Lecture Plan

Different type of subaction :• Asynchronous subaction• Asynchronous broadcast subaction• Isochronous subaction

Different part of a subaction :• Arbitration sequence• Data packet• Acknowledgment

Typical structure of a data packet

Page 8: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

How does IEEE 1394 work ? Protocol’s Structure

IEEE 1394, by Rachad ALAO ( [email protected] ) Back to Lecture Plan

Different managers needed :• ROOT ( Arbiter )• CYCLE_MASTER• ISOCHRONOUS MANAGER• BUS MANAGER

Page 9: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

How does IEEE 1394 work ? Example of Data Transfer 1

IEEE 1394, by Rachad ALAO ( [email protected] ) Back to Lecture Plan

PC

RootIsochronous ManagerBus ManagerCycle MasterNode_ID = 3

Video Camera

Node_ID = 1

DVD -RAM

Node_ID = 2

Page 10: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

How does IEEE 1394 work ? Example of Data Transfer 2

IEEE 1394, by Rachad ALAO ( [email protected] ) Back to Lecture Plan

Cycle_Start Ch. i Ch. j

Isochronous Gap Subaction Gap

Cycle_Start Ch. i Ch. j

Arbitration

Data Packet

TX_DATA_END

Cycle_Start Ch. i Ch. j Data Packet

Acknowledge Gap

Acknowledge Packet

• Step 1 :

• Step 2, 3, 4 :

• Step 5 :

DVD RAM want to perform a write data block transaction to the PC

Page 11: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

How does IEEE 1394 work ? Example of Data Transfer 3

IEEE 1394, by Rachad ALAO ( [email protected] ) Back to Lecture Plan

• Step 1 :

• Step 2, 3, 4 :

Camera sends MPEG2 data to the PC at a 6 Mbit/s fixed rate.

Cycle_Start

Isochronous Gap

Cycle_Start

Arbitration

Ch. K Data Packet

TX_DATA_END

• Prior to all its isochronous transfers, the camera must allocates bandwidth and channel.

Page 12: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

Architecture of a IEEE 1394 ControllerProject Overview

IEEE 1394, by Rachad ALAO ( [email protected] ) Back to Lecture Plan

CPU

Mem

ory

Chipset

Loc

al B

usP

CI

Bus

IEEE 1394Controller

Generic PC

IEEE 1394Controller

CPU

Mem

ory

Loc

al B

us

Generic Deported App

IEE

E 1

394

Cab

le

Page 13: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

Architecture of a IEEE 1394 ControllerFunctional Block Overview

IEEE 1394, by Rachad ALAO ( [email protected] ) Back to Lecture Plan

TPA

TPB

Power Phy

Lay

er

Lin

k L

ayer

FIF

O C

ontr

olle

r

Loc

al H

ost B

us A

dapt

er *

ReceiveTransmit_Granted

HoldLink_request

Link_DSR/W

Add[7..0]

Link_Data[7..0]

Clk ( 50 Mhz )Link_On

Power_Down/Reset

Phy_DS

Phy_Data[7..0]

Host_DSR/W

Host_Add[7..0]

Host_Data[31..0]

FIFO_DS

FIFO_Data[31..0]

Clk ( 33 Mhz )

/Reset

INT

* Local Bus Adapter Interface is Bus Dependent! No generic interface can be given.

Clk ( 50 Mhz )

/Reset

FIFO_DS

FIFO_R/W

FIFO_Add[7..0]

FIFO_Data[31..0]

Link_DS

Link_Data[31..0]

Link_Add[2..0]

Link_R/W

Transaction layer and part of the bus management will be software components ( driver )

Page 14: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

Architecture of a IEEE 1394 ControllerBlock Level Detailed Architecture - PHY

IEEE 1394, by Rachad ALAO ( [email protected] ) Back to Lecture Plan

Phy State Machine &Internal Regs

ReceiveData Decoder

Transmit Data Encoder

CableAnalogInterface

ReceiveTransmit_Granted

HoldLink_request

Link_DSR/W

Add[7..0]

Link_Data[7..0]

Clk ( 50 Mhz )Link_On

Power_Down/Reset

Phy_DS

Phy_Data[7..0]

TPA

TPB

Power

Page 15: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

Architecture of a IEEE 1394 ControllerBlock Level Detailed Architecture - LINK

IEEE 1394, by Rachad ALAO ( [email protected] ) Back to Lecture Plan

ReceiveTransmit_Granted

HoldLink_request

Link_DSR/W

Add[7..0]

Link_Data[7..0]

Clk ( 50 Mhz )Link_On

Power_Down/Reset

Phy_DS

Phy_Data[7..0]

Clk ( 50 Mhz )

/Reset

FIFO_DS

FIFO_R/W

FIFO_Add[7..0]

FIFO_Data[31..0]

Link_DS

Link_Data[31..0]

Link_Add[2..0]

Ph

y In

terf

ace

Transmitter

Receiver

CRC

CRC

Isoch. Manager

Isoch. Monitor

Link State Machine and Registers Link_R/W

Page 16: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

Architecture of a IEEE 1394 ControllerBlock Level Detailed Architecture - FIFO

IEEE 1394, by Rachad ALAO ( [email protected] ) Back to Lecture Plan

Host AdapterInterface

FIFO Controller &Internal Regs

LinkLayerInterface

General Receive FIFO

Asynch. Transmit FIFO

Isoch. Transmit FIFO

Host_DSR/W

Host_Add[7..0]

Host_Data[31..0]

FIFO_DS

FIFO_Data[31..0]

Clk ( 33 Mhz )

/Reset

INT

Clk ( 50 Mhz )

/Reset

FIFO_DS

FIFO_R/W

FIFO_Add[7..0]

FIFO_Data[31..0]

Link_DS

Link_Data[31..0]

Link_Add[2..0]

Link_R/W

Page 17: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

Architecture of a IEEE 1394 ControllerTransaction Layer, driver

IEEE 1394, by Rachad ALAO ( [email protected] ) Back to Lecture Plan

• The Transaction layer and part of the bus management functions

must be software components.

• Transaction layer must implement Read, Write and Lock transaction.

• Driver must offer ability to handle isochronous transfer.

• Driver must be IRQ driven and able to initiate DMA transfers.

• Driver model will depend on the target application OS.

Page 18: IEEE 1394 A high-speed computer I/O serial bus CASI / ELEC 98 By Rachad ALAO Ecole Nationale Supérieure des Télécommunications ralao@venus.org.

Conclusion

IEEE 1394, by Rachad ALAO ( [email protected] ) Back to Lecture Plan

Objectives :

• Give a synthesis of the IEEE 1394 Bus standard

• Give a Hardware Specifications of an IEEE 1394 Solution

• Constitute a good starting for the development of an IEEE 1394 Solution

Reached !

+ Gave me a good understanding of the IEEE 1394 Protocol

- Showed me the difficulty to build specifications from a complex standard

- No multicast for asynchronous packets! Surprising for such a complicated

standard.