在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

高通驍龍上的藍牙A2DP和HFP

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Shahrad Payandeh ? 2022-08-12 11:58 ? 次閱讀

Snapdragon 平臺具有適用于任何類型的音頻/語音處理系統的所有必要組件。本文著眼于如何使用 Snapdragon 的藍牙無線電芯片來創建完整的藍牙音頻系統。

將 QCA 藍牙/Wi-Fi 模塊與 Snapdragon 配合使用是藍牙用例的完整解決方案。在本文中,我們將提供一些有關音頻路由和 BlueZ 接口的信息,以使 Snapdragon 平臺(在此示例中為 APQ8009 - Snapdragon 200 系列)成為免提設備。在這個平臺中,我們使用帶有 I2S 接口的 WCD9326 作為前端音頻編解碼器。

QCA 模塊具有專用于 APQ 的總線接口,使用此總線和定制的主機控制器接口 (HCI) 驅動程序,用戶應用程序可以以與以前相同的方式與藍牙接口通信(圖 1)。接口模塊可以使用共享內存基礎通信直接訪問低功耗音頻子系統 (LPASS)。LPASS 是 Hexagon 數字信號處理器DSP),它為信號處理應用提供了一個平臺。這意味著需要對藍牙流進行的任何處理都可以在作為 Snapdragon 的一部分的 LPASS 中完成。

450-58b609b42dccb-Picture1.png.jpg

【圖1 | 與藍牙接口通信的用戶應用程序]

該平臺上的人機交互 (HCI) 接口是一個共享的、基于內存的驅動程序,您可以將它與各種藍牙堆棧一起使用。我們將使用 BlueZ 作為示例。

使用高級音頻分發配置文件 (A2DP) 接收器和免提配置文件 (HFP),您可以設計出大多數車載套件中的藍牙揚聲器/HFP 設備。

A2DP 接收器配置文件

讓我們完成啟用此配置文件的步驟:

在 BlueZ 配置中啟用配置文件。

在 DBus 配置中啟用正確的消息。使用 。添加與每個接口相關的 DBus 消息dbus_bus_add_match。

開始偵聽 DBus 以獲取與請求連接相關的消息,并提供代理以使用dbus_connection_pop_message.

media_register_endpoint使用 A2DP的正確 UUID 為A2DP 接收器注冊正確的端點。

等待 DBus 上的設置和選擇配置消息,這將由遠程設備觸發。SelectConfiguration 之類的消息將通知 SBC 編解碼器的正確設置。

配置編解碼器(如 SBC)后,收聽播放消息。收到 SetConfiguration 消息后,打開線程進行下一步。

BlueZ 堆棧提供指向來自遠程設備的音頻流的文件指針。

打開該流,讀取數據包,對其進行解碼,然后將它們發送到輸出音頻設備。

在這個級別,LPASS 就位,音頻流將由 DSP 處理。使用 Hexagon DSP 及其軟件開發套件 (SDK),您可以在將其傳遞到 APQ 之前進行任何自定義音頻處理。例如,您可以將低復雜度子帶編碼 (SBC) 解碼留給 DSP 和/或對音頻流進行一些過濾。高級操作系統 (HLOS) 上的音頻接口是標準的。例如,在 Linux/Android 上,高級 Linux 聲音架構 (ALSA) 是音頻層。在 ALSA 端使用混音器命令,您可以控制音頻路由,這為 HLOS 端提供了靈活性。

音頻路由

要設置揚聲器路由,請應用混音器命令來設置 CODEC。

cset “name=‘MI2S_RX Channels’ 1”

cset “name=‘SLIM RX0 MUX’ 1”

cset “name=‘RX INT7_1 MIX1 INP0’ 5”

cset “name=‘COMP7 Switch’ 1”

cset “name=‘SpkrLeft COMP Switch’ 1”

cset “name=‘SpkrLeft BOOST Switch’ 1”

cset “name=‘SpkrLeft SWR DAC_Port Switch’ 1”

cset “name=‘PRI_MI2S_RX Audio Mixer MultiMedia2’ 1”

現在,使用任何將音頻流發送到 MultiMedia2 的播放應用程序將音頻流從 DSP 路由到揚聲器。

免提配置文件

由于 BlueZ 堆棧支持 HFP,我們可以輕松設置對 HFP 的支持,如下所示

設置 BlueZ 配置以支持 HFP。

設置 DBus 配置以獲取 HFP 消息。

使用適當的設置設置語音的 HCI。

hciconfig hci0 類 4C0100

聽取配對請求并提供適當的代理來完成配對。

啟用同步面向連接 (SCO) 連接。

等待 BlueZ 堆棧提供 RFCOMM 和 SCO 套接字。

