• spi从机调试


    大致步骤:

    后续有补充再填上

    1. 空闲状态是指传输开始时CS为高电平且在向低电平转变的期间,以及传输结束时CS为低电平且在向高电平转变的期间;有个从高到低的变化过程,CS拉低就开始通讯;
    2. 要注意SPI的4种模式,主从要一致;在这里插入图片描述
      1. #define SPI_CPHA 0x01
      2. #define SPI_CPOL 0x02
      3. #define SPI_MODE_0 (0|0)
      4. #define SPI_MODE_1 (0|SPI_CPHA)
      5. #define SPI_MODE_2 (SPI_CPOL|0)
      6. #define SPI_MODE_3 (SPI_CPOL|SPI_CPHA)
      7. SPI_MODE_3 << 6 //选择对应的模式,再左移6,本文中选择的是:SPI_MODE_3

    3. 通过CTRL0寄存器配置数据接收的长度(例如8bit,16bit);

    注意事项:

    1. 正常启动后,测量SOC端的CLK是否正常;
    2. 使用逻辑分析仪查看MISO和MOSI有没有接反;例如主机发送的内容,呈现在MISO上,那说明接反了;
    3. 从机不许配置时钟、波特率、片选;都是由主机配置的;
    4. MISO和MOSI短接后,能够验证主机端是否收发成功,但不能排除MISO和MOSI是否接反;

    SPI的最大传输速率主要受到以下几个条件影响:

    1.SPI的最大时钟频率

    2.CPU处理SPI数据的能力

    3.输出端驱动能力(PCB所允许的最大信号传输速率)

    备注:

       信号 MISO =  Master In Slave Out,即 在主机这边是输入,在从机那边是输出。

       信号 MOSI =  Master Out Slave In,即 在主机这边是输出,在从机那边是输入。

  • 相关阅读:
    yolov5训练自己的水印数据进行水印目标检测
    SpringBoot 自动配置
    kubernetes6 (ingress)
    中级xss绕过【xss Game】
    服务的网关-Zuul(1.5.x)
    计算字符串的编辑距离(python)
    深入了解HTTP与HTTPS关键差异与底层原理
    kotlin实现LRUCache
    transformer
    ASP.NET Core 6框架揭秘实例演示[05]:依赖注入基本编程模式
  • 原文地址:https://blog.csdn.net/xh_xinhua/article/details/126579730