비동기 접속 지향 논리 전송

Asynchronous connection-oriented logical transport

서론

ACL은 Bluetooth Asynchronous Connection 지향 Logical Transport를 가리키는 약어입니다.ACL은 Bluetooth 코어 사양에 정의되어 있는2종류의 논리 트랜스포트(BR/EDR ACL 또는 LE ACL) 중 하나를 나타내는 약어로 사용됩니다.BR/EDR ACL은 Bluetooth Basic Rate/Enhanced Data Rate(BR/EDR; 블루투스 기본 레이트/Enhanced Data Rate)에서 사용되는ACL 논리 트랜스포트 바리안트입니다.Bluetooth Classic이라고도 합니다만, LEACL은 Bluetooth Low Energy(LE)에서 사용되는ACL 논리 트랜스포트 배리언트입니다

ACL 전송은 Bluetooth 데이터 전송 아키텍처의 일부입니다.

ACL을 포함한 블루투스 용어, 프로토콜 및 절차에 대한 모든 정의는 표준 개발 기관인 블루투스 SIG(Special Interest Group)가 발행하는 블루투스 핵심 사양에[1] 정의되어 있습니다.

블루투스 데이터 전송 아키텍처

Bluetooth 코어 사양의 아키텍처 섹션에서는 블루투스 데이터 전송 아키텍처를 통괄적으로 구성하는 많은 개념을 정의합니다.이들 개념의 핵심은 물리채널, 물리링크, 논리링크 및 논리전송입니다.특정 조합은 토폴로지, 타이밍, 신뢰성 및 무선 채널 사용 등의 문제에 관한 특정 요건을 가진 다양한 애플리케이션 유형에서 사용하기 위한 것입니다.

LE ACL 논리 전송은 제어 데이터를 전송하는 LE-C 논리 링크 또는 사용자 데이터용 LE-U 논리 링크 중 하나와 함께 사용됩니다.LE Active Physical Link 및 LE Piconet Physical Channel을 기반으로 합니다.그림 1을 참조해 주세요.

그림 1 - 블루투스 데이터 전송 아키텍처 내의 LE-ACL 논리 전송

BR/EDR ACL 논리 전송은 제어 데이터용 ACL-C 논리 링크 또는 사용자 데이터용 ACL-U 논리 링크와 함께 사용되며 BR/EDR 액티브 물리 링크와 BR/EDR Basic Piconet Physical Channel 또는 BR/EDR Adapted Peticon 중 하나를 기반으로 합니다.그림 2를 참조해 주세요.

그림 2 - Bluetooth 데이터 전송 아키텍처 내의 BR/EDR ACL 논리 전송

어느 ACL 베리안트도 신뢰할 수 있는 쌍방향 포인트 투 포인트 통신을 제공하도록 설계되어 있습니다.

LE ACL

개요

Bluetooth LE Central 디바이스는 수신한 접속 가능한 애드버타이즈 패킷에 접속을 요구하는 PDU로 응답함으로써 애드버타이즈 페리페럴 디바이스와의 접속을 확립할 수 있다.요청에는 다수의 파라미터가 지정되어 있습니다.이들 파라미터에는 접속 간격, 감시 타임아웃, 페리페럴 지연 및 채널 맵이 있습니다.

connection interval 파라미터는 이 접속을 처리하기 위해 무선을 사용할 수 있는 빈도를 밀리초 단위로 정의합니다.접속 인터벌타이머가 기한이 만료되면 접속이벤트가 시작된다고 합니다이 시점에서 접속의 중앙 디바이스가 링크층 패킷을 송신할 가능성이 있습니다.각 접속 이벤트의 개시시에, 적응 주파수 호핑이라고 불리는 순서를 사용해 사용하는 무선 채널을 선택한다.

Peripheral 디바이스는 Central 디바이스와 동일한 접속 파라미터를 가지며 Central 디바이스로부터의 패킷 송신이 예상되는 시기와 어느 채널을 경유하는지를 알고 있습니다.Peripheral Latency 연결 파라미터 값이 0인 경우 Peripheral은 Central 패킷의 마지막 비트를 수신한 후 Central 디바이스에 150마이크로초(+/-2µs) 응답해야 합니다.그 후 Central과 Peripheral은 접속이벤트의 나머지 시간 동안 구현에서 정의된 패킷 수를 더 교환할 수 있습니다.Peripheral의 동작은 Peripheral Latency 파라미터 값이 0이 아닌 값으로 변경될 수 있습니다.

