0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

全硬件TCP/IP协议栈学习笔记(第六天:SPI通信协议学习一)

学FPGA,慢慢来 2017-12-18 10:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天我们学习一下W5500使用的通讯接口,SPI协议。SPI,中文串行外围设备接口,SPI总线是在物理上是通过接在外围设备微控制单元上的同步串行端口的模块来实现。他允许MCU以全双工的同步串行方式,与各种外围设备进行高速数据通信

SPI实为高速同步串行口。收发同步,可同步进行。

SPI在芯片的管脚上只占用四根线,节约芯片的管脚。

“SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。

(1)SDO – 主设备数据输出,从设备数据输入

(2)SDI – 主设备数据输入,从设备数据输出

(3)SCLK – 时钟信号,由主设备产生

(4)CS – 从设备使能信号,由主设备控制

其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。”

SPI是串行传输协议,数据是一位一位的传输的,而确定传输位的就是SCK信号,有他来产生脉冲信号,SDI和SDO则是基于这个脉冲完成数据传输,数据的输出通过SDO线,数据在时钟上升沿或下降沿改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,所以要完成8位数据的传输,至少8次的时钟信号改变。但SCK时钟线只受主设备控制,从设备不能控制信号线。与普通的串行通信不同的是,普通的串行通信通讯一次至少8位,而SPI允许一位一位的传输,甚至允许暂停。主设备通过SCK时钟的控制可以完成对通信的控制。SPI还有一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入输出。在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,所以简单高效。但是SPI接口没有指定的流控制,没有应答机制确认是否接收到数据。

在对应的接口上,

MOSI:主出/从入

MISO:注入/从出

SCK:串行时钟

SS:丛属选择

而SS的引脚数决定了可连到总线上的器件数量。

SPI传输串行数据是首先传输最高位,波特率可达到5Mbps

总线包括一根串行同步时钟信号线以及两根数据线

“SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果 CPOL="0",串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设音时钟相位和极性应该一致”

CPHA = 1,就表示数据的输出是在一个时钟周期的第一个沿上,至于这个沿是上升沿还是下降沿,这要看CPOL的值而定,CPOL=1那就是下降沿,反之就是上升沿,数据的采样就是在第二个沿上

CPHA = 0,就表示数据的采样是在一个时钟周期的第一个沿上,那么数据的输出就在第二个沿上了

实际就是时钟的高有效与低有效。

代码实现又要待到明日

