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

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

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

3天內不再提示

在STM32平臺上實現基于汽車音頻總線的解決方案

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Bhumi Shah ? 2022-06-15 10:43 ? 次閱讀

A2B或“汽車音頻總線”是一項主要為信息娛樂系統開發的新技術,旨在減輕音頻線束的重量和成本。A2B 總線是單主多從系統,其中主控制器上的 A2B 收發芯片為主。A2B 收發器芯片通過單根非屏蔽雙絞線支持多通道數字音頻。此外,A2B 總線將直流電源傳輸到遠程總線供電節點。A2B 收發器連接多個 IC 間聲音 (I2S) 同步、脈沖編碼調制 (PCM) 數據,節點之間最長可達 15 米,所有節點的總長度最長可達 40 米。

A2B 主節點生成時鐘、同步和成幀信號以及從節點的直流電源。A2B 芯片可通過 I2C 進行編程,用于配置和從從設備讀取數據。它提供對從收發器的寄存器和狀態信息以及 I2C 到 I2C 通信的直接訪問。

A2B 網絡基于為整個網絡創建的原理圖建立,包括主節點、從節點以及與其連接的外圍設備。一旦通電,發現機制用于識別網絡中連接的每個節點。所有從節點從從節點 0 到系統中最后一個可用節點依次被發現,然后初始化以進行同步數據交換。所有這些功能都在 A2B 軟件堆棧中實現。A2B 軟件堆棧旨在高效配置、設計和部署 A2B 網絡。

本文深入介紹了生成特定于 STM32 微控制器的目標軟件,其中包含單主單從 A2B 網絡的 A2B 堆棧和應用程序。EVAL-AD2428WD1BZ 板已用作主板,EVAL-AD2428WB1BZ 板已用作從板。該應用程序已創建用于從從設備線路輸入到主設備線路輸出的音頻傳輸。一個連接在從板上的 I2c 設備,該設備一直與主 I2c 總線通信,并向 STM32 微控制器提供運行時運動數據。

A2B 軟件堆棧:

poYBAGKpR4GANotpAAGF5Y3F3Zw591.png

圖 1:A2B 軟件堆棧

圖 1 顯示了 A2B 軟件堆棧的架構。此 A2B 軟件堆棧由 ADI 公司提供,可用于構建特定于任何平臺的應用程序,方法是重新實現平臺抽象層 (PAL) 和移植特定于目標平臺和最終應用程序使用的應用程序層。

基于 A2B 的應用程序開發涉及 3 個主要步驟:

構建特定于定制硬件的目標軟件。

在 sigma studio 上設計 A2B 原理圖。

應用程序代碼開發。

1. 構建特定于定制硬件的目標軟件:

圖 2 顯示了 A2B Stack 目錄結構,它由核心 A2B 堆棧和應用程序文件組成。其中,需要對“a2bstack-pal”和“app”文件夾下的文件進行特定于平臺的修改。

poYBAGKpR4mAdW4dAADf8DXilbs381.png

圖 2:A2B 堆棧目錄結構

在這里,每個目錄都包含功能特定的軟件實現。a2bstack包含用于在發現和配置階段有效協調網絡活動的計劃代碼。除此之外,它還執行封裝在消息和作業中的工作單元。a2bplugin-master包含 A2b 堆棧主節點的源代碼。A2B 網絡發現算法和線路故障診斷功能作為主插件的一部分實現,而a2bslave-plugin包含一個簡單的從插件示例,用作開發自定義插件的啟動板。a2bstack -protobuf包含解析使用 ADI sigma studio 生成的 A2B 總線配置文件的源代碼。此外,用于解析和解碼 Google protobuf 編碼的 A2B 配置文件的代碼。

a2bstack-pal包含 I2c 通信、音頻主機配置、計時器和日志記錄功能的驅動程序實現。表 1 包含需要根據目標平臺重新實現的 PAL 功能列表。其余功能根據應用程序需要提供擴展功能。

