LTPI协议的理解——2、LTPI实现的底层架构

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

LTPI协议的理解——2、LTPI实现的底层架构

  • 前言
  • 一、体系结构
  • 三、实现细节
  • 四、物理接口信号传输方法
  • 总结


前言

前面讲了LTPI的定义和大概结构,接下来继续理解LTPI硬件实现的底层架构

一、体系结构

在这里插入图片描述

1、External Interface Controllers (也称为I/O中继器 I/O Relay)负责捕获(SCM)和重建(HPM)LPTI通道上的物理接口:

  • GPIO
  • I2C/SMBus
  • UART
  • OEM
  • DATA
    CSR–配置和状态寄存器为BMC或其他设备提供了访问和控制SCM和HPM内部逻辑的方法
    2、Channel Controller
    这个模块负责:
  • 链路状态机控制(链路训练和接口配置)
  • 生成传出LTPI帧
  • 解析传入LTPI帧
  • CRC校验和生成和验证
  • 逗号符号追逐和锁定
  • 8b/10b编码和解码
    3、SerDes
    LVDS链路上数据的串行化和反串行化

从高级体系结构的角度来看,SCM CPLD和HPM CPLD LTPI体系结构构建块在SCM和HPM之间被认为是对称的,即两个CPLD上的TX路径和RX路径通常遵循相同的操作理论。SCM和HPM之间存在特定差异,例如,HPM和SCM训练要求的差异,或特定通道(如SMBus)的不同配置,其中一个CPLD将连接到SMBus Controller,而另一个连接到SMBus target。HPM和SCM的源代码在LTPI部分大部分是相同的。

三、实现细节

LTPI框图如下图所示:
在这里插入图片描述
SCM和HPM中的TX路径的工作方式如下:
1.物理接口上的信号由相应的控制器/中继器捕获:
a.I2C中继器–I2C/SMBus接口
b.GPIO控制器-GPIO接口
c.UART控制器-UART接口
d.OEM控制器-OEM接口
e.数据总线控制器-数据通道桥接至外部接口
2.LTPI信道控制器生成LTPI帧和CRC校验和
a.每个LTPI信道都在LTPI帧内的专用位字段上编码
3.然后使用8b/10b编码对帧进行编码
a.帧标志用帧逗点符号扩展(K码)
4.10b编码帧在LVDS TX链路上串行化

SCM和HPM中的RX路径的工作方式如下:

1、LVDS流量被捕获并反序列化到10b编码的FIFO缓冲器中
2、在10b数据流中,帧K码被捕获为LTPI帧的开始
a.该帧被解码为8b编码
3、再次检查帧的CRC校验和,并将其分解为LTPI信道
4、使用信道控制器/中继器在各个信道上重建信道状态
a.I2C中继器–I2C/SMBus接口
b.GPIO控制器-GPIO接口
c.UART控制器-UART接口
d.OEM控制器-OEM接口
e.数据总线控制器-数据通道桥接至外部接口

四、物理接口信号传输方法

LTPI使用以下通用方法来采集和隧道传输各种LTPI通道:

  • 采样–I/O状态由LTPI进行采样,采样在LTPI帧中进行隧道传输
  • 事件/状态检测-根据接口状态,为通道定义一组事件/状态,并在LTPI帧中进行隧道传输和隧道传输
  • 随机存取读/写请求–外部接口触发随机存取内存映射通道

LTPI支持的接口也可以根据给定接口的RX和TX方向的同步来分类,即接口的隧道传输是否需要TX和RX方向在彼此之间同步:

  • 异步-对于给定的信道和接口/链路,LTPI TX和RX路径是独立的
  • 同步-对于给定的信道和接口/链路,LTPI TX和RX路径需要同步,以允许接口在隧道传输后正确工作
    根据这些定义,LTPI通道可以如下面的表所示进行表征。
    在这里插入图片描述

总结