그림 3은 중앙 디바이스에 의한 패킷 전송을 나타내는 C>P와 Peripheral에 의한 P>C를 포함한 2개의 접속 이벤트 중에 패킷의 기본적인 교환을 나타내고 있습니다.

그림 3 - Bluetooth LE-ACL 접속을 통한 기본적인 패킷 교환 (C는 중앙 장치, P는 주변 장치)

LE ACL 접속을 통해 교환되는 패킷에는 링크 레이어 제어 절차와 관련된 LL 데이터 PDU 또는 LL 제어 PDU 중 하나가 포함됩니다.어느 하나의 디바이스에 송신할 데이터가 없고, 패킷의 송신이 필요한 경우는, 빈 LL 데이터 PDU 를 송신할 필요가 있습니다.

Supervision Timeout 파라미터는 링크가 상실되었다고 간주될 때까지 수신된2개의 링크층 데이터 패킷 간에 경과할 수 있는 최대 시간을 지정합니다.

Peripheral은 접속 이벤트마다 Central 디바이스로부터의 패킷을 리슨할 필요가 없습니다.Peripheral Latency 파라미터는 Peripheral이 리슨할 필요가 없는 연속 접속 이벤트 수를 정의합니다.이것에 의해, 주변기기에 전력을 절약할 수 있습니다.

그림 4는 Peripheral with Peripheral Latency = 1의 동작을 나타내고 있습니다.따라서 대체 접속 이벤트 중에만 리슨합니다.Peripheral이 수신하고 있지 않은 이벤트 중에는 Central이 송신할 수 있습니다만, 이러한 패킷은 수신되지 않기 때문에 확인 응답되지 않고, 접속 이벤트가 종료됩니다.

그림 4 - Peripheral Latency=1을 사용한 Bluetooth LE-ACL 연결(C는 중앙 장치, P는 주변 장치)

확인 응답 및 흐름 제어

링크 레이어 데이터 패킷에는 통신의 신뢰성에 기여하는3개의 중요한 필드가 포함되어 있습니다.이러한 필드는 Sequence Number(SN; 시퀀스 번호), Next Expected Sequence Number(NESN; 다음 예상 시퀀스 번호) 및 More Data 필드라고 불립니다.이들 3개의 필드는 모두 단일 비트필드이며, 이러한 필드를 사용하면 확인 응답 시스템과 수신 패킷의 올바른 순서를 확인할 수 있습니다.

통신은 중앙 디바이스(그림5의 디바이스 A)가 SN과 NESN이 모두0 으로 설정된 링크층 데이터 패킷을 송신하는 것으로 개시됩니다.이 시점부터 모든 것이 정상일 경우 각 패킷 교환에서 디바이스A에 의해 설정된SN 필드의 값은 0과1 사이를 번갈아 이동합니다.그 때문에, 다른 디바이스(디바이스 B)는, 다음에 수신하는 패킷의 SN 값을 항상 인식하고, 이것을 확인합니다.

디바이스 B가 예상되는 SN 값을 가진 패킷을 디바이스A로부터 수신하면 NESN이 논리값 NOT(SN)로 설정된 링크층 데이터 패킷으로 응답합니다.따라서 예를 들어 수신된 SN 값이 1일 경우 응답의 NESN은 0이 됩니다.

디바이스 A가 디바이스 B로부터 다음 패킷에서 디바이스 A가 SN에 사용하는 값으로 설정된NESN 응답을 수신하면 디바이스 A는 이것을 디바이스 B로부터의 확인 응답으로 간주하고 마지막으로 전송된 패킷을 올바르게 수신했음을 확인합니다.그림 5는 이것을 나타내고 있습니다.

그림 5 - 링크 레이어에서의 블루투스 패킷 교환 성공

디바이스 B 는, 잘못된 SN 값을 가지는 패킷을 수신했을 경우, 그 패킷이 이전에 수신한 패킷의 재발송신이라고 가정하고, 그것을 확인하지만, 그 이후의 처리를 위해서 스택을 통과하지 않습니다.

디바이스 A가 디바이스 B로부터의 응답으로 예기치 않은NESN 값을 수신한 경우 또는 응답을 전혀 수신하지 않은 경우, 디바이스 A는 처음에 사용한 것과 같은 SN 값을 사용하여 패킷을 재발송합니다.컨트롤러의 실장에 따라서는, 통신의 장해가 발생했을 경우에 재발송신 회수에 관한 다양한 알고리즘을 실장할 수 있습니다.그림 6을 참조해 주세요.

그림 6 - 블루투스 링크층의 재발송신

