哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【技術(shù)干貨】原來ARM+Linux音頻方案如此簡單!

武漢萬象奧科 ? 2022-07-13 11:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式產(chǎn)品開發(fā)中經(jīng)常遇到音頻的輸入輸出問題,如何為其添加“喇叭”、“麥克風(fēng)”設(shè)備呢?本文將簡單介紹ARM+Linux產(chǎn)品中的音頻解決方案。

我們先認(rèn)識(shí)下I2S(Inter-ICSound)總線。I2S又稱集成電路內(nèi)置音頻總線,該總線專門用于音頻設(shè)備之間的數(shù)據(jù)傳輸,廣泛應(yīng)用于各種多媒體系統(tǒng)。它采用了沿獨(dú)立的導(dǎo)線傳輸時(shí)鐘與數(shù)據(jù)信號(hào)的設(shè)計(jì),通過將數(shù)據(jù)和時(shí)鐘信號(hào)分離,有效避免因時(shí)差誘發(fā)的失真。

以HDG2L-IoT評(píng)估套件為例,RZ/G2L處理器提供至少一路I2S總線,通過該總線與音頻編解碼芯片(IC型號(hào)WM8960)連接,用于提供高質(zhì)量的錄音播音功能。音頻模塊的硬件部署如下所示。

HDG2L-IoT音頻接口

圖1HDG2L-IoT音頻接口

G2L核心板與WM8960的音頻通訊引腳如下所示:

音頻通訊引腳

在Linux系統(tǒng)的音頻編解碼驅(qū)動(dòng)中,通過I2C通訊接口與音頻IC通訊,把音頻IC內(nèi)的各個(gè)功能寄存器抽象成音頻控件,這樣用戶即可在User空間內(nèi)直接調(diào)整IC內(nèi)的參數(shù)。I2S音頻引腳,則是數(shù)字信號(hào)發(fā)送、接收的通道。

播音時(shí),音頻IC接收到數(shù)字信號(hào)后則轉(zhuǎn)換為模擬信號(hào)發(fā)送出去,錄音時(shí),音頻IC把收到的音頻模擬量轉(zhuǎn)換為數(shù)字量,發(fā)送給處理器。

ALSA是linux的主流音頻體系結(jié)構(gòu),它包含內(nèi)核驅(qū)動(dòng)集合,API庫和工具對(duì)Linux聲音進(jìn)行支持,應(yīng)用程序只要調(diào)用alsa-lib提供的API,即可以完成對(duì)底層音頻硬件的控制。

Linux通過alsa庫以及alsa工具管理音頻IC的控件,通過“amixercontrols”列出當(dāng)前系統(tǒng)內(nèi)的音頻控制項(xiàng):

音頻控制項(xiàng)

音頻功能的關(guān)鍵控件信息如下所示。(錄音通道、播音通道、耳機(jī)音量大小、喇叭音量大?。?。

音頻功能的關(guān)鍵控件信息

在開發(fā)板下,運(yùn)行aplay程序可以對(duì)音頻播放進(jìn)行測(cè)試。在測(cè)試前,需要將耳機(jī)插入開發(fā)板的耳機(jī)插孔中。

為測(cè)試基于I2S的音頻輸出接口,在命令行下執(zhí)行如下命令:

5.jpg

其中2.wav為需要播放的音頻文件,且此處假定2.wav位于/home/root/audios目錄下。

在進(jìn)行音頻播放時(shí),對(duì)于基于I2S的音頻輸出接口,可以使用amixer程序?qū)σ袅窟M(jìn)行調(diào)節(jié)。使用amixer程序?qū)Χ鷻C(jī)播放音量進(jìn)行調(diào)節(jié)的命令行格式為:

6.jpg

其音量值取值范圍在0~127之間,127表明最大音量。例如要將音量設(shè)置為100,可在命令行下執(zhí)行如下命令:

7.jpg

將揚(yáng)聲器接入HDG2L-IOT開發(fā)板的左右聲道插座中,在播放音頻前可先設(shè)置揚(yáng)聲器播放音量以及總音量,然后播放音頻文件:

8.jpg

錄音功能需設(shè)置錄音控件的參數(shù),如下所示。

9.jpg

用arecord命令錄音并保存為“/tmp/t.wav”,然后用aplay命令回放進(jìn)行驗(yàn)證。

10.jpg

由于當(dāng)前的麥克風(fēng)輸出信號(hào)僅接到了音頻處理的Left端作為輸入,所以播放錄音文件時(shí)僅左聲道有輸出,若希望將麥克風(fēng)輸出信號(hào)同時(shí)記錄在左右聲道可做如下設(shè)置:

11.jpg

將“ADCDataOutputSelect”設(shè)定為1,其值含義為“LeftData=LeftADC;RightData=LeftADC”。

