为您的高速SPI添加强大和可靠的隔离交流

news2024/9/22 19:43:23

介绍

串行外设接口(SPI)是工业设备中常用于数字处理器核心和外围设备之间通信的一种协议。然而,为了安全使用,有必要对外围设备和核心进行电隔离。虽然隔离和SPI都是成熟的技术,但将两者接口并不像预期的那么简单。

SPI概述

串行外设接口(SPI)是一种设备间总线协议,它在主设备和多个从设备之一之间提供快速、同步的全双工通信。主设备(如MCU或FPGA)驱动时钟并选择从设备(如ADC或数字输出驱动器)进行地址。每个SPI设备由一个移位寄存器和控制电路组成,使所选设备同时发送和接收。在SPI通信中使用了4个信号,如图1所示。

 

图1主属/从属SPI连接

SCLK:所有设备所使用的同步时钟。驱动这个时钟,程序接收它。请注意,SCLK可以被门控控制,并且不需要在SPI事务之间被驱动。

MOSI:驱动,程序。在主服务器上也称为DO,在从服务器上也称为DI。这是由主机驱动的主数据线到SPI总线上的所有从服务器。只有从MOSI中选择的从时钟数据。

驱动,程序。也在主服务器上被称为DI,在程序服务器上被称为DO。这是由选定的从服务器到主服务器驱动的主数据线。只有选定的从机可以驱动此信号。

芯片选择,这个信号是每个从机唯一的。当活动(通常较低)时,所选从服务器必须基于SCLK转换驱动MISO。

工业应用所面临的挑战

对于许多工业控制应用程序,数字处理器核心(MCU)和 I/O模块设备之间的通信路径必须被隔离。隔离有助于尽量减少噪声和地面回路问题,也为昂贵的控制单元(mcu或FPGAs)和设备操作人员提供保护。传统的信号隔离方法是使用光耦合器。然而,一些缺点使得光耦合器不适合现代、高速、SPI数据传输应用程序。光耦合器引入长传播延迟,功耗高,体积大。更小的CMOS电容式数字隔离芯片现在已经取代了光耦合器。然而,数字隔离器的使用本身并不是灵丹妙药。为了使数字隔离器有效地用于高速SPI通信中,它们必须满足几个具有挑战性的电压和定时参数,如图2所示。

通常,隔离器的模拟域和数字域中的电压处于不同的水平。为了使隔离器有效,它必须能够在这两个领域的尽可能宽的电压范围内工作。此外,由于SPI是一个事实上的标准,而不是一个正式的标准,因此没有明确定义的时钟频率。尽管许多遗留设备可能使用在5MHz-10MHz范围内的时钟频率,但许多较新的设备有更高的速度数据传输要求,使用在50MHz 75MHz之间的时钟频率。一个有效的隔离器必须能够在此较宽的SPI频率范围内工作。

 

图2高速SPI的关键定时参数

通过在主设备和从设备之间放置数字隔离器,可以为SPI总线创建额外的信号延迟。主服务器使用上升的时钟边缘来发送数据(T第1页对于SCLK)和采样从从属服务器发送回的数据的下降边(T第2页MISO)。系统设计人员需要检查定时预算,以确保隔离器的传播延迟没有违反主服务器对采样 MISO的定时要求。否则,主数据将失去同步性,或者在接收/传输的数据中引入错误,如图3所示。

单个数字隔离器部分可以由多个隔离通道组成(通常在1和4个之间)。因此,在隔离器通道之间匹配延迟是至关重要的。否则,可能会引入传播延迟倾斜。这一点很重要,例如,一个时钟通过隔离器的一个通道传输,而数据通过另一个通道传输。

最后,在电路中增加一个数字隔离器,显然会导致电流消耗的增加。一个有效的隔离器不应过度影响功率预算,以避免在小型外壳中散热。

 

图3由于隔离器延迟而导致的时间不匹配

ADC通过使用MAX14935和MAX12930数字隔离器与FPGA进行隔离。SCLK时钟数据(MOSI)从FPGA到ADC。在ADC的输入端,孤立的SCLK表示为CLK,孤立的MOSI表示为DIN。在低速SPI通信期间,主时钟也被用于反向移动的时钟数据(MISO)。为了补偿主时钟(SCLK)已经被正向方向的隔离延迟的事实,当从ADC到FPGA的反向计时数据时,返回CLK的副本(隔离的SCLK)。这确保了CLK和DOUT的时间在它们被隔离时仍然同步,并分别到达FPGA作为RETURN_SCLK和MISO。

 

