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

?

?????????

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253662.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253662.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253662.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于Unity中NGUI的Pivot和錨點

Pivot 1.創建一個Sprite類型的Sprite1節點,關聯一個圖集和一張貼圖,用圖中的六個按鈕調整這個貼圖的Pivot點,一共有八個點可以選擇 2.再創建一個Sprite類型的Sprite2節點,作為Sprite1節點的子節點,關聯一個圖集和一張貼…

PrimeTime指南——概述和基本流程

PrimeTime(PT)是Synopsys的sign-off quality的靜態時序分析工具。PrimeTime可以集成于邏輯綜合和物理綜合的流程,讓設計者分析并解決復雜的時序問題,并提高時序收斂的速度。 一、概述 PT最大的兩個特點是: 基于時序路…

yuv和yCbCr的差異

yuv和yCbCr的差異 一、和rgb之間換算公式的差異 yuv<-->rgb Y 0.299*R 0.587*G 0.114*B U -0.147*R - 0.289*G 0.436*B 0.492*(B- Y) V 0.615*R - 0.515*G - 0.100*B 0.877*(R- Y) R Y 1.140*V G Y - 0.394*U - 0.581*V B Y 2.032*U yCbCr<-->rgb Y’ 0…

配置zentaophp

原理&#xff1a; 首先&#xff0c;我們要明白為什么訪問localhost就可以訪問到我們的apache主頁。 解析域名的時候&#xff0c;首先是從本地的hosts文件開始的。 如果查不到&#xff0c;才會去DNS服務器查詢。 如果你在這里面寫一行&#xff1a;127.0.0.1 www.baidu.com 百…

Android開發——RecyclerView特性以及基本使用方法(二)

0. 前言隨著Android的發展&#xff0c;雖然ListView依舊重要&#xff0c;但RecyclerView確實越來越多的被大家使用。但顯然并不能說RecyclerView就一定優于ListView&#xff0c;而是應該根據不同的需求選擇最合適的進行使用。本篇將介紹我們為什么要使用RecyclerView&#xff…

pycharm中使用scrapy命命

2019獨角獸企業重金招聘Python工程師標準>>> 這篇博客寫的不錯&#xff0c;親測 https://blog.csdn.net/MAOZEXIJR/article/details/80678133 轉載于:https://my.oschina.net/u/2511906/blog/1934993

PrimeTime指南——合理設置約束

完整的STA需要滿足以下兩點&#xff1a; 完整的設計約束&#xff08;完整并不意味著正確&#xff09;運行所有需要的時序檢查可以用以下兩條命令來進行完整性的檢查&#xff1a; check_timing // 檢查是否缺少了約束條件 report_analysis_cove…

Matlab增加塊注釋

1&#xff09;方法一選中你要加注釋的內容&#xff0c;然后選擇工具菜單“text|comment”就可以了&#xff0c;如果要把注釋變為語句&#xff0c;同樣選中要轉變的語句&#xff0c;然后用鼠標選擇“text|uncomment”就可以了。用鍵盤的快捷鍵是"CtrlR".或者選中你要加…

理解正向代理和反向代理

首先&#xff0c;大家可以看一下這里https://www.zhihu.com/question/24723688 其實答復的非常清楚了。 知乎網友阿笠碩士圖畫的很形象&#xff0c;地址為https://www.zhihu.com/question/24723688/answer/48369770 其次&#xff0c;我自己根據專家的解釋&#xff0c;總結如下…

tablayout支持改變選中文字大小,支持左右滑動,支持viewpager,支持三角可移動指示器...

TabLayout [簡書地址] (https://www.jianshu.com/p/2c3f868266e8) 基于大神的FlycoTabLayout [傳送地址和基本用法](https://github.com/H07000223/FlycoTabLayout) 用法和屬性和這個庫一樣 效果圖如下 主要添加一個屬性 tl_text_select_size 控制選中文字大小 看代碼截圖 然后…

Design Compiler指南——概述和基本流程

綜合是前端模塊設計中的重要步驟之一&#xff0c;綜合的過程是將行為描述的電路、RTL級的電路轉換到門級的過程&#xff1b;Design Compiler是Synopsys公司用于做電路綜合的核心工具&#xff0c;它可以方便地將HDL語言描述的電路轉換到基于工藝庫的門級網表。本文將簡單介紹綜合…

linux常用網絡命令

關鍵詞&#xff1a;linux網絡命令、ifconfig、route、ip、netstat、socket flag 引言&#xff1a; 想成為真正的高手&#xff0c;必須要熟練掌握linux系統的命令行操作&#xff0c;今天就回顧一下linux在網絡上的常用命令相關知識&#xff0c; 另外&#xff0c;實踐才是最終的方…

圖像增強匯總

1、 圖像增強技術包括 1&#xff09; 圖像灰度變換方法 2&#xff09; 直方圖修正方法 3&#xff09; 圖像平滑處理 4&#xff09; 圖像尖銳化處理 5&#xff09; 彩色處理技術 2、 圖像增強技術基本上分為兩大類&#xff1a;頻域處理法和時域處理法。 3、 頻…

javaweb(三十八)——mysql事務和鎖InnoDB(擴展)

MySQL/InnoDB的加鎖分析&#xff0c;一直是一個比較困難的話題。我在工作過程中&#xff0c;經常會有同事咨詢這方面的問題。同時&#xff0c;微博上也經常會收到MySQL鎖相關的私信&#xff0c;讓我幫助解決一些死鎖的問題。本文&#xff0c;準備就MySQL/InnoDB的加鎖問題&…

Design Compiler指南——預綜合過程

預綜合過程是指在綜合過程之前的一些為綜合作準備的步驟&#xff0c;包括Design Compiler的啟動、設置各種庫文件、創建啟動腳本文件、讀入設計文件、DC中的設計對象、各種模塊的劃分以及Verilog的編碼等等。 一、Design Compiler的啟動 目前&#xff0c;DC的啟動方式有三種&a…

KAFKA介紹(分布式架構)

2019獨角獸企業重金招聘Python工程師標準>>> 介紹 Kafka是一個分布式的、可分區的、可復制的消息系統。它提供了普通消息系統的功能&#xff0c;但具有自己獨特的設計。這個獨特的設計是什么樣的呢&#xff1f; 首先讓我們看幾個基本的消息系統術語&#xff1a; Kaf…

jquery 回車事件

簡單地記下jquery實現回車事件&#xff0c;代碼如下&#xff1a;全局&#xff1a; $(document).keydown(function(e){if(e.keyCode13){$(".login-li input[typebutton]").trigger("click");} });某個控件&#xff1a; $("body").keydown(functio…

Three.js 詳細解析(持續更新)

1、簡介&#xff1b; Three.js依賴一些要素&#xff0c;第一是scene&#xff0c;第二是render&#xff0c;第三是carmea npm install --save three import * as THREE from "three"; import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader.js&quo…

[js高手之路]構造函數的基本特性與優缺點

上文,通過基本的對象創建問題了解了構造函數&#xff0c;本文&#xff0c;我們接著上文繼續了解構造函數的基本特性&#xff0c;以及優缺點. 每個對象上面都有一個constructor屬性( 嚴格意義上來說&#xff0c;是原型上的&#xff0c;對象是通過查找到原型找到 constructor屬性…

Design Compiler指南——施加設計約束

Design Compiler是一個約束驅動(constrain-driven)的綜合工具&#xff0c;它的結果是與設計者施加的約束條件密切相關的。在本文里&#xff0c;我們主要討論怎樣給電路施加約束條件&#xff0c;這些約束主要包括——時序和面積約束、電路的環境屬性、時序和負載在不同模塊之間的…