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

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

3天内不再提示

SPI主、从端数据通信建模的基础知识

lPCU_elecfans 来源:搜狐网 作者:搜狐网 2020-09-08 14:49 次阅读

SPI数据通信是常用的一种中低速芯片级的数据通信。SPI数据通信协议简单,连线不多,而且是全双工通信,因此广泛用于实现数据转换和数据存储等功能。本章简要介绍SPI数据通信的协议及主端与从端的VerilogHDL建模与仿真

SPI数据通信协议

SPI是英文Serial Peripheral Interface的首字母缩写,中文可以翻译为串行外围设备接口。SPI 是Motorola公司首先推出的一种同步串行接口。它用于CPU或者FPGA与各种外围器件进行全双工、同步串行数据通信。SPI 通信接口简单,只需要4根线:clk同步时钟信号、mosi主端输出/从端输人数据信号、miso主端输人/从端输出数据信号、cs从端片选信号(如果有多个从端,则需要有多个cs从端片选信号与之相对应)。SPI数据通信的同步串行传输顺序是高位先传、低位后传。

四种SPI通信模式

SPI数据通信有4种模式,分别称为模式1至模式4。不同的模式是由开始数据采样的边沿及时钟的空闲状态决定的。时钟的空闲状态有2种,即高电平与低电平,分别对应CPOL=1与CPOL=0,如图18-1所示。

发送与接收数据的时钟边沿的情况也有2种:数据开始采样发生在时钟的第一个边沿(也可理解为奇数边沿进行数据采样)与数据开始发送发生在时钟的第二个边沿(也可理解为偶数边沿进行数据发送),分别对应 CPHA=0与CPHA=1,如图18-2与图18-3所示。

根据CPOL与CPHA的值,SPI的传输就可分为4种模式:模式0是CPOL=0,CPHA=0;模式1是CPOL= 1,CPHA=0;模式2是CPOL=0,CPHA=1;模式3是CPOL=1,CPHA=1。本章以模式0为例进行介绍。

对应图18-2,分析在片选信号下降沿有效时开始发送最高位数据,其余的数据在时钟信号的下降沿发送,最后一个时钟下降沿不发送数据。而数据采样发生在时钟信号的上升沿。

SPI从端数据通信模块

SPI从端数据通信模块建模

SPI数据通信分主端与从端,从端被动地进行数据通信的接收与发送。从端被动的数据通信是根据时钟信号与片选信号的边沿进行判断的。当片选信号的下降沿有效时发送最高位数据,当时钟信号上升沿有效时进行数据采样接收数据。根据以上分析设计Verilog HDL代码如【代码18-1】所列。

【代码18-1】

【代码18-1】编译无误后,设计【代码18-1】的测试平台,通过观察分析波形来确定spi_slave模块是否满足SPI从端数据通信的逻辑功能。设计spi_slave模块的测试平台如【代码18-2】所列。

【代码18-2】

在ModelSim软件中对【代码18-1】进行波形仿真,如图18-4所示。

波形仿真报告分析

在图18-4上,先确定SPI主端发送的数据是00001001,SPI从端发送的数据是10000001。在373 ns时刻捕获到SPI片选信号r_spi_cs的下沿,此时主、从端开始发送最高位数据0与1,在接下来的时钟下降沿发送其余的数据,同时在时钟的上升沿接收数据。最后,从端接收到的数据w_ srx_data为00001001,该数据与主端发送的数据00001001一致,说明SPI从端实现了数据通信。

SPI主端数据通佶模块

SPI主端数据通信模块建模

在数据通信模式上,SPI主端与SPI从端一样,也分为4种模式,而且数据发送与接收的时序也基本一致。本节也是以模式0为例。与SPI从端不同的是,SPI主端多了产生片选信号与时钟的逻辑,因为在SPI数据通信中,片选信号与时钟信号是由SPI主端产生的。因此,只要根据模式0的时序关系产生相应的片选信号与时钟信号,再实例化SPI从端模块即可设计成SPI主端模块。根据以上分析设计Verilog HDL代码如【代码18-3】所列。

【代码18-3】

【代码18-3】编译无误后,设计【代码18-3】的测试平台,通过观察分析波形来确定spi_master模块是否满足SPI主端数据通信的逻辑功能。设计spi_master模块的测试平台如【代码18-4】所列。

【代码18-4】

在ModelSim软件中对【代码18-3】进行波形仿真,如图18-5所示。

波形仿真报告分析

在图18-5上,先确定SPI主端发送的数据r_mtx_data是00001101,SPI从端发送的数据r_stx_data是00001101。经过8个SPI时钟周期之后,主、从端都接收到数据00001101,说明SPI主、从端实现了数据通信。