pYYBAGKpR5CAWA7hAACOuefa9ng959.png

表 1:PAL 函數列表

A2b 堆棧進程從a2b_palInit函數開始。此函數為平臺創建堆棧 ecb(環境控制塊),其中包含 BaseEcb 和 PalECB。PalEcb 包含設備驅動程序和外圍配置結構的句柄。

pYYBAGKpR5iAIJQnAAB9dEmLwJo939.png

內存管理實現:a2b_palinit為平臺特定的內存管理、定時器、I2c、音頻和插件處理程序分配函數指針。此處解釋了每個功能的基于 STM32 微控制器的實現。

內存管理實現:

A2B 堆棧提供內置的內存管理器,如果不需要特定于目標的內存管理,可以啟用該管理器。我們為此功能啟用了A2B_FEATURE_MEMORY_MANAGER 。

I2c 驅動程序實現:

STM32 的 I2c 總線已為 STM32 微控制器配置如下。

poYBAGKpR6GAIUnCAACUMkuQLmM752.png

a2b_pal_I2cOpenFunc 已實現為 I2c 設備調用HAL_I2C_Init并配置模擬和數字濾波器

pYYBAGKpR7SAcDMxAAB58UiKV4k331.png

a2b_pal_I2cReadFunc已通過使用HAL_I2C_Master_Receive實現, a2b_pal_I2cWriteFunc已使用HAL_I2C_Master_Transmit函數實現以從 I2c 設備讀取/寫入數據。

a2b_pal_I2cWriteReadFunc函數在一次調用中執行 I2c 設備的讀/寫功能。STM32 HAL 驅動程序不通過調用單個函數來提供讀/寫功能。此函數已通過在 I2c 設備上調用基于中斷的 HAL 發送和接收調用來移植。調用 HAL_I2C_Master_Seq_Transmit_IT來發送數據。已調用HAL_I2C_GetState來檢查外設的狀態并等待狀態顯示為“BUSY”。一旦外設完成數據傳輸,就會調用HAL_I2C_Master_Seq_Receive_IT來接收來自 I2c 設備的數據。同樣,HAL_I2C_GetState檢查外設的狀態并在數據接收成功完成后退出該功能。

pYYBAGKpR_qAJOR-AAE17JMBBMg070.png

使用HAL_I2C_DeInit實現的a2b_pal_I2cCloseFunc以取消初始化 I2c 設備。

定時器實現:

定時器功能已使用 HAL 定時器實現。Timer 已配置為 1 毫秒,并作為a2b_pal_TimerInitFunc的一部分啟動,每次調用a2b_pal_TimerCallback時,計數器都會增加1。a2b_pal_TimerGetSysTimeFunc將當前時間保存在 TimerEcb 中。a2b_pal_TimerShutdownFunc實施以停止計時器。

Audio Host 初始化和配置需要基于主機設備的實現。由于已使用評估板,此處的 PAL 不需要在功能上進行任何重新實現。

完成 PAL 的實現后,下一步是將總線配置應用到目標軟件。

2. 在sigma studio上設計A2B Schematic:

A2B 網絡發現基于使用 sigma studio 創建的示意圖運行。原理圖包含目標處理器、主機控制器、A2B 主節點和從節點,以及 A2B 網絡所需的所有 I2c 從屬外圍設備。

這是為具有 I2c 器件的單主、單從器件以及具有 EVM EVAL-AD2428WD1BZ 和 EVAL-AD2428WB1BZ 的音頻功能創建的原理圖。主從配置文件 (.xml) 中的音頻主機已添加到外圍屬性中,以配置從從屬線路輸入到主線路輸出的音頻傳輸。

poYBAGKpR_GAGNpKAAEIraED3NI353.png

圖 3:A2B 單主單從原理圖

