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

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

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

คำศัพท์

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

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

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


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

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

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

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

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

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

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

  • ใช้คอนโทรลเลอร์ BT 4.2 หรือสูงกว่าที่เป็นไปตามข้อกำหนด ขอแนะนำให้ใช้ LE Secure Connections
  • มีการสนับสนุนส่วนกลางอย่างน้อย 2 ลิงก์ LE พร้อมพารามิเตอร์ตามที่อธิบายไว้ใน รูปแบบแพ็กเก็ตเสียงและเวลา
  • มีอุปกรณ์ต่อพ่วงรองรับอย่างน้อย 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 PHY ห้ามใช้ PHY ระยะไกล BLE

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

บริการ ASHA GATT

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

ลักษณะ คุณสมบัติ คำอธิบาย
คุณสมบัติอ่านอย่างเดียว อ่าน ดู คุณสมบัติอ่านอย่างเดียว
AudioControlPoint เขียนและเขียนโดยไม่มีการตอบกลับ จุดควบคุมสำหรับสตรีมเสียง ดู AudioControlPoint
AudioStatusPoint อ่าน/แจ้งเตือน ฟิลด์รายงานสถานะสำหรับจุดควบคุมเสียง Opcodes คือ:
  • 0 - สถานะ OK
  • -1 - คำสั่งที่ไม่รู้จัก
  • -2 - พารามิเตอร์ที่ผิดกฎหมาย
ปริมาณ เขียนโดยไม่ต้องตอบกลับ ไบต์ระหว่าง -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 ดู แผนที่คุณลักษณะ
11-12 RenderDelay. นี่คือเวลาในหน่วยมิลลิวินาที นับตั้งแต่อุปกรณ์ต่อพ่วงได้รับเฟรมเสียงจนกระทั่งอุปกรณ์ต่อพ่วงแสดงผลเอาต์พุต ไบต์เหล่านี้สามารถใช้เพื่อหน่วงเวลาวิดีโอให้ซิงโครไนซ์กับเสียงได้
13-14 สงวนไว้สำหรับใช้ในอนาคต เริ่มต้นเป็นศูนย์
15-16 รหัสตัวแปลงสัญญาณ ที่รองรับ นี่คือบิตมาสก์ของรหัสตัวแปลงสัญญาณที่รองรับ A 1 ในตำแหน่งบิตสอดคล้องกับตัวแปลงสัญญาณที่รองรับ ตัวอย่างเช่น 0x0002 ระบุว่ารองรับ G.722 ที่ 16 kHz บิตอื่น ๆ ทั้งหมดจะถูกตั้งค่าเป็น 0

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

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

HiSyncID

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

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

คุณสมบัติแผนที่

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

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

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

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

AudioControlPoint

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

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

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

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

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

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

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

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

อุปกรณ์ต่อพ่วงต้องมีประเภทข้อมูล ชื่อท้องถิ่นที่สมบูรณ์ ซึ่งระบุชื่อเครื่องช่วยฟัง ชื่อนี้จะถูกใช้ในอินเทอร์เฟซผู้ใช้ของอุปกรณ์มือถือ เพื่อให้ผู้ใช้สามารถเลือกอุปกรณ์ที่เหมาะสม ชื่อจะต้องไม่ระบุช่องทางซ้ายหรือขวา เนื่องจากข้อมูลนี้มีให้ใน 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 ชุดสำหรับ ACK เพื่อสำรองแบนด์วิดท์สำหรับการส่งสัญญาณซ้ำ โปรดทราบว่าแพ็กเก็ตเสียงอาจแยกส่วนโดยตัวควบคุม Bluetooth ของส่วนกลาง อุปกรณ์ต่อพ่วงต้องสามารถรับแพ็กเก็ตเสียงที่แยกส่วนได้มากกว่า 2 แพ็กเก็ตต่อเหตุการณ์การเชื่อมต่อ

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

รูปแบบออกเตตเอาต์พุต G.722 อ้างอิง Rec. ITU-T G.722 (09/2012) ส่วน 1.4.4 "Multiplexer"

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

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

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

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

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

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

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