1846_安全SPI

news2024/9/21 16:36:52

Grey

全部学习内容汇总:GitHub - GreyZhang/g_embedded: some embedded basic knowledge.

1846_安全SPI

SPI是一种常见的通信方式,在汽车电子中比较常用。但是如果涉及到安全相关的设计,可能得考虑更多。而SPI协议本身没有很好的标准化,安全SPI是这方面的一个很好的解决方案。

主题由来介绍

之前用过一些SPI的通信,其实SPI也是我最初迈入嵌入式的时候接触到的通信的功能,算得上是一种让我感觉到亲近的一种通信方式。不过安全SPI之前还真没有注意过。过去的一段时间,参与过功能安全项目的开发设计,让我对安全这样的字眼有了一些直觉上的好奇。这次看到的这个安全SPI,应该可以继续丰富补充我在安全设计方面的一些常识性短板。

资料分析

  • SPI是摩托罗拉开发出来的,主要是用于短距离通信的同步串行通信。
  • SPI并没有比常规的标准,因此各方面的开发可能种类会非常多,并且很多开发可能会重复性投入。
  • 在汽车电子领域中,经常会有一个独立的SPI监控设备用来实现安全的功能。这样的功能通常是通过硬件实现的。

  • 安全SPI可以应用于传感器、IC、ASICS以及MCU等,看起来应用的场景还是很全面的。

  • 如果片选不使能的时候,MISO以及MOSI一般来说会进入到高阻态。
  • 这里给出来了一个安暖气囊的例子,从这里看的确是有一个独立的监控器专门用来监控。如果这个只是一个监控,如何跟整个系统进行交互?这个会提供一些进入到MCU的新号?

SafeSPI对于SPI外设的供电并没有什么要求,可以是不同的。其实,这么看的话也可以是相同的。

  • 这里进一步讲了对于供电的要求,要求SPI的接口的供电必须保持一致。从这里看,其实这个标准是为了实现新号的一致性而不是考虑电源的失效。
  • 进一步考虑,其实如果一个外设的供电与SPI的供电是一起的,那么整个设计中全都采用相同的电源供电应该是满足的。

  • 时序的规范上,应该至少要能够支持到10M时钟。如果是在汽车电子用,控制类的控制器中10M也不算低了。而且,这个规范把这个定义为了一个最低标准,这样整个规范的适用性应该很不错。
  • 从网上也找到了一些芯片资料,采用了SafeSPI的标准,但是最大的时钟只支持5M。不排除之前的版本中对此要求可能低一些。

  • 为了满足SCK以及MISO的新号负载电容范围,建议增加一个可以用户编程的驱动强度以及速率的配置项。
  • 针对slave的设计,也有类似的要求,这里不做重复的整理。

  • 这里提到的参数9是一个帧间延时参数,这个参数对于不通的通信模式要求是不一样的。如果是out of frame,这个时间是要长一些的。因为需要有一定的时间去准备数据。
  • out of frame 以及 in frame 分别是一个什么概念之前是没有了解过的。结合这里的描述,应该是一个数据准备不需要时间,一个数据准备需要一定的时间。

  • SafeSPI 支持32bit以及48bit两种模式。
  • 32bit模式支持 out of frame 以及 in frame 两种模式。但是48bit只支持 out of frame 模式。
  • 关于 out of frame 以及 in frame 的解释这里有一个说明。看起来之前我理解的还是错误的, out of frame 的数据返回实在下一帧内。而我之前理解的是连续的数据传输中,需要一定的时间间隔准备数据。 in frame 的数据会在同一帧的数据之内做返回。
  • 通过这里的信息看,其实 out of frame 以及 in frame 是指一个响应的模式,跟安全其实没有什么特别的关联。

  • SafeSPI的数据格式定义为MSB。
  • 对于 out of frame 的通信读取指令,CS的上升沿或者最后一个时钟相位新号作为从机数据准备的触发信号。
  • 无论是32bit还是48bit的格式,数据帧的结构都是已经定义好了的。
  • 如果从机接收到了无法识别的命令,应该按照规范中的应答格式进行响应回复。

  • SafeSPI中从机寻址有5种模式,第一种是采用CS的方式。剩下的4种需要结合一个TA数值,TA为 target address 的缩写。TA可能有1bit或者2bit,体现的形式可能是pin的配置也可能是从机中的NVM编程bit。这样,一共可以组合出来5种寻址模式。
  • 按照TA的方式进行寻址的方式,让主机可以不用那么多的控制线就可以带最多4个从机。

  • 关于寄存器的bit定义,只看一下这个帧类型这部分。其他的部分可以结合具体的芯片在应用中继续做拆解分析。这类的这个帧类型,其实更多的是提示不同模式中下一帧的数据会是什么信息。

  • SafeSPI协议中规定了一个CRC的校验,这样可以确保数据的可靠性。

  • 只是前面提到的一个错误处理的定义表。从表格中可以看得出来,并不是所有的错误都会有显式的响应。有时候,针对错误的输入可能是没有任何动作。

