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

產品分類

當前位置: 首頁 > 工業電子產品 > 集成電路(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

推薦產品

更多
主站蜘蛛池模板: 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 | 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 免费分销系统 — 分销商城系统_分销小程序开发 -【微商来】 | 中宏网-今日新闻-财经新闻| 杰福伦_磁致伸缩位移传感器_线性位移传感器-意大利GEFRAN杰福伦-河南赉威液压科技有限公司 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | 仿真植物|仿真树|仿真花|假树|植物墙 - 广州天昆仿真植物有限公司 | 柔性输送线|柔性链板|齿形链-上海赫勒输送设备有限公司首页[输送机] | 成都竞价托管_抖音代运营_网站建设_成都SEM外包-成都智网创联网络科技有限公司 | 复盛空压机配件-空气压缩机-复盛空压机(华北)总代理 | 杭州中策电线|中策电缆|中策电线|杭州中策电缆|杭州中策电缆永通集团有限公司 | 穿线管|波纹穿线管|包塑金属软管|蛇皮管?闵彬专注弱电工程? | 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 | LINK FASHION 童装·青少年装展 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 昊宇水工|河北昊宇水工机械工程有限公司 | _网名词典_网名大全_qq网名_情侣网名_个性网名 | 高压互感器,电流互感器,电压互感器-上海鄂互电气科技有限公司 | 防弹玻璃厂家_防爆炸玻璃_电磁屏蔽玻璃-四川大硅特玻科技有限公司 | 高低温试验房-深圳高低温湿热箱-小型高低温冲击试验箱-爱佩试验设备 | 垃圾压缩设备_垃圾处理设备_智能移动式垃圾压缩设备--山东明莱环保设备有限公司 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 不锈钢螺丝,不锈钢螺栓,不锈钢标准件-江苏百德特种合金有限公司 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 耐高温电缆厂家-远洋高温电缆 | 首页-瓜尔胶系列-化工单体系列-油田压裂助剂-瓜尔胶厂家-山东广浦生物科技有限公司 | 模具ERP_模具管理系统_模具mes_模具进度管理_东莞市精纬软件有限公司 | 刚性-柔性防水套管-橡胶伸缩接头-波纹管补偿器-启腾供水材料有限公司 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 济南保安公司加盟挂靠-亮剑国际安保服务集团总部-山东保安公司|济南保安培训学校 | 实验室pH计|电导率仪|溶解氧测定仪|离子浓度计|多参数水质分析仪|pH电极-上海般特仪器有限公司 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | loft装修,上海嘉定酒店式公寓装修公司—曼城装饰 | 厌氧反应器,IC厌氧反应器,厌氧三相分离器-山东创博环保科技有限公司 | 清洁设备_洗地机/扫地机厂家_全自动洗地机_橙犀清洁设备官网 | 光泽度计_测量显微镜_苏州压力仪_苏州扭力板手维修-苏州日升精密仪器有限公司 | 土壤肥料养分速测仪_测土配方施肥仪_土壤养分检测仪-杭州鸣辉科技有限公司 | 重庆磨床过滤机,重庆纸带过滤机,机床伸缩钣金,重庆机床钣金护罩-重庆达鸿兴精密机械制造有限公司 | SMC-SMC电磁阀-日本SMC气缸-SMC气动元件展示网 | 粘度计,数显粘度计,指针旋转粘度计 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 |