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

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

3天内不再提示

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

北汇信息POLELINK 2023-10-26 08:26 次阅读

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

41423958-7396-11ee-9788-92fbcf53809c.png

VT2710介绍
VT2710是Vector 旗下的一款串行通信板卡。VT2710 提供一套测试ECU或传感器串行通信通道所需的接口。该模块可用于模拟总线通道上传感器和ECU的行为。此外,还可以监控串行总线上的通信。VT2710可用于控制试验台上的外围设备。
如下图所示,VT2710模块可以同时处理两组串行接口,包括汽车传感器相关的PSI5和SENT接口。以及支持通用型数字接口,SPI,I2CUARTRS232,RS422,RS485或LVDS等诸多通信协议。下面,将就基于VT2710实现SPI仿真的方式展开讲解。


4157c0b6-7396-11ee-9788-92fbcf53809c.png图1-VT2710串行通信卡
415cb454-7396-11ee-9788-92fbcf53809c.png

SPI
SPI,是串行外设接口“Serial Peripheral Interface”的简写,这是一种全双工同步串行的通信协议。
4167a648-7396-11ee-9788-92fbcf53809c.png图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):片选线,用于多从机时主设备与从设备进行选择。当主设备要和某个从设备进行通信时,主设备需要先向对应从设备的片选线上发送使能信号,(大多数是将电平拉低),表示选中该从设,主芯片对此从芯片的操作才有效。

4176dce4-7396-11ee-9788-92fbcf53809c.png

图3-通信过程
其通信过程也很容易理解

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

①CPOL=0,CPHA=0:空闲时低电平,第一个跳变沿发数据

②CPOL=0,CPHA=1:空闲时低电平,第二个跳变沿发数据

③CPOL=1,CPHA=0:空闲时高电平,第一个跳变沿发数据

④CPOL=1,CPHA=1:空闲时高电平,第二个跳变沿发数据

419ca01e-7396-11ee-9788-92fbcf53809c.png图4-四种工作模式
主设备发送片选信号选中从设备,并且发送时钟信号后。紧接着主机(Master)将要发送的数据经MOSI信号线发送给从机(Slave),从机也将数据经MISO信号线返回给主机。SPI通信协议还具有高速传输、简单灵活、支持和多从设备的连接,具有较高的灵活性、双向通信、低功耗的特点。
以上就是SPI的基本通信原理,下面介绍一下上位机软件配置。
在上位机软件—CANoe中,有一个SPI Basic的示例工程。在File→Sample Configurations下的SPI Basic工程中,可以实现SPI基础的传输接收等基本通信。下面简单介绍一下该工程的使用和配置。工程位置如下图所示。
41a1802a-7396-11ee-9788-92fbcf53809c.png图5-SPI Basic工程
首先,将Master和Slave的MISO、MOSI、CS、SCLK对应连接。打开示例工程,确认通道是否匹配好。启动工程,在对应的输入窗口下输入数据即可完成收发。
41ad062a-7396-11ee-9788-92fbcf53809c.png图6-SPI Basic工程实例关于SPI的配置都在Hardware窗口下的Protocol Configuration Sensors模块下。
41cd743c-7396-11ee-9788-92fbcf53809c.png图7-SPI 配置icon

Master配置

POLELINK

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

2)Clock frequency:指时钟频率

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

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

41e0b84e-7396-11ee-9788-92fbcf53809c.png图8-Master配置窗口

Slave配置

POLELINK

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

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

41e8872c-7396-11ee-9788-92fbcf53809c.png图9-Slave配置窗口至此,就是我们在上位机软件中的示例工程以及对Master和Slave的一个基本的配置。

SPI多从机模式的配置

POLELINK

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

41f29320-7396-11ee-9788-92fbcf53809c.png图10-Slave添加
420434c2-7396-11ee-9788-92fbcf53809c.png图11-Slave

4211e6d0-7396-11ee-9788-92fbcf53809c.png

菊花链
在一个主机和多个从机的SPI 系统中,通常采用专门的片选信号来寻址从机。随着从机数量不断增加,片选线也随之增多。这种情况将给电路板带来很大的挑战。这时候,使用菊花链的连接方式是更好的选择。
菊花链,顾名思义,这种连接方式就像是花环,进行通信的过程中,在设备信号以串行的方式从一个设备依次传到下一个设备,不断循环直到数据到达目标设备的方式被称为菊花链。在菊花链的SPI系统中,只采用一个SS (或者CS) 信号,所有从机接收同一个时钟信号。只有链上的第一个从机(SLAVE 1) 从微控制器直接接收命令。其他所有从机都从链上前一个从机的输出引脚获得其数据。要保证菊花链正常工作,每一个从机就必须能在给定的命令周期读入命令,而在下一个命令周期从数据输出引脚输出同样的命令。
下图为菊花链连接方式。在菊花链模式下,各个从机一个接一个地连接起来。主机通过所有连接的从机传输数据。为此,主机的MOSI输出连接到第一个从机的MOSI输入,下一个从机的MISO再连接到下一个从机的MISO,以此类推。最后一个从机的MISO输出再次连接回主机。所有从机的芯片选择信号在这里相互连接。采用菊花链的连接方式,优点在于节约空间,释放总线压力。缺点就是因为是信号串行传输,所以一旦数据链路中的某设备发生故障的时候,它下面优先级较低的设备就不可能得到服务了。
421c6dbc-7396-11ee-9788-92fbcf53809c.png图12-菊花链的连接方式

