最近调试了I2S。由于芯片里面硬件配置出现了几个错误,着实也把我折腾了一番,不过,最终

还是把它搞定了。为了加深理解,就做个笔记吧,方面以后查找和学习。

  定义:I²SI2S(英语:Inter-IC SoundIntegrated Interchip Sound)是IC间传输数字音频数据

的一种接口标准,采用序列的方式传输2组(左右声道)数据。I2S常被使用在发送CDPCM音频数据

到CD播放器的DAC中。由于I2S将数据信号和时钟频率信号分开发送,它的抖动(jitter)有损十分地小。

  基本概念

I²S由3条传输线组成:

  1. 比特时钟频率线(BCLK: bit clock line)
  2. 字符选择线(word select line)或左右时钟频率线(left right clock line)(LRCLK)
  3. 至少一条复合数据线(SDATA:multiplexed data)
  4. 有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟(Sys Clock),是采样频率的256倍或384倍。

也有可能找到以下这些线:

  1. 主时钟频率:256个典型的左右时钟频率线(MCLK= 256*LRCLK)
  2. 上传数据的复合消息(multiplex)线

I²S由前述的比特时钟频率、字符时钟频率和数据三条线所组成。当新的数据被放到数据在线时,比特时钟频率

就会跳动一次。它以数据采样率的64倍速度在运作,诸如CD的采样率为44.1 KHz,要传输它所使用的比特时钟

频率就为2.8224 MHz。I²S的数据线允许两个轨道的数据同时发送,而字符选择时钟频率能让接收设备知道现在

正在发送轨道1或轨道2的数据。每个轨道可传输32位的数据,所以显而易见地,字符选择时钟频率和声音的采

样率时钟频率是相同的。比特时钟频率即是采样率时钟频率的64倍,44.1KHz x 2个声道 x 32位 = 2.8224MHz。

  I²S的数据是从高比特(MSB)发送至低比特(LSB),从字符选择时钟频率的左端开始,加上一个比特时

钟频率的延迟,即数据将比字符选择时钟频率要慢一个比特时钟频率。也有左校正(Left Justified)的I²S数据流

,它没有比特时钟频率的延迟,数据和字符选择时钟频率是同步的。右校正(Right Justified)则是数据比字符

选择时钟频率快一个比特时钟频率。

  系统配置方法:

  要注意master和slave的配置方式是不一样的,slave的配置:

   i2sip_w_slave_i2sip(reg_base,HAL_I2S_SLAVE);  //配置salve模式

  WRITE_REG(0x0,I2S_BASE,0x68);  //关闭其他通道。
  WRITE_REG(0x0,I2S_BASE,0xa8);
  WRITE_REG(0x0,I2S_BASE,0xe8);

  定位思路:

  A 首先要调试master模式,这种简单,一般通过示波器查看是否有时钟或者数据发出。要看波形,最好在

  发送中写入:0x55 (特殊方法,高低高低)

  B 其次,调试slave模式的情况下,首先查看是否有软件接收中断,如果有,说明配置正确,如果没有

  要查看寄存器配置,确定slave模式是否打开成功。

  C 要确定slave模式接收到的数据是否正确,master发送正玄波,固定数等进行测试。

  D 一定要确定外边的使用的硬件环境是否OK,具体有几种情况需要确定,线缆,能否发送,能否接收,

   今天就遇到一个i2s的线缆接触不良的问题,真是坑人啊。

