当前位置: 首页 > news >正文

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的时钟扩展特性。

相关文章:

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

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 LTPI协议的理解——2、LTPI实现的底层架构 前言一、体系结构三、实现细节四、物理接口信号传输方法总结 前言 前面讲了LTPI的定义和大概结构,接下来继续理解LTPI…...

CentOS 8.2 安装 Mysql 5.7.26(单机)

Mysql二进制包: mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 1、卸载旧环境 rpm -qa|grep mysql rpm -qa|grep mariadb rpm -e XXX.rpm --nodeps # 强制卸载rpm包 rm -rf /etc/my.cnf rm -rf /etc/mysql rm -rf /usr/local/mysql 2、安装依赖包 yum -y install libaio yum…...

Vue Tinymce富文本组件自定义带下拉框的操作按钮

想实现如下效果 首先在init方法中的props,toolbar属性增加一个自定义按钮 增加一个setup方法 代码 setup: function(editor) { editor.ui.registry.addSplitButton(myDateButton, {text: 日期时间,onAction: (_) > editor.insertContent(getJsMonthDay(getNowDat…...

YOLOv5算法进阶改进(10)— 更换主干网络之MobileViTv3 | 轻量化Backbone

前言:Hello大家好,我是小哥谈。MobileViTv3是一种改进的模型架构,用于图像分类任务。它是在MobileViTv1和MobileViTv2的基础上进行改进的,通过引入新的模块和优化网络结构来提高性能。本节课就给大家介绍一下如何在主干网络中引入MobileViTv3网络结构,希望大家学习之后能够…...

Java UDP

接收方 创建DatagramSocket实例并指定端口。创建DatagramPacket实例接收信息。调用DatagramSocket的receive()方法将接收信息并传递给DatagramPacket。通过DatagramPacket的getData()方法获取信息内容,getLength()方法获取长度。 package io.github.jast90.udp;im…...

Halcon阈值处理的几种分割方法threshold/auto_threshold/binary_threshold/dyn_threshold

Halcon阈值处理的几种分割方法 文章目录 Halcon阈值处理的几种分割方法1. 全局阈值2. 基于直方图的自动阈值分割方法3. 自动全局阈值分割方法4. 局部阈值分割方法5. var_threshold算子6 . char_threshold 算子7. dual_threshold算子 在场景中选择物体或特征是图像测量或识别的重…...

FB混合C语言编译

这是群友分享的方法,这里只是作为记录和分享。 有了这个功能,可以很方便的拷贝一下C或者C代码直接用到FB上。 既然是混合C语言编译,当然得有C的代码。比如随便去网上找两个排序:冒泡排序和选择排序,代码如下&#xf…...

【机器学习】深度学习概论(二)

五、受限玻尔兹曼机(Restricted Boltzmann Machine,RBM) 5.1 RBM介绍 示例代码: Python 编写了一个简单的 RBM 实现,并用一些假数据训练了它。然后,他展示了如何用 RBM 来解释用户的电影偏好,以…...

词法语法语义分析程序设计及实现,包含出错提示和错误恢复

词法说明 (1)关键字 main, int, char, if, else, for, while, void (2)运算符 - * / < < > > ! (3)界符 ; ( ) { } (4)标识符 ID letter(letter|digit)* (5)整型常数 NUM digit digit* (6)空格 ‘ ‘ ‘\n’ ‘\r’ ‘\t’ 空格用来分隔ID,NUM,运算符,界…...

Linux的capability深入分析

from:https://www.cnblogs.com/iamfy/archive/2012/09/20/2694977.html 一)概述: 1)从2.1版开始,Linux内核有了能力(capability)的概念,即它打破了UNIX/LINUX操作系统中超级用户/普通用户的概念,由普通用户也可以做只有超级用户可以完成的工作. 2)capability可以作用在进程上…...

【自然语言处理】类似GPT的模型

除了GPT (Generative Pre-trained Transformer) 之外&#xff0c;还有一些其他的好用的类似工具可以用来生成文本。以下是几个受欢迎的工具&#xff1a; BERT (Bidirectional Encoder Representations from Transformers): BERT 是一个预训练的深度双向 Transformer 模型&#…...

【Unity】【FBX】如何将FBX模型导入Unity

【背景】 网上能够找到不少不错的FBX模型资源&#xff0c;大大加速游戏开发时间。如何将这些FBX导入Unity呢&#xff1f; 【步骤】 打开Unity项目文件&#xff0c;进入场景。 点击Projects面板&#xff0c;右键选择Import New Assets 选中FBX文件后导入。Assets文件夹中就会…...

腾讯云标准型S5服务器4核8G配置优惠价格表

腾讯云4核8G服务器S5和轻量应用服务器优惠价格表&#xff0c;轻量应用服务器和CVM云服务器均有活动&#xff0c;云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元&#xff0c;5年6490.44元&#xff0c;轻量应用服务器4核8G12M带宽一年446元、529元15个月&#xff0c;腾讯云…...

学习笔记:R语言基础

文章目录 一、R语言简介二、选择R的原因三、R基本数据对象&#xff08;一&#xff09;向量&#xff08;二&#xff09;矩阵&#xff08;三&#xff09;数组&#xff08;四&#xff09;因子&#xff08;五&#xff09;列表&#xff08;六&#xff09;数据框&#xff08;七&#…...

初识智慧城市

文章目录 智慧家居 智慧社区 智慧交通 智慧医疗 智慧教育 智慧旅游 智慧农业 智慧安防 智慧家居 利用智能语音、智能交互等技术,实现用户对家居系统各设备的远程操控和能控制如开关窗帘(窗户)、操控家用电器和照明系统、打扫卫生等操作。利用计算机视觉等技术,对被照看…...

Zookeeper之手写一个分布式锁

前言 我之前写了一篇快速上手ZK的文章&#xff1a;https://blog.csdn.net/qq_38974073/article/details/135293106 本篇最要是进一步加深学习ZK&#xff0c;算是一次简单的实践&#xff0c;巩固学习成果。 设计一个分布式锁 对锁的基本要求 可重入&#xff1a;允许同一个应…...

【音视频 ffmpeg 学习】 RTMP推流 mp4文件

1.RTMP(实时消息传输协议)是Adobe 公司开发的一个基于TCP的应用层协议。 2.RTMP协议中基本的数据单元称为消息&#xff08;Message&#xff09;。 3.当RTMP协议在互联网中传输数据的时候&#xff0c;消息会被拆分成更小的单元&#xff0c;称为消息块&#xff08;Chunk&#xff…...

跨进程通信 macOS XPC 创建实例

一&#xff1a;简介 XPC 是 macOS 里苹果官方比较推荐和安全的的进程间通信机制。 集成流程简单&#xff0c;但是比较绕。 主要需要集成 XPC Server 这个模块&#xff0c;这个模块最终会被 apple 的根进程 launchd 管理和以独立进程的方法唤起和关闭&#xff0c; 我们主app 进…...

Python圣诞树代码

Python圣诞树代码 # 小黄 2023/12/25import turtle as t # as就是取个别名&#xff0c;后续调用的t都是turtle from turtle import * import random as rn 100.0speed(20) # 定义速度 pensize(5) # 画笔宽度 screensize(800, 800, bgblack) # 定义背景颜色&#xff0c;可…...

flask之文件管理系统-项目 JRP上线啦!!! ---修订版,兼容Windows和Linux系统

上一章的版本https://blog.csdn.net/weixin_44517278/article/details/135275066&#xff0c;在Windows下debug完成无异常后&#xff0c;上传到我的树莓下开始正式服役 由于开发环境是Windows&#xff0c;使用环境是Linux&#xff0c;导致最后没能成功运行起来 这个版本是今天去…...

希尔排序:排序算法中的调优大师

希尔排序&#xff1a;排序算法中的调优大师 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;让我们一同探讨一个经典而高效的排序算法——希尔排序。…...

LeetCode 1185. 一周中的第几天

一、题目 1、题目描述 给你一个日期&#xff0c;请你设计一个算法来判断它是对应一周中的哪一天。 输入为三个整数&#xff1a;day、month 和 year&#xff0c;分别表示日、月、年。 您返回的结果必须是这几个值中的一个 {"Sunday", "Monday", "Tues…...

大数据学习(30)-Spark Shuffle

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博主哦&#x1f91…...

Linux部署ELK

大家好&#xff0c;我是升仔 引言 在复杂的系统架构中&#xff0c;日志管理是一个关键的环节。ELK栈提供了一个高效的解决方案&#xff0c;能够帮助我们快速定位问题、分析数据&#xff0c;并实现实时监控。部署ELK栈是一项挑战&#xff0c;但收益巨大。 基础安装和配置 环境准…...

Python 实现 PDF 到 Word 文档的高效转换(DOC、DOCX)

PDF&#xff08;Portable Document Format&#xff09;已成为一种广泛使用的电子文档格式。PDF的主要优势是跨平台&#xff0c;可以在不同设备上呈现一致的外观。然而&#xff0c;当我们需要对文件内容进行编辑或修改&#xff0c;直接编辑PDF文件会非常困难&#xff0c;而且效果…...

【MYSQL】MYSQL 的学习教程(七)之 慢 SQL 优化思路

1. 慢 SQL 优化思路 慢查询日志记录慢 SQLexplain 分析 SQL 的执行计划profile 分析执行耗时Optimizer Trace 分析详情确定问题并采用相应的措施 1. 慢查询日志记录慢 SQL 如何定位慢SQL呢&#xff1f; 我们可以通过 慢查询日志 来查看慢 SQL。 ①&#xff1a;开启慢查询日志…...

unity学习笔记----游戏练习0

一、修复植物种植的问题 1.当手上存在植物时&#xff0c;再次点击卡片上的植物就会在手上添加新的植物&#xff0c;需要修改成只有手上没有植物时才能再次获取到植物。需要修改AddPlant方法。 public bool AddPlant(PlantType plantType) { //防止手上出现多个植…...

ai概念:强人工智能介绍、迁移学习

强人工智能&#xff08;Strong Artificial Intelligence&#xff0c;SAI&#xff09;是指一种具有与人类智能相媲美或超越人类智能水平的人工智能系统。与弱人工智能&#xff08;Weak Artificial Intelligence&#xff0c;WAI&#xff09;不同&#xff0c;强人工智能具有更高级…...

go语言设计模式-单例模式

建造型设计模式-单例模式 是用来控制类型实例的数量的&#xff0c;当需要确保一个类型只有一个实例时&#xff0c;就需要使用单例模式。 即把实例的访问进行收口&#xff0c;不能谁都能 new 类&#xff0c;所以单例模式还会提供一个2访问该实例的全局端口&#xff0c;一般都会…...

超维空间S2无人机使用说明书——51、基础版——使用yolov8进行目标跟踪

引言&#xff1a;为了提高yolo识别的质量&#xff0c;提高了yolo的版本&#xff0c;改用yolov8进行物体识别&#xff0c;同时系统兼容了低版本的yolo&#xff0c;包括基于C的yolov3和yolov4&#xff0c;以及yolov7。 简介&#xff0c;为了提高识别速度&#xff0c;系统采用了G…...

武汉做医院网站公司电话/网站排名优化方案

为什么选择WijmoJS&#xff1f; 作为一款纯前端控件集&#xff0c;WijmoJS秉承“快如闪电&#xff0c;触控优先”的设计理念&#xff0c;在提供优质服务和产品的同时&#xff0c;专注于企业应用开发&#xff0c;不断优化产品架构&#xff0c;与时俱进。除在全球率先支持Angular…...

网站建设误期违约金赔偿限额/南阳本地网络推广优化公司

springboot run 的总体流程如下&#xff1a; &#xff08;1&#xff09;加载各种配置文件以及环境参数 主要根据main方法和自动配置文件META-INF/spring.factories 中的相关配置类进行自动化化加载初始化等操作。 注册监事件听器。 初始化容器上下文Context。 解析Compone…...

公司网站制作方案/网站seo诊断报告

科技发展迅速&#xff0c;互联网行业不断壮大&#xff0c;随之软件产品层出不穷&#xff0c;如何保证产品质量&#xff0c;成为非常重要的事情&#xff0c;当下软件功能很复杂&#xff0c;测试工作量庞大&#xff0c;除了使用手工测试来验证功能以外&#xff0c;需要通过对大量…...

苏州模板建站定制/近三天时政热点

在Vmware workstation 9中装了个Linux mint 15试试效果&#xff0c;居然不支持1600x900的分辨率&#xff0c;现在14寸的高分都是这分辨率了。上网搜了搜&#xff0c;把以下代码放到shell文件里能改变分辨率&#xff0c;设成1600x900.Mint15-Mate Xsession.d # cat /usr/local/b…...

女子医院网站设计怎么做/培训总结怎么写

在技术更新的进程中, 仍然有一些人死抱着已经过了气的东西不放. 也有一些人虽然进入到新的世界, 但仍摆脱不了陈旧的习惯. 我没有用”陋习”这个词, 因为我对这个词也非常反感.   新技术应该有新技术的做法, 进入ASP.NET的世界, 就应该把以往的习惯改正, 全新的进入新的世界.…...

日本做美食视频网站/广告位招商怎么找客户

BabyBluetooth 是一个最简单易用的蓝牙库&#xff0c;基于CoreBluetooth的封装&#xff0c;并兼容ios和mac osx。 特色&#xff1a; 基于原生CoreBluetooth框架封装的轻量级的开源库&#xff0c;可以帮你更简单地使用CoreBluetooth API。CoreBluetooth所有方法都是通过委托完成…...