각 패킷에는 CRC 필드가 포함되어 암호화 패킷에는 MIC 필드가 포함되어 있습니다.패킷을 수신하면 링크레이어는 CRC 및 존재하는 경우 MIC를 체크합니다.어느 하나의 체크가 실패했을 경우, 패킷은 확인 응답되지 않고, 통상은 패킷의 발신자가 패킷을 재발송신합니다.그림 7을 참조해 주세요.

그림 7 - CRC 장애 발생 시 블루투스 링크층의 동작

채널 사용

LE-ACL은 적응 주파수 호핑으로 알려진 스펙트럼 확산 방식을 사용합니다.각 접속 이벤트 시작 시 채널 선택 알고리즘을 사용하여 사용 가능한 채널 세트에서 37개의 범용 블루투스 LE 무선 채널 중 하나가 선택되는 주파수 호핑이 발생합니다.접속 내의 각 디바이스는 선택한 채널로 전환되며, 시간이 지남에 따라 일련의 접속이벤트를 통해 통신은 2.4GHz 대역에 분산된 다양한 채널을 사용하여 이루어지며, 이로 인해 충돌이 발생할 가능성이 크게 감소합니다.

채널 맵은 Central 디바이스에 의해 유지되며 Peripheral 디바이스에 의해 유지되는 경우도 있습니다.사용할 수 있는 채널과 사용할 수 없는 채널을 나타내는 데이터 표입니다.구현에서는 각 채널의 성능 또는 오류 및 간섭의 증거에 따라 채널을 사용 또는 미사용으로 표시합니다.사용되지 않는 채널은 채널 선택 알고리즘에 의해 선택되지 않습니다.이와 같이 적응 주파수 호핑은 환경 내의 일반적인 RF 조건에 따라 액티브 통신에 사용되는 채널을 동적으로 조정합니다.

링크 제어

LE ACL 접속에 관한 다수의 제어 순서가 정의되어 있습니다.표 1에 몇 가지 예를 제시하겠습니다.

표 1 - 링크 레이어 제어 절차의 예
제어 절차 묘사
접속 갱신 Central 디바이스 또는 Peripheral 디바이스가 접속 파라미터의 접속 간격, Peripheral 지연 및 감시 타임아웃에 대한 변경을 요구할 수 있도록 합니다.
채널 맵 업데이트 Central 디바이스가 최신 채널 맵 데이터를 연결된 Peripheral로 전송할 수 있습니다.
암호화 Central 또는 Peripheral 중 하나를 사용하여 패킷 암호화를 활성화합니다.
기능 교환 Central 또는 Peripheral이 비트맵필드로 인코딩된 각 디바이스가 지원하는 링크레이어 기능의 교환을 시작할 수 있도록 합니다.
정기적인 애드버타이즈 동기 전송 Central 또는 Peripheral 중 하나가 LE ACL 접속을 통해 검출된 정기 애드버타이즈먼트트레인에 관한 정기 애드버타이즈 동기 정보를 다른 디바이스에 전송할 수 있습니다.
CIS 작성 절차 센트럴 디바이스가 Peripheral과 함께 Connected Isocronous Stream(CIS; 접속 등시 스트림)을 작성할 수 있도록 합니다.
전원 제어 요구 한쪽 피어가 다른 쪽 피어에 송신 전력 레벨의 조정을 요구할 수 있습니다.
채널 분류 보고서 Peripheral이 연결된 Central에 채널 분류 데이터를 보고할 수 있습니다.

하위 등급 연결

하위 등급 연결은 추가 속성이 할당된 LE ACL 연결로, 어떤 방식으로든 다르게 동작합니다.추가 속성을 서브레이트 계수, 서브레이트 기본 이벤트 및 연속 번호라고 합니다.

하위 등급의 연결 속성은 연결된 디바이스에 의해 활성화되는 연결 이벤트 중 특정 서브셋만이 사용되고 다른 연결 이벤트에서는 무선이 사용되지 않음을 나타내는 메커니즘을 제공합니다.따라서 하위 등급의 접속은 짧은 ACL 연결 간격을 가질 수 있으며, 이는 애플리케이션 층에서 낮은 지연을 허용하지만 듀티 사이클을 나타낼 수 있습니다.

그림 8은 하위 등급 연결과 관련된 기본 개념을 보여 줍니다.

그림 8 - 블루투스 LE 하위 등급 연결 기본 개념

여기서 Central 또는 Peripheral에서 사용되는 연결 이벤트는 5개 중 1개뿐임을 알 수 있습니다.나머지 4개는 건너뛰기 때문에 이들 접속 이벤트 중에는 무선 액티비티가 발생하지 않습니다.이 사용된 연결 이벤트에 대한 비율은 서브레이트 팩터 파라미터에 의해 결정되며 이 예에서는 5로 설정됩니다.