1、类似于高速收发器中需要字节对齐,K码检测,这个协议也涉及到这些
2、用到了8B/10B编码,那么帧内容应该都是以字节为单位进行组帧,同时在帧的头部设置为K comma用于判断是什么类型的帧,尾巴加上CRC校验,CRC校验的内容是不包含K Comma的其他内容
2、GPIO UART这些因为是直通的,因此可以直接进行采样
3、而I2C和DATA BUS这些是需要交互的,不能像GPIO UART那么简单的操作。例如I2C Master发起写操作的时候,写入7bit地址需要等待I2C Slave的ACK。这些都无法只通过一根线来进行传输。同时在等待ACK的时候,必须暂停I2C Master的工作,那么这里又使用了I2C的时钟扩展特性。

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

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

相关文章

MySQL 数值函数,字符串函数与多表查询

MySQL像其他语言一样,也提供了很多库函数,分为单行函数和分组函数(聚合函数),我们这里先简易介绍一些函数,熟悉就行,知道怎么使用即可. 数值函数 三角函数 指数与对数函数 进制间的转换函数 字符串函数 注:LPAD函数是右对齐,RPAD函数是左对齐 多表查询 注:如果为表起了别名,就…

elasticsearch系列四:集群常规运维

概述 在使用es中如果遇到了集群不可写入或者部分索引状态unassigned,明明写入了很多数据但是查不到等等系列问题该怎么办呢?咱们今天一起看下常用运维命令。 案例 起初我们es性能还跟得上,随着业务发展壮大,发现查询性能越来越不…

边缘计算网关:重新定义物联网数据处理

随着物联网(IoT)设备的爆炸式增长,数据处理和分析的需求也在迅速增加。传统的数据处理方式,将所有数据传输到中心服务器进行处理,不仅增加了网络负担,还可能导致数据延迟和安全问题。因此,边缘计…

Java虚拟机中的垃圾回收

2 垃圾回收 2.1 判断一个对象是否可回收 2.1.1 引用计数法 如果一个对象被另一个对象引用,那么它的引用计数加一,如果那个对象不再引用它了,那么引用计数减一。当引用计数为 0 时,该对象就应该被垃圾回收了。 但是下面这种互相…

kafka实现延迟消息

背景 我们知道消息中间件mq是支持延迟消息的发送功能的,但是kafka不支持这种直接的用法,所以我们需要独立实现这个功能,以下是在kafka中实现消息延时投递功能的一种方案 kafka实现延时消息 主要的思路是增加一个检测服务,这个检…

0开始配置Cartographer建图和导航定位