嵌入式小系统I2S接口调试总结的更多相关文章

  1. 嵌入式Linux系统Bootloader启动调试技术(回想)

    嵌入式系统搭建过程中,对于系统平台搭建project师最初的一步一般是移植Bootloader ,当然移植有几个级别,通常最常见的是參考的EVM 的硬件有了改动(如更改了FLASH ,更改了SDRAM ...

  2. 基于ARM9和嵌入式Linux系统的多功能综合通信控制系统的框架

    基于ARM9硬件平台和嵌入式Linux系统的多功能综合通信控制系统的框架设计及各模块的功能.系统采用符合POSIX.1标准的C语言编写,实现了对下位机传送数据帧的采集.分析和存储,并能根据上位机的配置 ...

  3. 基于s5pv210嵌入式linux系统sqlite3数据库移植

    基于s5pv210嵌入式linux系统sqlite3数据库移植 1.下载源码 http://www.sqlite.org/download.html 最新源码为3080100 2.解压 tar xvf ...

  4. 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)

    深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...

  5. 浅析嵌入式Linux系统的构成和启动过程

    在我们的周围,大量的嵌入式设备都是基于Linux系统来构建的,嵌入式Linux与主机Linux相比有着自己的一些特点,本文就嵌入式Linux系统的构成和启动过程做一些总结. 一.嵌入式Linux系统构 ...

  6. 嵌入式Linux系统的构成和启动过程

    转自:http://blog.csdn.net/weiganyi/article/details/11561859 在我们的周围,大量的嵌入式设备都是基于Linux系统来构建的,嵌入式Linux与主机 ...

  7. ESP8266 软件实现 Delta-sigma(ΔΣ)调制器 并通过I2S接口输出编码流

    一.关于Delta-sigma(ΔΣ)调制器 Delta-sigma(ΔΣ)调制器是Delta-sigma转换器的核心部件.如下所示为一个简单的一阶Delta-sigma调制器,该调制器产生一个1bi ...

  8. 嵌入式linux系统中,lsusb出现unable to initialize libusb: -99 解决办法 【转】

    转自:http://cpbest.blog.163.com/blog/static/41241519201111575726966/ libusb是linux系统中,提供给用户空间访问usb设备的AP ...

  9. 4种用于构建嵌入式linux系统的工具_转

    转自:4种用于构建嵌入式linux系统的工具 Linux 被部署到比 Linus Torvalds 在他的宿舍里开发时所预期的更广泛的设备.令人震惊的支持了各种芯片,使得Linux 可以应用于大大小小 ...

随机推荐

  1. Match-----Gray-value-----基于灰度值的模板匹配

    rot 带旋转 mg 带金字塔 rad 角度转弧度 deg 弧度转角度 基于灰度受光照影响比较显著,实际项目中用的不多. MaxOverlap:0~1  指遮挡的部分比例  例如0.6,意思是遮挡了0 ...

  2. 移动端过禁止输入emoji表情实现方案

    最近手头上的项目有一个需求就是输入框不能输入表情,然后就各种在网上找资料,网上好多人给的方案是: str = str.replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uD ...

  3. Linux上web服务器搭建

    安装php依赖包: yum -y install gcc gcc++ libxml2 libxml2-devel yum install gcc make gd-devel libjpeg-devel ...

  4. as3.0 嵌入字体的用法

    var txt:TextField = new TextField();//创建文本 txt.embedFonts=true;//确定嵌入字体 var font:Font=new MyFont();/ ...

  5. Unity 2018 By Example 2nd Edition

    Unity is the most exciting and popular engine used for developing games. With its 2018 release, Unit ...

  6. 【转载】一个小时学会MySQL数据库

    一个小时学会MySQL数据库   目录 一.数据库概要 1.1.发展历史 1.1.1.人工处理阶段 1.1.2.文件系统 1.1.3.数据库管理系统 1.2.常见数据库技术品牌.服务与架构 1.3.数 ...

  7. ASP.NET CORE 2.0 发布到IIS,IIS如何设置环境变量来区分生产环境和测试环境

    0.前言 因为给前端的测试环境是windows,所以要设置windows上的环境变量,如果上Linux就没有这篇文章了,所以大家不要在意为什么core不放在linux上. 1.网上的解决方案 a 方式 ...

  8. 201621123002《JAVA程序设计》第二周学习总结

    1.本周学习总结 1.重点String类 2.Java的数据类型 3.Java中的引用类,包装类 for(类型 元素变量名(任取):遍历对象(数组名)) 2.书面作业 1.String-使用Eclip ...

  9. .net amr格式文件转换成mp3格式文件的方法

    前言:winform端对于音频文件的格式多有限制,大多数不支持amr格式的文件的播放.但是,手机端传过来的音频文件大多数是amr格式的文件,所以,要想在winform客户端支持音频文件的播放,可以通过 ...

  10. Firefox录制时浏览器提示代理服务器拒绝连接

    解决方法:检查火狐浏览器的代理设置是否正确,在 菜单栏 工具->选项->高级->网络->连接->设置里.将“配置访问因特网的代理”选项改为“无代理”.