การสนับสนุนเครื่องช่วยฟังเสียงโดยใช้ Bluetooth LE

อุปกรณ์ช่วยฟัง (HA) สามารถปรับปรุงการเข้าถึงบนอุปกรณ์พกพาที่ใช้ระบบ Android โดยใช้ช่องสัญญาณ L2CAP (CoC) ที่มุ่งเน้นการเชื่อมต่อผ่าน Bluetooth Low Energy (BLE) CoC ใช้บัฟเฟอร์แบบยืดหยุ่นของแพ็กเก็ตเสียงหลายแพ็กเก็ตเพื่อรักษาการไหลของเสียงให้คงที่ แม้ในกรณีที่แพ็กเก็ตสูญหาย บัฟเฟอร์นี้ให้คุณภาพเสียงสำหรับอุปกรณ์ช่วยฟังโดยมีค่าใช้จ่ายแฝง

การออกแบบ CoC อ้างอิง Bluetooth Core Specification Version 5 (BT) เพื่อให้สอดคล้องกับข้อกำหนดหลัก ค่าหลายไบต์ทั้งหมดในหน้านี้จะอ่านเป็น little-endian

คำศัพท์

  • Central - อุปกรณ์ Android ที่สแกนหาโฆษณาผ่าน Bluetooth
  • อุปกรณ์ต่อพ่วง - เครื่องช่วยฟังที่ส่งแพ็กเก็ตโฆษณาผ่านบลูทูธ

โทโพโลยีเครือข่ายและสถาปัตยกรรมระบบ

เมื่อใช้ CoC สำหรับเครื่องช่วยฟัง โทโพโลยีของเครือข่ายจะถือว่าอุปกรณ์ต่อพ่วงส่วนกลางหนึ่งชิ้นและสองชิ้น ซ้ายหนึ่งชิ้นและขวาหนึ่งชิ้น ดังที่แสดงใน รูปที่ 1 ระบบเสียง Bluetooth มองอุปกรณ์ต่อพ่วงด้านซ้ายและขวาเป็นอ่างรับเสียงเดียว หากไม่มีอุปกรณ์ต่อพ่วง เนื่องจากใส่ได้พอดีแบบโมโนหรือขาดการเชื่อมต่อ จากนั้นส่วนกลางจะผสมช่องสัญญาณเสียงซ้ายและขวาและส่งสัญญาณเสียงไปยังอุปกรณ์ต่อพ่วงที่เหลือ หากส่วนกลางสูญเสียการเชื่อมต่อกับอุปกรณ์ต่อพ่วงทั้งสอง จากนั้นส่วนกลางจะพิจารณาว่าลิงก์ไปยังตัวซิงก์เสียงหายไป ในกรณีดังกล่าว ศูนย์กลางจะส่งสัญญาณเสียงไปยังเอาต์พุตอื่น


รูปที่ 1 โทโพโลยีสำหรับจับคู่เครื่องช่วยฟังกับอุปกรณ์มือถือ Android โดยใช้ CoC บน BLE

เมื่อศูนย์กลางไม่สตรีมข้อมูลเสียงไปยังอุปกรณ์ต่อพ่วงและสามารถรักษาการเชื่อมต่อ BLE ได้ ศูนย์กลางไม่ควรตัดการเชื่อมต่อจากอุปกรณ์ต่อพ่วง การรักษาการเชื่อมต่อช่วยให้สามารถสื่อสารข้อมูลไปยังเซิร์ฟเวอร์ GATT ที่อยู่บนอุปกรณ์ต่อพ่วงได้

เมื่อจับคู่และเชื่อมต่ออุปกรณ์ช่วยฟัง ศูนย์กลางจะต้อง:

  • ติดตามการจับคู่อุปกรณ์ต่อพ่วงซ้ายและขวาล่าสุด
  • สมมติว่ามีการใช้งานอุปกรณ์ต่อพ่วงหากมีการจับคู่ที่ถูกต้อง ศูนย์จะพยายามเชื่อมต่อหรือเชื่อมต่อกับอุปกรณ์ที่จับคู่อีกครั้งเมื่อการเชื่อมต่อขาดหาย
  • สมมติว่าไม่มีการใช้งานอุปกรณ์ต่อพ่วงอีกต่อไปหากการจับคู่ถูกลบ