서브레이티드 접속에는 특별한 링크레이어 제어 절차가 다수 정의되어 있습니다.예를 들어 일반적인 Connection Update 절차와는 다르게 하위 등급 연결 매개 변수를 업데이트하는 절차가 있습니다.중요한 것은 서브레이티드 접속 파라미터의 변경은 거의 즉시 적용할 수 있는 반면 일반적인 접속 파라미터의 변경은 유효하게 되는 데 상당한 시간이 걸릴 수 있습니다.따라서 하위 등급 연결의 장점은 듀티 사이클이 낮고 전력 소모가 적은 지속적인 연결을 확립할 수 있으며 사용자가 알아차릴 수 있는 지연 없이 높은 듀티 사이클과 고대역폭 연결로 전환할 수 있다는 것입니다.이 기능은 보청기나 스마트폰과 같은 일부 LE 오디오 시나리오에서 특히 적용됩니다.

「Bluetooth Core Specification Version 5.3 Feature Enhancements」(블루투스 코어 사양 버전 5.3 기능 확장) 문서에는 하위 등급의 연결 관련 장에 대한 내용이 기재되어 있어 자세한 정보원으로 권장되고 있습니다.

BR/EDR ACL

개요

BR/EDR ACL 논리 트랜스포트를 사용한 통신은 LE ACL 배리언트와 비슷하며 중앙 장치와 페리페럴 간에 데이터를 교환하기 위한 비동기 포인트 투 포인트 통신 메커니즘을 제공합니다.

BR/EDR 디바이스가 piconet에 가입하면 기본 ACL 논리 전송이 자동으로 생성됩니다.같은 디바이스 쌍간의 다른 논리 트랜스포트 타입(SCO-BR/EDR 동기 접속 지향 등)은 디폴트 ACL에 의존하며, 이것이 삭제되면 다른 논리 트랜스포트도 삭제됩니다.

BR/EDR ACL 접속에서는 기본 물리 채널에 의해 정의된 타임슬롯이 사용됩니다.센트럴 디바이스와 페리페럴 디바이스는, 실장에 의해서 할당되는, 이러한 타임 슬롯의 서브셋 사이에 교대로 송수신 됩니다.동기 논리 전송에는, BR/EDR 접속이 동기 통신용으로 예약되어 있지 않은 타임 슬롯만을 사용하도록 priority가 부여됩니다.

Bluetooth Basic Rate(BR; 블루투스 기본 레이트)용으로 정의된6개의 패킷유형은 DM1, DH1, DM3, DH5, 및 DH5 입니다.Bluetooth Enhanced Data Rate(EDR; 블루투스 확장 데이터 레이트)는 2-DH1, 3-DH1, 2-DH3, 3-DH5, 3-DH5라는 이름의 추가 6개의 패킷유형을 정의합니다.패킷 타입 AUX1은 테스트용으로 정의되어 있습니다.

BR/EDR ACL 접속은 Peripheral 디바이스가 Central 디바이스를 호출함으로써 확립됩니다.중앙 장치가 페이지 스캔을 수행합니다.

확인 응답 및 주문

1비트 헤더필드 ARQN 및 SEQN을 사용하여 긍정 또는 부정 확인 응답을 할 수 있으며 수신된 패킷의 순서가 정상인지 확인합니다.

흐름 제어

BR/EDR ACL 접속과 관련된 RX 버퍼가 가득 찰 수 있습니다.헤더 필드 FLOW는 STOP 또는 GO를 나타내는 응답 값을 가진 단순한 흐름 제어 메커니즘을 제공하기 위해 사용됩니다.

채널 사용

적응 주파수 호핑(기본 물리 채널의 책임)은 BR/EDR ACL 논리 트랜스포트를 사용하여 각 수신 또는 전송 이벤트에서 채널을 선택할 때 유효합니다.79개의 채널은 Bluetooth BR/EDR에서 사용하도록 정의되어 있으며 가능한 호핑 패턴은 여러 가지가 정의되어 있습니다.

링크 제어

Link Manager Protocol(LMP)은 일련의 PDU 유형을 정의하고 BR/EDR ACL 논리 트랜스포트의 상세 제어 및 네고시에이션을 수행합니다.LMP PDU 는, ACL-C 논리 링크를 개입시켜 송신됩니다.

레퍼런스

  1. ^ "Bluetooth Core Specification".

외부 링크