• 硬件及接口学习总结


    一、同步和异步通信

    异步:两个设备之间没有时钟线相连,但是设备双方需要保持一致的通信波特率,如下图,只有数据线没有SCL时钟线。
    在这里插入图片描述
    同步:有时钟线,通信速度相同,所以不再需要配置相同速度。如下图,除了有交换信息的数据线,还有SCL时钟线。
    在这里插入图片描述

    二、IIC如何同时挂载多个同一种器件

    在这里插入图片描述
    I2C总线是一种主从结构总线,I2C总线上的每一个设备都可以作为主设备或从设备,其中主设备用来产生允许传输的时钟信号,并初始化总线的数传输,所以主设备通常是CPU。

    因为一个I2C总线上可以有多个从设备,这样主设备需要通过地址来确定与内阁器件进行通信。I2C总线桑每个从设备都有一个唯一的7bit地址物理识别。因为I2C地址全0为广播地址,所以I2C总线理论上最多能带2^7-1=127个从设备。

    主机发送数据流程

    1、主机载检测到总线为空闲的时候,发送一个启动信号“S”,开始通信;
    2、主机接着发送一个从设备地址,由7bit物理地址和1bit的读写控制位W/R组成;
    3、通过地址识别,相对应的从机受到命令后向主机回馈一个应答信号(ACK=0);
    4、主机受到从机的应答信号后开始发送第一个字节的数据;
    5、从机收到数据后返回一个应答信号ACK;
    6、主机收到应答信号后再发送下一个数据字节;
    7、主机发完最后一个字节并收到ACK后,向从机发送一个停止信号P结束本次通信并释放总线;
    8、从机收到P信号后也退出与主机之间的通信。
    在这里插入图片描述

    从机发送数据流程

    1、主机发送启动信号,接着发送地址字节;
    2、对应的从机收到地址字节后,返回一个应答信号并向主机发送数据;
    3、主机收到数据后向从机反馈一个应答信号ACK;
    4、从机收到应答信号后继续向主机发送下一个数据;
    5、当主机完成接收数据后,向从机发送一个NAK,从机收到非应答信号后便停止发送;
    6、主机发送非应答信号后,再发送一个停止信号,释放总线结束通信。
    在这里插入图片描述

    三、中断流程是什么?

    CPU
    1、判断中断,寻找中断号
    2、判断优先级
    3、保存现场(压栈)
    4、找中断的服务处理程序
    5、处理中断处理程序
    6、返回现场,继续执行原来的程序

  • 相关阅读:
    ICCV 2023 超分辨率(super-resolution)方向上接收论文总结
    Spring Reactive:响应式编程与WebFlux的深度探索
    快速修复“找不到xinput1_3.dll无法继续执行此代码的”问题的5个方法
    Perl使用爬虫ip服务器采集图书网站信息
    C. Labs
    【进阶C语言】数组笔试题解析
    初步观察UE蓝图的“Branch节点”,这个最简单的K2Node的代码
    Shiro授权以及注解开发
    Scrapy爬虫方法
    mellanox在vmware中的切割
  • 原文地址:https://blog.csdn.net/weixin_45880057/article/details/125601373