ในกรณีข้างต้น การจับคู่ หมายถึงการดำเนินการลงทะเบียนชุดเครื่องช่วยฟังด้วย UUID ที่กำหนดและตัวกำหนดซ้าย/ขวาในระบบปฏิบัติการ ไม่ใช่กระบวนการจับคู่บลูทูธ

ความต้องการของระบบ

ในการปรับใช้ CoC อย่างเหมาะสมเพื่อประสบการณ์ผู้ใช้ที่ดี ระบบ Bluetooth ในอุปกรณ์ส่วนกลางและอุปกรณ์ต่อพ่วงจะต้อง:

  • ใช้คอนโทรลเลอร์ BT 4.2 หรือสูงกว่าที่เป็นไปตามมาตรฐาน ขอแนะนำให้ใช้ LE Secure Connections
  • มีศูนย์กลางรองรับลิงก์ LE พร้อมกันอย่างน้อย 2 ลิงก์พร้อมพารามิเตอร์ตามที่อธิบายไว้ใน รูปแบบแพ็กเก็ตเสียงและจังหวะ
  • มีการสนับสนุนอุปกรณ์ต่อพ่วงอย่างน้อย 1 ลิงก์ LE พร้อมพารามิเตอร์ที่อธิบายไว้ใน รูปแบบและจังหวะของแพ็กเก็ตเสียง
  • มีการควบคุมโฟลว์ตามเครดิต LE [BT Vol 3, Part A, Sec 10.1] อุปกรณ์ต้องรองรับขนาด MTU และ MPS อย่างน้อย 167 ไบต์บน CoC และสามารถบัฟเฟอร์ได้สูงสุด 8 แพ็กเก็ต
  • มีส่วนขยายความยาวข้อมูล LE [BT Vol 6, Part B, Sec 5.1.9] โดยมีเพย์โหลดอย่างน้อย 167 ไบต์
  • ให้อุปกรณ์ส่วนกลางสนับสนุนคำสั่งอัปเดตการเชื่อมต่อ HCI LE และปฏิบัติตามพารามิเตอร์ maximum_CE_Length และ minimum_CE_Length ที่ไม่เป็นศูนย์
  • ให้ส่วนกลางรักษาทรูพุตข้อมูลสำหรับการเชื่อมต่อ LE CoC สองตัวไปยังอุปกรณ์ต่อพ่วงสองตัวที่แตกต่างกันโดยมีช่วงเวลาการเชื่อมต่อและขนาดเพย์โหลดใน รูปแบบแพ็กเก็ตเสียงและจังหวะเวลา
  • ให้อุปกรณ์ต่อพ่วงตั้งค่าพารามิเตอร์ MaxRxOctets และ MaxRxTime ในเฟรม LL_LENGTH_REQ หรือ LL_LENGTH_RSP เป็นค่าที่ต้องการน้อยที่สุดซึ่งจำเป็นสำหรับข้อกำหนดเฉพาะเหล่านี้ ซึ่งช่วยให้ศูนย์กลางเพิ่มประสิทธิภาพตัวกำหนดเวลาเมื่อคำนวณระยะเวลาที่จำเป็นในการรับเฟรม

ขอแนะนำอย่างยิ่งให้ส่วนกลางและอุปกรณ์ต่อพ่วงรองรับ 2MB PHY ตามที่ระบุไว้ในข้อมูลจำเพาะของ BT 5.0 ศูนย์กลางต้องรองรับการเชื่อมโยงเสียงอย่างน้อย 64 kbit/s ทั้ง 1M และ 2M PHYs ห้ามใช้ PHY ระยะไกล BLE

