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)


相关推荐

  • Step by Step WCF—Transactions

    Step by Step WCF—Transactions

  • 详细介绍mysql索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUE

    详细介绍mysql索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUEmysql索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUE的详细介绍Normal普通索引Unique唯一索引FullText全文索引SPATIAL空间索引btree索引和hash索引的区别在实际操作过程中,应该选取表中哪些字段作为索引?Normal普通索引表示普通索引,大多数情况下都可以使用Unique唯一索引表示唯一的,不允许重复的索引,如果该字段信息…

  • 什么是TIME_WAIT

    什么是TIME_WAITTIME_WAIT是怎样产生的?因为TCP连接是双向的,所以在关闭连接的时候,两个方向各自都需要关闭。先发FIN包的一方执行的是主动关闭;后发FIN包的一方执行的是被动关闭。主动关闭的一方会进入TIME_WAIT状态,并且在此状态停留两倍的MSL时长。什么是MSL?MSL指的是报文段的最大生存时间,如果报文段在网络活动了MSL时间,还没有被接收,那么会被丢弃。关于MSL的大小

  • 单片机c语言自学视频教程下载,郭天祥 十天学会单片机和C语言编程视频教程

    单片机c语言自学视频教程下载,郭天祥 十天学会单片机和C语言编程视频教程第1篇入门篇第1章基础必备知识第2章Keil软件使用及流水灯设计第2篇内外部资源操作篇第3章数码管显示原理及应用实现第4章键盘检测原理及应用实现第5章A/D和D/A工作原理第6章串行口通信原理及操作流程第7章通用型1602,12232,12864液晶操作方法第8章I2C总线AT24C02芯片应用第9章基础运放电路专题第3篇提高篇第10章定时器/计数器应用提高第11章串行…

  • 高并发高可用高性能的解决方案汇总整理

    高并发高可用高性能的解决方案汇总整理高并发高可用高性能的解决方案汇总整理

  • SSL证书安装指引

    SSL证书安装指引https://cloud.tencent.com/document/product/400/4143下载得到的www.domain.com.zip文件,解压获得3个文件夹,分别是Apache、

发表回复

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

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