本篇知识点主要介绍有关SPI主、从端数据通信建模方面的内容,包括什么是SPI数据通信,四种SPI通信模式,以及SPI主、从端通信模块建模的具体方法。另外,我们还讲到如何基于Qsys的最小Nios II系统的搭建,基于其自带的IP模块的使用,包括了PIO模块、UART模块、定时器模块以及SPI模块等,基于Qsys的自定义外设、自定义指令的应用实例。

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

    关注

    17

    文章

    1688

    浏览量

    91157
  • 数据通信
    +关注

    关注

    2

    文章

    426

    浏览量

    33720

原文标题:FPGA设计应用实例——SPI主从端数据通信实现

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    数据通信基础课件

    数据通信基础课件第2章  数据通信基础本章学习目标2.1  数据通信的基本概念2.2  数据编码技术2.3  多路复用技术
    发表于 06-27 21:44

    数据通信工程

    通信工程丛书--数据通信工程
    发表于 03-25 00:55 50次下载

    数据通信基础

    数据通信基础 数据通信数据通信系统 物理信道的连接方式 数据传输原理 传输介质  数据交换技术  
    发表于 04-28 16:27 0次下载

    数据通信的基本概念

    2.1  数据通信的基本概念2.1.1  数据、信息和信号 2.1.2  数据通信系统的模型 2.1.3  数据通信系统的主要质量指标2.1.1
    发表于 06-27 21:44 0次下载

    单片机串行数据通信

    8.1  串行通信基础知识       串行数据通信要解决两个关键技术问题,一个是数据传送,另一个是
    发表于 02-23 11:50 0次下载

    什么是数据通信

    什么是数据通信 数据通信是依照一定的通信协议,利用数据传输技术在两个终端之间传递数据信息的一种通信
    发表于 06-14 22:32 3721次阅读

    无线移动数据通信,无线移动数据通信是什么意思

    无线移动数据通信,无线移动数据通信是什么意思 无线移动数据通信是通过无线电波传送数据信息的一种通信方式。
    发表于 03-13 11:02 3074次阅读

    数据通信,数据通信原理是什么?

    数据通信,数据通信原理是什么? 数据通信讨论的是从一个设备到另一个设备传输信息。协议定义了通信的规则,以便发送者和接收者能够协调他们的
    发表于 03-17 16:16 6240次阅读
    <b class='flag-5'>数据通信</b>,<b class='flag-5'>数据通信</b>原理是什么?

    数据通信技术(华为资料)

    本书为华为系列丛书中的其中一篇 本书尝试用通俗易懂的语言将复杂的电信网络展现在具有不同知识结构的读者面前 数据通信技术:数据通信是以数据为业务的通信
    发表于 03-16 17:52 0次下载

    数据通信基础知识汇总

    一、数据通信的构成原理、交换方式及适用范围 1.数据通信的构成原理 DTE是数据终端。数据终端有分组型终端(PT)和非分组型终端(NPT)两大类。分组型终端有计算机、数字传真机、
    发表于 07-03 15:51 9083次阅读

    数据通信协议的简介_数据通信协议有哪些

    数据通信协议,亦称数据通信控制协议。是为保证数据通信网中通信双方能有效,可靠通信而规定的一系列约定。这些约定包括
    发表于 02-06 16:41 8858次阅读
    <b class='flag-5'>数据通信</b>协议的简介_<b class='flag-5'>数据通信</b>协议有哪些

    采用软件模拟SPI总线实现双单片机数据通信模块的设计

    我们在对双单片机数据通信模块设计的过程中,人们为了使其数据信息传输能力得到有效的提高,人们就采用软件模拟SPI总线来对其进行处理,这样不仅使得通过系统通信结构得到了进一步的优化,还很好
    的头像 发表于 02-04 08:04 2976次阅读
    采用软件模拟<b class='flag-5'>SPI</b>总线实现双单片机<b class='flag-5'>数据通信</b>模块的设计

    详谈数据通信的传输损耗分类和原理

    数据通信知识每天都在被使用,每一次发送微信、每一次浏览网页,我们都在不知不觉中使用数据通信。对于数据通信,小编在往期文章中有所介绍,如数据通信
    发表于 07-23 10:49 6161次阅读
    详谈<b class='flag-5'>数据通信</b>的传输损耗分类和原理

    数据通信的基本概念

    数据通信通信技术和计算机技术相结合而产生的一种新的通信方式。要在两地间传输信息必须有传输信道,根据传输媒体的不同,有有线数据通信与无线数据通信
    发表于 05-05 14:44 3442次阅读

    数据通信系统的组成 数据通信系统的主要技术指标

    数据通信系统是由多个组件组成的,主要包括发送、接收、传输介质和通信协议。数据通信系统的主要技术指标包括传输速率、
    的头像 发表于 01-24 17:06 2777次阅读