CoC ใช้กลไก Bluetooth มาตรฐานสำหรับการเข้ารหัสเลเยอร์ลิงก์และการกระโดดความถี่

บริการของ ASHA GATT

อุปกรณ์ต่อพ่วงจะต้องใช้บริการเซิร์ฟเวอร์ Audio Streaming for Hearing Aid (ASHA) GATT ที่อธิบายไว้ด้านล่าง อุปกรณ์ต่อพ่วงจะโฆษณาบริการนี้เมื่ออยู่ในโหมดค้นพบได้ทั่วไป เพื่อให้ส่วนกลางรับรู้ถึงอ่างเสียง การดำเนินการสตรีมเสียง LE ใด ๆ จะต้องมีการเข้ารหัส การสตรีมเสียง BLE ประกอบด้วยลักษณะดังต่อไปนี้:

ลักษณะ คุณสมบัติ คำอธิบาย
คุณสมบัติแบบอ่านอย่างเดียว อ่าน ดู คุณสมบัติอ่านอย่างเดียว
AudioControlPoint เขียนและเขียนโดยไม่มีการตอบสนอง จุดควบคุมสตรีมเสียง ดู AudioControlPoint
AudioStatusPoint อ่าน/แจ้ง ฟิลด์รายงานสถานะสำหรับจุดควบคุมเสียง ดู AudioStatusPoint
ปริมาณ เขียนโดยไม่มีการตอบสนอง ไบต์ระหว่าง -128 ถึง 0 ระบุจำนวนการลดทอนที่จะใช้กับสัญญาณเสียงที่สตรีม ตั้งแต่ -48 dB ถึง 0 dB การตั้งค่า -128 จะตีความว่าปิดเสียงทั้งหมด กล่าวคือ ระดับเสียงต่ำสุดที่ไม่ได้ปิดเสียงคือ -127 ซึ่งเท่ากับการลดทอน -47.625 dB ที่การตั้งค่า 0 การสตรีมโทนไซน์แบบราวต่อรางจะต้องแสดงอินพุตเทียบเท่า 100 dBSPL บนเครื่องช่วยฟัง ส่วนกลางจะสตรีมในระดับเต็มเล็กน้อยและใช้ตัวแปรนี้เพื่อกำหนดระดับการนำเสนอที่ต้องการในอุปกรณ์ต่อพ่วง
LE_PSM_OUT อ่าน PSM เพื่อใช้สำหรับเชื่อมต่อช่องสัญญาณเสียง ให้เลือกจากช่วงไดนามิก [BT Vol 3, Part A, Sec 4.22]

UUID ที่กำหนดให้กับบริการและคุณลักษณะ:

บริการ UUID : {0xFDF0}

ลักษณะ UUID
คุณสมบัติแบบอ่านอย่างเดียว {6333651e-c481-4a3e-9169-7c902aad37bb}
AudioControlPoint {f0d4de7e-4a88-476c-9d9f-1937b0996cc0}
สถานะเสียง {38663f1a-e711-4cac-b641-326b56404837}
ปริมาณ {00e4ca9e-ab14-41e4-8823-f9e70c7e91df}
LE_PSM_OUT {2d410339-82b6-42aa-b34e-e2e01df8cc1a}

นอกจากบริการ ASHA GATT แล้ว อุปกรณ์ต่อพ่วงจะต้องติดตั้งบริการข้อมูลอุปกรณ์เพื่อให้ศูนย์กลางตรวจสอบชื่อผู้ผลิตและชื่ออุปกรณ์ของอุปกรณ์ต่อพ่วง

คุณสมบัติแบบอ่านอย่างเดียว

ReadOnlyProperties มีค่าต่อไปนี้:

