SLVS summarize

一、概述

SLVS-EC高速串行接口技术,在CIS和DSP(数字信号处理器)之间实现了高帧率的宽带像素数据传输。

SLVS-EC引入了一个优化的数据包格式和控制协议,几乎没有冗余,而且结构简单,仅由两层组成:

  1. LINK,利用并行结构实现宽带数据的格式处理;
  2. PHY,能够以低功耗提供高速数据传输。

同时SLVS-EC也引入了一个可扩展的FEC(前向纠错)功能,作为数据传输错误的控制协议,而数据传输错误是高速串行接口的主要影响因素。这实现了高度可靠的数据传输,并根据应用将冗余度降至最低,且延迟较低。

此外,发射器和接收器的推荐电气特性被指定为CIS和DSP之间的接口。这样就能以高速、低功耗、小面积的PHY电路实现高性能。

二、定义与缩写

Lane

一个单向的点对点差分串行连接,包括一个TX-PHY和一个RX-PHY,以及一个与差分传输线的互连。

Symbol

8B/10B编码产生的一个10位数据

Comma Symbol

用于symbol之间对齐的特殊symbol

Control Code

控制PHY协议序列的控制码

三、架构

1、系统拓扑

SLVS-EC提供可扩展的配置,以支持CIS和DSP之间的各种系统拓扑结构。

像素数据通过一对SLVS-EC的发射器(TX)和接收器(RX)从一个CIS传输到一个DSP。SLVS-EC只提供从CIS到DSP的单向数据传输。每个SLVS-EC的TX和RX所支持的Lane的最大数量应是8个Lane

如果需要超过8个Lanes的带宽,那么可以使用多个SLVS-EC接口。

此外,SLVS-EC也支持多个CIS传输到一个DSP的情形。

2、层次结构

四、应用层

应用层(CIS和DSP)括从CIS输入或输出到DSP的数据格式,以指定应用层的定义和约束,还包括SLVS-EC接口使用的帧格式和LINK/PHY协议的必要规范。

SLVS-EC接口支持RAW8、RAW10、RAW12、RAW14、RAW16。每一行的长度需要为4的整数倍。

帧格式也是在是由应用层(CIS)功能配置的。通过使用包头和该接口的其他功能嵌入帧和行信息,帧格式可以在DSP侧正确传输和重新配置。

应用层可以传输嵌入在RAW像素数据流中的辅助信息,如CIS配置的寄存器值,这里称为嵌入数据。为了便于区分嵌入式数据线和DSP(RX)端的其他线,SLVS-EC接口支持通过包头传输功能为包含嵌入式数据的线传输一个指示位。

此外,在应用层可以设置寄存器参数

五、LINK Layer

LINK层的主要作用是将帧和行信息添加到从应用层(CIS)输入的像素数据中,将数据组装成数据包,并将其输出到各Lane的PHY层;在RX侧收集各lane的PHY输入的接收数据,从数据包中提取像素数据、帧信息和其他信息,并输出到应用层(DSP),进行纠错编码和解码等处理。

1、Pixel to Byte

2、有效载荷数据

有效载荷数据指的是使用数据包发送的数据内容,是不包括帧头和帧尾等的数据。有效载荷数据由转换后的字节数据和有效载荷填充物组成。

有效载荷填充物的值为8’b0。长度如下:

3、有效载荷数据纠错

因为随机数据错误的发生取决于PHY层的比特错误特性,提供有效载荷数据纠错的功能是为了纠正这种像素数据的损坏,并提高所有SLVS-EC接口的有效比特错误性能。此外,SLVS-EC的纠错性能可以被配置,称为可扩展的FEC功能。该功能可通过配置寄存器(ECC选项)进行配置。

有效载荷数据纠错的规范定义如下:

信息长度被定义为部分有效载荷数据中经奇偶校验后的字节数。配置选项为

其中,Block Length = Info Length + Parity [byte]

4、数据包Header的生成

Header信息时发生错误,错误被CRC检测到,重复传输的其他头信息(其中没有检测到错误)可以用来在RX端重现正确的信息。

此数据包header 的CRC采用CRC16:

5、数据包Footer的生成

