环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

當前位置: 首頁 > 工業電子產品 > 集成電路(ICs) > 編解碼器

類型分類:
科普知識
數據分類:
編解碼器

iMX6音頻編解碼器SGTL5000 擴展

發布日期:2022-10-09 點擊率:265

  • 關鍵詞: ARM Linux Audio
  • 摘要:嵌入式ARM設備在需要音頻解決方案的時候有時候需要通過I2S總線擴展外部Codec或者DSP,本文就基于NXP iMX6 ARM平臺演示通過I2S擴展NXP SGTL5000音頻Codec。

1). 簡介

嵌入式ARM設備在需要音頻解決方案的時候有時候需要通過I2S總線擴展外部Codec或者DSP,本文就基于NXP iMX6 ARM平臺演示通過I2S擴展NXP SGTL5000音頻Codec。


本文所實際使用的演示平臺來自于Toradex ApalisiMX6 ARM嵌入式平臺,Apalis iMX6 模塊上面已經集成了一路SGTL5000擴展的模擬音頻接口,同時也提供了多個數字音頻接口,這些數字接口可以連接音頻編解碼器擴展多路音頻,也可以將數字音頻信號直接傳輸給 DSP 等其他處理器做進一步處理。


2. 準備

a). i.MX6 處理器內部具有三個同步串行接口(synchronous serial interfaces,SSI)。以 Apalis iMX6 模塊為例,三個 SSI 和 digital audio multiplexer  (AUDMUX) 相連接。AUDMUX 還有 4 個外部接口,其被引出至 Apalis iMX6 金手指接口上。這些接口相互獨立,并具有同樣的功能。AUDMUX 可以連接任意一對外部和內部接口。例如 AUD1AUD3、AUD1AUD5 或者 AUD2AUD5 等。


其中AUD4 已經用于連接模塊上的 SGTL5000,如果用戶使用模塊集成的模擬音頻,那么就無法使用 AUD4 的外部接口。因為 AUD6 并沒有引出到金手指接口,所以 Apalis iMX6 能最多支持 3 路音頻,包括模塊集成的 SGTL5000。


b). 使用 I2S 擴展音頻編解碼器,還需要使用 I2C 接口。DAP1_MCLK 能提供部分編解碼器所需的外部時鐘信號。DAP1_MCLK  使用 CCM_CLKO1 作為時鐘源,這信號也用于模塊集成的 SGTL5000。如果需要同時使用外部的音頻編解碼器和模塊集成的 SGTL5000,就需要給外部的音頻編解碼器提供不同的時鐘信號。


3). SGTL5000 音頻Codec擴展實例

下面以在 Apalis iMX6 上通過AUD5接口外部擴展一路 SGTL5000進行說明。


a). SGTL5000 和 Apalis iMX6 引腳連接

AUD5_RXD(MXM-202)-> I2S_DOUT

AUD5_TXFS(MXM-204)-> I2S_LRCLK

AUD5_TXC(MXM-200)-> I2S_SCLK

AUD5_TXD(MXM-196)-> I2S_DIN

I2C3_SDA(MXM-201)-> CTRL_DATA

I2C3_SCL(MXM-203)-> CTRL_CLK


b). 修改 device tree文件

./ imx6qdl-apalis.dtsi

------------------------------------------------

sound2 {

compatible = "fsl,imx6q-apalis-sgtl5000",

        "fsl,imx-audio-sgtl5000";

model = "imx6q-external-sgtl5000";

cpu-dai = <&ssi1>;

audio-codec = <&codec_external>;

audio-routing =

"LINE_IN", "LineIn Jack",

"MIC_IN", "MicJack",

"Mic Jack", "MicBias",

"Headphone Jack","HP_OUT";

mux-int-port =;

mux-ext-port =;

};


&ssi2{

        fsl,mode= "i2s-slave";

        status= "okay";

};


pinctrl_audmux:audmuxgrp {

fsl,pins = << p="">

                                    MX6QDL_PAD_DISP0_DAT20__AUD4_TXC  0x130b0           MX6QDL_PAD_DISP0_DAT21__AUD4_TXD  0x130b0

        MX6QDL_PAD_DISP0_DAT22__AUD4_TXFS0x130b0

        MX6QDL_PAD_DISP0_DAT23__AUD4_RXD  0x130b0

                                     /*AUD5 for external sgtl5000*/             MX6QDL_PAD_DISP0_DAT19__AUD5_RXD  0x130b0          MX6QDL_PAD_DISP0_DAT18__AUD5_TXFS0x130b0              MX6QDL_PAD_DISP0_DAT16__AUD5_TXC  0x130b0           MX6QDL_PAD_DISP0_DAT17__AUD5_TXD0x130b0

        >;

        };


pinctrl_audmux_mclk:audmux_mclk {

        fsl,pins= <                            MX6QDL_PAD_GPIO_5__CCM_CLKO1       0x000b0                   /* SGTL5000 sys_mclk */

                                    MX6QDL_PAD_GPIO_19__CCM_CLKO1     0x000b0           /*external SGTL5000 sys_mclk   */

        >;

};

------------------------------------------------


./ imx6qdl-apalis-eval.dtsi

------------------------------------------------

&i2c3{

        status= "okay";

codec_external: sgtl5000@0a {

        compatible= "fsl,sgtl5000";

        reg=;

        clocks= <&clks 201="">;

        VDDA-supply= <?_2p5v>;

        VDDIO-supply= <?_3p3v>;

};

------------------------------------------------


4). 部署針對Linux 3.14.52內核版本的補丁,用于支持兩路SGTL5000音頻Codec