ไบต์ คำอธิบาย
0 รุ่น - ต้องเป็น 0x01
1 ดูความสามารถของ อุปกรณ์
2-9 ดู HiSyncId
10 ดู FeatureMap
11-12 เรนเดอร์ดีเลย์ นี่คือเวลาในหน่วยมิลลิวินาที นับจากเวลาที่อุปกรณ์ต่อพ่วงรับเฟรมเสียงจนกระทั่งอุปกรณ์ต่อพ่วงแสดงผลเอาต์พุต สามารถใช้ไบต์เหล่านี้เพื่อหน่วงเวลาวิดีโอให้ซิงโครไนซ์กับเสียงได้
13-14 สงวนไว้สำหรับใช้ในอนาคต เริ่มต้นเป็นศูนย์
15-16 Codec ID ที่รองรับ นี่คือบิตมาสก์ของ ID ตัวแปลงสัญญาณที่รองรับ ตำแหน่ง 1 ในบิตสอดคล้องกับตัวแปลงสัญญาณที่รองรับ ตัวอย่างเช่น 0x0002 แสดงว่ารองรับ G.722 ที่ 16 kHz บิตอื่น ๆ ทั้งหมดจะถูกตั้งค่าเป็น 0

ความสามารถของอุปกรณ์

นิดหน่อย คำอธิบาย
0 ด้านอุปกรณ์ (ซ้าย: 0, ขวา: 1)
1 โมโน (0) / สองข้าง (1) ระบุว่าอุปกรณ์เป็นแบบสแตนด์อโลนและรับข้อมูลแบบโมโน หรือหากอุปกรณ์เป็นส่วนหนึ่งของชุด
2-7 สงวนไว้ (ตั้งค่าเป็น 0)

ไฮซิงค์ไอดี

ฟิลด์นี้ต้องไม่ซ้ำกันสำหรับอุปกรณ์ binaural ทั้งหมด แต่จะต้องเหมือนกันสำหรับชุดซ้ายและขวา

ไบต์ คำอธิบาย
0-1 รหัสของผู้ผลิต เป็น ตัวระบุบริษัท ที่ได้รับมอบหมายจาก BTSIG
2-7 ID เฉพาะที่ระบุชุดเครื่องช่วยฟัง ID นี้ต้องตั้งค่าให้เหมือนกันทั้งด้านซ้ายและด้านขวาของอุปกรณ์ต่อพ่วง

FeatureMap

นิดหน่อย คำอธิบาย
0 รองรับการสตรีมเอาต์พุตเสียง LE CoC (ใช่/ไม่ใช่)
1-7 สงวนไว้ (ตั้งค่าเป็น 0)

รหัสตัวแปลงสัญญาณ

หากมีการตั้งค่าบิต แสดงว่าตัวแปลงสัญญาณนั้นรองรับ

ID / หมายเลขบิต ตัวแปลงสัญญาณและอัตราตัวอย่าง บิตเรตที่จำเป็น กรอบเวลา บังคับที่ส่วนกลาง (C) หรืออุปกรณ์ต่อพ่วง (P)
0 ที่สงวนไว้ ที่สงวนไว้ ที่สงวนไว้ ที่สงวนไว้
1 G.722 @ 16 กิโลเฮิรตซ์ 64 กิโลบิต/วินาที ตัวแปร ซี แอนด์ พี
จอง 2-15 ค่ะ
0 ยังสงวนไว้

AudioControlPoint

ไม่สามารถใช้จุดควบคุมนี้ได้เมื่อปิด LE CoC ดู การเริ่มและการหยุดสตรีมเสียง สำหรับคำอธิบายขั้นตอน

รหัสลับ ข้อโต้แย้ง ขั้นตอนย่อยของแกตต์ คำอธิบาย
1 «Start»
  • uint8_t codec
  • uint8_t audiotype
  • int8_t volume
  • int8_t otherstate
