首页 > 其他分享 >从原理到实践:一文了解如何用VT2710实现SPI仿真

从原理到实践:一文了解如何用VT2710实现SPI仿真

时间:2023-10-27 10:55:21浏览次数:29  
标签:仿真 通信 菊花链 SPI 从机 VT2710 设备

现如今,随着汽车电子的发展,串行通信在ECU上也被广泛应用,我们常见的串行通信有:RS485、RS232、PSI5、SPI等,每一种串行通信都有其自身的特点。本文主要就基于VT2710实现SPI仿真进行相关的介绍。

 

 

VT2710介绍

 

 

VT2710是Vector 旗下的一款串行通信板卡。VT2710 提供一套测试ECU或传感器串行通信通道所需的接口。该模块可用于模拟总线通道上传感器和ECU的行为。此外,还可以监控串行总线上的通信。VT2710可用于控制试验台上的外围设备。

 

如下图所示,VT2710模块可以同时处理两组串行接口,包括汽车传感器相关的PSI5和SENT接口。以及支持通用型数字接口,SPI,I2C,UART,RS232,RS422,RS485或LVDS等诸多通信协议。下面,将就基于VT2710实现SPI仿真的方式展开讲解。

 

  图1-VT2710串行通信卡 图1-VT2710串行通信卡

 

 

SPI

 

 

SPI,是串行外设接口“Serial Peripheral Interface”的简写,这是一种全双工同步串行的通信协议。

 

  图2-SPI多从机模式

 

SPI通信原理其实很简单,要需要至少4根线,它们是MISO(主设备数据输入)、MOSI(主设备数据输出)、SCLK(时钟)和CS/SS(片选)。

 

MISO( Master Input Slave Output):主设备数据输入,从设备数据输出;

 

MOSI(Master Output Slave Input):主设备数据输出,从设备数据输入;

 

SCLK(Serial Clock):时钟信号,由主设备产生;

 

CS/SS(Chip Select/Slave Select):片选线,用于多从机时主设备与从设备进行选择。当主设备要和某个从设备进行通信时,主设备需要先向对应从设备的片选线上发送使能信号,(大多数是将电平拉低),表示选中该从设,主芯片对此从芯片的操作才有效。

 

图3-通信过程

首先,主设备发起片选信号,将CS/SS拉低(一般情况),启动通信。然后,主设备通过发送时钟信号,来告诉从设备进行发数据或者读数据的操作。值得关注的是,通信过程中有四种数据采样的模式,由极性(CPOL)和相位(CPHA)来决定,CPOL为“0”则代表时钟信号空闲时为低电平,为“1”则空闲时为高电平,相位的“0”、“1”则分别代表在第一个跳变沿传输数据和在第二个跳变沿传输数据。以上极性和相位排列组合为以下四种模式:

  1. CPOL=0,CPHA=0:空闲时低电平,第一个跳变沿发数据
  2. CPOL=0,CPHA=1:空闲时低电平,第二个跳变沿发数据
  3. CPOL=1,CPHA=0:空闲时高电平,第一个跳变沿发数据
  4. CPOL=1,CPHA=1:空闲时高电平,第二个跳变沿发数据
  图4-四种工作模式  

主设备发送片选信号选中从设备,并且发送时钟信号后。紧接着主机(Master)将要发送的数据经MOSI信号线发送给从机(Slave),从机也将数据经MISO信号线返回给主机。SPI通信协议还具有高速传输、简单灵活、支持和多从设备的连接,具有较高的灵活性、双向通信、低功耗的特点。

 

以上就是SPI的基本通信原理,下面介绍一下上位机软件配置。

 

在上位机软件—CANoe中,有一个SPI Basic的示例工程。在File→Sample Configurations下的SPI Basic工程中,可以实现SPI基础的传输接收等基本通信。下面简单介绍一下该工程的使用和配置。工程位置如下图所示。

 

  图5-SPI Basic工程  

首先,将Master和Slave的MISO、MOSI、CS、SCLK对应连接。打开示例工程,确认通道是否匹配好。启动工程,在对应的输入窗口下输入数据即可完成收发。

 

  图6-SPI Basic工程实例  

 

关于SPI的配置都在Hardware窗口下的Protocol Configuration Sensors模块下。

 

  图7-SPI 配置icon

Master配置:

