女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

淺析在NXP I.MX6ULL+Linux平臺(tái)下進(jìn)行WM8960音頻芯片移植的過程

2132110287 ? 來(lái)源:萬(wàn)象奧科 ? 2024-05-17 11:33 ? 次閱讀

本文詳細(xì)記錄在NXP I.MX6ULL+Linux平臺(tái)下進(jìn)行WM8960音頻芯片移植的過程,其他平臺(tái)操作方法類似,希望為大家提供幫助。

1.環(huán)境準(zhǔn)備

平臺(tái): HD6ULL-IOT開發(fā)板

要求:外接一個(gè)WM8960模塊。要求能正常播放音頻文件。

2.原理圖及相關(guān)資料

將模塊飛線到底板J17上,接法如下;且模塊1腳接了J17的1腳(3.3V);然后模塊的3腳(GND)接的J17的29腳地。

9fa6efbe-13fc-11ef-b74b-92fbcf53809c.png

9fc9e726-13fc-11ef-b74b-92fbcf53809c.png

9fdeab2a-13fc-11ef-b74b-92fbcf53809c.png

WM8960資料:

https://www.waveshare.net/wiki/WM8960_Audio_Board

3.內(nèi)核以及設(shè)備樹調(diào)試

內(nèi)核需要勾選WM8960相關(guān)配置,可以make menuconfig后/搜索8960然后勾上就行。

設(shè)備樹注意三點(diǎn):

①. 客戶飛線WM8960是掛載到i2c1上的。

sound {


compatible = "fsl,imx6ul-evk-wm8960",


"fsl,imx-audio-wm8960";


model = "wm8960-audio";


cpu-dai = <&sai2>;


audio-codec = <&codec>;


asrc-controller = <&asrc>;


codec-master;


gpr = <&gpr>;


/*not support


* hp-det = ;


* hp-det-pin: JD1 JD2  or JD3


* hp-det-polarity = 0: hp detect high for headphone


* hp-det-polarity = 1: hp detect high for speaker


hp-det = <3 0>;


hp-det-gpios = <&gpio5 4 0>;


mic-det-gpios = <&gpio5 4 0>;


*/


audio-routing =


"Headphone Jack", "HP_L",


"Headphone Jack", "HP_R",


"Ext Spk", "SPK_LP",


"Ext Spk", "SPK_LN",


"Ext Spk", "SPK_RP",


"Ext Spk", "SPK_RN",


"LINPUT2", "Mic Jack",


"LINPUT3", "Mic Jack",


"RINPUT1", "Main MIC",


"RINPUT2", "Main MIC",


"Mic Jack", "MICB",


"Main MIC", "MICB",


"CPU-Playback", "ASRC-Playback",


"Playback", "CPU-Playback",


"ASRC-Capture", "CPU-Capture",


"CPU-Capture", "Capture";


};


};


&sai2 {


pinctrl-names = "default";


pinctrl-0 = <&pinctrl_sai2>;


assigned-clocks = <&clks IMX6UL_CLK_SAI2_SEL>,


<&clks IMX6UL_CLK_SAI2>;


assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;


assigned-clock-rates = <0>, <12288000>;


status = "okay";


};


pinctrl_sai2: sai2grp {


fsl,pins = <


MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK0x17088


MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC0x17088


MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA0x11088


MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA0x11088


MX6UL_PAD_JTAG_TMS__SAI2_MCLK0x17088


MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO040x17059


>;


};


&i2c1 {


clock-frequency = <100000>;


pinctrl-names = "default";


pinctrl-0 = <&pinctrl_i2c1>;


status = "okay";


codec: wm8960@1a {


compatible = "wlf,wm8960";


reg = <0x1a>;


clocks = <&clks IMX6UL_CLK_SAI2>;


clock-names = "mclk";


wlf,shared-lrclk;


};


};


pinctrl_i2c1: i2c1grp {


fsl,pins = <


MX6UL_PAD_CSI_PIXCLK__I2C1_SCL 0x4001b8b0


MX6UL_PAD_CSI_MCLK__I2C1_SDA 0x4001b8b0


>;


};

②. 時(shí)鐘線(SCL)和數(shù)據(jù)線(SDA)是飛線到J17的3,4腳(UART6_TXD,UART6_RXD),對(duì)應(yīng)的CSI_MCLK與CSI_PIXCLK,我們需要將其復(fù)用成I2C1_SCL,I2C1_SDA功能。(需要查詢對(duì)應(yīng)的引腳功能列表和datasheet)

9fecadec-13fc-11ef-b74b-92fbcf53809c.png

pinctrl_i2c1: i2c1grp {


fsl,pins = <


MX6UL_PAD_CSI_PIXCLK__I2C1_SCL 0x4001b8b0


MX6UL_PAD_CSI_MCLK__I2C1_SDA 0x4001b8b0


>;


};

③. 由于底板上有一個(gè)耳機(jī)接口是從核心板直接引出的,我們需要禁掉他。