เขียนด้วยการตอบกลับ และคาดว่าจะมีการแจ้งเตือนสถานะเพิ่มเติมผ่าน คุณลักษณะ AudioStatusPoint สั่งให้อุปกรณ์ต่อพ่วงรีเซ็ตโคเดกและเริ่มเล่นเฟรม 0 ช่องโคเดกระบุรหัสโคเดกที่จะใช้สำหรับการเล่นนี้ ตัวอย่างเช่น ช่องตัวแปลงสัญญาณคือ "1" สำหรับ G.722 ที่ 16k Hz

ฟิลด์บิตประเภทเสียงระบุประเภทเสียงที่มีอยู่ในสตรีม:
  • 0 - ไม่ทราบ
  • 1 - เสียงเรียกเข้า
  • 2 - โทรศัพท์
  • 3 - สื่อ
ฟิลด์ สถานะอื่นระบุว่ามีการเชื่อมต่อด้านอื่นๆ ของอุปกรณ์ binaural หรือไม่ ค่าของฟิลด์คือ 1 เมื่อเชื่อมต่ออุปกรณ์ต่อพ่วงอื่น มิฉะนั้น ค่าจะเป็น 0

อุปกรณ์ต่อพ่วงจะไม่ร้องขอการอัปเดตการเชื่อมต่อก่อนที่จะได้รับรหัส «Stop» opcode
2 «Stop» ไม่มี เขียนด้วยการตอบกลับ และคาดว่าจะมีการแจ้งเตือนสถานะเพิ่มเติมผ่าน คุณลักษณะ AudioStatusPoint สั่งให้อุปกรณ์ต่อพ่วงหยุดเรนเดอร์เสียง ควรเริ่มต้นลำดับการตั้งค่าเสียงใหม่หลังจากหยุดนี้เพื่อแสดงผลเสียงอีกครั้ง
3 «Status»
  • uint8_t connected
เขียนโดยไม่มีการตอบสนอง แจ้งอุปกรณ์ต่อพ่วงที่เชื่อมต่อว่ามีการอัปเดตสถานะบนอุปกรณ์ต่อพ่วงอื่น ฟิลด์ที่เชื่อมต่อระบุประเภทของการอัปเดต:
  • 0 - อุปกรณ์ต่อพ่วงอื่นๆ ถูกตัดการเชื่อมต่อ
  • 1 - อุปกรณ์ต่อพ่วงอื่น ๆ ที่เชื่อมต่อ
  • 2 - การอัปเดตพารามิเตอร์การเชื่อมต่อ LE เกิดขึ้นในการเชื่อมต่ออย่างใดอย่างหนึ่ง

AudioStatusPoint

ฟิลด์รายงานสถานะสำหรับจุดควบคุมเสียง

รหัสลับ คำอธิบาย
0 สถานะตกลง
-1 คำสั่งที่ไม่รู้จัก
-2 พารามิเตอร์ที่ผิดกฎหมาย

โฆษณาสำหรับบริการ ASHA GATT

UUID ของบริการ ต้องอยู่ในแพ็คเก็ตโฆษณา ในโฆษณาหรือกรอบตอบรับการสแกน อุปกรณ์ต่อพ่วงต้องมีข้อมูลบริการ:

ไบต์ชดเชย ชื่อ คำอธิบาย
0 ความยาวโฆษณา >= 0x09
1 ประเภทโฆษณา 0x16 (ข้อมูลบริการ - UUID 16 บิต)
2-3 บริการ UUID 0xFDF0 (ลิตเติ้ลเอนเดียน)

หมายเหตุ: นี่คือ ID ชั่วคราว
4 รุ่นโปรโตคอล 0x01
5 ความสามารถ
  • 0 - ด้านซ้าย (0) หรือด้านขวา (1)
  • 1 - อุปกรณ์เดี่ยว (0) หรือคู่ (1)
  • 2-7 - สงวนไว้ บิตเหล่านี้ต้องเป็นศูนย์
6-9 HiSyncID ที่ ถูกตัดทอน สี่ไบต์ที่มีนัยสำคัญน้อยที่สุดของ HiSyncId ไบต์เหล่านี้ควรเป็นส่วนที่สุ่มที่สุดของ ID