1)Clock polarity when idle:指空闲时的SCLK极性

2)Clock frequency:指时钟频率

3) Wait after CS active : 主机通过CS选中从机后的等待时间

4)Wait before CS inactive : CS片选在待命状态下的等待时间

 

  图8-Master配置窗口

 

Slave配置:

1)General Setting:此模式选择项包含Low Active和High Active,Low Active用于一般复杂度的通信需求,High Active用于高复杂度的通信需求。

2)Clock Setting:极性和相位选项,CPOL为极性,CPHA是相位。

 

  图9-Slave配置窗口  

至此,就是我们在上位机软件中的示例工程以及对Master和Slave的一个基本的配置。

 

SPI多从机模式的配置:

 

保证主机、从机连接没有问题,在上位机软件CANoe的Hardware窗口下的Protocol Configuration Sensors模块下,右击Master→Add Slave,具体参数的配置参照上文即可。值得关注的是,每块VT2710可以提供2个独立通道的四线SPI通讯,最多支持5路片选,两个通道至多可支持10个从机。

 

  图10-Slave添加   图11-Slave

 

 

菊花链

 

 

在一个主机和多个从机的SPI 系统中,通常采用专门的片选信号来寻址从机。随着从机数量不断增加,片选线也随之增多。 这种情况将给电路板带来很大的挑战。这时候,使用菊花链的连接方式是更好的选择。

 

菊花链,顾名思义,这种连接方式就像是花环,进行通信的过程中,在设备信号以串行的方式从一个设备依次传到下一个设备,不断循环直到数据到达目标设备的方式被称为菊花链。在菊花链的SPI系统中,只采用一个SS (或者CS) 信号,所有从机接收同一个时钟信号。只有链上的第一个从机(SLAVE 1) 从微控制器直接接收命令。其他所有从机都从链上前一个从机的输出引脚获得其数据。要保证菊花链正常工作,每一个从机就必须能在给定的命令周期读入命令,而在下一个命令周期从数据输出引脚输出同样的命令。

 

图10为菊花链连接方式。在菊花链模式下,各个从机一个接一个地连接起来。主机通过所有连接的从机传输数据。为此,主机的MOSI输出连接到第一个从机的MOSI输入,下一个从机的MISO再连接到下一个从机的MISO,以此类推。最后一个从机的MISO输出再次连接回主机。所有从机的芯片选择信号在这里相互连接。采用菊花链的连接方式,优点在于节约空间,释放总线压力。缺点就是因为是信号串行传输,所以一旦数据链路中的某设备发生故障的时候,它下面优先级较低的设备就不可能得到服务了。

 

图12-菊花链的连接方式

 

 

BMS系统中菊花链实例

 

 

目前,国内的BMS设备主要分为两种。第一种是以分布式架构为主,BMS分为主板和从板,主从板上都有微型的控制器,用作收集从板采集到的电池电压和温度数据 ,通过CAN总线传给主板。第二种是采用菊花链技术的BMS集中式架构。这种架构只在BMS主板上保留微控制器,原本的从板改成单纯围绕AFE芯片功能的小板,AFE采集的信息通过差分隔离信号的方式直接传送给主板。主板完成BMS主要的保护和电池管理功能。

 

  图13-传统方式到菊花链的演变

 

BMS的主板上的微控制器连接SPI串行通信接口,通过通信转换芯片将信号转换为差分信号。主板以差分信号的形式与第一个从板进行通信,差分信号从第一个从板出来后,依次进入后序的从板,这样主板最终得以与所有从板通信。菊花链在BMS系统中就是作为这样一个主、从板之间的桥梁而存在。菊花链的仿真可以基于 VT的 FPGA板卡实现, 通过Simulink构建菊花链仿真模型并运行在FPGA板卡中,从而实现用菊花链的方式完成主板从、板之间通信的功能。

 

 

总结

 

 

VT2710是一款为ECU和N个数字传感器提供硬件接口的功能型板卡。希望通过本文的介绍,大家对VT2710串行通信板卡和SPI通信协议有了更深入的了解。如果您对VT2710板卡亦或是SPI通信协议或者想要了解更多相关内容,欢迎咨询北汇信息,感谢观看!

 

