查看: 12318|回复: 6

[原创] 【LPC54114双核任务三】――C0、I2S/DMIC/wm8904与音频

[复制链接]
  • TA的每日心情
    擦汗
    2021-7-5 15:45
  • 签到天数: 664 天

    连续签到: 1 天

    [LV.9]以坛为家II

    42

    主题

    1594

    帖子

    19

    金牌会员

    Rank: 6Rank: 6

    积分
    5636
    最后登录
    2021-12-22
    发表于 2017-7-9 11:05:35 | 显示全部楼层 |阅读模式
    本帖最后由 okwh 于 2017-7-15 11:20 编辑

    【LPC54114双核任务三】――C0、I2S/DMIC/wm8904与音频

       I2S(Inter—IC Sound)总线是飞利浦在1986年定义(1996年修订)的数字音频传输标准,用于数字音频数据在系统内部器件之间传输,例如编解码器CODEC、DSP、数字输入/输出接口、ADC、DAC和数字滤波器等,采用独立的导线传输时钟与数据,避免时差诱发的失真,成本低廉。(脉冲编码调制PCM (Pulse Code Modulation) 就不揭示了,可把I2S看做PCM的一种。其他的音频传输标准还有Intel HDA(Intel High Definition Audio) ,S/PDIF和Ethernet AVB等)
       I2S是比较简单的数字接口协议,没有地址或设备选择机制。在I2S总线上,只能同时存在一个主设备和发送设备。提供时钟的设备为主设备,主设备可以是发送设备,也可以是接收设备,或是协调发送设备和接收设备的其它控制设备。配置后可同时发送和接收数据,也可只发送或只接收数据。要求不高时甚至也可以软件编程用IO模拟I2S接口。
       3个基本信号线:1) 数据位传输同步用位时钟(BCLK),SCLK的频率=2×采样频率×采样位数。     2) 帧时钟WS,用于标记左右声道数据或数据包切换,频率等于采样频率。    3) 串行数据SDATA。
       脉冲密度调制(Pulse Density Modulation),简称PDM,是一种使用二进制数0,1表示模拟信号的调制方式,使用sigma-delta调制进行数模转换模数转换,模拟信号的幅值使用输出脉冲对应区域的密度表示。传输双声道数据只要用到时钟和数据两根信号线。是DMIC最常用的数据格式。
    简单的说,PDM是把声音进行数模转换模数转换用的一种编码格式,I2S则是一种数字数据传输协议标准
    xc0.png xc1.png xc2.png


       该板子的音频功能应该1) 可以从SPH0641LM4H的DMIC输入或从wm8904的话筒输入CN8记录音频 2) 可以从wm8904的喇叭耳机输出CN7播放音频。wm8904编解码芯片连接立体声话筒、立体声耳机、通过I2S和CPU互传数据、通过I2C被CPU配置和控制

    这样音频流可以有4种工作方式,  
    1) 音频从话筒CN8经wm8904直通CN7耳机喇叭,不经过D/A、A/D转换, 无需CPU参与; 通常称模拟回路通道;
    xc3.png


    2) 音频从话筒CN8经wm8904数字话处理后再通过I2S送wm8904到CN7耳机喇叭; 经过D/A、A/D转换, 无需CPU参与; 通常称数字回路通道;
    xc4.png
    3) 音频从话筒CN8经wm8904的接口通过I2S到CPU或DSP,经CPU或DSP处理后再通过I2S送wm8904到CN7耳机喇叭; 这是LPC54114参与数字音频处理的回路通道;
    xc5.png
    4) 音频从DMIC经PDM到CPU, CPU处理后通过I2S送wm8904到CN7耳机喇叭。 当然到达CPU的数据也可送往其他地方比如通过USB送王PC,当然到达CPU的数据也可来自其他地方比如存储的音频文件或是通过USB来自PC机等。


    万利这块板子上CN7是喇叭输出插座,CN8是话筒输入插座,DMIC和wm8904有以下管脚
      
      
    管脚
    说明:8个支持中断、FIFODMAFlexComm使用了三个
    PDM_CLK
    P1_15
    DMIC时钟
    数字麦克风SPH0641LM4H支持HWVAD0中断、FIFODMA
    PDM_DATA
    P1_16
    DMIC数据
    SCL1
    P1_1
    I2C4wm8904的配置设置接口
      
    (同时用于温度传感PCT2075DP)
    SDA1
    P1_2
    MCLK
    P1_17
    BCLKI
    P1_12
    I2S1用于发送数据,发往wm8904à耳机喇叭
      
    Flexcomm 7 TX  I2S1
    WSI
    P1_14
    DATAI
    P1_13
    BCLKO
    P0_7
    Flexcomm 6 RX   I2S0
      
    I2S0用于接收数据,从wm8904ß话筒来
      
    WSO
    P0_6
    DATAO
    P0_5


    下文,介绍实例探索。


    修正::
    本贴中 CN8  应为音频输入 Lin In ,  不能使用话筒,话筒驱动不了!!


    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-7-5 15:45
  • 签到天数: 664 天

    连续签到: 1 天

    [LV.9]以坛为家II

    42

    主题

    1594

    帖子

    19

    金牌会员

    Rank: 6Rank: 6

    积分
    5636
    最后登录
    2021-12-22
     楼主| 发表于 2017-7-15 11:21:00 | 显示全部楼层
    修正::
    本贴中 CN8  应为音频输入 Lin In ,  不能使用话筒,话筒驱动不了!!
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    15

    帖子

    0

    注册会员

    Rank: 2

    积分
    100
    最后登录
    2018-7-11
    发表于 2018-5-9 09:56:00 | 显示全部楼层
    okwh 发表于 2017-7-15 11:21
    修正::
    本贴中 CN8  应为音频输入 Lin In ,  不能使用话筒,话筒驱动不了!! ...

    请问”不能使用话筒,话筒驱动不了”,啥意思?为啥?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-7-5 15:45
  • 签到天数: 664 天

    连续签到: 1 天

    [LV.9]以坛为家II

    42

    主题

    1594

    帖子

    19

    金牌会员

    Rank: 6Rank: 6

    积分
    5636
    最后登录
    2021-12-22
     楼主| 发表于 2018-5-10 12:08:53 | 显示全部楼层
    本帖最后由 okwh 于 2018-5-10 12:10 编辑
    误入电子坑 发表于 2018-5-9 09:56
    请问”不能使用话筒,话筒驱动不了”,啥意思?为啥?

    CN8 是  Line in  是  线路输入;音频输入;线路录音 ,       不是话筒! 我前面写话筒,错了。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    15

    帖子

    0

    注册会员

    Rank: 2

    积分
    100
    最后登录
    2018-7-11
    发表于 2018-5-11 01:39:11 | 显示全部楼层
    okwh 发表于 2018-5-10 12:08
    CN8 是  Line in  是  线路输入;音频输入;线路录音 ,       不是话筒! 我前面写话筒,错了。
    ...

    首先感谢LZ的帖子和严谨的用词。
    CN8插上带麦克风的耳机就可以了吧?就可以当话筒
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-7-5 15:45
  • 签到天数: 664 天

    连续签到: 1 天

    [LV.9]以坛为家II

    42

    主题

    1594

    帖子

    19

    金牌会员

    Rank: 6Rank: 6

    积分
    5636
    最后登录
    2021-12-22
     楼主| 发表于 2018-5-11 09:16:10 | 显示全部楼层
    误入电子坑 发表于 2018-5-11 01:39
    首先感谢LZ的帖子和严谨的用词。
    CN8插上带麦克风的耳机就可以了吧?就可以当话筒 ...

    通常是不行的, liine in  需要的是那种送喇叭的信号,  话筒信号一般太弱,需要放大才能满足line in 要求,   可能那种自带电源的麦克风才行吧。   
    可对比音响方面 line in  与 mic in  的电路,即知。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    15

    帖子

    0

    注册会员

    Rank: 2

    积分
    100
    最后登录
    2018-7-11
    发表于 2018-5-16 11:19:01 | 显示全部楼层
    本帖最后由 误入电子坑 于 2018-5-16 11:28 编辑

    谢谢LZ,我最近在疯狂看你的帖子。有些问题,在您别的帖子上解答的很详细。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-31 06:40 , Processed in 0.103011 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表