打印
[Kinetis]

【读书笔记+I2S模块】

[复制链接]
3507|28
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
KuMo_2011|  楼主 | 2013-10-31 23:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 KuMo_2011 于 2013-10-31 23:08 编辑

I2SInter-IC SoundIntegrated Interchip Sound)是集成芯片间的声音总线的称呼,它是IC间传输数位音讯资料的一种接口标准,采用序列的方式传输2组(左右声道)资料。它是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的数据传输,广泛应用于各种多媒体系统。I2S常被使用在传送CDPCM音讯资料到CD播放器的DAC中。由于I2S将资料讯号和时脉讯号分开传送,它的jitter失真十分地小。

K60芯片的I2S编程基本方法
正常模式中I2S发送数据的条件是:
1I2S使能(CR[SSIEN]=1);
2)使能FIFO,如果使用FIFO,配置发送和接收水位;
3)向发送数据寄存器写数据;
4)发送器使能(CR[TE]=1);
5)帧同步有效(对于连续时钟的情况);
6)位时钟开始(对于打开时钟的情况)。

正常模式接收数据应该满足下列条件。
1I2S使能(CR[SSIEN]=1);
2)使能接收FIFO(可选的);
3)使能接收器(CR[RE]=1);
4)帧同步有效(对于持续时钟情况);
5)位时钟开始(对于门控时钟情况)。