如圖 3 所示,A2B 主節點、音頻主機和 I2c EEPROM 設備使用 I2c 總線連接到目標處理器(STM32)。A2B 主節點連接到 A2B 從節點,其中包含 I2c 外圍設備。所有 I2c 設備都定義了 A2B 堆棧用來訪問該設備的指定地址。

原理圖需要在導出到 .c 文件之前使用 PC 和 sigma studio 進行驗證。這將創建總線配置源文件,其中包含每個節點、主、從 I2c 總線和外圍設備節點地址的詳細信息以進行通信。將總線配置文件放到 a2b_app/src 目錄下。A2B 堆棧解析此文件并獲取所有節點的參數,使用此 A2B 堆棧運行網絡發現。如果節點序列和示意圖中定義的屬性與實際硬件連接匹配,則 A2B 堆棧通過發現階段。

into 原理圖中定義的 I2c 設備地址用于與該設備進行通信。一旦這些實現完成,A2B 堆棧就可以發現和配置連接的 A2B 網絡。

3. 應用程序代碼開發

所需的最后一個實現是應用程序實現。A2B 棧提供了三個注冊到棧中的回調函數,可用于重要的網絡活動。這些可以根據事件處理的最終應用程序設計要求重新實現。

發現完成回調函數:

a2b_msgRtrSendRequest(msg, A2B_NODEADDR_MASTER, a2bapp_onDiscoveryComplete );

電源/線路回調函數:

pApp_Info-》notifyPowerFault = a2b_msgRtrRegisterNotify(pApp_Info-》ctx, A2B_MSGNOTIFY_POWER_FAULT, a2bapp_onPowerFault , pApp_Info, A2B_NULL)。

中斷回調函數:

pApp_Info-》notifyInterrupt = a2b_msgRtrRegisterNotify(pApp_Info-》ctx,

A2B_MSGNOTIFY_INTERRUPT、a2bapp_onInterrupt、pApp_Info、A2B_NULL)。

對于這個基于 STM32 的 A2B 實現,現有的回調實現示例沒有被修改。a2b_setup在應用程序啟動時調用,用于 A2B 發現和配置。一旦 A2B 設置返回成功,A2B 網絡就準備好通過 A2B 將音頻從從屬設備傳輸到主設備。

A2B PAL I2c 功能用于與連接在 A2B 從站的 I2c 設備進行通信。這是與 A2B 從 I2c 設備通信以獲取運動數據的代碼示例。

poYBAGKpR-iALdX7AAC9GmQOyhg357.png

除此應用程序外,還需要有一個連續循環來監控 A2B 上發生的任何故障,并將滴答聲提供給 a2b 堆棧。連續滴答使 A2B 堆棧保持激活狀態。

pYYBAGKpR-CAG8VCAACJPvln70s688.png

硬件接口

EVAL AD2428 主節點使用 I2c 線連接到 STM32。Eval AD2428WD1BZ 板包含 P1 連接器,用于在 AD2428 收發器與目標平臺之間進行通信。如下圖所示,將 Eval 板與 STM32 I2c 總線之間的 I2c 和復位線連接起來。

poYBAGKpR9mAHSXfAAA2CNSegSw741.png

圖 4:AD2428WD1DZ Sigma Studio 到 STM32 連接

對于這個項目,評估板、STM32 微控制器和 I2c 外圍設備連接如下圖所示。

pYYBAGKpR9GAbr58AAEOZzy_4mA800.png

圖 5:A2B-STM32 連接

結論:

在本文中,我們討論了如何使用汽車音頻總線或 A2B 進行音頻傳輸以及通過 STM32 控制器平臺訪問 I2c 設備。該項目是使用 Analog Devices, Inc 評估板創建的。提供的詳細信息有助于圍繞 A2B 和 STM32 微控制器技術創建實際產品(音頻產品和其他產品)。A2B 和汽車音頻總線是 ADI 公司的注冊商標。ADI 的主要 A2B 網頁提供指向部件信息、ADI 工具和設計信息的鏈接。