422809a6-7396-11ee-9788-92fbcf53809c.png

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

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

425b51da-7396-11ee-9788-92fbcf53809c.png

总结


VT2710是一款为ECU和N个数字传感器提供硬件接口的功能型板卡。希望通过本文的介绍,大家对VT2710串行通信板卡和SPI通信协议有了更深入的了解。如果您对VT2710板卡亦或是SPI通信协议或者想要了解更多相关内容,欢迎咨询北汇信息,感谢观看!北汇信息作为Vector中国的合作伙伴,始终专注于汽车电子领域的新技术和新产品,为整车厂和零部件企业提供完整的研发、测试解决方案,为工程师在汽车领域提供“趁手装备”!我们不仅提供相应的工具和技术支持服务及培训,还针对不同的应用提供相应的解决方案,助力中国客户的研发效率提升。欢迎联系北汇信息,我们将根据不同需求为您提供针对性的高效、灵活、稳定的解决方案!

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

    关注

    3024

    文章

    7865

    浏览量

    166471
  • 通信
    +关注

    关注

    18

    文章

    5969

    浏览量

    135838
  • 仿真
    +关注

    关注

    50

    文章

    4039

    浏览量

    133401
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1700

    浏览量

    91301
收藏 人收藏

    评论

    相关推荐

    请问STM32如何用HAL库实现spi自通信?

    何用HAL库实现spi自通信?函数能进到传送中断,进不到接收中断。。
    发表于 10-10 08:44

    全面了解车用电机控制器,理到设计!

    定的难度,因此,本文从无刷控制器的原理入手介绍维修要点,以期对广大维修爱好者有所帮助。电动汽车用电机控制器设计方法与实践电动车用开关磁阻电机控制系统研究及实现本资料分析说明了开关磁阻电动机调速系统
    发表于 06-22 14:44

    proteus中仿真arduino控制L298实现电机的正反转

    前面几篇博,我们基本了解了几种在proteus中实现arduino仿真的方法(《proteus开发板新建arduino
    发表于 06-28 09:11

    何用STM32来实现温度控制系统仿真

    何用STM32来实现温度控制系统仿真?如何用Oven来实现温度反馈控制?怎样通过STM32的自带的ADC获取温度?
    发表于 07-01 10:12

    何用STM32来实现温度控制系统仿真

    何用STM32来实现温度控制系统仿真
    发表于 10-22 06:43

    了解LVGL的学习路线

    “本文大部分内容来自LVGL官方文档,手翻版,如有错误欢迎指正。”系列文章目录、LVGL系列(了解LVGL的学习路线轻松
    发表于 12-07 12:55

    FPGA实现SPI协议

    写在前面SPI协议系列文章:FPGA实现SPI协议()----SPI驱动 在上篇文章,简要介绍了SP
    发表于 02-17 06:03

    KAD2710/KAD2710C pdf datasheet

    The KAD2710C is the industry’s lowest power, 10-bit,275MSPS, high performance Analog-to-Digital
    发表于 01-19 11:22 16次下载

    读懂SPI串行外设接口

    SPI总线系统是种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。正是由于有了通信方式,我们才能够通过芯片控制各种各样的外围器件,实现很多“不可思议”的现代科技。这里将以
    发表于 04-27 15:19 1w次阅读

    何用MATLAB实现静态仿真电子版下载

    何用MATLAB实现静态仿真电子版下载
    发表于 05-27 10:40 0次下载

    CANoe对SPI、UART和I2C等串行总线的同步仿真与测试

    通用串行总线。在HIL系统中,如果被测对象涉及上述串行总线,则需要测试设备能够同时支持对应接口,实现测试、仿真及分析。在CANoe为平台的HIL系统中,I/O板卡VT2710同时支持PSI5/SENT以及上述
    的头像 发表于 09-02 18:17 4098次阅读

    FPGA实现SPI协议(二)----基于SPI接口的FLASH芯片M25P16的使用

    写在前面SPI协议系列文章:FPGA实现SPI协议()----SPI驱动 在上篇文章,简要介绍了
    发表于 12-22 19:25 19次下载
    FPGA<b class='flag-5'>实现</b>的<b class='flag-5'>SPI</b>协议(二)----基于<b class='flag-5'>SPI</b>接口的FLASH芯片M25P16的使用

    理到实例:GaN为何值得期待?

    理到实例:GaN为何值得期待?
    的头像 发表于 12-30 17:06 967次阅读
    <b class='flag-5'>从</b>原<b class='flag-5'>理到</b>实例:GaN为何值得期待?

    带你了解 DAC

    了解 DAC
    的头像 发表于 12-07 15:10 8575次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>带你<b class='flag-5'>了解</b> DAC

    解析压敏电阻MOV:基础原理到应用?

    解析压敏电阻MOV:基础原理到应用?|深圳比创达电子EMC
    的头像 发表于 01-24 10:47 810次阅读
    解析压敏电阻MOV:<b class='flag-5'>从</b>基础原<b class='flag-5'>理到</b>应用?