其他

继续往后主要是48bit模式的一些说明,这个我感觉短时间内可能不会用到,暂且先不去做深一步的了解。不过从后面的信息浏览中至少是可以看得出来,48bit的CRC校验与32bit还是不一样的。此外,从机可能会同时支持32bit以及48bit两种模式。

小结

随着科技的进步以及人们对于安全的重视,未来汽车电子中的功能安全设计肯定会被考虑的越来越多。针对类似的统一性标准做一下了解,对于未来面对随时可能出现的工程实施诉求还是有很大的帮助的。

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

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

相关文章

福德机械:植保无人机的领航者

亲爱的读者们,欢迎来到福德机械的神奇世界。在这个充满活力和创新的世界里,我们专注于植保无人机的发展与应用,以实现农业现代化、智能化和高效化的目标。植保无人机,作为一种高效、环保和安全的农业工具,已经逐渐成为…

大数据----32.hbase高可用的演示

1、概述:Hbase的优缺点和适用场景 优点:HBase 底层基于HDFS存储,高可用、高扩展、强一致性,支持上亿级别数据。 10亿数据 性能测试结果 写性能:集群吞吐量最大可以达到70000 ops/sec,延迟在几个毫秒左右。…

摄影预约小程序制作实战教程

在如今的移动互联网时代,小程序成为了各行业推广和服务的重要工具之一。而对于摄影行业来说,一个专业的摄影预约小程序无疑是提高服务质量和用户体验的关键。 为了让大家更便捷地制作摄影预约小程序,本文将介绍一种使用【乔拓云】第三方制作平…

钉钉机器人发送表格

背景: 由于每次发送excel连接,不太好看,想着简单的表格直接用消息的方式发送在群里,就想着弄一个直接发送的表格信息,但是钉钉官网是没有的。 我估计钉钉的开发人员也没有想过,会有人钻空子,用markdown发送…

天翼云盘秒变硬盘分享

https://cloud.189.cn/web/share?codeAvUnqaj6NNza(访问码:wf4r)y 以下介绍为作者开发的单机版软件,可用于Windows环境中将天翼云盘挂载为本地硬盘,确实可以达到本地硬盘的使用感知,对于多终端数据副本一…

【RocketMQ】顺序消费消息实现原理分析

一、顺序消息概述 1.1、什么是顺序消息 顺序消息是指对于一个指定的 Topic ,消息严格按照先进先出(FIFO)的原则进行消息发布和消费,即先发布的消息先消费,后发布的消息后消费。 1.2、顺序消息的类型 全局顺序消息 …

【网络安全】网络防护之旅 - 对称密码加密算法的实现

🌈个人主页:Sarapines Programmer🔥 系列专栏:《网络安全之道 | 数字征程》⏰墨香寄清辞:千里传信如电光,密码奥妙似仙方。 挑战黑暗剑拔弩张,网络战场誓守长。 目录 😈1. 初识网络安…

性能提升100%、存储节约50%!猕猴桃游戏搭载OceanBase开启云端手游新篇章

近日,武汉灵动在线科技有限公司(以下简称“灵动在线”)与 OceanBase 达成合作,旗下品牌猕猴桃游戏的“游戏用户中心(微信小程序)”和“BI 分析报表业务系统“两大关键业务系统全面接入 OB Cloud 云数据库&a…

