一、SPI总线
SPI(serial peripheral interface)串行外设接口总线,是一种同步串行外设接口。可以使MCU与各种外围设备以串行方式进行通信以交换信息。
SPI有3个寄存器:SPCR—控制寄存器;SPSR—状态寄存器;SPDR—数据存储器。
常见的SPI是4根线的链接方式:SCLK时钟线;MISO主输入从输出;MOSI主输出从输入;SS从机片选信号线。
还有一种方式是3根线的链接:SCLK时钟线;SS从机片选信号线;SDA数据线。
4线和3线实质区别在于;4线实现的是全双工,3线是半双工。
SPI的缺点:没有指定的流控制,没有应答机制确认是否接收到数据。
4线的单连接方式:
链接多个从机设备:
工作模式:
SPI有四种工作模式,各个工作模式的不同在与SCLK不同, 具体工作由CPOL,CPHA决定
CPOL: (Clock Polarity),时钟极性
当CPOL为0时,时钟空闲idle时候的电平是低电平;
当CPOL为1时,时钟空闲idle时候的电平是高电平;
CPHAClock Phase),时钟相位
当CPHA为0时,时钟周期的前一边缘采集数据;
当CPHA为1时,时钟周期的后一边缘采集数据;
CPOL和CPHA,分别都可以是0或时1,对应的四种组合就是:
S3C2440上面SPI控制器的总线范例:
二:I2C总线
I2C(Inter IC BUS)是PHLIPS公司推出的串行总线,I2C总线只有两根双向信号线,一跟时钟线SCL,另一根数据线SDA.
数据位的有效性:
起始信号和终止信号:
起始信号和终止信号都是由主机发出的,起始信号产生后,总线就会被占用。终于信号产生以后,总线就处于空闲状态。
I2C总线中的寻址是8位,前4位在该芯片出厂的时候就已经确定了,不能更改了,你再芯片的说明书里能找到的。后3位就是用户设定的,通过改变芯片的3个引脚的高低电平达到目的。最后1位就是读写功能,1代表读数据,0代表写数据。
用户403664 2014-3-10 09:25