常见接口协议学习笔记总结_4ospf协议学习笔记

2020-02-28 协议书 下载本文

常见接口协议学习笔记总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“4ospf协议学习笔记”。

SPI通信

SPI简介:(高速,全双工,4线同步串行总线)

SCK:主机输出的用来同步数据传输的串行时钟;MOSI:主机输出从机输入;MISO主机输入从机输出;NSS:由主机输出的片选使能低电平有效 SPI例程相关配置如下:

注意事项:(与配置UART 类似)1.配置SPI x时应确保对应相应路的SPI 2.配置相关GPIO和使能其时钟时要对应正确的管脚类型 3.特别注意配置各路SPI时,确定其对应的替代函数映射形式

硬件连接示意图:

SPI通信是由主设备时钟信号来确定主/从设备间的通信。一旦检测到主设备的时钟信号,在SCK(只由主机控制)的控制下,两个串行移位寄存器进行数据交换。

注意:当一个系统下挂有多个SPI从机设备时,可以有GPIO口对使能端NSS进行控制,当只有一个从机时可以将使能端NSS直接接地拉低。

SPI寄存器数据传输图示

SPI各个设备传输数据的过程中总是先发送或接收高字节数据,每个时钟周期接收器或收发器左移1位数据。对于小于16位的数据在发送之前必须左对齐,如果接收的数据小于16位则采用软件将无效的数据位屏蔽。特别注意:主机的时钟极性和相位以从机为基准,要搞清楚数据传输是在上升沿输出还是在下降沿接收数据等等,都要进行一一对应。

I2C通信

I2C简介:一个双向的两线连续总线,一条数据线(SDA)和一条时钟线(SCL)。I2C总线有三种数据传输速度:标准模式100Kbps,快速模式400Kbps和高速模式可达3.4Mbps。

I2C总线结构主要用于连接整体电路,一种双向控制总线,即多个芯片(设备)可连接同一总线结构下,每个设备都可以作为实时数据传输的控制源,简化了总线结构。外设连接示意图:

在不发送任何数据的时候数据线和时钟线都为高电平。

所以I2C通信在硬件设计,需要在数据线和时钟线上分别加上两个上拉电阻。其次,I2C控制硬件进行数据传输时,硬件状态的改变需要一定的时间。

I2C例程配置如下:

注意事项:(与配置SPI,UART 类似)

1.配置I2C x时应确保对应相应路的I2C(例程为I2C3)2.配置相关GPIO和使能其时钟时要对应正确的管脚类型 3.特别注意在主函数中,开始时要对相关的时钟进行使能 数据通信时序简介:

1.主机发送开始信号,将SDA拉低,此时SCL处于高电平状态。2.从机检测到开始信号,准备接收数据。

3.主机先拉低SCL将数据一位一位放在SDA上,然后再将SCL拉高(释放)。

4.从机检测到SCL的变化,会在SCL高电平期间(主机不会太长时间去等待从机接受)将下一个SDA数据放进自己的寄存器中待处理。

5.主机会在设定好的时间后将SCL拉低并放进下一个SDA,然后再拉高SCL,从机会在SCL高电平期间读取SDA数据。

6.如此往复,完成8位数据(1Byte)传输,此时SCL处于低电平,SDA处于高电平。

总线死锁现象分析与解决方法

I2C总线写操作过程中,主机在产生启动信号后控制SCL产生8个时钟脉冲,然后拉低SCL信号为低电平,在这个时候,从机输出应答信号,将SDA信号拉为低电平。如果这个时候主机异常复位,SCL就会被释放为高电平。此时,如果从机没有复位,就会继续I2C的应答,将SDA一直拉为低电平,直到SCL变为低电平,才会结束应答信号。而对于主机来说,复位后检测SCL和SDA信号,如果发现SDA信号为低电平,则会认为I2C总线被占用,会一直等待SCL和SDA信号变为高电平。这样,主机等待从机释放SDA信号,而同时从机又在等待主机将SCL信号拉低以释放应答信号,两者相互等待,I2C总线进人一种死锁状态。同样,当I2C进行读操作时,从机应答后输出数据,如果在这个时刻主机异常复位而此时从机输出的数据位正好为0,也会导致I2C总线进入死锁状态。解决方案通常有如下几种:

(1)将从机的电源设计为可控,当发生总线死锁时将从机复位

(2)可以在从机的程序中加入监测功能,如果总线长时间被拉低则释放对总线的控制(3)在主机中增加I2C总线恢复程序。每次主机复位后,如果检测到SDA被拉低,则控制SCL产生

时钟SCL只能由主机控制,数据SDA主机从机都可控制。I2C主机通过地址选择要与自己通信的从机; I2C起始信号:SCL = 1, SDA产生一个下降沿; I2C结束信号:SCL = 1,SDA产生一个上升沿;

在数据传输阶段:SCL = 1的时候SDA数据线不能变化,如果SDA发生变化那意味着结束;

SCL = 1;SDA = 1;为空闲状态;

总线上各器件的SCL、SDA为线与关系,某一个器件的引脚输出低,则为低。通信过程中要注意应答信号,在第9个时钟时,SDA=0(ack响应),SDA=1(nak不响应)。

《常见接口协议学习笔记总结.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
常见接口协议学习笔记总结
点击下载文档
相关专题 4ospf协议学习笔记 学习笔记 接口 常见 4ospf协议学习笔记 学习笔记 接口 常见
[协议书]相关推荐
    [协议书]热门文章
      下载全文