I2S 是全双工的串口,它可以使芯片和各种串行设备通信,这些串行设备有:•标准解码器•数字信号处理器(DSPs•微处理器•外设•实现了inter-ICsound 总线(I2S)和Intel® AC97 标准的音频解码器

I2S 包含以下特性:
•有独立或共享的内/外部时钟和帧同步的独立(异步)或共享(同步)的发送和接收部分,在主或从模式下工作.
•使用帧同步的正常操作模式
•允许多个设备共享端口多大三十二个时段的网络操作模式
•无需同步帧的门控时钟操作模式
•两组FIFO 发送和接收队列。四组FIFO 队列中每组都是15x32 位。两组Tx/Rx FIFO 列可以用于网络模式从而为发送和接收提供两个独立的通道
•可编程数据接口模式,例如I2S, lsb- andmsb-aligned•可编程单词长度(8, 10, 12, 16, 18, 20, 22or 24 位)
•用于帧同步和时钟发生器的编程选项•可编程的I2S 模式(主,从,正常)
•在I2S 的主模式下过采样时钟作为SRCK 的输出AC97 支持
•用于发送和接收部分的完全独立的时钟和帧同步选择。在AC97 标准中时钟来自外部源,而帧同步是内部产生的
•外部网络时钟输入用于I2S 的主模式。当在同步模式下,主模式下的采样频率的过采样时钟可作为SRCK 的输出
•可编程的内部时钟分频器
•为减少CPU 开销的发送和接收的时隙屏蔽寄存器
•I2S 的断电特性

K60 I2S模块的初始化
步骤1. 执行一个上电复位或I2S 复位(CR[I2SEN] = 0)
步骤2. 位配置I2S 设置所有的控制位(见下表1)
步骤3. 通过IER 使能合适的中断/DMA 请求
步骤4. 设置CR[I2SEN]位来使能I2S
步骤5. 在AC97 模式下,编程设定ATAG 寄存器后(如果需要,对于AC97 静态模式)设置ACNT[AC97EN]
步骤6. 在AC97 静态模式,在ATAG 寄存器如果没有编程设定帧有效位不要编程设定段请求位。
步骤7. 门控时钟模式(见下表2)
步骤8. 置CR[TE/RE]位
步骤9. 为了确保I2S 的合适的操作,在改变下表列出的任何I2S 控制位之前,使用上电或I2S 复位。

                             表1

                           表2

相关帖子

沙发
motodefy| | 2013-11-1 08:46 | 只看该作者
I2S的话··表示没用过,看看

使用特权

评论回复
板凳
123de7| | 2013-11-1 09:11 | 只看该作者
这个 可以音频解码哎 ,都省了VS1003 了!!

使用特权

评论回复
地板
黄小俊| | 2013-11-1 10:19 | 只看该作者

使用特权

评论回复
5
FSL_TICS_Admin| | 2013-11-1 11:29 | 只看该作者
123de7 发表于 2013-11-1 09:11
这个 可以音频解码哎 ,都省了VS1003 了!!

不能音频解码的哦,还是需要Codec的.

使用特权

评论回复
6
KuMo_2011|  楼主 | 2013-11-1 23:56 | 只看该作者
FSL_TICS_Admin 发表于 2013-11-1 11:29
不能音频解码的哦,还是需要Codec的.


新手求指教

使用特权

评论回复
7
FSL_TICS_ZJJ| | 2013-11-4 17:21 | 只看该作者
KuMo_2011 发表于 2013-11-1 23:56
新手求指教

把你CW的路径选到工程所在目录下试试!

使用特权

评论回复
8
KuMo_2011|  楼主 | 2013-11-4 21:27 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-11-4 17:21
把你CW的路径选到工程所在目录下试试!

可以说一下详细步骤吗?第一次接触CW,毫无头绪啊,路径具体怎么改呢?

使用特权

评论回复
9
FSL_TICS_ZJJ| | 2013-11-4 22:36 | 只看该作者
KuMo_2011 发表于 2013-11-4 21:27
可以说一下详细步骤吗?第一次接触CW,毫无头绪啊,路径具体怎么改呢?

关闭CW,然后重新打开CW不是有个选择路径的吗?把那个路径选择到你工程所在的文件夹路径下。

使用特权

评论回复
10
KuMo_2011|  楼主 | 2013-11-4 23:03 | 只看该作者
本帖最后由 KuMo_2011 于 2013-11-5 10:29 编辑


解压放在D盘






还是15个警告


使用特权

评论回复
11
KuMo_2011|  楼主 | 2013-11-4 23:04 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-11-4 22:36
关闭CW,然后重新打开CW不是有个选择路径的吗?把那个路径选择到你工程所在的文件夹路径下。 ...

麻烦看一下,还是不行

使用特权

评论回复
12
FSL_TICS_ZJJ| | 2013-11-5 09:49 | 只看该作者
KuMo_2011 发表于 2013-11-4 23:04
麻烦看一下,还是不行

好的,请按照我的步骤来,我将压缩包解压到F盘。
第一步:打开CW,出现选择workspace,然后选择如下:
点击OK。


第二步,拖进去。

第三步,编译。

你试试,是不是还有问题。

使用特权

评论回复
13
KuMo_2011|  楼主 | 2013-11-5 10:47 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-11-5 09:49
好的,请按照我的步骤来,我将压缩包解压到F盘。
第一步:打开CW,出现选择workspace,然后选择如下:
点 ...

我执行到拖文件那步

然后选择第一项,想编译发现少了个锤子图标,就点了旁边的


出错了,警告还存在。接下来怎么办呢?



QQ截图20131105104553.bmp (248.77 KB )

QQ截图20131105104553.bmp

使用特权

评论回复
14
FSL_TICS_ZJJ| | 2013-11-5 11:02 | 只看该作者
KuMo_2011 发表于 2013-11-5 10:47
我执行到拖文件那步

然后选择第一项,想编译发现少了个锤子图标,就点了旁边的

问你两个问题:
1,你的CW版本是多少?
2,你第一步选择workspace时按照我的来的吗?(这个比较重要!)
另外,我把工程给你,你试试这个。
KINETIS512_V2_SC_GPIO.zip (600.27 KB)


使用特权

评论回复
15
FSL_TICS_ZJJ| | 2013-11-5 11:09 | 只看该作者
点击第一编译也是一样的。

使用特权

评论回复
16
FSL_TICS_MAHUI| | 2013-11-5 11:09 | 只看该作者
你可以换个新的CW workspace试一试,再把project拖进去看看编译结果。另外,最新CW版本是V10.5。

使用特权

评论回复
17
KuMo_2011|  楼主 | 2013-11-5 11:39 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-11-5 11:02
问你两个问题:
1,你的CW版本是多少?
2,你第一步选择workspace时按照我的来的吗?(这个比较重要!)

哦,原来我workspace的路径只写了F:\KINETIS512_V2_SC_GPIO
完整的应该是F:\KINETIS512_V2_SC_GPIO\KINETIS512_V2_SC_GPIO
现在好多了,不过还有一个错误

接下下来怎么办呢?
还有那个路径光写F:\KINETIS512_V2_SC_GPIO为什么不行呢?

使用特权

评论回复
18
FSL_TICS_ZJJ| | 2013-11-5 11:48 | 只看该作者
KuMo_2011 发表于 2013-11-5 11:39
哦,原来我workspace的路径只写了F:\KINETIS512_V2_SC_GPIO
完整的应该是F:\KINETIS512_V2_SC_GPIO\KINET ...

你程序是不是放在F盘呢?我这个地址是因为我放在这个地方的。你要把路径改为你工程所在的地方哦。还有啊,建议你把CW软件关了,然后先把你工程目录下,进去查看是不是有.metadata这个文件夹,把它删了,然后再打开CW软件,重新选择WORKSPACE路径到你的工程目录。

使用特权

评论回复
19
KuMo_2011|  楼主 | 2013-11-5 11:59 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-11-5 11:48
你程序是不是放在F盘呢?我这个地址是因为我放在这个地方的。你要把路径改为你工程所在的地方哦。还有啊 ...

实在F盘哦,而且照你说的做了,错误没消失

使用特权

评论回复
20
FSL_TICS_ZJJ| | 2013-11-5 12:37 | 只看该作者
KuMo_2011 发表于 2013-11-5 11:59
实在F盘哦,而且照你说的做了,错误没消失

CW用的版本是多少?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

45

主题

494

帖子

2

粉丝