常用的几种总线

I2C总线:Philips公司推出

支持多主控(在I2C总线上可以并接多个模块电路),但是在任意时间点上只能有一个主控设备,主设备一般是芯片MCU,从设备是指挂载I2C总线上的器件,如E2PROM,flash,发送器发送CMD到挂载再总线上的接收器件上,接收器件返回发送器的请求数据。

SDA和SCL 双线制的半双工同步总线,数据采用逐位串行传输方式,数据长度必须是8位,高位在前,低位在后进行传输。

I2C上的时钟线SCL由主设备控制,从设备会根据主设备SCL自动设置。

空闲状态:两条线电平都为高;

开始信号:SCL为高,SDA高到低;

结束信号:SCL为高,SDA低到高;


SCI总线:Motorola公司推出

通用异步通信(串行通信)总线,在通信过程中,数据是按帧进行发送的,在帧格式中,一个字符由起始位,数据位,奇偶校验位和停止位4部分组成,通常使用的是一位起始位,5-8位数据位,无校验位和一位停止位组成。


CAN总线:(汽车电子应用较广)

有效支持分布式控制或实时控制的串行通信的双线制现场总线,


SPI总线:Motorola公司推出

串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI),片选(CS)四线的全双工同步通信总线

SPI总线是以主从的方式进行,这种模式下通信采用一拖一或者一拖多方式通信

SPI模块为了和外设进行数据交换,可以根据外部从设备要求,通过设置自身时钟的时钟极性(CPOL)和时钟相位(CPHA)来进行匹配,CPOL和CPHA的设置决定了数据取样的时钟沿,SPI主模块和与之通信的外设备时钟相位和极性应该一致。

由时钟极性和时钟相位组成的状态有4种

1:CPOL=0 表示SCLK=0时处于空闲态,低电平向高电平跳变,数据采样是在上升沿,数据发送是在下降沿
2:CPOL=1 表示SCLK=1时处于空闲态, 高电平向低电平跳变,数据采样是在下降沿,数据发送是在上升沿
3:CPHA=0表示数据采样是在第1个边沿,数据发送在第2个边沿
4:CPHA=1 表示数据采样是在第2个边沿,数据发送在第1个边沿

组成状态有

CPOL=0,CPHA=0 第一个上升沿边沿采样,第二个下降沿边沿数据发送

CPOL=1,CPHA=0 第一个下降沿边沿采样,第二个上升沿边沿数据发送

CPOL=1,CPHA=1 第二个下降沿边沿采样,第一个上升沿边沿数据发送

CPOL=0,CPHA=1 第二个上升沿边沿采样,第二个下降沿边沿数据发送

SPI总线配置原则

主设备的时钟极性和相位依赖于从设备,主设备输入连从设备输出,主设备输出连从设备输入,主设备和从设备相连端口的时钟极性和从设备的极性是一致的,比如从设备SDO的状态是CPOL=0,CPHA=1,那么主设备的SDI的状态是CPOL=0,CPHA=1,如果从设备SDI的状态是CPOL=0,CPHA=1,主设备的SDI的状态是CPOL=1,CPHA=0; SPI传输串行数据从高到低传输


注:

单工,半双工和全双工概念

单工通信:只支持一个方向的数据传输(比如BB机)

半双工通信:支持双向通信,但是在同一时刻只能向一个方向进行数据传输,(比如对讲机)

全双工通信:双向通信,收发时互不影响,可同时进行,(比如电话)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值