图4:典型的高速SPI隔离电路

为了使这种安排成功,不仅要有低的隔离器传播延迟和低的信道间偏斜,而且要有低的部分对部分偏斜。Maxim集成公司的MAX1493x和MAX1293x系列CMOS数字隔离器是专门设计的,以满足这些要求,并确保电路安排能够成功实现,以在高速SPI通信中提供隔离(图5)。

 

图5时钟返回主的计时

结论

基于Maxim专有的电容隔离技术,MAX1493x和MAX1293x系列的数字隔离器为系统设计者提供了最高程度的高速SPI隔离的灵活性。它们提供高隔离电压保护(高达5kVrms),同时也支持高达150Mbps的数据速率。这些部件运行在一个较宽的电源电压范围(1.71V至5.5V)内,典型的传播延迟为5ns (7.5ns,最大)。最大脉冲宽度失真为1ns,结合最大信道对通道偏斜为0.9ns和最大部分对部分偏斜为3ns,确保了高速SPI通信电路的可靠运行。

MAX1493x和MAX1293x每部分最多提供4个隔离通道,也非常适用于可编程逻辑控制器(plc),电信-医疗仪器和医疗器械的应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/69276.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SAP ABAP——数据类型(五)【LIKE系列关键字】

💬个人网站:【芒果个人日志】​​​​​​ 💬原文地址:SAP ABAP——数据类型(五)【LIKE系列关键字】 - 芒果个人日志 (wyz-math.cn) 💂作者简介: THUNDER王,一名热爱财税…

【git】简洁实用教程

虽然之前有git的笔记了,但是操作和命令太多,有点冗余,下面整理出最常见的一些场景和git需求。 零、Git速查表 好习惯:每次提交后和开发代码前,都应该pull下 常见命令: git clone拉取服务器代码&#xff0…

深度解读 | 如何构建以指标为核心的ABI平台?

在上期一文中,我们了解到BI不同发展阶段运行模式及遇到的问题。“报表阶段”是以报表粒度进行管理,数据和报表完全耦合在一起,在不同报表间产生数据和指标的冗余和重复,形成报表爆炸、技术债,导致数据不可信、分析不敏…

Windows 7下安装oracle12c报错:O/S-Error:(OS 1385)

查看报错日志:C:\Program Files\Oracle\Inventory\logs\ installActions2015-04-21_09-29-15AM.log, 提示查看: D:\app\Administrator\cfgtoollogs\netca\trace_OraDB12Home1-150421 11上午1616.log , 打开该log,在尾部发现如下错…

LaTeX页眉页脚自定义【有图有代码】

LaTeX页眉页脚自定义【有图有代码】一、自定义页眉页脚示例【双页文档】\fancyhead \fancyfoot1、代码讲解2、自定义代码3、页眉和页脚的装饰线4、总页数二、自定义页眉页脚示例【单页文档】\rhead \rfoot三、\pagestyle{}介绍四、设置当前页面样式\thispagestyle{}平时在写报告…

中级软件设计师备考上午题总结

中级软件设计师备考上午题总结 前言 10月末11月初备考了中级软件设计师,备考时间总计20天整,由于预留的备考时间并不多,上午题复习策略主要是以看别人整理好的笔记为主,不懂的地方以看zst_2001的视频为辅,最后预留了…

JDBC Java对数据库增删改查(完整案例)

目录 一.综合上述7个步骤,实现向student表中插入一条数据。 1、注册驱动 2 、获取数据库连接对象 3、获取发送SQL语句对象 4、编写SQL语句,SQL语句最好是先在SQLyog里面写一遍并运行一下,保证SQL语句没有语法 错误,这里sid是…

C语言百日刷题第十二天

前言 今天是刷题第12天&#xff0c;放弃不难&#xff0c;但坚持一定很酷~ 临近期末&#xff0c;刷几套模拟题 C语言百日刷题第十二天前言选择题判断题编程题选择题 1.设a1;b2;c3;d4;则表达式a<b?a:c<d? a:d的结果是____。 A、3 B、1 C、4 D、2 正确选项&#xf…

Linux多线程(一):什么是线程?

文章目录一、前言二、什么是线程&#xff1f;三、线程是如何实现的&#xff1f;四、基本概念梳理五、后记一、前言 什么是线程&#xff1f;操作系统书籍上可能会给你这样的解释与定义&#xff1a; 线程是在进程内部运行的执行流线程比进程的执行力度更细&#xff0c;线程的调…

年底无情被裁,我面试大厂的这几个月…

