SLVS-EC接口学习

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

 

         

  • 9
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: slvs-ec是Slack提供给开发者的公开接口。Slack是一个团队协作工具,通过提供公开接口,它允许开发者构建自定义应用程序、集成和机器人来增强Slack的功能和灵活性。 slvs-ec接口提供了丰富的功能和操作,开发者可以使用它来创建、获取、更新和删除Slack中的各种资源,如频道、消息、用户、文件等。通过这些接口,开发者可以轻松地与Slack通信,自动化工作流程,自定义应用程序,并与其他系统进行集成。 Slack提供了详细的文档和示例代码,以帮助开发者了解和使用slvs-ec接口。开发者可以在Slack的开发者门户网站上注册并获取访问权限。在注册后,他们可以获取API密钥并使用它来进行认证和访问slvs-ec接口。 需要注意的是,虽然slvs-ec是公开接口,但使用它可能需要一些开发知识和经验。开发者需要了解Slack的工作原理,熟悉编程语言和网络通信等技术,才能有效地使用和集成slvs-ec接口。 总之,slvs-ec是Slack提供的公开接口,它允许开发者构建自定义应用程序、集成和机器人来增强Slack的功能和灵活性。开发者可以在Slack的开发者门户网站上注册并获取访问权限,并使用详细的文档和示例代码来了解和使用slvs-ec接口。 ### 回答2: slvs-ec是公开接口。SLVS-EC(Serial Low Voltage Signaling - Embedded Clock)是一种用于高速图像和视频传输的串行接口标准。它被广泛应用于消费电子设备,如数码相机、摄像机和显示器等。 SLVS-EC接口标准的设计目标是提供高质量、高速率和低功耗的图像和视频传输。这种接口采用了串行传输方式,使得数据传输更快速和更高效。此外,SLVS-EC接口还支持嵌入式时钟,可以减少电路设计中的复杂性。 作为公开接口标准,任何厂商或开发者都可以访问并使用SLVS-EC接口。这意味着设备制造商可以按照这个标准来设计他们的产品,而开发者可以根据SLVS-EC接口规范来开发适配的软件或硬件。 公开接口的优势是促进了设备的互操作性和兼容性。通过采用公开接口标准,不同厂商的产品可以无缝地进行连接和通信,从而提高了整个系统的灵活性和可扩展性。 总之,SLVS-EC是一种公开接口标准,它为高速图像和视频传输提供了一种高效和便捷的解决方案。任何厂商和开发者都可以利用这个接口标准来设计和开发他们的产品,以满足不同应用领域的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沧海一升

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值