北汇信息作为Vector中国的合作伙伴,始终专注于汽车电子领域的新技术和新产品,为整车厂和零部件企业提供完整的研发、测试解决方案,为工程师在汽车领域提供“趁手装备”!我们不仅提供相应的工具和技术支持服务及培训,还针对不同的应用提供相应的解决方案,助力中国客户的研发效率提升。欢迎联系北汇信息,我们将根据不同需求为您提供针对性的高效、灵活、稳定的解决方案!

 

 

翻译

搜索

复制

<iframe></iframe>

标签:仿真,通信,菊花链,SPI,从机,VT2710,设备
From: https://www.cnblogs.com/polelink/p/17791263.html

相关文章

  • 51单片机-定时器-proteus仿真
    这是代码#include"reg51.h"#defineu16unsignedint#defineu8unsignedchar#defineFOSC11059200L#defineBAUD9600sbitkaiguan=P1^0;u8codeleddat[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x81,0x82,0x84,......
  • 基于Googlenet深度学习网络的信号调制类型识别matlab仿真
    1.算法运行效果图预览   2.算法运行软件版本MATLAB2022a 3.算法理论概述      信号调制类型识别是在无线通信和无线电频谱监测中的一个重要任务。不同信号调制类型具有不同的频谱特征,深度学习方法在信号调制类型识别中取得了显著的成果。 3.1深度学习与......
  • scrapy中的CSVFeedSpider
    目标网站:http://beijingair.sinaapp.com/ 目标文件的格式:此处以爬取一个文件内容为例: http://beijingair.sinaapp.com/data/beijing/all/20131205/csv爬取更多文件:文件中的数据格式: 1.创建项目:scrapy startprojectCSVpro2.创建爬虫后的初始化spider类:scrapy......
  • PySpider
    PySpider相关资源:GitHub:https://github.com/binux/pyspider文档:http://docs.pyspider.org/en/latest/安装windows安装pyspider pipinstallpyspider启动pyspiderpyspiderall1、启动报错  raiseValueError("Invalidconfiguration:\n -"+"\n -......
  • Using Orange Pi One as an SPI programmer with flashrom
    UsingOrangePiOneasanSPIprogrammerwithflashrom30October2019#linux#orangepi#flashromThat'squitesimple.IwasusingArmbianBusterwith4.19.62-sunxikernel.Youneedtoenablethe spi-spidev overlay,whichyoucandobyusing armbian-......
  • Maple—多领域系统级建模仿真和科学计算软件
    MapleSim—基于多学科数字孪生的虚拟调试应用服务    MapleSim是一个多学科系统级建模仿真环境,从数字孪生实现虚拟调试到车辆实时仿真、重型机械仿真分析等,MapleSim帮助企业降低开发风险、支持创新。产品介绍如下:建模    利用预制的建模元件库建模,专业模型库......
  • Linux 添加SPI显示屏并取消闪烁光标
    1、修改设备树(sun8i-h3-nanopi-m1.dts添加内容,确保SPI接口硬件上拉)&spi0{status="okay";st7735s@0{status="okay";compatible="sitronix,st7735s";reg=<0>;spi-max-frequency......
  • MCP2515国产替代兼容方案DPC15完全PIN对PIN支持spi通信的CAN总线控制芯片
    说明DPC15是一款独立控制器局域网络(ControllerAreaNetwork,CAN)协议控制器,完全支持CANV2.0B技术规范。该器件能发送和接收标准和扩展数据顿以及远程帧。MCP2515自带的两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤掉不想要的报文,因此减少了主单片机(MCU)的开销。DPC15......
  • 全志V3S嵌入式驱动开发(基于usb otg的spi-nor镜像烧入)
    全志V3S嵌入式驱动开发(基于usbotg的spi-nor镜像烧入)2023/10/2418:27:22【声明:版权所有,欢迎转载,请勿用于商业用途。联系信箱:[email protected]】     说到了用usbotg来实现spinandflash的烧入,这中间主要用到了PhoenixSuit软件。那么怎么用usbotg来实现......
  • 基于MFCC特征提取和GMM训练的语音信号识别matlab仿真
    1.算法运行效果图预览 2.算法运行软件版本matlab2022a 3.算法理论概述       语音信号识别是将输入的语音信号映射到对应的文本或语音标签的过程。基于MFCC(Mel-FrequencyCepstralCoefficients)特征提取和GMM(GaussianMixtureModel)训练的方法在语音识别领域取......