일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- Machine Learning
- 리눅스 오류
- essential deep learning paper reading
- Tensor
- ML
- Ai
- torch
- 텐서
- anaconda오류
- pytorch tensor
- 머신러닝
- 일귀
- conda오류
- 공부
- stm32f 시리즈를 이용한 arm cortex-m3/m4 구조와 응용
- conda: command not found
- conda
- pyTorch
- 리눅스
- Today
- Total
Embedded World
USB 통신 본문
서론
UART 통신을 공부하면서, USB통신 또한 개념을 잡고자 한다. 책 "STM32F 시리즈를 이용한 ARM Cortex-M3/M4 구조와 응용"을 참고하였다.
본론
1. USB 통신의 개요
1.1 USB의 개요
1.1.1 USB(Universal Serial Bus)의 탄생
1990년대 이후 PC의 성능이 향상되고 용도가 확장되면서 통신을 해야 할 주변 장치의 종류와 숫자가 급속하게 늘어났다. 이러한 배경에서 기존 사용되던 프린터포트와 RS-232C 직렬포트는 통ㅅ니 속도가 느리고 확장 능력이 제한된다는 한계에 부딛혔다.
이러한 단점을 극복하기 위해 1994년 7개의 회사가 주축이 되어 PC와 주변 장치와의 새로운 직렬 통신 방식을 개발하기 시작하였고, 그 결과 탄생한 것이 USB이다.
USB는 하나의 host와 여러개의 device간의 직렬 통신을 위한 규격으로써, 주로 PC가 호스트로 되며 키보드, 마우스, 프린터 등의 각종 주변 장치가 디바이스가 되어 통신을 하게된다.
1.1.2 USB의 발전 과정
USB 1.0 : 1996년에 발표되었으며 데이터 전송 속도는 1.5Mbps(Mbits per second)와 12Mbps이다. 그러나 이 버전은 기능이 제한적이고 지원되는 주변기기가 거의 없어 별로 많이 사용되지 않았다.
USB 1.0 : 1998년에 발표되었으며 데이터 전송 속도는 1.5Mbps(Low Speed)와 12Mbps(Full Speed)이다. 이 버전은 이전의 버전에 비해 기능과 신뢰성이 향상되었다.
USB 2.0 : 2000년에 발표되었으며 데이터 전송 속도는 480Mbps(High Speed)까지 지원한다.
USB OTG(On-To-Go) 는 2006년에 발표되었다.
USB 3.0 : 2008년에 발표되었으며 2010년부터 제품화되기 시작했다. 데이터 전송 속도는 5Gbps(Super Speed)까지 지원한다.
USB 3.1 : 2013년에 발표되었으며 데이터 전송 속도는 10Gbps(Super Speed+)이다.
1.1.3 USB 커넥터의 종류
커넥터에는 Type A, Type B, Type C와 Mini-A, Mini-B 그리고 Micro-A, Micro-B 타입이 있다.
1.1.4 USB의 특징 및 장점
- 하나의 호스트에 회대 127개까지의 디바이스 연결이 가능하며 최대 연결 가능 거리는 5m 이다.
- Plug and play 방식을 지원하므로 디바이스를 USB 포트에 부착하면 자동으로 디바이스를 인식하여 사용이 편리하다.
- Hot Plug In 방식을 지원하므로 동작 중에도 전원의 on/off 없이 USB 디바이스의 장/탈착이 가능하다.
- USB 버스에는 전원 라인이 포함되어 있으므로 호스트가 디바이스로 5V 전원을 최대 500mA까지 공급이 가능하다.
1.2 USB 통신 시스템
1.2.1 호스트와 디바이스 간 통신의 개요
USB통신은 기본적으로 호스트와 디바이스 간의 통신 구조를 가진다. 호스트는 모든 통신을 주관하며 전체 USB 통신 시스템에서 오직 하나만 존재할 수 있다(주로 PC가 호스트가 된다). 디바이스는 호스트와 연결되어 통신을 하는 장치로써 통신 시스템 내에 여러 개가 존재할 수 있고 주로 PC와 연결되는 주변 기기들이 된다.
1.2.2 데이터의 전송 방식
USB의 데이터 전송 방식에는 인터럽트 전송, 벌크 전송, 등시성 전송, 제어 전송과 같은 4가지 방식이 있다.
한편 호스트와 디바이스 간의 전송은 엔드포인트를 통해서 실행되는데 각각의 엔드포인트는 서로 독립적인 전송방식을 사용하는 것이 가능하다. 따라서 하나의 USB 디바이스가 여러개의 엔드포인트를 가지는 경우는 각 엔드포인트 별로 서로 다른 전송 방식을 사용하는 것도 가능하다.
'Embedded Systems' 카테고리의 다른 글
Timer를 이용한 입출력 제어 (0) | 2025.06.10 |
---|---|
UART 통신 (0) | 2025.06.07 |