İşitme cihazı cihazlarının (HA) erişilebilirliği iyileştirilebilir Bağlantı odaklı L2CAP kullanan Android destekli mobil cihazlar (CoC) üzerinden yayınladığımız içerikleri (COC) ayarlayabilirsiniz. CoC, elastik bir sabit bir ses akışı sağlamak üzere, ses paketinden oluşan bir arabellek olduğunu unutmayın. Bu arabellek, işitme cihazı cihazlarıyla gecikme pahasına.
CoC'nin tasarımında Bluetooth Temel spesifikasyon sürüm 5 (BT). Temel spesifikasyonlarla uyum sağlamak için, çok baytlı küçük-endian olarak okunur.
Terminoloji
- Merkezi - Tarama yapan Android cihaz ve Bluetooth üzerinden verir.
- Çevre birimi: İleti gönderen işitme cihazı aktarmanızı sağlar.
Ağ topolojisi ve sistem mimarisi
İşitme cihazları için CoC kullanılırken ağ topolojisi, işitme cihazları için tek bir (biri sol ve bir sağ olmak üzere) orta ve iki çevre birimi 1. Şekil. Bluetooth ses sistemi sol tarafı görüntüler olarak ayarlayabilirsiniz. Çevre birimi tek ses uydurma veya bağlantı kaybından dolayı kaybolduğunda Central, sol ve sağ ses kanalını karıştırıp sesi iletir kalan çevre birimine bağlanır. Merkezin hem merkez birimi, çevre birimlerini kullanırsa ses havuzuna emin olun. Böyle durumlarda merkezi, sesi başka bir çıkışa yönlendirir.
Şekil 1. İşitme cihazlarını
BDE üzerinden CoC kullanan Android mobil cihazlar
Merkezi cihaz, çevre birimine ses verisi akışı yapmadığında ve BDE bağlantısını sürdürürseniz merkezden çevre birimi. Bağlantının sürdürülmesi veri iletişimine olanak tanır GATT sunucusuna gönderilir.
İşitme cihazları eşlenirken ve bağlanırken merkez birimi:
- En son eşlenen sol ve sağ çevre birimlerini takip edin.
- Geçerli bir eşleme varsa çevre birimlerinin kullanıldığını varsayın. İlgili içeriği oluşturmak için kullanılan merkezi, eşlenen cihazla bağlanmaya veya yeniden bağlantıyı kaldırabilirsiniz.
- Bir eşleme silinirse çevre birimlerinin artık kullanılmadığını varsayın.
Yukarıdaki durumlarda eşleme, bir veya başka bir kişinin belirli bir UUID ile işitme cihazını kaydettirmek ve Bluetooth eşleştirme işleminde değil, OS'te sol/sağ tanımlayıcıları.
Sistem gereksinimleri
Bluetooth ve çevre birimi cihazlarındaki sistemler:
- BT 4.2 veya üzeri uyumlu bir kumanda kullanmalıdır. LE Secure Connections kesinlikle önerilir.
- 2 eşzamanlı LE bağlantısını destekleyen ve Ses paketi biçimi ve zamanlama.
- çevre biriminin, parametrelerle birlikte en az 1 LE bağlantısını desteklemesini sağlayın Ses paketi biçimi ve zamanlama.
- LE kredisine dayalı bir akış kontrolüne sahip olmalıdır [BT Vol 3, Bölüm A, Sec 10.1]. Cihazlar, CoC ile 8 pakete kadar arabelleğe alınabilir.
- LE veri uzunluğu uzantısı [BT Vol 6, Part B, Sec 5.1.9], Yüklü olması gerekir.
-
cihazın HCI LE Connection Güncelleme Komutunu desteklemesini sağlama
ve sıfır olmayan
maximum_CE_Length
veminimum_CE_Length
parametre - iki LE CoC bağlantısı için veri işleme hızını merkeze alan bağlantı aralıkları ve yüke sahip farklı çevre birimleri Ses paketindeki boyut sayısı biçimi ve zamanlama.
-
çevre biriminin
MaxRxOctets
veLL_LENGTH_REQ
içindeMaxRxTime
parametre veyaLL_LENGTH_RSP
kareleri gereken en küçük değerler olacak şekilde ayarlayın izin verilmez. Bu sayede merkezde süreyi hesaplarken zaman planlayıcısını optimize etme bir kare almak için gereken şeydir.
Merkezi ve çevre biriminin 2 MB PHY'yi desteklemesi önemle tavsiye edilir. BT 5.0 spesifikasyonunda belirtilir. Orta bölüm, şuranın ses bağlantılarını desteklemelidir: 1M ve 2M PHY'lerde en az 64 kbit/sn. BDE uzun menzili PHY kullanılmamalıdır.
CoC, bağlantı katmanı şifrelemesi için standart Bluetooth mekanizmaları kullanır zaman atlamasını da sağlar.
ASHA GATT hizmetleri
Bir çevre birimi, İşitme Cihazı için Ses Akışı'nı uygular (ASHA) GATT sunucu hizmeti hakkında daha fazla bilgiyi aşağıda bulabilirsiniz. Çevre birimi izin vermek için genel bulunabilir modda bu hizmetin reklamını ses havuzu algılanır. LE ses akışı işlemleri için şifreleme gerekir. BDE ses akışı şunlardan oluşur: şu özelliklere sahiptir:
Özellik | Özellikler | Açıklama |
---|---|---|
Salt Okunur Özellikler | Oku | ReadOnlyProperties'e bakın. |
SesDenetim Noktası | Yanıt Almadan Yazma ve Yazma | Ses yayını için denetim noktası. Görüntüleyin AudioControlPoint olarak ayarlayabilirsiniz. |
SesDurum Noktası | Oku/Bildir | Ses kontrol noktası için durum raporu alanı. Görüntüleyin AudioStatusPoint öğesidir. |
Ses | Yanıt kullanmadan yaz | -128 ile 0 arasında, uygulanacak zayıflama miktarını gösteren bayt -48 dB ile 0 dB arasında değişen ses sinyali. Ayar -128, tamamen sessiz (sessiz olmayan en düşük ses düzeyi) olarak yorumlanmalıdır. ses seviyesi -127'dir ve bu, -47,625 dB zayıflamaya eşdeğerdir. 0 ayarında, akarılan raydan raya sinüs tonu akışı, 100 dBSPL girişini temsil etmelidir işitme cihazında eşdeğeri. Ortadaki akış, nominal ve bu değişkeni kullanarak istediğiniz sunu seviyesini devre dışı bırakılır. |
LE_PSM_OUT | Oku | Ses kanalını bağlamak için kullanılacak PSM. Seçilecek dinamik aralık [BT Cilt 3, Bölüm A, Kısım 4,22] |
Hizmete atanan UUID'ler ve özellikler:
Hizmet UUID'si: {0xFDF0}
Özellik | UUID |
---|---|
Salt Okunur Özellikler | {6333651e-c481-4a3e-9169-7c902aad37bb} |
SesDenetim Noktası | {f0d4de7e-4a88-476c-9d9f-1937b0996cc0} |
Ses Durumu | {38663f1a-e711-4cac-b641-326b56404837} |
Ses | {00e4ca9e-ab14-41e4-8823-f9e70c7e91df} |
LE_PSM_OUT | {2d410339-82b6-42aa-b34e-e2e01df8cc1a} |
ASHA GATT hizmetine ek olarak çevre birimi ayrıca merkezin şunları algılamasını sağlamak için Cihaz Bilgileri Hizmeti'ni devreye sokmak çevre biriminin üretici adlarını ve cihaz adlarını girin.
Salt Okunur Özellikler
ReadOnlyProperties aşağıdaki değerlere sahiptir:
Bayt | Açıklama |
---|---|
0 | Sürüm - 0x01 olmalıdır |
1 | DeviceCapabilities (Cihaz Yetenekleri) bölümüne göz atın. |
2-9 | HiSyncId'ye bakın. |
10 | FeatureMap'e göz atın. |
11-12 | Oluşturma Gecikmesi. Bu, milisaniye cinsinden, çevre birimi, çevre birimi oluşturulana kadar bir ses karesi alır çıktı. Bu baytlar bir videoyu geciktirmek için kullanılabilir. ses ile senkronize edilir. |
13-14 | İleride kullanılmak üzere ayrılmıştır. Sıfır olarak başlat. |
15-16 | Desteklenen Codec Kimlikleri. Bu bir bit maskesi listesini sunar. Bir bit konumundaki 1, bir destekler. Örneğin, 0x0002, G.722'nin 16 kHz'de olduğunu gösterir desteklenir. Diğer tüm bit değerleri 0 olarak ayarlanır. |
Cihaz Özellikleri
Keser | Açıklama |
---|---|
0 | Cihaz tarafı (0: sol, 1: sağ) |
1 | Cihazın bağımsız olup olmadığını ve mono veri alıp almadığını ya da cihaz bir grubun parçası (0: tek yönlü, 1: stereofonik) |
2 | Cihaz, CSIS'yi destekliyor (0: desteklenmiyor, 1: destekleniyor) |
3-7 | Ayrılmış (0 olarak ayarlandı) |
HiSyncID
Bu alan tüm stereofonik cihazlar için benzersiz olmalıdır, ancak aynıdır.
Bayt | Açıklama |
---|---|
0-1 | Üreticinin kimliği. Uygulama, Şirket Tanımlayıcılar BTSIG tarafından atanır. |
2-7 | İşitme cihazı grubunu tanımlayan benzersiz kimlik. Bu kimlik ayarlanmalıdır aynı değere sahiptir. |
Özellik Haritası
Keser | Açıklama |
---|---|
0 | LE CoC ses çıkışı akışı desteklenir (Evet/Hayır). |
1-7 | Ayrıldı (0 olarak ayarlandı). |
Codec Kimlikleri
Bit ayarlanmışsa ilgili codec desteklenir.
Kimlik&sp;/&sairsp;Bit numarası | Codec ve örnek hızı | Gerekli bit hızı | Kare süresi | Merkezi (C) veya çevre biriminde (P) zorunlu |
---|---|---|---|---|
0 | Rezervasyon yapıldı | Rezervasyon yapıldı | Rezervasyon yapıldı | Rezervasyon yapıldı |
1 | 16 kHz'de G.722 | 64 kbit/sn | Değişken | C ve P |
2-15 tane ayırtılmıştır. . 0 değeri de ayrılmıştır. |
SesDenetim Noktası
LE CoC kapalıyken bu denetim noktası kullanılamaz. Görüntüleyin Başlangıç ve Prosedür açıklaması için ses yayınını durdurma.
İşlem kodu | Argümanlar | GATT alt prosedürü | Açıklama |
---|---|---|---|
1 «Start» |
|
Yazarak yanıt verin ve şu e-posta üzerinden ek durum bildirimi almayı bekleyin: AudioStatusPoint özelliği. |
Çevre birimine codec'i sıfırlamasını ve
0. kare oynatılıyor. Codec alanı, kullanılacak codec kimliğini gösterir
bu oynatma için geçerli.
Örneğin, codec alanı "1"dir. G.722 için 16k Hz. Ses türü bit alanı, mevcut ses türlerini gösterir sohbet sırasında:
Çevre birimi, son 30 güne kadar «Stop» işlem kodu alındı.
|
2 «Stop» |
Yok | Yazarak yanıt verin ve şu e-posta üzerinden ek durum bildirimi almayı bekleyin: AudioStatusPoint özelliği. | Çevre birimine ses oluşturmayı durdurmasını söyler. Yeni ses kurulum sırası, bu durma işleminden sonra başlatılmalıdır. kullanarak sesi tekrar oluşturun. |
3 «Status» |
|
Yanıt eklemeden yaz |
Bağlı çevre birimine,
olduğunu göreceksiniz. Bağlı alan, güncellemenin türünü gösterir:
|
SesDurum Noktası
Ses kontrol noktası için durum raporu alanı
İşlem kodları | Açıklama |
---|---|
0 | Durum: İyi |
-1 | Bilinmeyen komut |
-2 | Geçersiz parametreler |
ASHA GATT hizmetiyle ilgili reklamlar
Hizmet UUID'si reklam paketi ekleyin. Reklamda veya taramada çevre birimlerinde Hizmet Verileri yer almalıdır:
Bayt ofseti | Ad | Açıklama |
---|---|---|
0 | REKLAM Uzunluğu | >= 0x09 |
1 | Reklam Türü | 0x16 (Hizmet Verileri - 16 bit UUID) |
2-3 | Hizmet UUID'si |
0xFDF0 (küçük-endian) Not: Bu geçici bir kimliktir. |
4 | Protokol Sürümü | 0x01 |
5 | Kapasite |
|
6-9 | Kısaltılmış HiSyncID | HiSyncId. Bu baytlar, kimliğin en rastgele bölümü olmalıdır. |
Çevre birimlerinin Tam Yerel Adı olmalıdır veri türü olduğunu unutmayın. Bu adla, Kullanıcının seçim yapabilmesi için mobil cihazın kullanıcı arayüzünde doğru cihaza yükleyin. Ad, sol veya sağ tarafı belirtmemelidir sağlandığı için bu bilgilerin DeviceCapabilities (Cihaz Yetenekleri)
Çevre birimleri, adı ve ASHA hizmeti veri türlerini aynı çerçeve türünü (ADV veya TARAMA RESP) belirleyip iki veri türünü ("Tam Yerel Ad" "ASHA hizmeti için Hizmet Verileri") görünecektir ekleyebilirsiniz. Bu şekilde mobil cihaz tarayıcısı her iki veriyi de alabilir eklemeniz gerekir.
İlk eşleme sırasında çevre birimlerinin mobil cihazın hızlı bir şekilde çalışmasını sağlayacak kadar hızlı çevre birimlerini keşfedip bunlarla olan bağlarını kurun.
Sol ve sağ çevre birimi cihazlarını senkronize et
Android mobil cihazlarda, çevre birimi cihazlarında Bluetooth ile çalışmak için senkronize edilmesini sağlamaktan sorumludur. Oynatma sol ve sağ çevre birimi cihazlarının şurada senkronize edilmesi gerekiyor: gerekir. Her iki çevre birimi cihazı, aynı kaynakta kalır.
Çevre birimi cihazları, bir adım sırası kullanarak zamanlarını senkronize edebilir sayı, ses yükünün her paketinin başına eklenen sayıdır. Merkezi aynı anda çalınması amaçlanan ses paketlerinin sayısı aynı sıra numarasına sahip olmalıdır. Sıra sayısı her ses paketinden sonra bir birim artar. Her dizi numara 8 bit uzunluğundadır, bu nedenle sıra numaraları 256'dan sonra tekrarlanacaktır ses paketleri olabilir. Her ses paketi boyutu ve örnek hızı sabit olduğundan her bağlantı için, iki çevre birimi, her bir bağlantının oynatma süresidir. Ses paketi hakkında daha fazla bilgi için bkz. Ses paketi biçimi ve zamanlama.
Merkezi işlev, senkronizasyon sırasında stereofonik cihazlara tetikleyiciler sağlayarak yardımcı olur gerekebilir. Bu tetikleyiciler, her bir çevre birimine ilgili öğenin durumu hakkında bilgi verir. eşlenen bir çevre birimi cihazıyla ilgili her işlem senkronizasyonu etkileyebilir. Tetikleyiciler şunlardır:
-
AudioControlPoint'in
«Start»
komutunun bir parçası olarak, stereofonun diğer tarafının mevcut bağlantı durumu cihaz verilmelidir. -
Bağlantınız kesildiğinde veya bağlantı kesildiğinde ya da
bir çevre biriminde bağlantı parametresi güncelleme işlemi yapılır.
AudioControlPoint'in
«Status»
komutu diğer tarafını da oynatabilirsiniz.
Ses paketi biçimi ve zamanlaması
Ses çerçevelerini (örnek blokları) paketlere paketlemek bağlantı katmanı zamanlama çapalarından araç türetimi. Alıcı: uygulama sürecini basitleştirin:
- Ses çerçevesi her zaman bağlantı zaman aralığıyla eşleşmelidir. Örneğin, bağlantı aralığı 20 ms ve örnek hızı 16 kHz ise ses çerçevesi 320 örnek içermelidir.
- Sistemdeki örnek hızları 8 kHz'in katları ile bir çerçevede her zaman tam sayı olan örnek sayısı çerçeve süresini veya bağlantı aralığını değiştirebilirsiniz.
- Ses karelerinin başına bir sıra baytı eklenir. Sıra baytı saymalarını sağlar ve çevre biriminin, çevre biriminin arabellek uyuşmazlığını veya yetersizliği saptamanıza yardımcı olabilir.
-
Bir ses çerçevesi her zaman tek bir LE paketine sığmalıdır. Ses
çerçevesi ayrı bir L2CAP paketi olarak gönderilmelidir. LE boyutu
LL PDU:
ses yük boyutu + 1 (sıra sayacı) + 6 (L2CAP başlığı için 4, SDU için 2) - Bağlantı etkinliği her zaman 2 ses içerecek kadar büyük olmalıdır paket ve 2 boş paket içerir. her zaman dönüşüm işleminden geçiyor. Ses paketinin merkezin Bluetooth denetleyicisidir. Çevre birimi, alabiliyor olmalıdır. bağlantı etkinliği başına 2'den fazla parçalı ses paketi.
Merkezine bir miktar esneklik kazandırmak için G.722 paket uzunluğu belirtiliyor. G.722 paketinin uzunluğu bağlantıya bağlı olarak değişebilir zaman aralığı.
G.722 çıkış sekizli biçimi, Rek. ITU-T G.722 (09.2012) bölüm 1.4.4 "Multiplexer"
Çevre biriminin desteklediği tüm codec'ler için çevre birimi, aşağıdaki bağlantı parametrelerini destekler. Bu listede olası her örneğe yer verilmemiştir tek bir konfigürasyondan oluşur.
Codec | Bit hızı | Bağlantı aralığı | CE Uzunluğu (1 milyon/2 milyon PHY) | Ses yükü boyutu |
---|---|---|---|---|
16 kHz'de G.722 | 64 kbit/sn | 20 ms. | 5000/3750 abd | 160 bayt |
Ses yayını başlatma ve durdurma
Ses akışı başlatılmadan önce merkezde bulunan alan, çevre birimlerini sorgular ve ortak payda codec'i oluşturur. Akış kurulumdan sonra aşağıdaki sırayı takip eder:
- PSM ve isteğe bağlı olarak RenderDelay okunur. Bu değerler merkezi tarafından önbelleğe alınabilir.
- CoC L2CAP kanalı açıldı; çevre birimi 8 kredi verecek. ilk adımıdır.
- Parametrelerin bağlantısını değiştirmek için bir bağlantı güncellemesi yayınlandı için gereklidir. Merkez bu bağlantı güncellemesini gerçekleştirebilir önceki adımda CoC bağlantısından önce.
- Hem merkezi hem de çevre birimi ana makinesi güncellemeyi bekler gösterir.
-
Ses kodlayıcıyı yeniden başlatın ve paket sırası sayısını 0 olarak sıfırlayın.
İlgili parametreleri içeren bir
«Start»
komutu yayınlanan tüm adımları listeler. Merkez, başarılı bir durum bildirimi gönderilmesini bekler komutu, akış öncesinde çevre biriminden alınan önceki«Start»
komutunun bir örneğidir. Bu bekleme, çevre birimine hazırlaması gerekir. Ses akışı sırasında replika, her bağlantı etkinliğinde kullanılabilir olması gerekir. replika gecikmesi sıfır olmayabilir. - Çevre birimi, dahili sırasından ilk ses paketini alır (sıra numarası 0) söyler ve çalar.
Merkezinde, aynı sayfada bulunan «Stop » komutu Ses yayını. Bu komuttan sonra, çevre biriminin bağlantı etkinliği. Ses akışını yeniden başlatmak için aşağıdaki adım sırasını uygulayın: kaldırın. Merkezin ise ses akışı sağlasa da GATT için LE bağlantısı sağlanmalıdır. kullanıma sunuyoruz.
Çevre birimi, merkezi merkeze bağlantı güncellemesi yayınlamamalıdır. Merkezi güçten tasarruf etmek için çevre birimini etkinleştirin.