0开始配置Cartographer 日期:12-19 硬件:激光雷达IMU 小车的tf变换: 建图配置 lua文件配置:my_robot.lua include "map_builder.lua" include "trajectory_builder.lua"options {map_builder MAP_BUILDE…

华为无线ac双链路冷备和热备配置案例

所谓的冷备和热备,冷备就是不用vrrp和hsb协议同步ap和用户信息,主的断了等七十五秒后,备的capwap和ap连接上去。 双链路冷备不用vrrp和hsb 双链路热备份只用hsb同步ap和用户信息,不用vrrp,两个ac可以不用在同一个二层…

【Linux】缓冲区理解

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;优惠多多。&#xff08;联系我有折扣哦&#xff09; 文章目录 1. 一个奇怪的现象2. 为什么要有缓冲区3. 缓冲区的刷新策略4. 缓冲区在哪里5. 实现一…

面试题:说一下Spring 中的 @Cacheable 缓存注解?

文章目录 1 什么是缓存2 本地缓存和集中式缓存3 本地缓存的优点4 Spring对于缓存的支持4.1 spring支持的CacheManager4.2 GuavaCache4.3 引入依赖4.4 创建配置类4.5 缓存注解4.6 Cacheable的用法 5 Cacheable失效的原因 1 什么是缓存 第一个问题&#xff0c;首先要搞明白什么是…

详解“量子极限下运行的光学神经网络”——相干伊辛机

量子计算和量子启发计算可能成为解答复杂优化问题的新前沿&#xff0c;而经典计算机在历史上是无法解决这些问题的。 当今最快的计算机可能需要数千年才能完成高度复杂的计算&#xff0c;包括涉及许多变量的组合优化问题&#xff1b;研究人员正在努力将解决这些问题所需的时间缩…

VScode的入门手册(IDEA迁移到VScode)

从IDEA迁移到VScode的过程中&#xff0c;会有很多不适应的地方&#xff0c;下面算是一篇VScode的入门手册&#xff0c;也可以说是从IDEA迁移到VScode的手册。 命令面板&#xff08;Command Palette&#xff09; 允许你快速访问和执行命令。 在 Visual Studio Code 中&#x…

最新Jasmine博客模板:简洁美观的自适应Typecho主题

Jasmine是一个专为博客类网站设计的Typecho主题。它以简洁为基础&#xff0c;力求展现出精致而美观的风格。主题采用了响应式设计&#xff0c;即使在移动设备上也能提供良好的使用体验。此外&#xff0c;主题还进行了针对性的优化&#xff0c;包括SEO、夜间模式和代码高亮等方面…

ES的使用(Elasticsearch)

ES的使用&#xff08;Elasticsearch&#xff09; es是什么&#xff1f; es是非关系型数据库&#xff0c;是分布式文档数据库&#xff0c;本质上是一个JSON 文本 为什么要用es? 搜索速度快&#xff0c;近乎是实时的存储、检索数据 怎么使用es? 1.下载es的包&#xff08;环境要…

三台CentOS7.6虚拟机搭建Hadoop完全分布式集群(二)

这个是笔者大学时期的大数据课程使用三台CentOS7.6虚拟机搭建完全分布式集群的案例&#xff0c;已成功搭建完全分布式集群&#xff0c;并测试跑实例。 6.安装JDK 以下操作现在master上操作&#xff0c;然后远程复制到slave01、slave02即可。 6.1 将压缩包发送到master节点机…

通过AWS Endpoints从内网访问S3

AWS S3作为非结构化数据的存储&#xff0c;经常会有内网中的app调用的需求。S3默认是走公网访问的&#xff0c;如果内网app通过公网地址访问S3并获取数据会消耗公网带宽费用。如下图所示&#xff1a; AWS 提供了一种叫做endpoints的资源&#xff0c;这种资源可以后挂S3服务&a…

【Maven】linux部署maven

简介 最近学习hyperledger-fabric超级账本&#xff08;区块链&#xff09;&#xff0c;需要使用到java和maven&#xff0c;所以重新学习了一下如何部署maven&#xff0c;这里附上参考文档。在附上官方网站的下载地址&#xff1a;https://maven.apache.org/download.cgi。首先去…

WPF+Halcon 培训项目实战(7):目标匹配助手

前言 为了更好地去学习WPFHalcon&#xff0c;我决定去报个班学一下。原因无非是想换个工作。相关的教学视频来源于下方的Up主的提供的教程。这里只做笔记分享&#xff0c;想要源码或者教学视频可以和他联系一下。 相关链接 微软系列技术教程 WPF 年度公益课程 Halcon开发 CSD…

Kindle使用USB数据线传书封面无法显示问题

以下内容只针对USB传书&#xff08;非越狱版本&#xff0c;越狱了有相关插件&#xff0c;这里不谈&#xff09;&#xff0c;不包括邮件传书。 恶心图如下&#xff1a; 直接把mobi/azw3/azw &#xff08;epub模式不能直接拷贝&#xff0c;kindle无法读取&#xff09;格式的电子…

STL——stack容器

1.stack基本概念 概念&#xff1a;stack是一种先进后出&#xff08;First In Last Out,FILO&#xff09;的数据结构&#xff0c;它只有一个出口。 栈中只有顶端的元素才可以被外界使用&#xff0c;因此栈不允许有遍历行为。 栈中进入数据称为——入栈&#xff08;push&#x…

在markdown中添加视频的两种方法

查看专栏目录 Network 灰鸽宝典专栏主要关注服务器的配置&#xff0c;前后端开发环境的配置&#xff0c;编辑器的配置&#xff0c;网络服务的配置&#xff0c;网络命令的应用与配置&#xff0c;windows常见问题的解决等。 文章目录 方式一源代码: 方式二结尾语网络的梦想 markd…