2022年接近尾声&#xff0c;“金九十”今年也变成了“铜九铁十”。 大厂不断缩招&#xff0c;不容忽视的疫情影响&#xff0c;加上不断攀升的毕业生人数&#xff0c;各种需要应对的现实问题让整个求职季难上加难。 在这个异常残酷的求职季&#xff0c;很多人的困惑、面临的问…

VM系列模块基本信息

外形尺寸&#xff1a; VM501/604/608 30.0mmX26.0mmX4.3mm 贴插封装-20 VM511/614/618 60.0mmX36.0mmX4.8mm 直插-22 VM704 30.0mmX26.0mmX6.0mm 直插-20 VM704S 32.0mmX32.0mmX15.0mm 直插-20 数字接口&#xff1a;UARTI2C UART&#xff1a;TTL/R…

03-SpringBoot进阶

知识回顾 知识目标 1、SpringBoot单元测试【掌握】 2、SpringBoot 整合 MybatisPlus【重点】 3、SpringBoot添加分页插件【掌握】 4、SpringBoot定义拦截器【掌握】 5、SpringBoot使用类型转换器【掌握】 6、文件上传【掌握】 7、SpringBoot异常处理【掌握】 8、SpringBoot定…

Navicat 16 和表空间 | 第 一 部分

优点 你知道 Navicat 16 支持表空间吗&#xff1f;表空间是表&#xff08;以及索引、大型对象和长数据&#xff09;的存储结构&#xff0c;它将数据库中的数据组织成与在文件系统上存储数据的位置相关的逻辑存储组。它的主要功能是联接物理存储层和逻辑存储层。通过将表分配给表…

c盘空间怎么扩大?

电脑系统主要存储在C盘&#xff0c;用户还可能会将一些软件、文件夹存储在C盘&#xff0c;所以电脑C盘必须拥有足够充足的空间&#xff0c;为了大家更好地使用电脑&#xff0c;这里小编带来的就是电脑扩大C盘空间的教程。 1、右击桌面的计算机图标&#xff0c;然后选择管理! 2、…

过滤器的使用

过滤器的使用过滤器介绍过滤器的使用配置过滤器过滤器路径的配置规则前置、后置、环绕过滤器过滤器链过滤器的优先级过滤器介绍 过滤器(Filter)是位于客户端与服务器资源之间的一道过滤技术&#xff0c;可以在客户端请求到达目标资源之前进行预处理业务。 过滤器作用 执行多个…

【Java实战】系统设计需要注意的细节

目录 一、前言 二、设计规约 1.【强制】存储方案和底层数据结构的设计获得评审一致通过&#xff0c;并沉淀成为文档。 2.【强制】在需求分析阶段&#xff0c;如果与系统交互的 User 超过一类并且相关的 UseCase 超过 5 个&#xff0c;使用用例图来表达更加清晰的结构化需求。…

小说电子书阅读系统毕业设计,小说电子书阅读系统设计与实现,毕业设计论文源码开题报告需求分析

项目背景和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于web网页的电子书阅读系统&#xff0c;整个网站项目使用了B/S架构&#xff0c;基于java的springboot框架下开发&#xff1b;管理员通过后台录入信息、管理信息&#xff0c;设置网站信息&#xff0c;管理会…

4款游戏开发引擎优缺点分析

随着微信生态中&#xff0c;小程序应用指数级的增长&#xff0c;许多休闲游戏变成为了众多游戏厂商流量变现的新手段。以近期很火的“羊了个羊”为例&#xff0c;它便是我们常常所说的小游戏。 游戏和小游戏的区别 要盘点小游戏开发引擎之前&#xff0c;我们得先来了解下游戏…

vue3+ts 实现文件在线预览

一、背景 企业微信自建项目中要求PC端也能进行文件预览&#xff0c;但是企业微信提供的接口只能在移动端使用&#xff0c;通过查阅资料修改成贴合项目的方法。参考&#xff1a;https://blog.csdn.net/w_t_y_y/article/details/115767747 kkFileView官方文档 二、preview-file…

浅析能源物联网技术在校园能耗监测系统中的应用与研究

摘要:绿色环保已成为时代的主题&#xff0c;与此同时&#xff0c;节能减排也成为我国蓝天保卫战的重要措施。我国大型公共建筑年耗电量约占全国城镇总耗电量的22%&#xff0c;每平方米年耗电量是普通居民住宅的10&#xff5e;20倍&#xff0c;是欧洲、日本等发达国家同类建筑的…