色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    7542

    瀏覽量

    151311
  • 控制器
    +關注

    關注

    112

    文章

    16332

    瀏覽量

    177803
  • 總線
    +關注

    關注

    10

    文章

    2878

    瀏覽量

    88051
收藏 人收藏

    評論

    相關推薦

    HAL庫Arduino平臺上的使用

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

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

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

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

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

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

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

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

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

    飛騰云音頻解決方案

    飛騰云不僅生產音頻模組和解碼器評估板,還專注于開發高品質的HiFi音頻解決方案
    的頭像 發表于 08-30 18:15 ?851次閱讀
    飛騰云<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 ?671次閱讀
    MK米客方德SD NAND:<b class='flag-5'>STM32</b><b class='flag-5'>平臺上</b>的存儲<b class='flag-5'>方案</b>

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

    我們的工廠專注于開發和生產高保真(HiFi)音頻解決方案,特別是基于XMOS技術的產品。XMOS是一種高性能的多核處理器,專門用于實現低延遲、高精度的音頻處理。
    的頭像 發表于 06-21 19:13 ?489次閱讀
    一文讀懂<b class='flag-5'>音頻</b><b class='flag-5'>解決方案</b>專家

    arduino平臺上開發esp32c3,twai隊列異常的原因?

    arduino平臺上開發esp32c3。采用了freertos創建了幾個任務。主要有主循環loop和CAN數據讀寫任務。主循環的優先級高于CAN讀寫任務。現在的問題是我CAN任務執行完畢檢查
    發表于 06-11 06:16

    開放式高實時高性能PLC控制器解決方案-基于米爾電子STM32MP135

    STM32MP135的開發。▲STM32CubeMPU MW overview▲Middleware Components 翌控科技LogicLab解決方案基于STM32MP135
    發表于 03-07 20:06

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

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

    把CY8C4146平臺上工程移植到CY8C4147平臺上,用戶程序沒運行的原因?

    客戶現在想把CY8C4146平臺上工程移植到CY8C4147平臺上topdesign重新選擇4147,管腳也調整了一下,編譯重新生成底層代碼,creator4.2IDE編譯沒報錯,同時同步更新
    發表于 02-21 06:04

    釋放總線潛力:汽車總線離線模擬解決方案

    傳統的ECU模擬工具通常需要依賴上位機軟件來發起通信,這在離線場景和自動化產線中帶來不便。為了應對這一挑戰,虹科推出了創新的汽車總線離線模擬解決方案,基于PCAN-Router系列網關,通過內部可編程固件,
    的頭像 發表于 02-20 14:38 ?499次閱讀
    釋放<b class='flag-5'>總線</b>潛力:<b class='flag-5'>汽車</b><b class='flag-5'>總線</b>離線模擬<b class='flag-5'>解決方案</b>

    虹科方案|釋放總線潛力:汽車總線離線模擬解決方案

    導讀: 傳統的ECU模擬工具通常需要依賴上位機軟件來發起通信,這在離線場景和自動化產線中帶來不便。為了應對這一挑戰,虹科推出了創新的汽車總線離線模擬解決方案,基于PCAN-Router系列網關,通過
    的頭像 發表于 01-30 11:10 ?426次閱讀
    虹科<b class='flag-5'>方案</b>|釋放<b class='flag-5'>總線</b>潛力:<b class='flag-5'>汽車</b><b class='flag-5'>總線</b>離線模擬<b class='flag-5'>解決方案</b>
    主站蜘蛛池模板: 色影音先锋av资源网| 国产无遮挡又黄又爽在线视频| 伊人影院蕉久| 手机观看毛片| 日本高清天码一区在线播放| 免费在线观看黄色网址| 久久精品AV一区二区无码| 国语自产拍在线视频普通话| 国产精品免费一区二区三区四区 | 快乐激情站| 久草网国产自偷拍| 黄梅戏mp3大全| 黑人性xxx| 婚后被调教当众高潮H喷水| 国产这里有精品| 混乱家庭电影完整版在线看| 好大太快了快插穿子宫了| 国产在线播放精品视频| 国产一区二区不卡老阿姨| 国产小视频免费在线观看| 国产又粗又猛又爽黄老大爷| 国产午夜三区视频在线| 国际老妇高清在线观看| 灰原哀被啪漫画禁漫| 久久棋牌评测| 某上海少妇3P黑人完整版BD| 嫩草影院成人| 日韩精品真人荷官无码| 色狗av影院| 亚洲va精品中文字幕| 亚洲另类国产综合在线| 伊人久久国产精品| 2020国产成人精品视频人| 99热在线播放| 高干紧射H后入| 国产亚洲精品久久无码98 | 99re8久久热在线视频| free性欧美xxx狂欢| 国产成人精品一区二区三区视频| 国产三级多多影院| 精品香蕉99久久久久网站|