由上可知,音頻編解碼芯片在Linux系統(tǒng)中以控件的形式存在,內(nèi)部的參數(shù)一般只記錄在內(nèi)存中,當(dāng)系統(tǒng)掉電時(shí),修改的參數(shù)就會(huì)消失,所以需要保存和恢復(fù)指令將上次的參數(shù)保存在配置文件中。

alsa的配置文件為:/var/lib/alsa/asound.state

控件修改后的寫入操作如下所示。

12.jpg

控件恢復(fù)參數(shù)的操作如下所示(注:重啟板子后會(huì)自動(dòng)讀取配置文件)。

13.jpg
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    135

    文章

    9582

    瀏覽量

    393420
  • 嵌入式
    +關(guān)注

    關(guān)注

    5208

    文章

    20620

    瀏覽量

    336658
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11806

    瀏覽量

    219483
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux Kernel 6.1 tools目錄全解析?| RK平臺(tái)ARM64交叉編譯實(shí)戰(zhàn)指南

    ? 在瑞芯微( RK ) ARM64 平臺(tái)嵌入式 Linux 開發(fā)、內(nèi)核調(diào)試與硬件外設(shè)測(cè)試中, Linux 內(nèi)核源碼自帶的 tools 目錄 是官方標(biāo)配的工具集合,涵蓋性能分析、設(shè)備調(diào)試、系統(tǒng)管理
    的頭像 發(fā)表于 04-16 18:42 ?2724次閱讀
    <b class='flag-5'>Linux</b> Kernel 6.1 tools目錄全解析?| RK平臺(tái)<b class='flag-5'>ARM</b>64交叉編譯實(shí)戰(zhàn)指南

    Linux內(nèi)核驅(qū)動(dòng)開發(fā)的技術(shù)核心精要

    嵌入式Linux驅(qū)動(dòng)開發(fā)是連接硬件與操作系統(tǒng)的關(guān)鍵環(huán)節(jié)。隨著內(nèi)核演進(jìn)(如Linux 6.13)和硬件復(fù)雜度提升,開發(fā)者需掌握并發(fā)控制、中斷分層、內(nèi)存管理、設(shè)備樹、調(diào)試工具等核心知識(shí)。本文提煉出驅(qū)動(dòng)
    發(fā)表于 03-10 13:56

    Linux音頻開發(fā)必藏!這個(gè)官網(wǎng)藏著從驅(qū)動(dòng)到應(yīng)用的全套解決方案

    打開alsa-project.org,首先會(huì)被這句簡介擊中:"為 Linux 系統(tǒng)提供音頻與 MIDI 功能的核心架構(gòu)"。作為 2.6 版本后 Linux 內(nèi)核默認(rèn)的音頻子系統(tǒng)
    的頭像 發(fā)表于 02-06 16:56 ?3160次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>音頻</b>開發(fā)必藏!這個(gè)官網(wǎng)藏著從驅(qū)動(dòng)到應(yīng)用的全套解決<b class='flag-5'>方案</b>

    深度解析ES8389/ES8390/音頻芯片Linux驅(qū)動(dòng)(Linux6.1內(nèi)核)

    ? ? ? 在嵌入式音頻開發(fā)中,順芯( Everest ) ES8389/ES8390 是一款高集成度的音頻 Codec 芯片,廣泛應(yīng)用于智能音箱、車載終端、便攜設(shè)備等場(chǎng)景。本文
    的頭像 發(fā)表于 02-02 11:37 ?2238次閱讀
    深度解析ES8389/ES8390/<b class='flag-5'>音頻</b>芯片<b class='flag-5'>Linux</b>驅(qū)動(dòng)(<b class='flag-5'>Linux</b>6.1內(nèi)核)

    2025年國產(chǎn)音頻傳輸模塊產(chǎn)品選購全攻略與技術(shù)方案解析

    國產(chǎn)音頻傳輸模塊品牌在全球市場(chǎng)中嶄露頭角,2025年已成為值得關(guān)注的技術(shù)力量。本文基于權(quán)威數(shù)據(jù)平臺(tái)的分析,詳細(xì)解析國產(chǎn)音頻傳輸模塊廠商的實(shí)力、優(yōu)勢(shì)產(chǎn)品及其應(yīng)用方案,為行業(yè)人士提供專業(yè)參
    的頭像 發(fā)表于 02-01 10:49 ?670次閱讀

    linux-arm開發(fā)環(huán)境的簡單配置

    linux-arm開發(fā)環(huán)境簡單配置 關(guān)于linux-arm開發(fā)環(huán)境簡單配置是ARM學(xué)習(xí)的第一步,很多初學(xué)者會(huì)在這問題上糾結(jié)很久都不能配置好
    發(fā)表于 01-13 07:56

    LE Audio藍(lán)牙模塊方案:重塑無線音頻新體驗(yàn)

    ? 在無線音頻技術(shù)日新月異的今天,藍(lán)牙模塊作為連接設(shè)備的核心組件,其性能與功能直接決定了用戶體驗(yàn)的優(yōu)劣。近期,基于LE Audio標(biāo)準(zhǔn)的新一代藍(lán)牙模塊方案橫空出世,以其卓越的技術(shù)特性和
    的頭像 發(fā)表于 01-06 17:42 ?1719次閱讀

    2025年高性能音頻傳輸模塊選購指南與應(yīng)用方案推薦

    、高音質(zhì)、穩(wěn)定傳輸、低功耗等特點(diǎn),成為音頻設(shè)備制造商關(guān)注的核心技術(shù)。 本文將基于權(quán)威性數(shù)據(jù)平臺(tái)(如MarketsandMarkets、Statista)的市場(chǎng)分析,詳細(xì)介紹2025年高性能音頻傳輸模塊的品牌廠商、優(yōu)勢(shì)產(chǎn)品、
    的頭像 發(fā)表于 12-31 14:34 ?490次閱讀

    分享一個(gè)Linux音頻開發(fā)實(shí)用站:ALSA項(xiàng)目官網(wǎng)使用指南

    經(jīng)常和Linux音頻打交道的朋友,大概率聽過ALSA(Advanced Linux Sound Architecture),它是Linux系統(tǒng)里負(fù)責(zé)
    的頭像 發(fā)表于 12-10 07:03 ?711次閱讀
    分享一個(gè)<b class='flag-5'>Linux</b><b class='flag-5'>音頻</b>開發(fā)實(shí)用站:ALSA項(xiàng)目官網(wǎng)使用指南

    ARM嵌入式這樣學(xué)

    的內(nèi)核就是ARM內(nèi)核,它的主頻高很多,普通的都有幾百M(fèi)。CPU緩存大,分有很多級(jí)的流水處理線,這樣大大提高了CPU利用率。這種IC的資源足以讓一個(gè)嵌入式操作系統(tǒng)正常跑起來,WINCE, LINUX
    發(fā)表于 12-04 07:48

    音頻DSP設(shè)計(jì)與應(yīng)用

    DSP(即數(shù)字信號(hào)處理器)對(duì)于音頻處理技術(shù)至關(guān)重要。 新唐DSP集成了Waves(Maxx音頻),DSP 算法的全球領(lǐng)導(dǎo)者。這包括專用的揚(yáng)聲器校準(zhǔn)算法和心理聲學(xué)算法。此外,它還具有強(qiáng)大的音頻
    發(fā)表于 09-05 07:45

    Linux系統(tǒng)性能調(diào)優(yōu)方案

    關(guān)鍵要點(diǎn)預(yù)覽:本文將深入解析Linux系統(tǒng)性能瓶頸的根本原因,提供可直接落地的調(diào)優(yōu)方案,讓你的系統(tǒng)性能提升30-50%!
    的頭像 發(fā)表于 08-06 17:49 ?1040次閱讀

    學(xué)校做廣播對(duì)講系統(tǒng)干貨分享

    。同時(shí),考慮終端的音質(zhì)、功率等參數(shù),確保聲音覆蓋效果。 管理軟件:選擇界面友好、操作簡單的管理軟件,應(yīng)具備音頻文件統(tǒng)一管理、終端狀態(tài)實(shí)時(shí)監(jiān)控、遠(yuǎn)程設(shè)置與升級(jí)等功能,方便學(xué)校管理人員進(jìn)行集中管理。 廣播
    發(fā)表于 07-24 15:59

    XMOS基于邊緣AI+DSP+MCU+I/O智算芯片的音頻解決方案矩陣引領(lǐng)行業(yè)創(chuàng)新潮流

    XMOS作為全球領(lǐng)先的數(shù)字音頻及多媒體AI處理芯片及解決方案提供商,與自己的技術(shù)伙伴及生態(tài)伙伴一起,攜一系列重量級(jí)的由邊緣AI技術(shù)驅(qū)動(dòng)的音頻
    的頭像 發(fā)表于 06-19 17:26 ?1116次閱讀
    XMOS基于邊緣AI+DSP+MCU+I/O智算芯片的<b class='flag-5'>音頻</b>解決<b class='flag-5'>方案</b>矩陣引領(lǐng)行業(yè)創(chuàng)新潮流
    通化县| 肇州县| 宁南县| 孟连| 隆化县| 旅游| 舟曲县| 水城县| 阳西县| 龙南县| 福鼎市| 易门县| 红安县| 建阳市| 贺兰县| 邓州市| 吉林省| 侯马市| 德格县| 庐江县| 四会市| 呼图壁县| 都昌县| 大名县| 赣州市| 梓潼县| 陈巴尔虎旗| 新营市| 扶沟县| 合江县| 琼结县| 台中市| 六安市| 高安市| 荆门市| 达尔| 兰坪| 榆社县| 方城县| 吉安县| 龙游县|