打印
[51单片机]

kafeng初始嵌入式 3 - IIC/SPI

[复制链接]
637|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kafeng|  楼主 | 2015-8-27 16:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 kafeng 于 2015-8-28 11:00 编辑

IIC:Inter Integrated Circuit Bus,集成电路总线

硬件结构:
两根双向信号线,一根数据线SDA,一根时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。 IIC总线通过上拉电阻 接正电源。当总线空闲时,两根线均为高电平。连到总线上任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都与线是“与”关系。但连接到总线的器件输出级必须是漏极开路或集电极开路才能执行线与的功能。每个器件都有一个唯一的地址识别(无论是微控制器LCD驱动器存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。

数据传输:
有效性,数据传输时,时钟线(SCL)为高电平期间,数据线(SDA)上的数据必须保持稳定。只有在时钟线(SCL)上为低电平时,数据线(SDA)的高或低电平状态才允许变化。由于连接到IIC总线的器件有不同种类的工艺(CMOS、NMOS 、双极性),逻辑“0”(低)和“1”(高)的电平不是固定的,每传输一个数据位就产生一个时钟脉冲。
起始终止信号,时钟线(SCL)为高电平期间,数据线(SDA)由高电平向低电平变化表示起始信号;时钟线(SCL)为高电平期间,数据线(SDA)由低电平向高电平变化表示终止信号。起始和终止信号都由主机发出,在起始信号产生后,总线处于就被占用状态;在终止信号产生后,总线就处于空闲状态。

数据格式:
字节传送与应答:每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位)。
数据帧格式:IIC总线上传送的数据信号是广义的,既包括地址信号,又包括真正的数据信号。在起始信号后必须传送一个从机的地址(7位),第8位是数据的传送方向位(R/T),用“0”表示主机发送数据(T),“1”表示主机接收数据(R)。

SPI:Serial Peripheral Interface,串行外设接口

硬件结构:
一般使用四条线,SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。SDO - 主设备数据输出,从设备数据输入;SDI - 主设备数据输入,从设备数据输出;SCLK -时钟信号,由主设备产生;CS - 从设备使能信号,由主设备控制。

数据传输:
由SCLK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。

数据格式:
SPI允许数据一位一位的传送,甚至允许暂停,因为SCLK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCLK时钟线的控制可以完成对通讯的控制。不同的SPI设备对通信的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体与实际器件相关。同时,SPI没有指定的流控制,没有应答机制确认是否接收到数据。  



编号:QR - 3

相关帖子

沙发
追逐浪花| | 2015-8-28 09:05 | 只看该作者
两根双向信号线,一根数据线SDA,一根时钟线SCL。
这就是iic

使用特权

评论回复
板凳
kafeng|  楼主 | 2015-8-28 09:08 | 只看该作者
追逐浪花 发表于 2015-8-28 09:05
两根双向信号线,一根数据线SDA,一根时钟线SCL。
这就是iic

简单明了,正解:lol

使用特权

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

本版积分规则

7

主题

54

帖子

3

粉丝