sound-mqs {


compatible = "fsl,imx-audio-mqs";


model = "mqs-audio";


cpu-dai = <&sai1>;


asrc-controller = <&asrc>;


audio-codec = <&mqs>;


status = "disabled";


};


&sai1 {


assigned-clocks = <&clks IMX6UL_CLK_SAI1_SEL>,


<&clks IMX6UL_CLK_SAI1>;


assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;


assigned-clock-rates = <0>, <24576000>;


status = "disabled";


};


&mqs {


pinctrl-names = "default";


pinctrl-0 = <&pinctrl_mqs>;


clocks = <&clks IMX6UL_CLK_SAI1>;


clock-names = "mclk";


status = "disabled";


};

重新編譯后替換設(shè)備樹,然后cd /home/audio ./aplay 1.wav。插上耳機(jī)或者揚(yáng)聲器即有聲音。

在調(diào)試過程中,可通過i2cdetect -y -a 0(此處wm8960掛載在i2c1)檢查音頻設(shè)備是否掛載到i2c1上,或者dmesg | grep wm8960檢查驅(qū)動(dòng)是否加載成功。

4.錄音測(cè)試

首先需要有arecord這個(gè)工具;

源碼下載網(wǎng)址:https://www.alsa-project.org/wiki/Download#alsa-lib

編譯參考網(wǎng)址:https://blog.csdn.net/gjy938815/article/details/11809269

編譯好后:alsa-utils-1.2.9aplay 這個(gè)目錄下會(huì)生成aplay(145M),然后改名為arecord即可。

錄音播放測(cè)試:

將arecord拷貝到U盤內(nèi),依次執(zhí)行以下指令:


cp /mnt/sda1/arecord /home/demo/


chmod a+x /home/demo/arecord


cd /home/audio/


./amixer cset numid=1 60 錄音功能需設(shè)置錄音控件的參數(shù)


./amixer cset numid=36 240 錄音功能需設(shè)置錄音控件的參數(shù)


./amixer cset numid=41 1 將麥克風(fēng)輸出信號(hào)同時(shí)記錄在左右聲道


cd /home/demo


執(zhí)行下面這個(gè)指令時(shí)需要對(duì)著WM8960說話,會(huì)錄音到/tmp/t.wav文件中。 錄音時(shí)間為10s


./arecord -f cd -d 10 /tmp/t.wav


播放錄音文件 (最好用耳機(jī)聽聲音)


cd /home/audio/


./aplay /tmp/t.wav

5.音量調(diào)節(jié)

控制耳機(jī)音量大小:


numid=11,iface=MIXER,name='Headphone Playback Volume'


./amixer cset numid=11 80 (范圍0~127, 80合適)


控制喇叭音量大小:


numid=13,iface=MIXER,name='Speaker Playback Volume' 這個(gè)配置


./amixer cset numid=13 100 (范圍0~127,但一般100聲音就合適了)


錄音時(shí)配置:


numid=36,iface=MIXER,name='ADC PCM Capture Volume'


./amixer cset numid=36 190 (錄音范圍0~255,一般190左右合適,值過大雜聲會(huì)有點(diǎn)大)


numid=1,iface=MIXER,name='Capture Volume' (設(shè)置捕獲的音量)


./amixer cset numid=1 30     (范圍0~63 ,可以選擇30)

至此,我們完成移植、測(cè)試的全部工作。

審核編輯:劉清
聲明:本文內(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)投訴
  • PCM
    PCM
    +關(guān)注

    關(guān)注

    1

    文章

    199

    瀏覽量

    53956
  • SDA
    SDA
    +關(guān)注

    關(guān)注

    0

    文章

    125

    瀏覽量

    28683
  • 音頻芯片
    +關(guān)注

    關(guān)注

    3

    文章

    145

    瀏覽量

    18344
  • GND
    GND
    +關(guān)注

    關(guān)注

    2

    文章

    544

    瀏覽量

    39458
  • 時(shí)鐘線
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    3680

原文標(biāo)題:Linux平臺(tái)移植音頻芯片實(shí)戰(zhàn)記錄

