อุปกรณ์ช่วยฟัง (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» |
| เขียนด้วยการตอบกลับ และคาดว่าจะมีการแจ้งเตือนสถานะเพิ่มเติมผ่าน คุณลักษณะ AudioStatusPoint | สั่งให้อุปกรณ์ต่อพ่วงรีเซ็ตโคเดกและเริ่มเล่นเฟรม 0 ช่องโคเดกระบุรหัสโคเดกที่จะใช้สำหรับการเล่นนี้ ตัวอย่างเช่น ช่องตัวแปลงสัญญาณคือ "1" สำหรับ G.722 ที่ 16k Hz ฟิลด์บิตประเภทเสียงระบุประเภทเสียงที่มีอยู่ในสตรีม:
อุปกรณ์ต่อพ่วงจะไม่ร้องขอการอัปเดตการเชื่อมต่อก่อนที่จะได้รับรหัส «Stop» opcode |
2 «Stop» | ไม่มี | เขียนด้วยการตอบกลับ และคาดว่าจะมีการแจ้งเตือนสถานะเพิ่มเติมผ่าน คุณลักษณะ AudioStatusPoint | สั่งให้อุปกรณ์ต่อพ่วงหยุดเรนเดอร์เสียง ควรเริ่มต้นลำดับการตั้งค่าเสียงใหม่หลังจากหยุดนี้เพื่อแสดงผลเสียงอีกครั้ง |
3 «Status» |
| เขียนโดยไม่มีการตอบสนอง | แจ้งอุปกรณ์ต่อพ่วงที่เชื่อมต่อว่ามีการอัปเดตสถานะบนอุปกรณ์ต่อพ่วงอื่น ฟิลด์ที่เชื่อมต่อระบุประเภทของการอัปเดต:
|
AudioStatusPoint
ฟิลด์รายงานสถานะสำหรับจุดควบคุมเสียง
รหัสลับ | คำอธิบาย |
---|---|
0 | สถานะตกลง |
-1 | คำสั่งที่ไม่รู้จัก |
-2 | พารามิเตอร์ที่ผิดกฎหมาย |
โฆษณาสำหรับบริการ ASHA GATT
UUID ของบริการ ต้องอยู่ในแพ็คเก็ตโฆษณา ในโฆษณาหรือกรอบตอบรับการสแกน อุปกรณ์ต่อพ่วงต้องมีข้อมูลบริการ:
ไบต์ชดเชย | ชื่อ | คำอธิบาย |
---|---|---|
0 | ความยาวโฆษณา | >= 0x09 |
1 | ประเภทโฆษณา | 0x16 (ข้อมูลบริการ - UUID 16 บิต) |
2-3 | บริการ UUID | 0xFDF0 (ลิตเติ้ลเอนเดียน) หมายเหตุ: นี่คือ ID ชั่วคราว |
4 | รุ่นโปรโตคอล | 0x01 |
5 | ความสามารถ |
|
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 ไบต์ |
การเริ่มและหยุดการสตรีมเสียง
ก่อนเริ่มการสตรีมเสียง ส่วนกลางจะสอบถามอุปกรณ์ต่อพ่วงและสร้างตัวแปลงรหัสส่วนร่วม การตั้งค่าสตรีมจะดำเนินการตามลำดับต่อไปนี้:
- PSM และเลือกอ่าน RenderDelay ค่าเหล่านี้อาจถูกแคชไว้โดยส่วนกลาง
- เปิดช่องทาง CoC L2CAP – อุปกรณ์ต่อพ่วงจะให้ 8 เครดิตในขั้นต้น
- มีการออกการปรับปรุงการเชื่อมต่อเพื่อสลับลิงก์ไปยังพารามิเตอร์ที่จำเป็นสำหรับตัวแปลงสัญญาณที่เลือก ส่วนกลางอาจทำการอัปเดตการเชื่อมต่อนี้ก่อนการเชื่อมต่อ CoC ในขั้นตอนก่อนหน้า
- ทั้งโฮสต์ส่วนกลางและอุปกรณ์ต่อพ่วงรอการอัปเดตให้เสร็จสมบูรณ์
- รีสตาร์ทตัวเข้ารหัสเสียง และรีเซ็ตจำนวนลำดับแพ็กเก็ตเป็น 0 คำสั่ง
«Start»
พร้อมพารามิเตอร์ที่เกี่ยวข้องจะออกใน AudioControlPoint ศูนย์กลางจะรอการแจ้งเตือนสถานะที่สำเร็จของคำสั่ง«Start»
ก่อนหน้าจากอุปกรณ์ต่อพ่วงก่อนการสตรีม การรอนี้ทำให้อุปกรณ์ต่อพ่วงมีเวลาเตรียมไปป์ไลน์การเล่นเสียง ในระหว่างการสตรีมเสียง แบบจำลองควรพร้อมใช้งานในทุกกิจกรรมการเชื่อมต่อ แม้ว่าเวลาแฝงของแบบจำลองปัจจุบันอาจไม่ใช่ศูนย์ - อุปกรณ์ต่อพ่วงรับแพ็กเก็ตเสียงแรกจากคิวภายใน (หมายเลขลำดับ 0) และเล่น
ศูนย์กลางออกคำสั่ง «หยุด» เพื่อปิดสตรีมเสียง หลังจากคำสั่งนี้ อุปกรณ์ต่อพ่วงไม่จำเป็นต้องพร้อมใช้งานในทุกกิจกรรมการเชื่อมต่อ หากต้องการเริ่มการสตรีมเสียงใหม่ ให้ทำตามขั้นตอนข้างต้นโดยเริ่มจากขั้นตอนที่ 5 เมื่อศูนย์กลางไม่ได้สตรีมเสียง ควรยังคงรักษาการเชื่อมต่อ LE สำหรับบริการ GATT
อุปกรณ์ต่อพ่วงจะไม่ออกการอัปเดตการเชื่อมต่อไปยังส่วนกลาง เพื่อประหยัดพลังงาน ส่วนกลางอาจออกการอัปเดตการเชื่อมต่อกับอุปกรณ์ต่อพ่วงเมื่อไม่ได้สตรีมเสียง