IEEE 1394 순천향 대학교 컴퓨터 공학전공 19961450 김기영
목 차 Home Network Architecture IEEE1394 개요 IEEE1394 특징 USB 목 차 Home Network Architecture IEEE1394 개요 IEEE1394 특징 USB IEEE1394와 USB IEEE1394 Technology IEEE1394 Standards IEEE1394 응용
Home Network Architecture
Home Network Architecture(계속) 여러가지 다른 기술들
Home Network Architecture(계속) 공존하는 Home Networks
IEEE 1394 개요 ▪ IEEE1394는 맥킨토시 컴퓨터를 제작하는 애플사와 통신과 관련된 칩셋을 주로 제작하는 텍사스 인스트루먼트사가 공동으로 제창한 Serial Bus Interface 규격으로서 1986년 "Firewire"라는 코드 네임으로 개발이 시작 ▪ 1995년 12월 미국전기전자기술자협회(IEEE)에서 공식협약 되었고, 이를 표준화한 것이 바로 IEEE1394이다 ▪ 별칭 Firewire 또는 iLink라고도 불리는 IEEE1394는 플러그앤플레이(Plug&Play)와핫플러깅(HotPlugging)을 지원하는 고속의 시리얼 인터페이스를 지칭
IEEE 1394 개요(계속) IEEE1394 의 필요성 ▪ 현재 컴퓨터의 메인보드에는 보조 기억 장치 및 주변기기를 연결하기 위한 많은 커넥터들이 필요 ▪ 또한, 한정된 수 이상의 하드웨어 추가 장착시 SCSI장비를 구입 연결해야 하며, SCSI 장비는 각각의 디바이스에 대한 ID를 지정해 주어야 한다. ▪ SCSI 업체들마다 프로토콜 및 드라이버가 조금씩 다르고, 주변기기마다 서로 다른 스펙을 가지고 있다. ▪ IEEE1394는 이러한 SCSI의 단점을 보완하기 위해서 개발된 새로운 인터페이스이다.
IEEE 1394 특징 ▪ 얇은 케이블(4mm)을 사용 ▪ Terminator나 device ID가 불필요 ▪ Hot-plugging,PnP를 지원 ▪ 데이터 손실이 적다 ▪ Flexible topology-daisy chaining와 true peer-to-peer communication을 지원 ▪ IEEE1394망에서는 원격제어가 용이하다 ▪ Hot plugging : 장비는 버스가 사용중인 상태에서 연결하거나 제거할 수 있고 연결된 장비는 자동으로 재구성 ▪ Digital Interface이므로 아날로그로 변환할 필요가 없음 ▪ IEEE1394에 사용되는 주소는 64비트로 접속 기기 들의 하드웨어의 구석구석을 제어할 수 있다. 즉 IEEE1394의 주소 체계를 이용하면 기기 들의 메모리 하나 하나를 읽거나 쓸 수 있게 된다.
IEEE 1394 특징(계속) ▪ 호스트 측의 전원 공급이 불필요 ▪ 전원 용량 면에서의 부담이 없음 ▪ 전원 noise를 고려할 필요가 없음. ▪ 노트북 PC에 유리 ▪ 직렬연결된 device중 하나가 전원공급이 안되도 다음 node작동에 문제가 없음 ▪ Multimedia data도 실시간 전송이 가능 ▪ 확장성 : 100, 200, 400 Mbps의 속도를 가지는 서로 다른 장비를 하나의 케이블로 연결해서 사용할 수 있다
IEEE 1394 특징(계속) Connection & Connector Hot Plug-In and Out Power Pair(Power, Ground) Signal Pairs(2X) 4-pin cable connector 97% braided overall shield 6mm 60% braided shield over foil shield Filers for roundness PVC jacket 1394 Cable 6-pin cable connector Hot Plug-In and Out Only 4 and 6 lines with power lines Narrow cables with small connectors
USB ▪ 기존의 직렬/병렬 포트를 대체할 차세대 인터페이스 ▪ 최고 12Mbps의 속도와 1.5Mbps의 서브 채널 속도를 가짐 ▪ 하나의 버스에 최대 127개의 디바이스 연결 및 동시 사용 가능 ▪ 최대 500mA의 전류 공급 ▪ Microsoft사의 Plug&Play 지원
USB(계속) USB의 구성 ▪ Host ▪ USB연결의 중심 ▪ USB Host Controller(하드웨어적) ▪ Hub ▪ Host Controller의 Root Hub ▪ 외부 USB Hub : 사용자가 많은 USB device를 PC에 연결하도록 한다. ▪ Device ▪ 다양한 기능의 제품군
USB(계속) USB의 성능 ▪ 저속 모드 : 1.5Mbps ▪ Mouse ▪ 고속 모드 : 12Mbps ▪ Keyboard ▪ Joystick ▪ 고속 모드 : 12Mbps ▪ CD-ROM/CD-RW ▪ ZIP Drive ▪ Scanner ▪ Printer
USB(계속) USB의 특징 ▪ 하나의 표준 커넥터 사용 ▪ Hot insertion and removal : PC를 사용하면서 주변기기 연결, 분리 가능 ▪ Chain device : Hub를 통해서 여러 개의 주변기기 연결 및 동시사용가능 ▪ 자동설치 : PC에서 자동적으로 필요한 드라이버나 자원을 구성 ▪ 속도 : 기존의 RS-232C보다 매우 빠름
IEEE1394 와 USB IEEE1394 USB 최대 연결 가능한 디바이스 수 63 127 Hot-Plugging Yes No 디바이스간의 최대거리 4.5m 5m 데이터 전송률 100/200/400/800Mbps 12Mbps(1.5MB/sec) 연결 가능한 디바이스 Digital Camcorders - High-Resolution Digital Cameras - HDTV - Set-Top Box - Hard Disks - DVD-ROM Drives - Printers - Scanners etc. Keyboards - Mouse - Monitors - Joysticks - Low-Resolution Digital Cameras - Low -Speed CD-ROM Drives - Modems etc.
IEEE1394 와 USB(계속) Computer A/V 1394 Domain USB Domain HDD Printer DTV Keyboard Mouse Joystick Computer Speaker DVCR DVD-RAM DVC A/V DTV DSS Set-top Box Printer Monitor PC CD-ROM Digital Camera DVD-ROM
IEEE1394 와 USB(계속) IEEE1394와 다른 방식의 인터페이스 울트라 ATA/66 66MB 2 0.45 미터 연결가능 장치수 케이블 길이 울트라 ATA/66 66MB 2 0.45 미터 SCSI 80MB 15 12 미터 USB 12Mb 127 5 미터 USB20 400Mb IEEE1394 1Gb 63
< IEEE 1394 Physical Addressing > IEEE1394 Technology ▪ 각 디바이스들은 64bit address로 구분 ▪ 10bit : BUS ID ▪ 6bit : Node ID ▪ 48bit : 주변기기를 구분하는 ID (Offset ID) Bus ID Node ID 이 같은 결과에 의해 IEEE1394 케이블을 통한 네트워크는 각각 63개의 노드로 구성된 1023개의 네트워크로 만들어지며, 이때 각 노드는 281TB(테라바이트)의 메모리를 가진 것처럼 된다. 이제까지 다른 인터페이스들은 각각 정해진 슬롯이 있는 이른바 채널(Channel) 어드레싱을 해온 데 반해, 1394에서 사용되는 메모리 기반의 어드레싱은 각 주변기기나 장비들을 메모리 영역으로서 본다. 마치 CPU가 메모리의 내용을 읽고 쓸 때와 마찬가지다. 10 bits 6 bits 16 bits = 64K nodes < IEEE 1394 Physical Addressing >
IEEE1394 Technology(계속) < 1394 Topology >
IEEE 1394 Physical Interface IEEE1394 Technology(계속) SerialSoft API Application Transaction Layer Asynchronous Read, write, and lock Serial Bus Management Bus Configuration Write : 송신측에서 수신측으로 data전송 Read : 수신측에서 송신측으로 data전송 Lock : read나 write의 조합기능 - 재전송 타이밍 조정, device에 전원공급 시리얼 버스 관리, 사이클 마스터 IEEE1212 표준 레지스터 구조 Link Layer Packet Transmitter Packet Receiver Isochronous talk Cycle Control and listen 송신 : 비동기용 FIFO 등시용 FIFO( write용 ) 수신 : FIFO (read용) Physical Layer Arbitration Data Resync Encode/Decode Connection State Connectors/Media Signal Levels IEEE1394 device와 cable사이에 전기적 , 기계적인 연결 IEEE 1394 Physical Interface IEEE1394 connector < Protocol Architecture >
IEEE1394 Technology(계속) IEEE1394 Protocol ▪ Physical Layer (Hardware) ▪ IEEE1394디바이스와 IEEE1394 케이블 사이에 전기적, 기계적으로 연결. ▪ 실제 데이터를 송, 수신하며 모든 디바이스가 버스를 순차적으로 실행하고 각 포트에 동일한 기능을 제공. ▪ Serial bus를 사용할 수 있는 권리를 취득하는 중재 기능을 수행. ▪ Bus Arbitration 수행 : 복수 node의 데이터 송신 시에 충돌이 일어나면 한 node만 데이터를 전송 하게한다. ▪ Node접속의 자동인식 기능 Arbitration Arbitration은 각 노드들이 Asynchronous data와 Isochronous data 전송을 원할 경우 전송에 우선하여 버스 사용권을 각 노드들이 요구하여 버스의 사용 허락권을 얻어 데이터를 전송하게 되며, 이 때 버스의 사용권을 얻는 작업을 Arbitration이라 한다. 따라서 노드들이 전송을 요구할 때의 Arbitration은 그 노드들이 전송할 데이터의 종류에 따라 Asychronous Arbitration과 Isochronous Arbitration으로 구분된다.
IEEE1394 Technology(계속) Addressing node # 0 IEEE 1212 initial memory space 512 Serial Bus node # 1 1024 ROM (1st 1K) • • • • • 2048 • • • • initial units space node # 62 private bus #1023 (local bus) node # 63 (broadcast) register 256M Example: 0x3FF 0x3F 0xFFFFF 0x0000200 10비트 6비트 20비트 28비트 = all cycle timer registers on local bus Addressing
IEEE1394 Technology(계속) IEEE1394 Protocol ▪ Link Layer (Hardware) ▪ 두가지 패킷(Asynchronous Transfer, Isochronous Transfer)을 송수신 ▪ 송수신용 두개의 FIFO(비동기용, 등시용) : WRITE ▪ 비동기 전송 : 데이터와 계층 정보를 명시된 주소로 전송 ▪ 등시전송 : 데이터를 보낼때 주소를 사용하지 않고 채널 번호를 포함시켜서 전송 ▪ 수신전용 FIFO : READ용 ▪ Bus의 cycle 제어
IEEE1394 Technology(계속) … IEEE1394 Protocol (BUS Timing) cycle #m ch J cycle #m cycle #m+1 cycle start data = y data = x ch k packet C A B Isochronous (short) gaps Asynchronous (long) gaps cycle synch start delay = x start delay = y nominal cycle period = 125 uec cycle #m-1 ack … 현재 PCI인터페이스로 장착된 Adaptec IEEE1394 어댑터를 위한 소프트웨어 모듈은 세 개로 구성되며 동적으로 커널에 로드(Load) 되도록 구성되어 있다. 이들 모듈을 커널로 로드 하게 되면 먼저 초기화 함수는 호스트 어댑터 내의 레지스터 영역을 커널의 가상 메모리 영역에 매핑 시키기 위한 작업을 수행한다. 이것은 리눅스의 PCI바이오스(BIOS) 함수를 통해 어댑터 카드내의 레지바탕">이와 같이 물리 층은 데이터 전송을 위한 버스 중재와 주소인식이 주요 임무이며 링크 층은 전송 사이클 관리가 주요 기능이 된다. IEEE1394에서는 공평한 버스 채널 사용을 위해서 채널을 125㎲의 사이클(Cycle)로 나누어 사용한다. 사이클의 동기화를 위해서 사이클 마스터(Cycle Master)는 매 사이클마다 사이클 시작 패킷(Cycle Start Packet)을 버스에 방송(Broadcast)한다. 이 전송 사이클은 다시 두 부분으로 나누어지는 데 전반부는 등시성 전송에 할당되며, 후반부는 비동기 전송에 사용된다. 그림 2는 하나의 사이클에서 등시성 전송과 비동기 전송이 혼합되어 사용되는 모습을 보여주고 있다. 사이클 시작 패킷이 전송되고 나면 다음은 등시성 전송이 시작되는데 등시성 전송을 하려는 노드는 먼저 채널(Channel)을 확보해야 한다. 이때 한 채널은 한 노드가 데이터를 전송할 수 있는 타임 슬롯(Time Slot)을 의미한다. 노드는 먼저 채널 마스터에게 비동기 전송을 통해 채널 사용을 요청하고 채널 마스터는 사용할 채널의 번호를 허가하게 되면, 노드는 해당 채널에 데이터를 보낼 수 있게 된다. 할당받는 대역폭은 응용프로그램에 의해 결정되는 데, 125㎲ 사이클마다 N바이트 분의 전송시간을 할당하면 8 x N KBps의 대역폭을 보증할 수 있다. 등시성 데이터는 패킷 내부에 특정 수신 노드의 주소를 포함하지 않고 채널번호를 기록하여 방송 모드로 송신한다. 노드들은 수신된 패킷을 검사하여 원하는 채널번호를 가진 패킷만을 수신한다. 이때 사용될 채널번호는 응용 프로그램 수준에서 정의되어야한다. 참고로 방송 모드로 전송된 등시성 데이터에는 누락된 패킷에 대해 검색 및 복구 메커니즘이 제공되지 않는다. 등시성 전송이 완료되면 비동기 전송을 원하는 노드에서는 등시성 채널 사이의 간격이 예정보다 길어진 것을 감지하고 등시성 전송이 완료되었음을 알게된다. 비동기 전송은 매번 경쟁을 통해 버스 사용권이 사용되는 데 비동기 전송에 앞서 노드들은 버스 마스터에게 사용 신청을 하게 되고 버스 마스터는 어느 한 노드에게 버스 사용권을 허락한다. 이 비동기 전송에는 목적지가 하나인 단방향 모드 전송과 버스의 모든 노드에게 송신할 수 있는 방송 모드가 가능하다. 단방향 모드 전송 후에는 수신 노드가 응답 패킷을 전송하여 줌으로써 신뢰성 있는 통신을 할 수 있다. 그러나 방송 모드 전송에 대해서는 응답 패킷이 발생하지 않으므로 패킷 손실을 복구할 수 없다. 비동기 전송은 한 사이클에서 등시성 데이터가 모두 전송된 후에 시작 될 수 있고, 따라서 등시성 데이터가 많은 경우에는 사이클마다 비동기 데이터가 전송되지 못하고 장시간 대기하는 경우가 발생할 수 있다. 비동기 전송에서는 하나의 신뢰성 있는 데이터 전송을 위해서 물리 층의 응답과 링크 층의 응답이 수반된다. 즉 데이터를 송신하고 나서는 상대편의 물리 층의 응답 패킷이 도착하게 되면 뒤이어 상대편의 링크 층의 응답 패킷이 뒤따르게 된다. 그리고 송신자의 측의 물리 층에서 이 링크 층의 응답 패킷에 따른 응답 패킷을 보내는 것으로 하나의 데이터 송신이 끝나게 된다.
IEEE1394 Technology(계속) IEEE1394 Protocol (BUS Timing) Packet Frame = 125 micro-seconds Isocoronous channel #1 Time slot Isocoronous channel #2 Time slot Time slot Available for Asynchronous Transport Timing Indicator 비동기 전송에서는 송신 측에서 수신 측으로 데이터 패킷을 보내고 수신 측이 이 패킷을 받으면 패킷을 받았다는 정보를 송신 측으로 보낸다. 만약 송신 측으로 오류정보가 되돌아오면 송신 측에서는 이 패킷을 초기화 하며, 등시 전송에 있어서 송신 측은 그 패킷에 맞는 속도를 등시 전송 채널로 받는다. 등시 전송 채널 ID를 수신 측으로 보내고, 이 수신 측은 들어오는 데이터의 채널 ID를 검색하고 ID에 맞는 데이터만 받고 애플리케이션은 등시 전송에 필요한 채널 수와 속도를 결정한다버스는 타이밍 갭의 형태로 되어 있는 프레임 타이밍 인디케이트에 의해 시작 신호를 보내며, 이것은 등기전송 채널 #1, #2에 있는 타이밍 슬롯이 후속으로 이어진다. 그 뒤 남아있는 시간은 비동기 전송에 사용될 수 있도록 대기상태로 남는다. 각각의 등시 전송의 채널이 형성되고 난 후 , 버스는 충분한 대역폭을 확보할 수 있다.
IEEE1394 Technology(계속) Linker Layer Service Requester Link Layer Arbitration data packet Link Request Link Indication acknowledge Link response Link Confirmation Requester Link Layer Responder Link Layer Link request arbitration & packet transmission Link indication Link response acknowledge(not present for broadcast or isochronous) Link confirmation 동작과정
IEEE1394 Technology(계속) IEEE1394 Protocol ▪ Transaction Layer (Hardware & Software) ▪ 비동기 프로토콜의 read, write, lock 기능 ▪ Read : 데이터를 송신 측으로 보낸다. ▪ Lock : write와 read의 조합기능 ▪ 동작 : Transaction Request Transaction control information includes data if “write” or “lock” ) Transaction Indication Transaction Response Transaction status information (includes data if “read” or “lock”) Transaction Confirmation
IEEE1394 Standards IEEE1394-1995 ▪ 1985년 애플사에서 자사의 컴퓨터와 주변기기 간의 고속 Serial Bus 전송을 위하여 개발한 Firewire 방식과 유사 ▪ 신호용 4회로와 전원용 2회로로 총 6개 회로로 구성된 인터페이스 ▪ 4.5M의 STP cable link ▪ 버스마다 64개의 노드 ▪ 100, 200, 400 Mbps의 인터페이스를 제공한다. ▪ STP cable : 금속으로 짠 망이나 외피를 가지고 트위스트 페어를 차폐시킨 케이블. 인접한 트위스트 페어와 환경에서 발생하는 잡음으로부터의 영향을 포함한 외부 전자기적 간섭을 줄여준다
IEEE1394 Standards(계속) IEEE1394a ▪ IEEE1394-1995를 표준안으로 확정한 후에 자체 DC 전원을 가진(배터리 사용 등) AV 기기 간에 Peer to Peer로 연결하여 데이터를 주고받거나 호스트로 연결하더라도 호스트로부터 전원을 공급받을 필요성이 전혀 없는 경우를 위한 표준안으로 4-핀 케이블로 구성된 인터페이스 방식이다 ▪ Bus arbitration improvements ▪ Loop detection and correction ▪ Clean-up
IEEE1394 Standards(계속) IEEE1394b ▪ IEEE1394b는 아직 표준안 으로 미확정 ▪ 검토내용 - IEEE1394-1995와 IEEE1394a에 대한 호환성 - POF(Plastic Optical Fiber)를 이용한 400Mbps 인터페이스 - Category 5 UTP(Unshield Twisted Pair) 전선을 이용한 100Mbps 인터페이스 - GOF(Glass Optical Fiber)를 이용한 800∼3,200Mbps 인터페이스 - 확장된 거리를 지원(50, 70, 100M) - AC coupled Media에 대한 지원 - Extended Propagation Delay에 대한 지원
IEEE1394 Standards(계속) IEEE1394.1 ▪ 디지털 기기와 기기 간의 연결뿐만 아니라 한정된 공간, 특히 주택 내에서 다른 방식의 인터페이스와 IEEE1394 방식의 인터페이스간의 연결을 위한 Bridge에 대한 여러 가지 제안이 검토되고 있다. ▪ Two port architecture ▪ Routes asynchronous and isochronous traffic ▪ Physical loops permitted ▪ Virtual node address mapping IEEE1394.2는 Gbps 확장 담당 , IEEE1394.3은 버스 브리지 정의 담당
IEEE1394 응용 ▪ Video Overlay Board 국내 : Divico사 독일 : Miro사 ▪ 디지털카메라 및 캠코더 일본 : Sony사(iLink라는 이름의 IEEE1394사용) ▪ 영상편집 소프트웨어 Adobe의 Premire Apple의 Final Cut Pro ▪ IBM계열의 PC 및 노트북 컴퓨터
IEEE1394로 가능한 홈 네트워킹 디지털 기기와 기기 간의 연결뿐만 아니라 한정된 공간, 특히 주택 내에서 다른 방식의 인터페이스와 IEEE1394 방식의 인터페이스간의 연결을 위한 Bridge에 대한 여러 가지 제안이 검토되고 있다. Two port architecture Routes asynchronous and isochronous traffic Physical loops permitted Virtual node address mapping Bus address allocation scheme similar to node addressing IEEE1394.2는 Gbps 확장 담당 , IEEE1394.3은 버스 브리지 정의 담당
참고 사이트 1394TA Web : www.1394ta.org Energy conservation Working Group : www.1394-pcwg.org 1394.1 Working group : grouper.ieee.org/groups/1394/1 Digital Content Protection : www.dtcp.com IP over 1394 : www.ietf.org/html.charters/ip1394-charter.html Firewire : www.apple.com/firewire Device bay : www.device-bay.org IEEE1394.b : www.zayante.com/p1394b