직비 프로토콜(Zigbee Protocol) 상세분석
< PHY Layer >
1. Zigbee Protocol(지그비 프로토콜)이란?
직비는 IEEE 802.15.04 표준을 기반으로 되어 있기 때문에 가장 아랫단에 IEEE 802.15.4 표준에서 정의 한 PHY(Physical Layer), MAC(Medium Access Control Layer)가 위치하고 직비 연합에서 만든 표준인 NWK(Network) Layer, APS(Application Support) Layer가 있다.
IEEE 802.15.4는 하나의 네트워크를 책임지는 PAN 코디네이터가 네트워크를 관리하며 슈퍼프레임 구조를 이용하여 네트워크를 주기적으로 깨우고 재우면서 저전력을 구현한다.
추가적으로 SSP(Security Service Provider), ZDO(Zigbee Device Object)를 두고 있으며 마지막 가장 상위 레이어로 APL(Application Layer, 응용계층)이 있다. APL은 직비를 적용하고자 하는 회사에서 APL을 정의, 프로그램 하여 직비 제품을 만들게 된다.
※ 직비, 지그비, Zigbee 모두 같은 의미로 사용됩니다.
2. 직비 프로토콜의 가장 아랫단, PHY Layer
물리계층 데이터 서비스는 상위 계층인 MAC 계층으로부터 PD-SAP(PHY Data Service Access Point)를 통해 PSDU(PHY Service Data Unit)를 받아서 PPDU(PHY Protocol Data Unit)를 만들고, 이를 RF-SAP를 통해 RF단으로 넘겨준다.
또한, 물리계층 관리 서비스는 물리계층과 관련된 관리 객체들의 데이터베이스인 PHY PIB(PAN Information Base)에 저장되어 있으며, PLME-SAP(PHY Layer Management Entity SAP)를 통해 주고 받을 수 있다.
1) PHY Layer의 주요 기능
- 트랜시버(송신기와 수신기가 1대의 장치로 구성된 통신기기)의 활성 및 비활성
- 현재 채널의 ED(Energy Detection) (ED : 주파수 인식 기술 중 자주 쓰이는 스펙트럼 센서 기술)
- 수신 패킷에 대한 LQI(Link Quality Indicator) ( LQI : 링크 퀄리티를 나타내는 것으로 수신강도와 수신된 에러의 수에 기초하여 계산된 값)
- CSMA/CA에 대한 CCA(Claer Channel Assessment) ( CCA : 공유 무선 채널에 대해 물리적으로 사용 가 능 여부에 대한 감지)
- 채널 주파수 선택
- 데이터 송신 및 수신
2) PPDU(PHY Protocol Data Unit)의 구조
가. SHR(Synchronization Header) : 수신 디바이스에서 비트 스트림에 대한 동기를 맞추거나 잠그는 기능을 제공한다.
- Preamble : 물리계층의 송신측과 수신측의 동기를 맞추기 위해 32비트 패킷의 시작점을 알리는 8비트 를 사용한다.
- SFD(start of Frame Delimiter) : SHR(synchronization header)의 끝과 패킷 데이터의 시작을 나타내는 필드이다.
나. PHR : 프레임 길이에 대한 정보가 포함된다.
- PHY header : 7비트는 PSDU의 패킷크기를 나타내는 0~127바이트의 Payload 길이를 위해 사용된다.
다. PHY 페이로드 : 가변길이를 갖는 물리 계층의 페이로드로, MAC 부계층의 프레임을 전달한다.
- PSDU(PHY Service Data Unit) : PD-SAP(PHY Data Service Access Point)를 통하여 MAC계층과 데이터를 교환한다.
'IT > 기술(C,C++,JAVA)' 카테고리의 다른 글
지그비 프로토콜(Zigbee Protocol) 상세분석 - MAC Layer 편(2) (0) | 2020.10.20 |
---|---|
지그비 프로토콜(Zigbee Protocol) 상세분석 - MAC Layer 편(1) (2) | 2020.10.17 |
c언어로 두 개의 연결리스트를 하나의 정렬된 연결리스트로 합병하는 프로그램 (0) | 2020.09.27 |
c언어로 쉽게 만드는 합집합, 교집합, 차집합 간단 예제(코드포함) (3) | 2020.09.24 |
Shell/Merge Sort(TopDown/BottomUp) 실행시간 비교(코드첨부) (0) | 2020.09.20 |
댓글