如果是只是使用一個外部 SGTL5000,或者直接輸出數字音頻信號,而不使用模塊集成的SGTL5000,那么就無需使用該補丁,正確配置 AUDMUX 即可。如果是需要使用三個SGTL5000,那么需要在補丁中添加第三組配置。


sgtl5000_2nd.patch下載地址:

------------------------------------------------

ftp://ftp.toradex.cn

DocumentsApplication_Note esource

------------------------------------------------


5). 重新編譯內核。將新生成的 dtb 和 uImage 重新部署到 Apalis iMX6 上。然后重新啟動。


6). 使用 apaly 能發現兩個聲卡設備

------------------------------------------------

aplay -L


card 0:imx6qexternalsg [imx6q-external-sgtl5000], device 0: HiFi sgtl5000-0 []

 Subdevices: 1/1

 Subdevice #0: subdevice #0

card 1:imx6qapalissgtl [imx6q-apalis-sgtl5000], device 0: HiFi sgtl5000-0 []

 Subdevices: 1/1

 Subdevice #0: subdevice #0

card 2:imxspdif [imx-spdif], device 0: S/PDIF PCM snd-soc-dummy-dai-0 []

------------------------------------------------


4). 總結

以上配置適用于 Linux 3.14.52 內核,即 Toradex 發布的 V2.6 和 V2.6.1 Linux Image。V2.7 Linux Image 使用了新內核 Linux 4.1 ,SGTL5000 的驅動也發生了變化,需要重新調整。另外Toradex Colibri iMX6 和 Apalis iMX6 具有類似的音頻控制器,上述方法也應用 Colibri iMX6。

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產品

更多
主站蜘蛛池模板: 润滑油加盟_润滑油厂家_润滑油品牌-深圳市沃丹润滑科技有限公司 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 波纹补偿器_不锈钢波纹补偿器_巩义市润达管道设备制造有限公司 | 深圳APP开发_手机软件APP定制外包_小程序开发公司-来科信 | 便携式XPDM露点仪-在线式防爆露点仪-增强型烟气分析仪-约克仪器 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 学习安徽网| 钢衬玻璃厂家,钢衬玻璃管道 -山东东兴扬防腐设备有限公司 | 江西自考网-江西自学考试网| 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 | 高温链条油|高温润滑脂|轴承润滑脂|机器人保养用油|干膜润滑剂-东莞卓越化学 | 郑州外墙清洗_郑州玻璃幕墙清洗_郑州开荒保洁-河南三恒清洗服务有限公司 | 设计圈 - 让设计更有价值!| 防爆电机生产厂家,YBK3电动机,YBX3系列防爆电机,YBX4节防爆电机--河南省南洋防爆电机有限公司 | 广州二手电缆线回收,旧电缆回收,广州铜线回收-广东益福电缆线回收公司 | 硬质合金模具_硬质合金非标定制_硬面加工「生产厂家」-西迪技术股份有限公司 | 防火板_饰面耐火板价格、厂家_品牌认准格林雅 | 长江船运_国内海运_内贸船运_大件海运|运输_船舶运输价格_钢材船运_内河运输_风电甲板船_游艇运输_航运货代电话_上海交航船运 | 14米地磅厂家价价格,150吨地磅厂家价格-百科 | HDPE土工膜,复合土工膜,防渗膜价格,土工膜厂家-山东新路通工程材料有限公司 | 楼承板-开口楼承板-闭口楼承板-无锡海逵 | 压接机|高精度压接机|手动压接机|昆明可耐特科技有限公司[官网] 胶泥瓷砖胶,轻质粉刷石膏,嵌缝石膏厂家,腻子粉批发,永康家德兴,永康市家德兴建材厂 | HV全空气系统_杭州暖通公司—杭州斯培尔冷暖设备有限公司 | 聚合氯化铝价格_聚合氯化铝厂家_pac絮凝剂-唐达净水官网 | 餐饮加盟网_特色餐饮加盟店_餐饮连锁店加盟 | 【北京写字楼出租_写字楼租赁_办公室出租网/出售】-远行地产官网 | 万博士范文网-您身边的范文参考网站Vanbs.com | 钢骨架轻型板_膨石轻型板_钢骨架轻型板价格_恒道新材料 | 浴室柜-浴室镜厂家-YINAISI · 意大利设计师品牌 | 咿耐斯 |-浙江台州市丰源卫浴有限公司 | 杭州网络公司_百度SEO优化-外贸网络推广_抖音小程序开发-杭州乐软科技有限公司 | 建大仁科-温湿度变送器|温湿度传感器|温湿度记录仪_厂家_价格-山东仁科 | 滚筒烘干机_转筒烘干机_滚筒干燥机_转筒干燥机_回转烘干机_回转干燥机-设备生产厂家 | 气体热式流量计-定量控制流量计(空气流量计厂家)-湖北南控仪表科技有限公司 | 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 伸缩节_伸缩器_传力接头_伸缩接头_巩义市联通管道厂 | 电动车头盔厂家_赠品头盔_安全帽批发_山东摩托车头盔—临沂承福头盔 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | 接地电阻测试仪[厂家直销]_电缆故障测试仪[精准定位]_耐压测试仪-武汉南电至诚电力设备 | 山东商品混凝土搅拌楼-环保型搅拌站-拌合站-分体仓-搅拌机厂家-天宇 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 |