審核編輯:郭婷

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

    關注

    48

    文章

    7922

    瀏覽量

    153790
  • 控制器
    +關注

    關注

    114

    文章

    16995

    瀏覽量

    183123
  • 總線
    +關注

    關注

    10

    文章

    2953

    瀏覽量

    89404
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    能在Meteor Lake平臺上使用SDK 3.5嗎?

    因為客戶有一些特殊要求 ,所以 PD FW 必須實現一些定制功能。 因此,我們希望流星湖中使用 CCG6 - CYPD6127,它的閃存大小比 CYPD6227 大。 因為最新版本的 Host
    發表于 05-26 08:01

    stm32F407平臺上使用freertos,使用pvPortMalloc申請內存,發現內存中的數據總被修改,怎么解決?

    如題,我現在在stm32F407平臺上打開FREERTOS,然后使用pvPortMalloc動態申請內存的時候,發現這塊內存中的數據總是變化,后面改為malloc申請,內存中的數據就符合預期了,我已經按照網上的流程配置了freertos,不知道是什么原因導致這種現象?
    發表于 03-07 09:03

    XMOS將在CES 2025展出多款由邊緣AI驅動的創新音效、音頻、識別和處理解決方案

    XMOS順應AI技術的發展大潮,開發了諸多基于邊緣智能和音頻話音的消費性及專業性解決方案,將在一年一度的CES大展展出這些解決方案
    的頭像 發表于 12-10 11:20 ?599次閱讀

    HAL庫Arduino平臺上的使用

    HAL庫Arduino平臺上的使用 Arduino平臺是一個開源的電子原型平臺,它包括硬件(基于微控制器的電路板)和軟件(Arduino IDE)。Arduino
    的頭像 發表于 12-02 14:04 ?1484次閱讀

    車載應用中的高品質,高性能音頻CODEC解決方案

    車載應用中的高品質,高性能音頻CODEC解決方案 ? ? 新唐科技全方位布局智能車載應用市場,深入車載音頻多樣化應用場景,持續推出音頻的新
    的頭像 發表于 11-28 16:21 ?1289次閱讀
    車載應用中的高品質,高性能<b class='flag-5'>音頻</b>CODEC<b class='flag-5'>解決方案</b>

    物聯數據中是什么意思?AI+IOT物聯網中平臺解決方案

    物聯數據中是什么意思?AI+IOT物聯網中平臺解決方案
    的頭像 發表于 11-25 10:37 ?951次閱讀
    物聯數據中<b class='flag-5'>臺</b>是什么意思?AI+IOT物聯網中<b class='flag-5'>臺</b><b class='flag-5'>平臺</b><b class='flag-5'>解決方案</b>

    CAN總線關閉故障的解決方案

    CAN(Controller Area Network,控制器局域網)總線作為一種實時數據通信協議,廣泛應用于汽車、工業控制等領域。然而,實際應用中,CAN總線可能會遇到各種故障,其
    的頭像 發表于 09-30 11:37 ?5810次閱讀

    請問TLV320ADC6140NXP的iMX6UL平臺上如何配置route?

    我正在嘗試NXP的iMX6UL平臺上Linux 4.1.15版本,使用TLV320ADC6140作為音頻的codec輸入。 此外,
    發表于 09-30 06:09

    直播音頻解決方案

    作為一家HiFi音頻解決方案公司,我們的工作就像是為音頻設備“量身定制衣服”,幫助客戶解決各種音頻相關的問題。無論你是音響制造商、會議設備商、耳機品牌還是游戲
    的頭像 發表于 09-21 10:43 ?984次閱讀
    直播<b class='flag-5'>音頻</b><b class='flag-5'>解決方案</b>

    STM32平臺新選擇:Nand Flash(貼片TF卡)的應用解析

    MK米客方德SD NAND的高性能和高可靠性,使其成為STM32平臺上理想的存儲解決方案。它的廣泛應用不僅提升了嵌入式系統的性能,也為未來的技術創新和應用拓展提供了堅實的基礎。
    的頭像 發表于 09-18 11:04 ?1402次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>平臺</b>新選擇:Nand Flash(貼片TF卡)的應用解析

    飛騰云音頻解決方案

    飛騰云不僅生產音頻模組和解碼器評估板,還專注于開發高品質的HiFi音頻解決方案
    的頭像 發表于 08-30 18:15 ?1111次閱讀
    飛騰云<b class='flag-5'>音頻</b><b class='flag-5'>解決方案</b>

    使用PCM6xx0-Q1系列產品的可擴展汽車音頻解決方案

    電子發燒友網站提供《使用PCM6xx0-Q1系列產品的可擴展汽車音頻解決方案.pdf》資料免費下載
    發表于 08-30 09:22 ?0次下載
    使用PCM6xx0-Q1系列產品的可擴展<b class='flag-5'>汽車</b><b class='flag-5'>音頻</b><b class='flag-5'>解決方案</b>

    MK米客方德SD NAND:STM32平臺上的存儲方案

    STM32平臺上,SD卡的重要性不言而喻,它為嵌入式系統提供了必要的數據存儲和讀寫能力。MK米客方德SD作為市場上的一種選擇,因其耐用性、較小的體積以及高速的傳輸性能,
    的頭像 發表于 08-26 10:23 ?1042次閱讀
    MK米客方德SD NAND:<b class='flag-5'>STM32</b><b class='flag-5'>平臺上</b>的存儲<b class='flag-5'>方案</b>

    深度學習算法嵌入式平臺上的部署

    隨著人工智能技術的飛速發展,深度學習算法各個領域的應用日益廣泛。然而,將深度學習算法部署到資源受限的嵌入式平臺上,仍然是一個具有挑戰性的任務。本文將從嵌入式平臺的特點、深度學習算法的優化、部署流程、代碼示例以及面臨的挑戰和未來
    的頭像 發表于 07-15 10:03 ?2849次閱讀

    一文讀懂音頻解決方案專家

    我們的工廠專注于開發和生產高保真(HiFi)音頻解決方案,特別是基于XMOS技術的產品。XMOS是一種高性能的多核處理器,專門用于實現低延遲、高精度的音頻處理。
    的頭像 發表于 06-21 19:13 ?1040次閱讀
    一文讀懂<b class='flag-5'>音頻</b><b class='flag-5'>解決方案</b>專家
    主站蜘蛛池模板: 最近高清在线视频观看免费 | 五月天婷婷在线视频国产在线 | 国产日韩三级 | 欧洲国产精品精华液 | 全黄色一级片 | 亚洲成人观看 | 人人看操 | 综合六月 | 操操插插 | 四虎成人免费网站在线 | 三级视频网站在线观看播放 | 一级毛片真人免费播放视频 | 久久综合九色综合97_ 久久久 | 欧美视频图片 | 国产码一区二区三区 | 一级做α爰片久久毛片 | 国产精品亚洲色图 | 免费一级毛片不卡在线播放 | 日本h片在线观看 | 夜夜操天天 | 午夜影视免费完整高清在线观看网站 | 97青草| 男生女生靠逼视频 | 伊人久色 | 国产精品久久永久免费 | 日韩一级免费视频 | 天天躁夜夜躁狠狠躁2021 | 性生生活三级视频在线观看 | 美女网战色 | 男女在线免费视频 | 女人爽到喷水的视频大全在线观看 | 日本写真高清视频免费网站网 | 另类free性欧美护士 | 久久精品视频99精品视频150 | 美女牲交视频一级毛片 | 色老头一区二区三区在线观看 | 色综合久久88 | 中文字幕一区在线观看视频 | 奇米影视婷婷 | 人成电影免费观看在线 | 黄色小视频免费 |