搜索
bottom↓
回复: 24

用分立数字电路搭建的16位并行转i2s接口!

[复制链接]

出0入0汤圆

发表于 2010-6-2 21:02:49 | 显示全部楼层 |阅读模式
I2S(Inter—IC Sound)总线是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的数据传输,广泛应用于各种多媒体系统。
    高端的cpu都有I2S接口,为了学好这个,我下载了I2S的接口规范 ,然后用分立的原件搭建了i2S接口 连接音频DAC  CS4334成功。
    I2S有3个主要信号
  1.串行时钟SCLK,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数。   
    2. 帧时钟LRCK,(也称WS),用于切换左右声道的数据。LRCK为“0”表示正在传输的是左声道的数据,为“1”则表示正在传输的是右声道的数据。LRCK的频率等于采样频率。   
    3.串行数据SDATA,就是用二进制补码表示的音频数据。   有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟(Sys Clock),是采样频率的256倍或384倍。

  I2S格式的信号无论有多少位有效数据,数据的最高位总是出现在LRCK变化(也就是一帧开始)后的第2个SCLK脉冲处。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。

i2s接口规范ourdev_559095.PDF(文件大小:60K) (原文件名:i2s.PDF)
cs4334文档ourdev_559096.PDF(文件大小:799K) (原文件名:CS4334.PDF)

主时钟 (原文件名:1.JPG)
其中串联在晶振上的电容 大约为6pF左右  可以根据输出频率微调,使其输出为16.9344MHz


分频电路 (原文件名:2.JPG)


串行输出 (原文件名:3.JPG)

pads 电路图ourdev_559100.rar(文件大小:10K) (原文件名:default.rar)
Multisim仿真文件ourdev_559101.rar(文件大小:336K) (原文件名:Circuit1.rar)


连接CS4344时 需要4个信号 ;
1,主时钟 16.9344MHz
2,左右声道切换信号 44.1KHz
3,数据CLK时钟信号 2.1168MHz
4,数据信号 SDATA


波形对比 (原文件名:4.JPG)


在上面的电路中引出这些信号连接CS4334就可以了,呵呵 我用Mega128 控制上面的电路 使CS4334输出波形 正常 ,用74HC165上的1脚接单片机上升沿中断信号更新数据
由于Mega128的响应这个88.2KHz的中断速度太慢, 无法同时读SD来播放wave文件,看来只用更快速的cpu 来控制这个16位并行转i2s电路了 呵呵

由于电路板用洞洞焊的  太难看了 不好意思拍图片了 实测波形和仿真的波形一样的。

这里做的实验给大家只是学习i2s的作用 其实STM32F103RCT 以上都带i2s接口 用这么多元件来搭真是太耗电了 呵呵!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-6-2 21:47:11 | 显示全部楼层
NB,mark

出0入0汤圆

发表于 2010-6-2 22:56:42 | 显示全部楼层
只有一个感觉,NB

出0入0汤圆

发表于 2010-6-2 23:32:15 | 显示全部楼层
Mark!谢谢!

出0入0汤圆

发表于 2010-6-2 23:46:20 | 显示全部楼层
MARK IIS时钟设计
MARK I2S时钟设计

出0入0汤圆

发表于 2010-6-3 01:31:01 | 显示全部楼层
不错~~

出0入0汤圆

发表于 2010-6-3 06:51:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-3 07:24:48 | 显示全部楼层
记号

出0入0汤圆

发表于 2010-6-3 08:37:08 | 显示全部楼层
很厉害!

出0入4汤圆

发表于 2010-6-3 08:49:30 | 显示全部楼层
NB

出0入0汤圆

发表于 2010-6-3 09:44:18 | 显示全部楼层
不错!一个月前俺在国外网站上看过关于I2S的单片机程序。。

这个电路应该用PLD来实现更好一些。

请问这个是楼主自己设计的电路么?如果是的话,还真是难得。

出0入0汤圆

发表于 2010-6-3 10:00:03 | 显示全部楼层
应该可以用Pld实现就不用捍这么多了

出0入0汤圆

 楼主| 发表于 2010-6-3 10:08:09 | 显示全部楼层
回复【10楼】huayuliang 花生
不错!一个月前俺在国外网站上看过关于i2s的单片机程序。。
这个电路应该用pld来实现更好一些。
请问这个是楼主自己设计的电路么?如果是的话,还真是难得。
-----------------------------------------------------------------------

对的 自己用数字电路设计的 呵呵
用pld的话 不如直接买带i2s的单片机了

出0入0汤圆

发表于 2010-6-3 12:07:22 | 显示全部楼层
回复【12楼】dearterry30  叶彬
-----------------------------------------------------------------------

很不错。数字电路基础很扎实。。

出0入0汤圆

 楼主| 发表于 2010-6-3 13:29:29 | 显示全部楼层
有裤子了

出0入0汤圆

发表于 2010-6-3 16:50:01 | 显示全部楼层
回复【11楼】kangar0065 冒牌袋鼠
应该可以用pld实现就不用捍这么多了
-----------------------------------------------------------------------

不是应该是肯定,但是楼主的目的不在于此。

出0入0汤圆

发表于 2010-6-3 22:54:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-4 01:34:24 | 显示全部楼层
我试过做一个SPI(从模式)转左对齐的,给一些人看到,JYJY说分频后JITTER太大......

表演一样LZ数字电路学得好

出0入0汤圆

发表于 2010-10-27 09:37:41 | 显示全部楼层
pads 的原理图?/貌似我装了最新的ad,看看导一下如何?。。。。不能打开啊。貌似
没装multisim。。虽然原理图看着也能画完就是了。。
如果这个东东用cpld做,要怎么做呢?

出0入0汤圆

发表于 2011-3-9 12:59:33 | 显示全部楼层
回复【12楼】dearterry30 叶彬
-----------------------------------------------------------------------

请一下大哥你在国外哪个网站上看到过,能不能发出来,我现在很需要////十分感激!!!!!!

出0入0汤圆

发表于 2011-3-15 19:46:26 | 显示全部楼层
nice maker了

出0入0汤圆

发表于 2011-4-24 15:58:52 | 显示全部楼层
nb

出0入0汤圆

发表于 2011-9-6 17:56:24 | 显示全部楼层
MAKR

出0入0汤圆

发表于 2012-2-29 09:56:13 | 显示全部楼层
NB

出0入0汤圆

发表于 2014-1-22 12:00:33 | 显示全部楼层
厉害
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-14 00:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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