อุปกรณ์ต่อพ่วงต้องมีชนิดข้อมูล Complete Local Name ที่ระบุชื่อเครื่องช่วยฟัง ชื่อนี้จะใช้ในส่วนติดต่อผู้ใช้ของอุปกรณ์เคลื่อนที่ ดังนั้นผู้ใช้จึงสามารถเลือกอุปกรณ์ที่เหมาะสมได้ ชื่อจะไม่ระบุช่องทางซ้ายหรือขวา เนื่องจากข้อมูลนี้มีให้ใน DeviceCapabilities

หากอุปกรณ์ต่อพ่วงใส่ชื่อและประเภทข้อมูลบริการ ASHA ในประเภทเฟรมเดียวกัน (ADV หรือ SCAN RESP) ข้อมูลทั้งสองประเภท ("Complete Local Name" และ "Service Data for ASHA service") จะปรากฏในเฟรมเดียวกัน ซึ่งช่วยให้เครื่องสแกนอุปกรณ์เคลื่อนที่ได้รับข้อมูลทั้งสองในผลการสแกนเดียวกัน

ในระหว่างการจับคู่ครั้งแรก สิ่งสำคัญคืออุปกรณ์ต่อพ่วงจะโฆษณาในอัตราที่เร็วพอที่จะทำให้อุปกรณ์เคลื่อนที่ค้นพบอุปกรณ์ต่อพ่วงได้อย่างรวดเร็วและเชื่อมต่อกับอุปกรณ์เหล่านั้น

การซิงโครไนซ์อุปกรณ์ต่อพ่วงซ้ายและขวา

ในการทำงานกับ Bluetooth บนอุปกรณ์มือถือ Android อุปกรณ์ต่อพ่วงมีหน้าที่ตรวจสอบให้แน่ใจว่ามีการซิงโครไนซ์ การเล่นบนอุปกรณ์ต่อพ่วงด้านซ้ายและขวาจำเป็นต้องซิงโครไนซ์ให้ตรงเวลา อุปกรณ์ต่อพ่วงทั้งสองต้องเล่นตัวอย่างเสียงจากแหล่งที่มาพร้อมกัน

อุปกรณ์ต่อพ่วงสามารถซิงโครไนซ์เวลาได้โดยใช้หมายเลขลำดับที่อยู่ต่อท้ายแต่ละแพ็กเก็ตของเพย์โหลดเสียง ศูนย์กลางรับประกันว่าแพ็คเก็ตเสียงที่จะเล่นพร้อมกันบนอุปกรณ์ต่อพ่วงแต่ละตัวมีหมายเลขลำดับเดียวกัน หมายเลขลำดับจะเพิ่มขึ้นทีละหนึ่งหลังจากแต่ละแพ็กเก็ตเสียง หมายเลขลำดับแต่ละตัวมีความยาว 8 บิต ดังนั้นหมายเลขลำดับจะทำซ้ำหลังจาก 256 แพ็กเก็ตเสียง เนื่องจากขนาดแพ็กเก็ตเสียงและอัตราตัวอย่างแต่ละรายการได้รับการแก้ไขสำหรับการเชื่อมต่อแต่ละครั้ง อุปกรณ์ต่อพ่วงทั้งสองจึงสามารถอนุมานเวลาเล่นที่สัมพันธ์กันได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพ็กเก็ตเสียง โปรดดูที่ รูปแบบและเวลา ของแพ็กเก็ตเสียง