當 SCO 連接建立后,LPASS 將擁有來自藍牙接口模塊的 TX 和 RX 音頻流。

現在 LPASS(Hexagon DSP)就位。音頻流將通過 DSP 并傳遞到 APQ。使用 DSP 上的現有模塊,您可以輕松地為 HFP 案例設置回聲消除系統。此外,現有的模塊可用于噪聲消除或抑制。

音頻路由

amixer cset name=‘MI2S_RX Channels’ ‘Two’

amixer cset name=‘SLIM RX0 MUX’ ‘AIF1_PB’

amixer cset name=‘SLIM RX1 MUX’ ‘AIF1_PB’

amixer cset name=‘RX INT7_1 MIX1 INP0’ ‘RX0’

amixer cset name=‘RX INT8_1 MIX1 INP0’ ‘RX1’

amixer cset name=‘COMP7 Switch’ 1

amixer cset name=‘COMP8 Switch’ 1

amixer cset name=‘SpkrLeft COMP Switch’ 1

amixer cset name=‘SpkrLeft BOOST Switch’ 1

amixer cset name=‘SpkrLeft VISENSE Switch’ 1

amixer cset name=‘SpkrLeft SWR DAC_Port Switch’ 1

amixer cset name=‘RX7 Digital Volume’ 90

amixer cset name=‘RX8 Digital Volume’ 90

amixer cset name=‘AIF1_CAP Mixer SLIM TX6’ 1

amixer cset name=‘MI2S_TX Channels’ 0

amixer cset name=‘SLIM TX6 MUX’ 2

amixer cset name=‘ADC MUX6’ 0

amixer cset name=‘DMIC MUX6’ 1

amixer cset name=‘IIR0 INP0 MUX’ 7

amixer cset name=‘PRI_MI2S_RX Port Mixer INTERNAL_BT_SCO_TX’ 1

amixer cset name=‘HFP_INT_UL_HL Switch’ 1

amixer cset name=‘INTERNAL_BT_SCO_RX Audio Mixer MultiMedia6’ 1

amixer cset name=‘MultiMedia6 Mixer QUAT_MI2S_TX’ 1

aplay -D hw:0,5 -P &

arec -D hw:0,17 -P -R 8000 -C 1 &

aplay -D hw:0,18 -P &

arec -D hw:0,18 -P -R 8000 -C 1 &

使用此環回,音頻流來自藍牙,被路由到揚聲器和來自麥克風的音頻流,并被路由到藍牙。