P.S.做了一周了,中间间断了一天,但也不是远离了学习。虽然这个可能不用去从软件协议栈入手,但是还是觉得去了解之后会有更大的帮助。之前51单片机学的真的蛮差的,以至于现在在面前的代码并不能了解他的意思,或者做一些东西很迷。大三了,身边的人已经有大量的代码经验,自己却做的太少,哪怕现在转一个工程都要这么费劲。想法很多,实现的能力达不到。眼高手低真的累,希望这两天能让我走出迷茫吧...

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA设计
    +关注

    关注

    9

    文章

    431

    浏览量

    28205
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    TCP/IP(Socket)协议深度剖析

    TCP/IP协议作为互联网通信的基础架构,其核心机制Socket编程承载着全球数据交换的使命。本文将深入剖析这
    的头像 发表于 03-03 17:06 771次阅读

    协议“老将”,连接工业智能的桥梁——文读懂ModBus通信协议

    、什么是ModBus? ModBus是种串行通信协议,由Modicon公司(现施耐德电气)于1979年推出,最初用于可编程逻辑控制器(PLC)之间的通信。如今,它已成为工业自动化领
    发表于 12-15 10:08

    通信协议IIC与SPI最全对比分析

    )通信协议,这意味着总线中的只有支中心设备能发起通信。当SPI主设备想读/写从设备时,它首先拉低从设备对应的SS线(SS是低电平有效),接着开始发送工作脉冲到时钟线上,在相应的脉冲时
    发表于 12-10 06:04

    为什么会有TCP/IP协议

    见了面,完全不能交流信息。因而他们需要定义些共通的东西来进行交流,TCP/IP就是为此而生。TCP/IP不是
    发表于 12-03 06:28

    FPGA实现基于SPI协议的Flash驱动控制芯片擦除

    本篇博客具体包括SPI协议的基本原理、模式选择以及时序逻辑要求,采用FPGA(EPCE4),通过SPI通信协议,对flash(W25Q16BV)存储的固化程序进行芯片擦除操作。
    的头像 发表于 12-02 10:00 2861次阅读
    FPGA实现基于<b class='flag-5'>SPI</b><b class='flag-5'>协议</b>的Flash驱动控制芯片擦除

    SPI、I2C、I2S、UART:通信协议解释

    不能?本文次梳理清楚。 通信协议快速对照表 协议 全称 线数 通信方式 速率 应用场景 特点 SP
    的头像 发表于 11-18 10:53 707次阅读

    工业通信协议都有哪些?#三格电子

    通信协议
    三格电子科技
    发布于 :2025年08月28日 10:35:26

    哪些协议是工业通信协议?#三格电子

    通信协议
    三格电子科技
    发布于 :2025年08月27日 14:16:07

    如何验证硬件加速是否真正提升了通信协议的安全性?

    是具体验证方法与框架,覆盖从底层硬件到上层协议链路验证: 、基础验证:硬件加速模块的安全功能正确性
    的头像 发表于 08-27 10:16 1316次阅读
    如何验证<b class='flag-5'>硬件</b>加速是否真正提升了<b class='flag-5'>通信协议</b>的安全性?

    有哪些方法可以确保硬件加速与通信协议的兼容性?

    安全风险。以下是具体可落地的方法,按实施阶段和优先级排序: 硬件选型阶段:优先选择 “协议原生支持” 的硬件方案 硬件加速的兼容性根基在
    的头像 发表于 08-27 10:07 1339次阅读

    如何利用硬件加速提升通信协议的安全性?

    特性增强安全性(而非仅依赖软件防护)。其本质是 “将安全计算从通用 CPU 卸载到专用硬件”,既解决软件处理安全操作的性能瓶颈,又规避软件层可能存在的漏洞(如内存泄露、侧信道攻击风险)。 硬件加速提升
    的头像 发表于 08-27 09:59 1166次阅读
    如何利用<b class='flag-5'>硬件</b>加速提升<b class='flag-5'>通信协议</b>的安全性?

    GraniStudio : TCP/IP(Socket)协议深度剖析

    在工业自动化与物联网领域,TCP/IP(Socket)协议作为应用最广泛的网络通信标准,是实现设备间数据交互的核心技术。GraniStudio 软件作为工业级零代码开发平台,其内置的
    的头像 发表于 08-03 22:20 1349次阅读
    GraniStudio : <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>(Socket)<b class='flag-5'>协议</b>深度剖析

    什么是Modbus TCP协议

    Modbus TCP种基于TCP/IP协议的Modbus通信协议,用于在客户机和服务器之间进
    的头像 发表于 07-23 17:18 4756次阅读
    什么是Modbus <b class='flag-5'>TCP</b><b class='flag-5'>协议</b>

    生物制药自动化升级:Modbus TCP与Ethernet/IP协议转换实践

    为优化生物制药生产流程,我司计划将现有的Allen-Bradley PLC控制系统与新型生物反应器进行集成。由于两者采用不同的通信协议(AB PLC使用Modbus TCP,而生物反应器支持
    的头像 发表于 06-17 18:34 729次阅读
    生物制药自动化升级:Modbus <b class='flag-5'>TCP</b>与Ethernet/<b class='flag-5'>IP</b><b class='flag-5'>协议</b>转换实践

    51+单片机TCP-IP+协议ZLIP源码

    概述 单片机上网技术,是当前的个热门技术。单片机上网技术中的个重要部分是在单片上实现 TCP/IP 协议
    发表于 04-22 15:11