USB(Simple)

노정훈·2023년 6월 2일
0

CE

목록 보기
24/24

Universal Serial Bus (USB)

  • 컴퓨터의 각종 주변 기기들을 쉽게 연결하기 위한 인터페이스 규약으로 현재 다른 규격들을 제치고 Universal 규약으로 자리 잡음
  • 당초에는 노트북의 확장성을 위해 개발되었지만 오늘날 거의 모든 컴퓨터와 휴대폰 관련 주변기기 인터페이스로 자리 잡음
  • 데이터 통신이 주 목적이었지만 주변기기 전원 공급 및 휴대기기 충전 단자의 표준
  • 현재는 USB-C type으로 통일되어가는 추세

특징

  • Host controller가 end point들 device들을 제어하는 방식, Host Controller만 IRQ(Interrupt ReQuest)가 할당되기만 하면 여러 개의 USB 주변기기를 연결할 수 있다는 높은 확장성
  • Hot plugging, Plug and Play를 지원하여 컴퓨터 전원을 끌 필요가 없이 주변기기 추가가 가능
  • Hot plugging : 전원이 켜져있는 상태에서 device를 탈부착하는 것
  • Plug and Play : 연결(plug)하면 자동적으로 인식하며 드라이버가 없는 경우 드라이버 설치 작업이 시작되고 이미 드라이버가 있는 경우는 그대로 해당 주변기기를 사용(play)할 수 있는 기능
  • 고속의 데이터 통신 지원
  • Controller 구성이 단순하여 CPU 의존이 높은 편. 현재는 CPU의 발전으로 단점이라고 하기에 어렵게 되었고 오히려 controller가 단순하여 많은 주변기기에 저가로 구현할 수 있다는 장점이 된 상태

Parallel and Serial Communication

Parallel Communication

  • 병렬통신은 여러 bit의 데이터를 한번에 여러 channel을 이용하여 전송하는 방식
  • 1bit 씩 보내는 Serial communication과 달리 여러 bit를 그 수에 해당하는 connection으로 동시에 보내며, gate나 IC chip의 GPIO 단자들을 동기화시켜 연결하는 방식으로 데이터를 전송
  • 여러 개의 channel이 필요함.

  • ideal한 경우, parallel 방식이 serial 방식보다 빠르지만 실제로 구현시 고려해야할 이슈들로 인해 고속화에 제한이 큼
  • 여러 channel의 전송 timing을 고속으로 동기화는 매우 어려운 기술이고 구현에 보다 많은 channel과 device가 필요
  • 위와 같은 이유 때문에 computer 주변기기의 전송방식은 대부분 serial 방식을 채택

Serial Communication

  • ideal하게는 parallel communication이 serial communication보다 빠르다고 할 수 있지만, 실제로는 여러 connection 간의 동기화 쉽지 않고 동작 clock이 매우 빨라지면서 사실상 주변기기와의 연결은 serial 방식이 대세
  • parallel 방식은 사실상 cpu나 microprocessor 내부에서 데이터를 주고받는 방식이고 주변기기와의 연결은 대부분 serial
  • 1960년대 Electronic Industries Alliance가 제안한 규격으로 115.2kbps 이하의 속도로 15m 이내의 단거리에서 장비간 serial communication을 1:1로 수행(point-to-point).
  • 쉽게 구현 및 사용 가능하면서도 안정적인 성능을 보여줌
  • 3개의 선만 사용(TxD, RxD, GND ; full-duplex)하며, 아주 간단한 프로그래밍으로 쉽게 통신이 가능
profile
노정훈

0개의 댓글