存储在数据包页脚中的信息是32阶CRC码(CRC32),用于检测数据包中有效载荷数据的传输错误。通过将配置寄存器中的CRC选项设置为 "ON",数据包Footer被添加并在有效载荷数据之后传输。这个选项功能的主要应用被认为是在传输有效载荷数据是嵌入式数据时,对嵌入式数据传输错误的一种对策。CRC32的实现成本相对较小,所以使用CRC选项代替有效载荷数据ECC功能可以帮助减少传输少量嵌入式数据的应用的电路实现成本。

6、状态机

1. Blanking:该状态对应于图像信息的H- Blanking。在这种状态下,LINK层要么在传输一行图像数据之前生成数据包Header,要么在数据包输出后等待PHY控制代码传输的完成。

2. Header transfer:该状态将数据包头从LINK层传输到PHY层。

3. payload data transfer。该状态从LINK层输出有效载荷数据(包括ECC)。

4. Footer transfer。该状态从LINK层传输数据包的Footer。

5. Finalize:该状态命令将表示数据包结束的控制代码从LINK层传输到PHY层。6. Mode change:该状态根据配置寄存器的设置,改变LINK层和PHY层的设置

7. Power save:该状态可以通过停止LINK层和PHY层的时钟和偏置电流等来降低功耗。在此状态下,TX和RX不能进行通信。(此状态也可用于改变LINK层和PHY层的设置)。)

8. Initialize:该状态指示PHY层开始Training sequence以从power save状态返回,并等待系统准备好进行通信。

五、PHY Layer

1、状态机

1. Idle code: 该状态表示除数据包传输外的空闲,并持续发送Idle code。

2.start code。该状态下传输表示数据包传输开始的start code。

3.data symbol:该状态从LINK层向互连网传输有效的包数据。

4.pad code。当没有收到来自LINK层的有效数据包时,该状态会传输假数据。

5.end code。该状态下传输的控制代码表示数据包传输的结束。

6.deskew code。该状态传输控制码,在数据包传输结束后调整通道间的偏移。

7.Standby Sequence: 该状态按照属性寄存器的设置传输待机序列。

8.High-Z : 该状态可以通过驱动互连到高阻抗状态,并在必要时停止时钟和其他操作来降低功耗。

9. fixed low。该状态在属性寄存器中设定的周期内持续驱动互连到差分低电平状态。

10. training sequence。该状态按照属性寄存器的设置传输training sequence。

2、控制码

显示了PHY控制码的定义和分配的8B/10B符号配置。

3、Symbol Encoding

采用8b/10b编码,控制码采用到的编表如下:

4、数据比特序

字节数据的第0位被输入到8b/10b端口A,10位符号数据作为串行数据从a开始传输。

5、波特率

SLVS-EC接口采用波特率。每个Lane的 PHY 比特率定义为下表中的波特率。

PHY总带宽一般由配置寄存器中的Lane Num设置控制,而不是波特率等级设置。因此,波特率应固定为波特率等级2(默认设置),而不是改变为波特率等级1,这是一个可选的设置。

六、小结

  1. 纠错码

整个SLVS使用了三类纠错码:RS码、CRC16、CRC32

纠错码

使用说明

RS码

用于有效载荷数据的纠错

CRC16

对数据包的纠错,存放在数据包Header

CRC32

在有效载荷数据为嵌入式数据时进行纠错,存放在数据包的Footer。

  1. PHY control code

IDLE code 可以通过寄存器进行配置。默认值为D.00.0 x 4

