Enhanced ShockBurst (ESB)
Nordic사의 ESB는 nRF24 칩 에서부터 도입되었던 것이고, 최신 nRF52 칩 에서도 구현가능하다.
Features
- Supports a star network topology with typically one Primary Receiver (PRX) and up to 8 Primary Transmitters (PTX)
- 1 to 32 bytes dynamic payload length in legacy mode
- 1 to 252 bytes static payload length between nRF5 Series devices
- Bidirectional data transfer between each PTX and the PRX
- Packet acknowledgment and automatic packet retransmission functionality
- Individual TX and RX FIFOs for every pipe
- Backward compatible with legacy nRF24Lxx Enhanced ShockBurst
Resources
ESB makes use of a fixed set of resources and requires exclusive access to them for Enhanced ShockBurst to ensure correct operation:
- Radio (NRF_RADIO)
- Timer: NRF_TIMER2, NRF_TIMER3
- PPI channels 7, 8, 9, 10, 11, 12, and 13
- Software interrupt 0
The radio and timer interrupt handlers run at priority level 0 (highest level), and the ESB callback functions run at priority level 1. Other interrupts used by the application must use priority level 2 or lower (level 2 to 7) to ensure correct operation.
Packet Transaction
Fig. PTX to PRX packet transaction
Fig. Failed transaction
Addressing
Fig. ESB packet중 address 부분.
어드레스 바이트 사이즈 : 2~5 바이트
- 상기 그림에서 Base address 와 Prefix 전체가 address.
Address 에 금지되는 값들.
Base address 의 MSByte 자리에 배치 금지되는 값 : 0x55, 0xAA
- 사유 : Preamble 부분에 0x55, 0xAA 가 기록되어 패킷 동기 과정에 사용되므로 MSByte 에 0x55, 0xAA 배치되면 패킷동기 fail 발생.
Prefix 값이 0x00 이면서 Base address 가 0x 00 xx xx xx 혹은 0x 00 00 xx xx xx 인 주소 조합은 금지된다.
- Such a zero address will cause error code NRF_ERROR_INVALID_PARAM to be returned.
결론적인 주소 지정 규칙 요약
Base address MSB에 0x55, 0xAA , Prefix 에 0x00 배치하지 않으면 됨.
Multi Pipe 구축시 address 지정 방법.
- Pipe0 은 다른 Pipe1~7과는 다른 유니크한 주소로 구성하고 Pipe1~7 의 Base address는 동일해야 하며, prefix 는 Pipe0~7 각각이 다른 값이어 함.
본 글 포함된 상위 정리글 https://igotit.tistory.com/244 의 nRF5 |
첫등록 : 2018년 6월 14일.
최종수정 :
본 글 단축주소 : https://igotit.tistory.com/1703
'임베디드.일렉트로닉스 > nRF52' 카테고리의 다른 글
nRF52. PWM Pulse Width Modulation (0) | 2018.12.28 |
---|---|
nRF5. Enhanced ShockBurst 작동시험. (0) | 2018.06.14 |
nRF52. 2.4GHz radio transceiver (0) | 2018.06.11 |
nRF52. Timer (0) | 2018.06.11 |
nRF5. PPI ( Programmable peripheral interconnect ) (0) | 2018.06.11 |
댓글