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

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

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

3天內不再提示

淺析在NXP I.MX6ULL+Linux平臺下進行WM8960音頻芯片移植的過程

2132110287 ? 來源:萬象奧科 ? 2024-05-17 11:33 ? 次閱讀

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

1.環境準備

平臺: HD6ULL-IOT開發板

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

2.原理圖及相關資料

將模塊飛線到底板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.內核以及設備樹調試

內核需要勾選WM8960相關配置,可以make menuconfig后/搜索8960然后勾上就行。

設備樹注意三點:

①. 客戶飛線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


>;


};

②. 時鐘線(SCL)和數據線(SDA)是飛線到J17的3,4腳(UART6_TXD,UART6_RXD),對應的CSI_MCLK與CSI_PIXCLK,我們需要將其復用成I2C1_SCL,I2C1_SDA功能。(需要查詢對應的引腳功能列表和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


>;


};

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

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";


};

重新編譯后替換設備樹,然后cd /home/audio ./aplay 1.wav。插上耳機或者揚聲器即有聲音。

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

4.錄音測試

首先需要有arecord這個工具;

源碼下載網址:https://www.alsa-project.org/wiki/Download#alsa-lib

編譯參考網址:https://blog.csdn.net/gjy938815/article/details/11809269

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

錄音播放測試:

將arecord拷貝到U盤內,依次執行以下指令:


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


chmod a+x /home/demo/arecord


cd /home/audio/


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


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


./amixer cset numid=41 1 將麥克風輸出信號同時記錄在左右聲道


cd /home/demo


執行下面這個指令時需要對著WM8960說話,會錄音到/tmp/t.wav文件中。 錄音時間為10s


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


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


cd /home/audio/


./aplay /tmp/t.wav

5.音量調節

控制耳機音量大小:


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


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


控制喇叭音量大小:


numid=13,iface=MIXER,name='Speaker Playback Volume' 這個配置


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


錄音時配置:


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


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


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


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

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

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

    關注

    1

    文章

    196

    瀏覽量

    53313
  • SDA
    SDA
    +關注

    關注

    0

    文章

    124

    瀏覽量

    28195
  • 音頻芯片
    +關注

    關注

    3

    文章

    130

    瀏覽量

    17995
  • GND
    GND
    +關注

    關注

    2

    文章

    540

    瀏覽量

    38827
  • 時鐘線
    +關注

    關注

    0

    文章

    6

    瀏覽量

    3633

原文標題:Linux平臺移植音頻芯片實戰記錄

文章出處:【微信號:萬象奧科,微信公眾號:萬象奧科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    移植NXP官方linux 5.4內核到i.MX6ULL開發板

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

    Linux平臺移植音頻芯片實戰記錄

    本文詳細記錄在NXP I.MX6ULL+Linux平臺下進行WM8960音頻芯片
    的頭像 發表于 05-17 14:28 ?1150次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>平臺</b><b class='flag-5'>移植</b><b class='flag-5'>音頻芯片</b>實戰記錄

    請問m8960 wm8974 wm8978 wm8994 一系列音頻接口芯片在錄放音的音質上有提升嗎?

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

    請問在哪里把CODEC_PWR_EN引腳拉高給音頻芯片供電呢

    您好,我調AM5718的開發板,發現硬件上有一個CODEC_PWR_EN引腳是給音頻芯片wm8960供電的。可是我看了設備樹文件和相關的驅動,沒有發現對此引腳的操作。請問在哪里把這個引腳拉高,從而給
    發表于 01-06 07:05

    為什么wm8960中的probe移植中未執行呢

    我的內核是3.0.35版,將IMX6wm8960i2c0移植i2c2的過程中,
    發表于 01-07 06:52

    wm8960掛載I2C2上匹配不了驅動這是為什么

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

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

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

    I2C3掛載wm8960音頻芯片

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

    請問wm8960聲卡驅動是否支持音頻輸入動態選擇?

    你好,我們基于OK4418開發板進行項目開發時,需要基于WM8960做些擴展,WM8960聲卡芯片支持三路語音輸入,但是貴公司開發板目前只
    發表于 11-23 07:14

    請問WM8960有驅動源碼嗎?

    硬件環境 OKMX6DL-S3Linux 版本linux-4.1.15內核代碼包中沒有找到WM8960源代碼,只有一個二進制文件imx-wm8960.mod請問是故意不開放源代碼嗎?
    發表于 11-25 07:27

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

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

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

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

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

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

    微雪電子WM8960立體聲編解碼模塊簡介

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

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

    飛凌嵌入式的OKMX8MM-C開發板預留了I2C3和SAI引腳接口,分別位于P18和P7插針引腳上,板載音頻芯片掛載到了I2C2和SAI2。今天小編為大家列舉并說明如何在I2C3掛載
    的頭像 發表于 08-12 14:20 ?1592次閱讀
    <b class='flag-5'>I</b>2C3掛載<b class='flag-5'>wm8960</b><b class='flag-5'>音頻芯片</b> | 飛凌干貨筆記
    主站蜘蛛池模板: 午夜欧洲亚洲AV永久无码精品| 好姑娘BD高清在线观看免费| jaPanesmature儿母| 公开超碰在线视频| 久拍国产在线观看| 沈芯语麻豆0076 视频| 做a爱片的全过程| 国产精品99久久免费黑人人妻 | 99视频这里只有精品| 国内精品视频在线播放一区| 日本片bbbxxx| 99国产在线视频有精品视频| 精品含羞草免费视频观看| 双腿被绑成M型调教PLAY照片| 4480YY旧里番在线播放| 姐姐不~不可以动漫在线观看| 丝瓜视频樱桃视频在线观看免费| 98国产精品人妻无码免费| 久久re热线视频国产| 亚洲国产日韩欧美在线a乱码| 国产36d在线观看| 漂亮的保姆5电影免费观看完整版中文| 在线视频 日韩视频二区 | 中文字幕亚洲乱码熟女在线| 国产综合18久久久久久软件| 受喷汁红肿抽搐磨NP双性| YELLOW免费观看2019| 欧美A级肉欲大片XXX| 2021国产精品| 乱码国产丰满人妻WWW| 在线免费观看视频a| 久久久久国产一级毛片高清片| 亚洲伊人久久大香线蕉综合图片| 国产精品视频大全| 午夜福利电影| 国产在线亚洲精品观看不卡| 午夜国产高清精品一区免费| 国产欧美精品一区二区三区-老狼| 乌克兰18性hd| 国厂精品114福利电影| 亚洲无线观看国产|