ส่วนกลางช่วยโดยส่งทริกเกอร์ไปยังอุปกรณ์ binaural เมื่อจำเป็นต้องซิงโครไนซ์ ทริกเกอร์เหล่านี้แจ้งให้อุปกรณ์ต่อพ่วงแต่ละเครื่องทราบถึงสถานะของอุปกรณ์ต่อพ่วงที่จับคู่ไว้ เมื่อใดก็ตามที่มีการดำเนินการที่อาจส่งผลต่อการซิงโครไนซ์ ทริกเกอร์คือ:

  • ในส่วนของคำสั่ง «Start» ของ AudioControlPoint สถานะการเชื่อมต่อปัจจุบันของอีกด้านหนึ่งของอุปกรณ์ binaural จะได้รับ
  • เมื่อใดก็ตามที่มีการเชื่อมต่อ การตัดการเชื่อมต่อ หรือการดำเนินการอัปเดตพารามิเตอร์การเชื่อมต่อบนอุปกรณ์ต่อพ่วงหนึ่ง คำสั่ง «Status» ของ AudioControlPoint จะถูกส่งไปยังอีกด้านหนึ่งของอุปกรณ์ binaural

รูปแบบแพ็กเก็ตเสียงและเวลา

การบรรจุเฟรมเสียง (บล็อกของตัวอย่าง) ลงในแพ็กเก็ตช่วยให้เครื่องช่วยฟังรับจังหวะเวลาจากตัวยึดจังหวะเวลาของเลเยอร์ลิงก์ เพื่อให้การใช้งานง่ายขึ้น:

  • เฟรมเสียงควรตรงกับช่วงเวลาการเชื่อมต่อเสมอ ตัวอย่างเช่น หากช่วงเวลาการเชื่อมต่อคือ 20ms และอัตราตัวอย่างคือ 16 kHz ดังนั้นเฟรมเสียงจะต้องมี 320 ตัวอย่าง
  • อัตราตัวอย่างในระบบถูกจำกัดไว้ที่ทวีคูณของ 8kHz เพื่อให้มีจำนวนตัวอย่างเป็นจำนวนเต็มในเฟรมเสมอ โดยไม่คำนึงถึงเวลาเฟรมหรือช่วงเวลาการเชื่อมต่อ
  • ไบต์ลำดับจะต้องอยู่ข้างหน้าเฟรมเสียง ไบต์ลำดับจะถูกนับด้วยการล้อมรอบและอนุญาตให้อุปกรณ์ต่อพ่วงตรวจพบบัฟเฟอร์ที่ไม่ตรงกันหรือน้อยเกินไป
  • เฟรมเสียงจะพอดีกับแพ็กเก็ต LE เดียวเสมอ เฟรมเสียงจะถูกส่งเป็นแพ็คเก็ต L2CAP แยกต่างหาก ขนาดของ LE LL PDU จะเป็น:
    ขนาดเพย์โหลดเสียง + 1 (ตัวนับลำดับ) + 6 (4 สำหรับส่วนหัว L2CAP, 2 สำหรับ SDU)
  • เหตุการณ์การเชื่อมต่อควรมีขนาดใหญ่พอที่จะมี 2 แพ็กเก็ตเสียงและ 2 แพ็กเก็ตเปล่า 2 แพ็กเก็ตสำหรับ ACK เพื่อสำรองแบนด์วิธสำหรับการส่งสัญญาณซ้ำ โปรดทราบว่าแพ็กเก็ตเสียงอาจถูกแยกส่วนโดยตัวควบคุม Bluetooth ของส่วนกลาง อุปกรณ์ต่อพ่วงต้องสามารถรับแพ็กเก็ตเสียงที่แยกส่วนได้มากกว่า 2 แพ็กเก็ตต่อเหตุการณ์การเชื่อมต่อ

เพื่อให้ศูนย์กลางมีความยืดหยุ่น จึงไม่มีการระบุความยาวของแพ็กเก็ต G.722 ความยาวของแพ็กเก็ต G.722 สามารถเปลี่ยนแปลงได้ตามช่วงเวลาการเชื่อมต่อที่ส่วนกลางกำหนด

รูปแบบออคเต็ตเอาต์พุต G.722 อ้างอิงถึง Rec. ITU-T G.722 (09/2012) ส่วนที่ 1.4.4 "มัลติเพล็กเซอร์"

