SPI接口调试

SPI接口调试以MCP2515芯片的SPI接口为例说明。

大家好,又见面了,我是你们的朋友全栈君。

该篇文章参考:http://blog.csdn.net/amj0622/article/details/4981170

http://ee.ofweek.com/2011-09/ART-8300-2809-28481368.html

http://www.amobbs.com/thread-5018420-1-1.html

一、SPI简介

   SPI接口的全称是”Serial Peripheral Interface”,意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

   SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,地位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。

   SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,其接口包括以下四种信号:

(1)MOSI – 主器件数据输出,从器件数据输入
(2)MISO – 主器件数据输入,从器件数据输出
(3)SCLK – 时钟信号,由主器件产生
(4)/SS  – 从器件使能信号,由主器件控制

SPI接口工作方式

      在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。
      在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。

SPI接口调试

    SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的下降沿上数据改变,同时一位数据被存入移位寄存器。
    1
     SPI接口内部硬件图示:
          2
     最后,SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。

二、SPI模式

SPI模式由4种mode型,详见下图。

SPI接口调试

SPI接口调试

mode0/3上升沿采样,下降沿锁存。mode1/2下降沿采样,上升沿锁存。

注:Master和Slave同时刻采样或锁存数据。

三、实例说明

以M25P40芯片的SPI接口为例说明。该芯片支持SPI模式如下:

SPI接口调试

即支持Mode0和Mode3两种模式。

3.1读取ID

M25P40的ID号具体组成如下图:

SPI接口调试

datasheet read ID时序

SPI接口调试

DM8168设置Mode0方式操作M25P40,实际读取ID的时序图:

1、DM8168发送读取ID命令 0x9F

SPI接口调试

2、M25P40返回ID

SPI接口调试

下面详细说明制造商ID 0x20返回过程:

SPI接口调试








 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150386.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Windows Server 2012修改光驱盘符

    Windows Server 2012修改光驱盘符WindowsServer2012修改光驱盘符,可通过下面的步骤完成:windows+R,输入diskmgmt.msc这时可以看到我们熟悉的磁盘管理界面:右击盘符,选择“更改驱动器号和路径”或“ChangeDriveLetterandPaths”。修改盘符: 转载于:https://blog.51cto.com/sincano/1880125…

  • Java数组(Array)

    Java数组(Array)数组(Array),是多个相同类型数据一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。数组相关的概念:数组名元素角标、下标、索引数组的长度:元素的个数数组的特点:数组是按序排列的数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型创建数组对象会在内存中开辟一整块连续的空间数组的长度一旦确定,就不能修改。数组…

  • R-L模型算法的优缺点_审计重要性特征

    R-L模型算法的优缺点_审计重要性特征1.特征重要性的意义LR模型也就是逻辑回归模型,作为一个简单的常用的模型,其有非常多的有点,除了模型简单,容易实现分布式,还有一个重要的优点就是模型的可解释性非常好。因为每个特征都对应一个模型参数wiw_{i}wi​,该参数越大,那么该特征对模型预测结果的影响就会越大,我们就说该特征就越重要,因此LR模型的特征重要性评估方式就是wiw_{i}wi​的大小。2.逻辑回归模型特征重要性及排序Ta…

  • 中山西路620号 的人才服务中心搬到 梅园路77号去了

    中山西路620号 的人才服务中心搬到 梅园路77号去了

    2021年11月30日
  • Vue学习之自定义指令「建议收藏」

    Vue学习之自定义指令「建议收藏」Vue学习之自定义指令

  • Pytest和Allure测试框架-超详细版+实战

    Pytest和Allure测试框架-超详细版+实战文章目录一:pytest的介绍,安装,框架结构,执行方式1,特点2,安装3,pytest的框架结构4,执行方式二:Pytest-断言、跳过及运行1,Pytest-断言、跳过及运行2,mark中的skip(跳过)3,mark中的xfail(失败)4,使用自定义标记mark只执行部分用例5,文件名类名方法执行部分用例6,-k组合调用执行部分用例三,Pytest-fixture1. 如下:…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号