文章出處:【微信號(hào):萬(wàn)象奧科,微信公眾號(hào):萬(wàn)象奧科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

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

    移植NXP官方linux 5.4內(nèi)核到i.MX6ULL開發(fā)板

    本文描述移植NXP官方 linux 5.4 內(nèi)核到i.MX6ULL開發(fā)板。
    發(fā)表于 12-19 11:10 ?2309次閱讀

    Linux平臺(tái)移植音頻芯片實(shí)戰(zhàn)記錄

    本文詳細(xì)記錄在NXP I.MX6ULL+Linux平臺(tái)下進(jìn)行WM8960音頻芯片
    的頭像 發(fā)表于 05-17 14:28 ?1619次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>移植</b><b class='flag-5'>音頻芯片</b>實(shí)戰(zhàn)記錄

    請(qǐng)問m8960 wm8974 wm8978 wm8994 一系列音頻接口芯片在錄放音的音質(zhì)上有提升嗎?

    wm8960 wm8974 wm8978 wm8994,這一系列音頻接口芯片
    發(fā)表于 02-19 06:02

    請(qǐng)問在哪里把CODEC_PWR_EN引腳拉高給音頻芯片供電呢

    您好,我調(diào)AM5718的開發(fā)板,發(fā)現(xiàn)硬件上有一個(gè)CODEC_PWR_EN引腳是給音頻芯片wm8960供電的。可是我看了設(shè)備樹文件和相關(guān)的驅(qū)動(dòng),沒有發(fā)現(xiàn)對(duì)此引腳的操作。請(qǐng)問在哪里把這個(gè)引腳拉高,從而給
    發(fā)表于 01-06 07:05

    為什么wm8960中的probe移植中未執(zhí)行呢

    我的內(nèi)核是3.0.35版,將IMX6wm8960i2c0移植i2c2的過程中,
    發(fā)表于 01-07 06:52

    wm8960掛載I2C2上匹配不了驅(qū)動(dòng)這是為什么

    我用的是IMX6Q+linux4.1.15內(nèi)核版本,設(shè)備樹文件imx6qdl-sabresd.dtsi 中做修改, wm8960掛載
    發(fā)表于 01-07 06:56

    開發(fā)板上掛載的wm8960錄音失敗怎么解決

    開發(fā)板上掛載wm8960成功,輸入 arecord [-Dplughw:0,0] -r 44100 -f S16_LE -c 2 -d 2 record.wav 測(cè)試錄音時(shí),一直卡在這,也沒有
    發(fā)表于 01-13 08:15

    I2C3掛載wm8960音頻芯片

    就是OKMX8MM-C開發(fā)板的I2C3掛載wm8960音頻芯片并通過SAI1連接傳輸音頻數(shù)據(jù)的操作過程
    發(fā)表于 08-17 11:41

    請(qǐng)問wm8960聲卡驅(qū)動(dòng)是否支持音頻輸入動(dòng)態(tài)選擇?

    你好,我們基于OK4418開發(fā)板進(jìn)行項(xiàng)目開發(fā)時(shí),需要基于WM8960做些擴(kuò)展,WM8960聲卡芯片支持三路語(yǔ)音輸入,但是貴公司開發(fā)板目前只
    發(fā)表于 11-23 07:14

    請(qǐng)問WM8960有驅(qū)動(dòng)源碼嗎?

    硬件環(huán)境 OKMX6DL-S3Linux 版本linux-4.1.15內(nèi)核代碼包中沒有找到WM8960源代碼,只有一個(gè)二進(jìn)制文件imx-wm8960.mod請(qǐng)問是故意不開放源代碼嗎?
    發(fā)表于 11-25 07:27

    如何通過tinyalsa命令音頻正在通過wm8960播放?

    我能夠 imx8mp phytec pollux 板上檢測(cè)到 android 11 中的 wm8960 編解碼器 問題是:我能夠通過命令行方式播放音頻,通過 tinyalsa 命令音頻
    發(fā)表于 05-12 06:33

    Android11中通過GUI的wm8960模塊播放音頻找不到是為什么?

    1. 命令提示符下使用 Tinyplay 命令,我們驗(yàn)證了模塊是否正常工作。默認(rèn) wm8960 模塊正在播放,音頻播放。 2.我們通過報(bào)警默認(rèn)歌曲播放,也可以自定義報(bào)警歌曲,可以
    發(fā)表于 05-17 10:00

    微雪電子樹莓派音頻編解碼擴(kuò)展板|WM8960 Audio HAT介紹

    WM8960 樹莓派音頻解碼擴(kuò)展板 I2S接口 低功耗 支持播放和錄音、立體聲編解碼;板載耳機(jī)和麥克風(fēng) 型號(hào) WM8960 Audio HAT
    的頭像 發(fā)表于 11-13 15:39 ?5664次閱讀
    微雪電子樹莓派<b class='flag-5'>音頻</b>編解碼擴(kuò)展板|<b class='flag-5'>WM8960</b> Audio HAT介紹

    微雪電子WM8960立體聲編解碼模塊簡(jiǎn)介

    WM8960 立體聲編解碼模塊 I2S/I2C接口 低功耗 基于WM8960芯片音頻模塊
    的頭像 發(fā)表于 01-02 14:51 ?1.2w次閱讀
    微雪電子<b class='flag-5'>WM8960</b>立體聲編解碼模塊簡(jiǎn)介

    I2C3掛載wm8960音頻芯片 | 飛凌干貨筆記

    飛凌嵌入式的OKMX8MM-C開發(fā)板預(yù)留了I2C3和SAI引腳接口,分別位于P18和P7插針引腳上,板載音頻芯片掛載到了I2C2和SAI2。今天小編為大家列舉并說明如何在I2C3掛載
    的頭像 發(fā)表于 08-12 14:20 ?1955次閱讀
    <b class='flag-5'>I</b>2C3掛載<b class='flag-5'>wm8960</b><b class='flag-5'>音頻芯片</b> | 飛凌干貨筆記