zoukankan      html  css  js  c++  java
  • MCU2FPGA之SPI时序总线

    转载自:http://blog.csdn.net/ce123/article/details/6895408 

    SPI总线有四种工作方式(SP0, SP1, SP2, SP3),其中使用的最为广泛的是SPI0和SPI3方式。

    CPOL=0,时钟极性,SCK空闲时为低

    CPOL=1,时钟极性,SCK空闲时为高

    CPHA=0,时钟相位,第一个时钟沿(上升沿/下降沿)采样,第二个时钟沿输出数据

    CPHA=1,时钟相位,第二个时钟沿(上升沿/下降沿)采样,第一个时钟沿输出数据

    如下图:

    以下为:sp0:CPOL=0  CPHA=0  的情况

    我们来关注SCK的第一个时钟周期,在时钟的前沿采样数据(上升沿,第一个时钟沿),在时钟的后沿输出数据(下降沿,第二个时钟沿)。

      首先来看主器件,主器件的输出口(MOSI)输出的数据bit1,在时钟的前沿被从器件采样,那主器件是在何时刻输出bit1的呢?bit1的输出时刻实际上在SCK信号有效以前,比SCK的上升沿还要早半个时钟周期。bit1的输出时刻与SSEL信号没有关系。

      再来看从器件,主器件的输入口MISO同样是在时钟的前沿采样从器件输出的bit1的,那从器件又是在何时刻输出bit1的呢。从器件是在SSEL信号有效后,立即输出bit1,尽管此时SCK信号还没有起效。

     以下为STM32核心SPI配置程序:

    以下是FPGA核心关键程序

    发送时,时钟上升沿时,输出数据

    接收时,时钟下降沿时,采样数据

  • 相关阅读:
    git常用操作
    Spring学习(5):DI的配置
    007.python学习课程(元组)
    006.python学习课程(列表)
    004.python学习课程(循环语句)
    005.python学习课程(字符串)
    003.python学习课程(条件语句)
    002.python学习课程(输入、赋值、计算)
    001.python学习课程(环境搭建、变量、数据类型、输出)
    asterisk 目录
  • 原文地址:https://www.cnblogs.com/qidaiymm/p/6004125.html
Copyright © 2011-2022 走看看