中国企业领袖年会在京举行,天雨设计左明龙应邀出席参加

12月9-11日,第二十一届中国企业领袖年会在中国大饭店隆重举行。本届领袖年会以“致敬长期主义”为主题,逾百名世界500强、中国500强和行业领军企业家受邀汇聚一堂,共话中国经济未来。北京天雨盛世文化传媒有限公司(以下简称“天雨…

Ubuntu如何安装KVM

环境: 联想E14笔记本 Ubuntu20.04 问题描述: Ubuntu如何安装KVM 解决方案: 1.验证CPU是否支持硬件虚拟化 rootst-ThinkPad-E14:~# grep -Eoc (vmx|svm) /proc/cpuinfo 162.检查 VT 是否在 BIOS 中启用 安装 apt install cpu-checker …

软件设计师——软件工程(二)

📑前言 本文主要是【软件工程】——软件设计师——软件工程的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#x1f304…

利用svm进行模型训练

一、步骤 1、将文本数据转换为特征向量 : tf-idf 2、使用这些特征向量训练SVM模型 二、代码 from sklearn.model_selection import train_test_split from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.svm import SVC from sklearn.m…

如何有效利用餐厅预约小程序推广餐厅品牌

随着餐饮行业竞争的加剧,餐厅订座预约成为了吸引顾客的一种重要方式。而微信小程序作为移动互联网的重要入口之一,为餐厅提供了一个方便快捷的预约平台。本文将介绍如何使用乔拓云平台等第三方小程序制作平台来开发餐厅订座预约微信小程序。 首先&#x…

jmeter,跨线程调用cookie

结构目录 一、线程组1 1、创建登录的【HTTP请求】,并配置接口所需参数; 2、创建【正则表达式提取器】,用正则表达式提取cookie字段; 3、创建【调试取样器】,便于观察第2步提取出的数据; 4、创建【BeanSh…

nodejs微信小程序+python+PHP的驾照理论模拟考试系统-计算机毕业设计推荐

从角色上分为用户和管理员两部分,用户功能主要是在前台,主要内容首页,注册登录, 模拟考试,论坛,公告信息 ,个人中心,考试记录,错图记录等功能,后台部分主要给…

【Spark精讲】Spark Shuffle详解

目录 Shuffle概述 Shuffle执行流程 总体流程 中间文件 ShuffledRDD生成 Stage划分 Task划分 Map端写入(Shuffle Write) Reduce端读取(Shuffle Read) Spark Shuffle演变 SortShuffleManager运行机制 普通运行机制 bypass 运行机制 Tungsten Sort Shuffle 运行机制…

群晖(Synology)云备份的方案是什么

群晖云备份方案就是在本地的 NAS 如果出现问题,或者必须需要重做整列的时候,保证数据不丢失。 当然,这些是针对有价值的数据,如果只是电影或者不是自己的拍摄素材文件,其实可以不使用云备份方案,因为毕竟云…

Unity Mono加密解决方案

Unity Mono 是 Unity 引擎默认的脚本运行时环境,在游戏开发中扮演着重要的角色。Mono 由跨平台的开源 .NET 框架实现,它允许开发者使用 C# 等编程语言编写游戏逻辑。凭借简单易用的开发环境和高效的脚本编译速度,得到了众多游戏的青睐。 在 …

打工人副业变现秘籍,某多/某手变现底层引擎-Stable Diffusion 模特假人换服装、换背景、换真人

给固定人物换背景或者换服装,需要用到一个Stable Diffusion扩展插件,就是sd-webui-segment-anything。 sd-webui-segment-anything 不仅可以做到抠图的效果,也能实现之多蒙版的效果。 什么是蒙版 图片蒙版是一种用于调节图像修改程度以及进行局部调整的工具。它通常分为四种…

Elasitcsearch--解决CPU使用率飙升

原文网址:Elasitcsearch--解决CPU使用率飙升_IT利刃出鞘的博客-CSDN博客 简介 本文介绍如何解决ES导致的CPU使用率飙升的问题。 问题描述 线上环境 Elasticsearch CPU 使用率飙升常见问题如下: Elasticsearch 使用线程池来管理并发操作的 CPU 资源。…