안녕하세요. 오늘은 USB SOF 통신 파형을 알아보겠습니다. (FS기준)
USB D+ D- 파형을 측정해보면 주기적으로 통신을 합니다. FS기준으로 1ms마다 통신을하고 HS기준으로는 125us마다 통신을 합니다. 주기적으로 통신을 하는 이 파형에 대해 알아보겠습니다. 이 파형은 SOF 패킷입니다.
(GPT 지식)
USB 통신에서 SOF(Start of Frame)는 USB 버스에서 시간을 동기화하기 위해 전송됩니다. USB는 비동기 통신 프로토콜이며, 여러 장치들이 한 버스를 공유하면서 동작합니다. 따라서 시간을 동기화하여 데이터를 정확하게 전송하고 수신할 수 있도록 합니다. SOF 패킷은 매 프레임마다 전송되며, USB 장치들은 이를 기반으로 데이터를 전송하거나 수신할 타이밍을 조절합니다. 이를 통해 USB 시스템은 시간 동기화를 유지하고 데이터 송수신의 정확성을 보장합니다.
SOF(Start of Frame) 패킷을 전송하는 이유는 주로 다음과 같습니다:
1. 시간 동기화: USB 통신에서는 데이터 전송을 조절하기 위해 시간 동기화가 필요합니다. SOF 패킷은 USB 장치들이 시간을 동기화하고 데이터 전송을 타이밍맞게 할 수 있도록 돕습니다.
2. 전송 속도 유지: USB는 비동기 통신 프로토콜을 사용하므로, 장치들 간에 데이터가 정확한 타이밍에 전송되어야 합니다. SOF 패킷을 통해 프레임 단위로 시간을 나누고, 이를 기반으로 데이터 전송을 조절하여 전송 속도를 유지합니다.
3. 버스 점유 시간 관리: USB 버스는 여러 장치가 공유하는 환경이므로, 각 장치가 적절한 시간에 데이터를 전송하도록 조절해야 합니다. SOF 패킷은 이를 돕는데, 각 장치는 SOF 패킷을 기반으로 데이터 전송을 조절하여 다른 장치들이 버스를 공유할 수 있는 시간을 확보합니다.
4. 네트워크 트래픽 관리: SOF 패킷은 USB 네트워크의 트래픽 관리에도 도움을 줍니다. 이를 통해 네트워크 상태를 모니터링하고 효율적으로 데이터를 전송할 수 있습니다.
요약하자면, SOF 패킷은 USB 통신에서 시간 동기화와 데이터 전송을 조절하기 위한 중요한 역할을 합니다.
이제 SOF 파형을 확대해서 보겠습니다.
SYNC는 동기화를 위한 신호를 의미합니다
PID(Packet ID) SOF(Start Of Frame)는 PID의 SOF를 의미합니다.
Frame필드는 11비트이고 최대 3ffh까지 1ms마다 1씩 증가합니다. 최댓값에 도달하면 0으로 돌아갑니다. (FS기준)
CRC는 5비트로 구성되어있습니다. Frame 필드로만CRC를 계산하고 오류 검출 역할을 합니다.
EOP는 패킷이 끝났음을 의미합니다.
호스트가 SOF패킷을 보내면 디바이스에서 응답을하는것을 볼 수 있습니다.
'지식 > USB지식' 카테고리의 다른 글
USB 키보드 통신 파형 분석하기 2편 (1) | 2024.09.16 |
---|---|
USB 키보드 통신 파형 분석하기 1편 (4) | 2024.09.07 |
USB2.0 데이터 신호 인코딩 (1) | 2024.04.10 |
USB2.0 기본개념 (0) | 2024.03.30 |