在所有這些情況下,您需要做的是在 RX 或 TX 音頻路徑中設置拓撲(音頻/語音處理模塊的組合),并在拓撲中定義它。然后,在需要時將該拓撲 ID 加載/發送到 DSP。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • dsp
    dsp
    +關注

    關注

    556

    文章

    8151

    瀏覽量

    355921
  • 揚聲器
    +關注

    關注

    29

    文章

    1338

    瀏覽量

    63980
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    正在成為PC出色動力的核心

    一年前搭載開創性X系列平臺的設備開始面市。如今,正在成為PC出色動力的核心。通公司總裁兼CEO安蒙在COMPUTEX 2025
    的頭像 發表于 05-21 17:33 ?488次閱讀

    通發布全新6 Gen 4移動平臺

    近日,通公司正式推出了其全新的移動平臺——6 Gen 4,官方中文命名為“第四代6”。該平臺旨在為用戶帶來更加出色的日常使用體驗。
    的頭像 發表于 02-13 10:03 ?1849次閱讀

    通明年8 Elite 2芯片全數交由臺積電代工

    芯片代工伙伴。一次通選擇三星代工,還要追溯到2021年的8第一代芯片,當時采用的是三星的4納米制程。 據悉,臺積電將為通生產
    的頭像 發表于 12-30 11:31 ?1024次閱讀

    通推出8至尊版

    計算攝影時代,AI在手機拍攝場景中扮演著越來越重要的角色。通始終致力于以強大的AI性能賦能終端側影像發展,全新推出的8至尊版移動平臺搭載第二代通Oryon CPU和
    的頭像 發表于 12-23 13:38 ?1234次閱讀
    <b class='flag-5'>高</b>通推出<b class='flag-5'>驍</b><b class='flag-5'>龍</b>8至尊版

    8至尊版發布!虹軟攜手通再創極致影像體驗

    一年一度的技術峰會正在夏威夷火熱進行。這次,通全新一代旗艦移動平臺——8 至尊版(
    的頭像 發表于 10-24 11:11 ?632次閱讀

    通發布汽車新品:Ride至尊版平臺

    近日,在峰會2024,通正式揭曉了其汽車產品路線圖中的最新力作——
    的頭像 發表于 10-23 10:32 ?793次閱讀

    性能提升45%!通推出8 Elite,首款采用Oryon 核心的移動SoC

    北京時間10月22日凌晨,在美國夏威夷舉行的技術峰會上,通CEO安蒙說,我們用平臺
    的頭像 發表于 10-22 18:24 ?6711次閱讀
    性能提升45%!<b class='flag-5'>高</b>通推出<b class='flag-5'>驍</b><b class='flag-5'>龍</b>8 Elite,首款采用Oryon 核心的移動SoC

    PSOC6將藍牙A2DP源移植到STM32未定義引用\"\" 錯誤,如何解決?

    我正在嘗試將 PSOC6 藍牙 A2DP 信號源導入 STM32。 但我檢查了所有內容,卻得到一個未定義引用的錯誤,如何解決?
    發表于 09-23 06:15

    經典藍牙協議PAN詳解

    藍牙 Profile定義了藍牙設備之間如何進行通信以及實現特定的功能和應用場景。正是由于各種Profile的存在拓展出了藍牙豐富的應用場景,例如A2DP、
    的頭像 發表于 07-17 09:25 ?5445次閱讀
    經典<b class='flag-5'>藍牙</b>協議PAN詳解

    請問哪種型號的藍牙或WIFI/bt組合支持A2DP、AVRCP、HFP、MAP 1.3.1或1.4.2配置文件?

    請問哪種型號的藍牙或 WIFI/bt 組合支持 A2DP、AVRCP、HFP、MAP 1.3.1 或 1.4.2 配置文件? 謝謝!
    發表于 07-05 06:28

    使用ESP32-WROVER-E模塊,A2DP/BLE coex情況下連接BLE的時候會造成系統重啟怎么解決?

    我有一個項目使用ESP32-WROVER-E 模塊,需要實現BLE/A2DP 共存工作。功能要求是: 1.連接BLE后使用手機的MAC地址(保存在FLASH中)去連接A2DP。 2.關閉BLE后同時
    發表于 06-28 07:57

    使用ESP32_LyraT 4.3開發板編譯燒錄pipeline_a2dp_sink_and_hfp工程在hfp模式下有雜音怎么解決?

    使用一塊ESP32_LyraT 4.3開發板編譯燒錄esp-adfexamplesget-startedpipeline_a2dp_sink_and_hfp示例工程后發現在hfp模式下通話有雜音。
    發表于 06-28 07:53

    ESP32-LyraT v4.3 HFP模式中聽筒噪音嚴重,MIC聲音對方聽不清怎么解決?

    ESP32-LyraT v4.3開發板,運行 pipeline_a2dp_sink_and_hfp 例程,并使ESP32-LyraT開發板與安卓手機通過藍牙成功連接。(hfp ove
    發表于 06-28 07:53

    藍牙a2dp sink模式關閉藍牙后,重新打開無法連接,為什么?

    失能藍牙,反初始化,關閉主任務 然后,再次初始化,開啟藍牙、主任務,可以連接藍牙,但是不能作為音頻設備連接上。 只能用一次的藍牙音箱,不符合要求啊! 測試代碼如下: re
    發表于 06-26 07:28

    ble和a2dp共存,進入ble掃描的時候,音頻數據接收會丟失怎么解決?

    ble和a2dp共存,進入ble掃描的時候。音頻數據接收會丟失。會卡卡頓 怎么解決?
    發表于 06-24 08:10
    主站蜘蛛池模板: 日本成人免费观看 | 青草悠悠视频在线观看 | 国产亚洲欧美一区二区 | 国产视频二区 | 丁香五月缴情在线 | 免费观看理论片毛片 | 亚洲综合香蕉 | 天天拍夜夜添久久精品中文 | 婷色| 日本aaaa级 | 国产精品三级国语在线看 | 黄色二级视频 | 亚洲精品精品一区 | 你懂的国产 | 免费观看欧美成人1314w色 | 一区二区三区高清在线观看 | 日本夜夜操 | 天天干天天操天天摸 | 风流护士 | 正在播放羽月希与黑人bd在线 | 亚洲第一区第二区 | 日日噜噜夜夜狠狠久久aⅴ 日日噜噜夜夜狠狠久久丁香 | 亚洲激情婷婷 | 亚洲狠狠97婷婷综合久久久久 | 九月婷婷综合 | 六月婷婷综合激情 | 轻点灬大ji巴太粗太长了h | 青青热久久国产久精品秒播 | 激情在线视频 | 三级黄页 | 无人码一区二区三区视频 | 国产怡红院 | 亚色在线 | 久久久久国产一级毛片高清片 | 你懂的在线免费 | 国产日韩精品一区二区三区 | 国产主播精品在线 | 免费一级e一片在线播放 | 日韩欧美理论 | 日本成片免费高清 | 午夜两性色视频免费网站 |