前言

今天学习韦老师的驱动视频,写到了IIS协议相关的内容,虽然目前工作中没有直接用到,但是也做个记录吧,万一以后用到,也方便快速回忆。下面的章节内容大概分为:

(1)IIS协议介绍(参考链接:https://blog.csdn.net/q2519008/article/details/80413695)

(2)IIS是音频数据传输的协议标准,只负责传输声音数据,控制数据传输的接口却有很多种,比如我们这次要讲的UDA1341声卡的L3控制接口,一般GPIO引脚来做控制(参考链接:https://blog.csdn.net/fight_onlyfor_you/article/details/69382526)

正文

IIS协议介绍

I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,是数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的数据传输,广泛应用于各种多媒体系统。

我们先来看一下I2S的时序图:

我们可以看出来,I2S主要有3种信号:

(1)LRCK:控制当前传输的是左声道还是右声道数据,上图是电平为低代表左声道, 电平为高代表右声道

(2)SCLK:每一个时钟传输1bit的数据

(3)SD:数据脉冲,从上图可以看出来,在SCLK开始的第一个时钟周期,并没有传输数据,这是I2S的标准格式,另外还有一种MSB格式,就是从第一个SCLK时钟就开始传输数据,如下图所示:

下面我们再看一下I2S的硬件接口:

硬件原理图和我上面提到的3种信号有点区别,SD信号分为了SDI(接收数据)和SDO(发送数据)。另外还有一条CDCLK信号,这个是芯片的系统时钟线。

假如内存中存有一个WAV格式的音频文件,那么他是怎么准守I2S格式进行输出的呢?

上图中的每个声道数据只有8位(当然也可以是16或者24位的数据,理论上数据位越多代表的精度越高,声音的失真也就更小了),但是一个声道是16个SCLK时钟,所以前8位是数据,后8位用0填充。当然了,也可以设置为每个声道是8个SCLK时钟。

UDA1314的L3控制接口

上面一小节讲到的I2S协议只是用来传输音频数据的,但是在电子设备中我们是可以控制播放的是左声道还是右声道,又或者调节音量,这些控制信息应该还要有一些其它的接口来完成。这就是这一小节要讲的内容了。

现在有很多种控制接口了,比如WM8976用的是I2C接口或者自定义的用3根线做的接口;还有我们接下来要讲的UDA1341用到的L3接口(和前面的3线接口不一样)。

我们先看一下L3接口的硬件原理图:

上图可以看出来,L3接口一共用到3条线:

(1)L3MODE

这个是控制当前处于什么模式。为0时,是地址模式(address mode);为1时,是数据模式(data transfer mode)

(2)L3CLOCK

每个时钟传输一位数据

(3)L3DATA

当L3MODE=1时,L3DATA传输的是数据。

当L3MODE=0时,L3DATA传输的是地址。

上图是从UDA1341芯片手册截出来的图,我们可以看到地址数据一共有8位,其中,bit7~2这6位表示地址,bit1~.0表示传输的类型,也就是指明接下来所传输内容是什么类型的,而传输类型有以下4种:

1)00:DATA0 控制音量,或者访问扩展的地址。自动放大控制(AGC)、MIC的灵敏度控制等。具体怎么控制不同的功能,可以参考下图:

2)01:DATA1 回读一些信息。(即L3接口可以发出一些数据也可以读回一些数据)。

3)10:STATUS 状态信息,复位,时钟、数据输入格式(数据位宽)等。更具体的信息可以参考下表:

bit7不同的值,其它几位就有不用的含义。比如我们看一下代表输入数据格式的IF2 IF1 IF0:

4)11:保留,未使用

下面“盗用”别人的图,能更加直观的清楚上面所讲的内容:

结语

目前项目中还没遇到音频驱动的内容,就先了解一下协议和控制接口的内容,后续有相关的项目可以继续补充完善。

