一?/p>
DSP
上面都集成了
I2C
模块?/p>
这样在连接外部器件时可以很方便的控制外部的器件?/p>
I2C
基本上都是用于外部控制的,因为是是串行总线。在我们的实验板?/p>
I2C
总线连接到了两个
从设备上面,一个是我们?/p>
eeprom
,另一个是我们的音频芯?/p>
AIC23
。通过
I2C
协议我们
写入和读?/p>
eeprom
数据,控?/p>
AIC23
的声音一些属性!
简介一?/p>
I2C
协议的规则:
一
.
技术性能
:
工作速率?/p>
100K
?/p>
400K
两种?/p>
支持多机通讯?/p>
支持多主控模块,但同一时刻只允许有一个主控;
由数据线
SDA
和时?/p>
SCL
构成的串行总线?/p>
每个电路和模块都有唯一的地址?/p>
每个器件可以使用独立电源
?/p>
.
基本工作原理
:
以启动信?/p>
START
来掌管总线,以停止信号
STOP
来释放总线?/p>
每次通讯?/p>
START
开始,?/p>
STOP
结束?/p>
启动信号
START
后紧接着发送一个地址字节,其?/p>
7
位为被控器件的地址码,一位为?/p>
/
?/p>
控制?/p>
R/W
?/p>
R/W
位为
0
表示由主控向被控器件写数据,
R/W
?/p>
1
表示由主控向被控器件
读数据;
当被控器件检测到收到的地址与自己的地址相同时,在第
9
个时钟期间反馈应答信号;
每个数据字节在传送时都是高位
(MSB)
在前?/p>
写通讯过程
:
1.
主控在检测到总线空闲的状况下,首先发送一?/p>
START
信号掌管总线?/p>
2.
发送一个地址字节
(
包括
7
位地址码和一?/p>
R/W)
?/p>
3.
当被控器件检测到主控发送的地址与自己的地址相同时发送一个应答信?/p>
(ACK)
?/p>
4.
主控收到
ACK
后开始发送第一个数据字节;
5.
被控器收到数据字节后发送一?/p>
ACK
表示继续传送数据,
发?/p>
NACK
表示传送数据结束;
6.
主控发送完全部数据后,发送一个停止位
STOP
,结束整个通讯并且释放总线?/p>
读通讯过程
:
1.
主控在检测到总线空闲的状况下,首先发送一?/p>
START
信号掌管总线?/p>
2.
发送一个地址字节
(
包括
7
位地址码和一?/p>
R/W)
?/p>
3.
当被控器件检测到主控发送的地址与自己的地址相同时发送一个应答信?/p>
(ACK)
?/p>
4.
主控收到
ACK
后释放数据总线,开始接收第一个数据字节;
5.
主控收到数据后发?/p>
ACK
表示继续传送数据,发?/p>
NACK
表示传送数据结束;
6.
主控发送完全部数据后,发送一个停止位
STOP
,结束整个通讯并且释放总线?/p>