SLVS-EC接口学习相关推荐

  1. Java 回调 (Callback) 接口学习使用

    文章目录 Java 回调 (Callback) 接口学习使用 1.什么是回调(Callback)? 2.Java代码示例 2.直接调用 3.接口调用 4.Lambda表达式 推荐看我的InfoQ地址, ...

  2. 1123_AURIX_TC275_DAP接口学习

    AURIX TC275 DAP接口学习 Grey 全部学习汇总:GitHub - GreyZhang/g_TC275: happy hacking for TC275! AURIX TC275 DAP ...

  3. RISCV 向量指令集和NICE接口学习笔记

    本文档链接 https://blog.csdn.net/weixin_42487906/article/details/115437890 RISCV向量指令集学习 参考链接 https://gith ...

  4. Java自学.接口学习笔记!

    接口学习笔记 文章目录 接口学习笔记 1.接口的概述与生活中的举例 2.接口定义的基本格式 3.接口的抽象方法 3.1接口抽象方法的定义 3.2接口的抽象方法使用 4.接口的默认方式 4.1接口的默认 ...

  5. 【学习总结】-Apsara Clouder专项技能认证:实现调用API接口学习总结

    Apsara Clouder专项技能认证:实现调用API接口-学习总结 API的概念: API的特点: API的分类: 为什么要使用API 阿里云API市场 API请求与认证 Web API协议 HT ...

  6. 阿里云Apsara Clouder专项技能认证-实现调用API接口-学习笔记

    Apsara Clouder专项技能认证-实现调用API接口-学习笔记 阿里云的一个小认证,闲来无事,考一下 一.API简介 API的概念 API(Application Programming In ...

  7. 全网舆情大数据接口学习

    全网舆情大数据接口学习 公司一直有做媒体大数据的产品,经常会调用到内部的一些接口 反正是做应用,就没去深究,只是根据文档规则去调去处理 某天看知乎,有人提到了舆情API,那就结合收费的API以及公司现 ...

  8. 【vn.py学习笔记(二)】vn.py底层接口 学习笔记

    [vn.py学习笔记(二)]vn.py底层接口 学习笔记 1 CTP API的工作原理 1.1 CTP介绍 1.2 API功能介绍 1.3 CTP API文件 1.4 API 通用规则 2 CTP A ...

  9. ROS 重要框架、接口学习资源小汇总

    ROS 重要框架.接口学习资源小汇总 文章目录 ROS 重要框架.接口学习资源小汇总 1. ROS move_base框架 1.1 视频资源: 1.2 文本资源: 2.smach状态机 2.1 文本资 ...

  10. 接口学习笔记(2009.11.24)

    了解接口,主要是为了一道经典面试题:接口与抽象类的区别,对接口的理解却很少,现在学习一下. 接口只包含方法.属性.事件或索引器的签名.成员的实现是在实现接口的类或结构中完成的. Interface n ...

最新文章

  1. 青出于蓝而胜于蓝,这是一款脱胎于 Jupyter Notebook 的新型编程环境
  2. 机器学习笔记GBDT(一):原理
  3. C++ 11 创建和使用共享 weak_ptr
  4. nodejs连接池连接mysql
  5. [Hive]Hive表文件压缩介绍
  6. 把台式计算机硬盘拆下,台式电脑的硬盘可以拆下来吗
  7. 西安邮电大学计算机学院军训,高考状元染网瘾无法自拔 5次考上大学3次退学
  8. 题注中的图一.1变成图1.1
  9. MMGG测评 感动全球的链上自走棋——HeroesEmpires游戏拆解
  10. IDEAD中如何使用scala
  11. Oracle的客户端工具
  12. ibm 服务器 自动关机,IBM 联想 DELL HP服务器自动关机|解决办法整理
  13. 微信小程序播放音频,ios静音状态下无声音、音频播放创建多个等问题
  14. 岩板铺地好吗_岩板到底好不好?从材质和施工的角度看
  15. 台积电开始试产3nm ,苹果、Intel公司也有意向在跟进3nm技术
  16. 100内奇数之和流程图_机器视觉基础之工业相机50个常用术语
  17. 宝宝树11年创业纪录片曝光 王怀南:他们不知道我的厉害
  18. 电脑桌面上什么东西都没有了,要怎么设置才能恢复??
  19. android+xposed+实例,Android Studio 上第一个 Xposed 模块(示例代码)
  20. Office project 2013安装

热门文章

  1. IScroll5中文API整理,用法与参考
  2. Zookeeper和分布式环境中的假死脑裂问题(转)
  3. CDN架构以及原理分析
  4. CentOS 命令大全 (转)
  5. 谁说菜鸟不会数据分析--数据分析那些事儿
  6. 输入法智能化发展历程
  7. 今天将Notebook还原了, 第一次外加了外围电路
  8. 面向对象之三大特性:继承,封装,多态
  9. C语言——反弹球游戏(第二阶段
  10. docker——三剑客之Docker Machine