国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

Linux平臺移植音頻芯片實戰(zhàn)記錄

發(fā)布時間:2024-5-17 11:27    發(fā)布者:武漢萬象奧科
關(guān)鍵詞: NXP , Linux , MX6ULL , WM8960 , 音頻芯片
本文詳細記錄在NXP I.MX6ULL+Linux平臺下進行WM8960音頻芯片移植的過程,其他平臺操作方法類似,希望為大家提供幫助。
1. 環(huán)境準備
平臺: HD6ULL-IOT開發(fā)板
要求: 外接一個WM8960模塊。要求能正常播放音頻文件。
2. 原理圖及相關(guān)資料
將模塊飛線到底板J17上,接法如下;且模塊1腳 接了J17的1腳(3.3V); 然后模塊的3腳(GND)接的J17的29腳地。



WM8960資料:
https://www.waveshare.net/wiki/WM8960_Audio_Board
3. 內(nèi)核以及設(shè)備樹調(diào)試
內(nèi)核需要勾選WM8960相關(guān)配置,可以make menuconfig后/搜索8960然后勾上就行。      
設(shè)備樹注意三點:
①. 客戶飛線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 speakerhp-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 = ;};&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 = ;};
②. 時鐘線(SCL)和數(shù)據(jù)線(SDA)是飛線到J17的3,4腳(UART6_TXD,UART6_RXD),對應(yīng)的CSI_MCLK與CSI_PIXCLK,我們需要將其復用成I2C1_SCL,I2C1_SDA功能。(需要查詢對應(yīng)的引腳功能列表和datasheet)
pinctrl_i2c1: i2c1grp {fsl,pins = ;};
③. 由于底板上有一個耳機接口是從核心板直接引出的,我們需要禁掉他。
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。插上耳機或者揚聲器即有聲音。
在調(diào)試過程中,可通過i2cdetect -y -a 0 (此處wm8960掛載在i2c1)檢查音頻設(shè)備是否掛載到i2c1上,或者dmesg | grep wm8960 檢查驅(qū)動是否加載成功。
4. 錄音測試
首先需要有arecord這個工具;
源碼下載網(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.9\aplay 這個目錄下會生成aplay(145M),然后改名為arecord即可。
錄音播放測試:
將arecord拷貝到U盤內(nèi),依次執(zhí)行以下指令:cp/mnt/sda1/arecord /home/demo/chmoda+x /home/demo/arecordcd/home/audio/./amixercset numid=1 60 錄音功能需設(shè)置錄音控件的參數(shù)./amixercset numid=36 240 錄音功能需設(shè)置錄音控件的參數(shù)./amixercset numid=41 1 將麥克風輸出信號同時記錄在左右聲道cd/home/demo執(zhí)行下面這個指令時需要對著WM8960說話,會錄音到/tmp/t.wav文件中。錄音時間為10s./arecord-f cd -d 10 /tmp/t.wav播放錄音文件(最好用耳機聽聲音)cd/home/audio/./aplay/tmp/t.wav5. 音量調(diào)節(jié)控制耳機音量大小: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' (設(shè)置捕獲的音量)./amixer cset numid=1 30     (范圍0~63 ,可以選擇30)
至此,我們完成移植、測試的全部工作。如您在開發(fā)過程中遇到問題,歡迎技術(shù)交流。





本文地址:http://m.qingdxww.cn/thread-857226-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節(jié)省時間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美黄色大片免费 | 中文字幕日韩精品有码视频 | 免费看国产一级片 | 欧美成人v视频免费看 | 欧美一区二区精品 | 国产高清在线精品 | 我的女儿韩国电视剧在线观看 | 91精品国产自产在线观看高清 | 一级黄a | 特级免费毛片 | 色综合久久久久久久久久久 | 四虎影院官网 | 亚欧乱亚欧乱色视频免费 | 久久99精品亚洲热综合 | 免费大片国产在线观看下载 | 99re6在线视频精品免费 | 国自产在线精品免费 | 欧美日本一区亚洲欧美一区 | 欧美a性 | 日韩资源在线 | 97在线免费视频 | 欧美国产黄色 | 99re6在线播放| 婷婷涩涩 | 男女污污无遮挡免费观看 | 亚州视频一区 | 日韩一级在线视频 | 国产女人毛片 | 逼水直流 | 国产资源一区 | 99er精品| 香蕉精品高清在线观看视频 | 久草首页在线 | 一级日韩一级欧美 | 欧美精品v国产精品v | 日韩欧美视频 | 污污网站免费观看 | 日日干天天操 | 99精品国产福利免费一区二区 | 天天拍天天干天天操 | 久久精品亚洲一区二区 |