查看: 2565|回复: 5

[原创] 【LPC54114双核任务三】初学IIS总线

[复制链接]
  • TA的每日心情
    奋斗
    2021-11-30 16:16
  • 签到天数: 206 天

    [LV.7]常住居民III

    74

    主题

    2793

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    7456
    最后登录
    2024-1-28
    发表于 2017-7-4 09:32:03 | 显示全部楼层 |阅读模式
    I2S(Inter-IC Sound Bus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。在飞利浦公司的I2S标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。
    I2S总线拥有三条数据信号线:
    1、SCK: (continuous serial clock)  串行时钟
             对应数字音频的每一位数据,SCK都有1个脉冲。SCK的频率=2×采样频率×采样位数。
    2、WS: (word select)  字段(声道)选择
             用于切换左右声道的数据。WS的频率=采样频率。
             命令选择线表明了正在被传输的声道。
             WS为“1”表示正在传输的是左声道的数据。
             WS为“0”表示正在传输的是右声道的数据。
             WS可以在串行时钟的上升沿或者下降沿发生改变,并且WS信号不需要一定是对称的。在从属装置端,WS在时钟信号的上升沿发生改变。WS总是在最高位传输前的一个时钟周期发生改变,这样可以使从属装置得到与被传输的串行数据同步的时间,并且使接收端存储当前的命令以及为下次的命令清除空间。
    3、SDA: (serial data)  串行数据
             用二进制补码表示的音频数据。 I2S格式的信号无论有多少位有效数据,数据的最高位总是被最先传输(在WS变化(也就是一帧开始)后的第2个SCK脉冲处),因此最高位拥有固定的位置,而最低位的位置则是依赖于数据的有效位数。也就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位(常补足为零)。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。当然,对I2S格式来说数据长度可以不同。


    从开发板原理图可以看到,IIS接口接的Codec 芯片的是WM8904,用到的引脚一共七个,其中SDA和SCL的IIC总线,主要使用来操作WM8904的寄存器,包括初始化以及音量设置等等。其中:
    BCLK是总线的串行时钟
    WS是字段(声道)选择
    RXD\TXD是收发的串行数据
    还有一个MCLK,很简单,就是给2个器件传送data时候做一个基准,是一个同步信号。
    TIM截图20170704090855.png

    从例程里可以看到,初始化了两路IIS,I2S0和I2S1。这其中因为WM8904在这里只是作为从机,所以只用了 I2S1 的BCLK和WS。需要两路是因为WM8904可以AD转化也可以DA转化,具有两个方向的数据。
    TIM截图20170704091649.png
    大致了解IIS是什么了,也知道WM8904的驱动方式了,下次具体看看程序,继续学习。

    来根华子
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-11-20 11:31
  • 签到天数: 123 天

    [LV.7]常住居民III

    1

    主题

    313

    帖子

    0

    高级会员

    Rank: 4

    积分
    893
    最后登录
    2018-7-13
    发表于 2017-7-4 11:31:13 | 显示全部楼层
    学习学习
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

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

    [LV.9]以坛为家II

    42

    主题

    1594

    帖子

    19

    金牌会员

    Rank: 6Rank: 6

    积分
    5383
    最后登录
    2021-12-22
    发表于 2017-7-4 11:40:34 | 显示全部楼层
    学习需诶行!
    请教 WM8904的7线  其中SDA和SCL的IIC总线,  那后面 Flexcomm6/7中的SDA是什么?连接WM8904哪里还是其他??
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-11-30 16:16
  • 签到天数: 206 天

    [LV.7]常住居民III

    74

    主题

    2793

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    7456
    最后登录
    2024-1-28
     楼主| 发表于 2017-7-4 12:13:42 | 显示全部楼层
    okwh 发表于 2017-7-4 11:40
    学习需诶行!
    请教 WM8904的7线  其中SDA和SCL的IIC总线,  那后面 Flexcomm6/7中的SDA是什么?连接WM8904 ...

    这个就是IIS出串行数据线,走音频信号的,接到WM8904的接收口那里
    来根华子
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-11-30 16:16
  • 签到天数: 206 天

    [LV.7]常住居民III

    74

    主题

    2793

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    7456
    最后登录
    2024-1-28
     楼主| 发表于 2017-7-4 12:14:06 | 显示全部楼层

                      
    来根华子
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-11-15 10:33
  • 签到天数: 79 天

    [LV.6]常住居民II

    89

    主题

    2169

    帖子

    3

    金牌会员

    Rank: 6Rank: 6

    积分
    1779
    最后登录
    2020-8-22
    发表于 2017-7-8 21:22:23 | 显示全部楼层
    学习一下
    签到
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-28 23:27 , Processed in 0.127441 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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