个人项目总结(通信篇)

第一讲:USART

1、物理层

RS-232标准串口通信结构

2、协议层

2.1波特率

2.2通信起始信号和停止信号

每个数据包的起始信号由一个逻辑0的数据为表示,数据包的停止信号可由0.5、1、1.5或2个逻辑1的数据为表示,需要两者都约定一致即可

2.3有效数据

在数据包的起始位之后就是传输的主体数据内容,称为有效数据,有效数据的长度约定为5、6、7或者8位长度

2.4数据校验位,

在有效的数据后,有一个可选的数据校验位,由于数据通信更容易受到外部干扰导致传输数据出现偏差,采用校验位来解决这个问题,校验方法有奇校验、偶校验、0校验、1校验以及无校验

奇校验需要有效数据和校验位的‘1’的个数为奇数,比如一个8位长的有效数据为:01101001,此时总共有4个‘1’,为达到奇校验效果,校验位为‘1’,最后传输的数据将是8位的有效数据加上1位的校验位总共9位

偶校验与奇校验相反,要求帧数据和校验位中‘1’的个数为偶数,比如数据帧:11001010,此时帧数‘1’的个数为4个,所以偶校验为‘0’

0校验是不管有效数据中的内容是什么,校验位总是‘0’

1校验是不管有效数据中的内容是什么,校验位总是‘1’

设置:端口号---波特率---校验位---数据位---停止位

第二讲:IIC

对于IIC通信,主要的重点就是SDA和SCL的时序问题,也是IIC通信的核心部分

1、物理层

特点:

1.1、可连接多个I2C通讯设备,支持多个通讯主机及多个通讯从机

1.2、一条双向串行数据线SDA,一条串行时钟线SCL,数据线表示数据,时钟线用于数据收发同步

1.3、每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址进行不同设备之间的访问

1.4、总线接上拉电阻,当I2C空闲时,输出高阻态,当设备空闲时,都输出高阻态时,由上拉电阻把总线拉成高电平

1.5、多个主机同时使用总线,为防止数据冲突,使用仲裁方式决定由哪个设备占用总线

1.6、具有三种传输模式:

标准模式传输速率100kbit/s,

快速模式传输速率400kbit/s

高速模式传输速率3.4Mbit/s,目前大多I2C设备尚不支持高速模式

1.7、连接到相同总线的IC数量受到总线的最大电容400pF限制

 

2、协议层

2.1开始信号

2.2停止信号

 

 

 

第三讲:SPI

1、物理层

SPI通信使用3条总线和片选线,3条总线分别为SCK,MOSI,MISO,片选线为SS

SCK线:时钟信号线,用于通信数据同步,它由通信主机产生,决定了通信速率,不同的设备支持的最高时钟频率不一样,通信速率受限于低速设备

MOSI线:主设备输出/从设备输入,主机的数据从这条信号线输出,从机由这条信号线读入主机发送的数据,即这条线上的数据方向是主机到从机的

MISO线:主设备输入/从设备输出,主机从这条信号线读入数据,从机的数据由这条信号线输出到主机,即在这条线上数据的方向为从机到主机

SS线:从设备选择信号线,常称为片选信号,也称为NSS,当多个SPI设备与SPI主机相连时,设备的其他信号线SCK、MOSI、MISO同时并联到相同的SPI总线上,无论多少个从设备,都共同拥有这三条总线;而每个从设备都有独立的一条NSS信号线,本信号线独占主机的一个引脚,即有多少个从设备,就有多少条片选信号线;在I2C中都是通过设备地址来进行寻址的,而SPI没有设备地址的说法,它使用NSS信号线来寻址,当主机要选择从设备时,把该从设备的NSS信号设置为低电平,该从设备即被选中,即片选有效,接着主机开始与被选中的从设备进行SPI通信,所以SPI通信以NSS线置为低电平为开始信号,以NSS线被拉高作为结束信号。

2、协议层

SPI协议定义通信的起始和停止信号、数据有效性、时钟同步

通信时序图:

主机通信时序,NSS、SCK、MOSI信号都由主机控制产生的,而MISO的信号由从机产生的,主机通过该信号读取从机的数据,MOSI与MISO的信号只在NSS为低电平时候才生效,在SCK的每个时钟周期MOSI和MISO传输一位数据

2.1起始信号:NSS信号由高到低,SPI通信的起始信号,每个从机都有独占的NSS信号线,当从机在自己的NSS线检测到起始信号后,就明白自己被主机选中 ,于是开始准备与主机进行通信

2.2停止信号:NSS信号由低到高,SPI通信的停止信号,表示此次通信结束,从机选中状态被取消

2.3数据有效性:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值