IIS协议和UDA1341TS音频编解码芯片简述相关推荐

  1. 《嵌入式Linux软硬件开发详解——基于S5PV210处理器》——2.5 WM8960音频编解码芯片...

    本节书摘来自异步社区<嵌入式Linux软硬件开发详解--基于S5PV210处理器>一书中的第2章,第2.5节,作者 刘龙,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  2. 台湾SSS鑫创SSS1700替代Cmedia CM6533 24bit 96KHZ USB音频编解码芯片|SSS1700替代CM6533设计方案

    台湾SSS鑫创SSS1700替代Cmedia CM6533 24bit 96KHZ USB音频编解码芯片|SSS1700替代CM6533设计方案 台湾鑫创在2021年推出一款芯片SSS1700可以替代 ...

  3. MP3音频编解码芯片 VS1053B-L

    VS1000/VS1103/VS1011/VS1003/VS1033/VS1053/VS1063/VS8053,VLSI专注于高品质的音频解码领域.此款产品用于互联网广播.互联网收音机.汽车音响.交通 ...

  4. 台湾SSS鑫创SSS1700替代Cmedia CM6533 24bit 96KHZ USB音频编解码芯片

    台湾鑫创在2021年推出一款芯片SSS1700可以替代兼容CM6533,不管在音质和兼容性方面都优于Cmedia CM6533,且SSS1700外围电路较简单易设计,芯片成本比Cmedia CM653 ...

  5. USB音频编解码芯片电路方案设计(原理图)|TYPEC音频方案|TYPEC扩展坞方案|USB音频方案

    1.描述 ATE1133是一颗包含音频编解码器.HIFI级单麦克风输入和立体声耳机输出解决方案.内部集成多个模块,包括高速&全速USB Host/Device收发器(PHY),ARM??Cor ...

  6. VLSI MP3 音频 编解码芯片

    VS1003B-L   解码 MP3 , MIDI (SP),编码 ADPCM VS1053B-L   解码MP3 FLAC eAAC+.WMA, MP1+MP2, MIDI(GM1),ADPCM;P ...

  7. ES8311 - 音频编解码芯片调试

    目录 前言 ES8311 codec芯片介绍 调通的配置 软件配置 ID 验证 回环测试 注意事项: 前言 最近因任务需求,需要将一款codec 芯片配合TTS调通,做某款云喇叭播放设备. 这款cod ...

  8. wm(欧胜)8960音频编解码芯片

    https://easydatasheet.cn/WOLFSON/WM8960_11/views/

  9. 详解音频编解码的原理、演进和应用选型等

    本文来自网易云音乐音视频实验室负责人刘华平在LiveVideoStackCon 2017大会上的分享,并由LiveVideoStack根据演讲内容整理而成(本次演讲PPT文稿,请从文末附件下载). 1 ...

最新文章

  1. 干货丨一文读懂深度学习与机器学习的差异
  2. typora最好用的主题_谁是我心中最好的写作工具?
  3. 解决ZooKeeper集群搭建 [myid:1] - WARN [QuorumPeer[myid=1]:QuorumCnxManager@685] - Cannot open channel
  4. 最多金的编程语言Top10:Python第3,R第10,你猜第1是谁?
  5. 【牛客 - 练习】约数个数的和(数论,数学)
  6. JBoss Tools安装
  7. 前端虚拟列表的实现原理
  8. JEESZ-Zookeeper集群安装
  9. 工厂设计模式究竟怎么写更优雅?!
  10. 8种企业数据采集工具分析
  11. HDMI-FMC子卡的使用(基于VC707)(中)
  12. 修改docker镜像提高下载速度
  13. 趋势判研:基于Web3.0的智能生态体——保险科技生态建设...
  14. CNN 入门讲解:什么是标准化?
  15. tp打印服务器修改ip,tp打印服务器和网络打印机安装方法.docx
  16. android 图片手动放大,Android图片的手动放大缩小
  17. C语言 栈的基本操作 栈的实现
  18. 超全面的!电工必备六大类基础知识汇总~
  19. VMware虚拟机配置文件(.vmx)损坏,提示移除,如何修复?
  20. 建立一个新的Oracle数据库

热门文章

  1. [原创]java实现word转pdf
  2. expressjs mp4_了解如何在ExpressJS 4.0中使用新路由器
  3. 第二人生的源码分析(102)脚本的构造
  4. 印象笔记归类结构梳理
  5. 迁移erp服务器系统教程,erp迁移上云服务器
  6. 机器学习5—分类算法之随机森林(Random Forest)
  7. regedit参数+批处理修改IE标题
  8. SDUST 实验+ 作业
  9. vscode 插件 markdown-preview-enhanced 设置深色预览主题
  10. dp模式是什么意思_DP的完整形式是什么?