สำหรับตัวแปลงสัญญาณทั้งหมดที่อุปกรณ์ต่อพ่วงรองรับ อุปกรณ์ต่อพ่วงต้องรองรับพารามิเตอร์การเชื่อมต่อด้านล่าง นี่คือรายการการกำหนดค่าโดยสังเขปที่ส่วนกลางสามารถนำไปใช้ได้

ตัวแปลงสัญญาณ อัตราบิต ช่วงการเชื่อมต่อ ความยาว CE (1M / 2M PHY) ขนาดเพย์โหลดเสียง
G.722 @ 16 กิโลเฮิรตซ์ 64 กิโลบิต/วินาที 20 น 5000/3750 เรา 160 ไบต์

การเริ่มและหยุดการสตรีมเสียง

ก่อนเริ่มการสตรีมเสียง ส่วนกลางจะสอบถามอุปกรณ์ต่อพ่วงและสร้างตัวแปลงรหัสส่วนร่วม การตั้งค่าสตรีมจะดำเนินการตามลำดับต่อไปนี้:

  1. PSM และเลือกอ่าน RenderDelay ค่าเหล่านี้อาจถูกแคชไว้โดยส่วนกลาง
  2. เปิดช่องทาง CoC L2CAP – อุปกรณ์ต่อพ่วงจะให้ 8 เครดิตในขั้นต้น
  3. มีการออกการปรับปรุงการเชื่อมต่อเพื่อสลับลิงก์ไปยังพารามิเตอร์ที่จำเป็นสำหรับตัวแปลงสัญญาณที่เลือก ส่วนกลางอาจทำการอัปเดตการเชื่อมต่อนี้ก่อนการเชื่อมต่อ CoC ในขั้นตอนก่อนหน้า
  4. ทั้งโฮสต์ส่วนกลางและอุปกรณ์ต่อพ่วงรอการอัปเดตให้เสร็จสมบูรณ์
  5. รีสตาร์ทตัวเข้ารหัสเสียง และรีเซ็ตจำนวนลำดับแพ็กเก็ตเป็น 0 คำสั่ง «Start» พร้อมพารามิเตอร์ที่เกี่ยวข้องจะออกใน AudioControlPoint ศูนย์กลางจะรอการแจ้งเตือนสถานะที่สำเร็จของคำสั่ง «Start» ก่อนหน้าจากอุปกรณ์ต่อพ่วงก่อนการสตรีม การรอนี้ทำให้อุปกรณ์ต่อพ่วงมีเวลาเตรียมไปป์ไลน์การเล่นเสียง ในระหว่างการสตรีมเสียง แบบจำลองควรพร้อมใช้งานในทุกกิจกรรมการเชื่อมต่อ แม้ว่าเวลาแฝงของแบบจำลองปัจจุบันอาจไม่ใช่ศูนย์
  6. อุปกรณ์ต่อพ่วงรับแพ็กเก็ตเสียงแรกจากคิวภายใน (หมายเลขลำดับ 0) และเล่น

ศูนย์กลางออกคำสั่ง «หยุด» เพื่อปิดสตรีมเสียง หลังจากคำสั่งนี้ อุปกรณ์ต่อพ่วงไม่จำเป็นต้องพร้อมใช้งานในทุกกิจกรรมการเชื่อมต่อ หากต้องการเริ่มการสตรีมเสียงใหม่ ให้ทำตามขั้นตอนข้างต้นโดยเริ่มจากขั้นตอนที่ 5 เมื่อศูนย์กลางไม่ได้สตรีมเสียง ควรยังคงรักษาการเชื่อมต่อ LE สำหรับบริการ GATT

อุปกรณ์ต่อพ่วงจะไม่ออกการอัปเดตการเชื่อมต่อไปยังส่วนกลาง เพื่อประหยัดพลังงาน ส่วนกลางอาจออกการอัปเดตการเชื่อมต่อกับอุปกรณ์ต่อพ่วงเมื่อไม่ได้สตรีมเสียง