SLVS-EC接口学习
SLVS summarize
一、概述
?????? SLVS-EC高速串行接口技術(shù),在CIS和DSP(數(shù)字信號處理器)之間實現(xiàn)了高幀率的寬帶像素數(shù)據(jù)傳輸。
????????SLVS-EC引入了一個優(yōu)化的數(shù)據(jù)包格式和控制協(xié)議,幾乎沒有冗余,而且結(jié)構(gòu)簡單,僅由兩層組成:
????????同時SLVS-EC也引入了一個可擴(kuò)展的FEC(前向糾錯)功能,作為數(shù)據(jù)傳輸錯誤的控制協(xié)議,而數(shù)據(jù)傳輸錯誤是高速串行接口的主要影響因素。這實現(xiàn)了高度可靠的數(shù)據(jù)傳輸,并根據(jù)應(yīng)用將冗余度降至最低,且延遲較低。
????????此外,發(fā)射器和接收器的推薦電氣特性被指定為CIS和DSP之間的接口。這樣就能以高速、低功耗、小面積的PHY電路實現(xiàn)高性能。
二、定義與縮寫
| Lane | 一個單向的點對點差分串行連接,包括一個TX-PHY和一個RX-PHY,以及一個與差分傳輸線的互連。 |
| Symbol | 8B/10B編碼產(chǎn)生的一個10位數(shù)據(jù) |
| Comma Symbol | 用于symbol之間對齊的特殊symbol |
| Control Code | 控制PHY協(xié)議序列的控制碼 |
三、架構(gòu)
1、系統(tǒng)拓?fù)?/h3>
?????? SLVS-EC提供可擴(kuò)展的配置,以支持CIS和DSP之間的各種系統(tǒng)拓?fù)浣Y(jié)構(gòu)。
?????? 像素數(shù)據(jù)通過一對SLVS-EC的發(fā)射器(TX)和接收器(RX)從一個CIS傳輸?shù)揭粋€DSP。SLVS-EC只提供從CIS到DSP的單向數(shù)據(jù)傳輸。每個SLVS-EC的TX和RX所支持的Lane的最大數(shù)量應(yīng)是8個Lane。
?????? 如果需要超過8個Lanes的帶寬,那么可以使用多個SLVS-EC接口。
?????? 此外,SLVS-EC也支持多個CIS傳輸?shù)揭粋€DSP的情形。
2、層次結(jié)構(gòu)
四、應(yīng)用層
?????? 應(yīng)用層(CIS和DSP)括從CIS輸入或輸出到DSP的數(shù)據(jù)格式,以指定應(yīng)用層的定義和約束,還包括SLVS-EC接口使用的幀格式和LINK/PHY協(xié)議的必要規(guī)范。
?????? SLVS-EC接口支持RAW8、RAW10、RAW12、RAW14、RAW16。每一行的長度需要為4的整數(shù)倍。
?????? 幀格式也是在是由應(yīng)用層(CIS)功能配置的。通過使用包頭和該接口的其他功能嵌入幀和行信息,幀格式可以在DSP側(cè)正確傳輸和重新配置。
?????????應(yīng)用層可以傳輸嵌入在RAW像素數(shù)據(jù)流中的輔助信息,如CIS配置的寄存器值,這里稱為嵌入數(shù)據(jù)。為了便于區(qū)分嵌入式數(shù)據(jù)線和DSP(RX)端的其他線,SLVS-EC接口支持通過包頭傳輸功能為包含嵌入式數(shù)據(jù)的線傳輸一個指示位。
?????? 此外,在應(yīng)用層可以設(shè)置寄存器參數(shù)
五、LINK Layer
?????? LINK層的主要作用是將幀和行信息添加到從應(yīng)用層(CIS)輸入的像素數(shù)據(jù)中,將數(shù)據(jù)組裝成數(shù)據(jù)包,并將其輸出到各Lane的PHY層;在RX側(cè)收集各lane的PHY輸入的接收數(shù)據(jù),從數(shù)據(jù)包中提取像素數(shù)據(jù)、幀信息和其他信息,并輸出到應(yīng)用層(DSP),進(jìn)行糾錯編碼和解碼等處理。
1、Pixel to Byte
2、有效載荷數(shù)據(jù)
有效載荷數(shù)據(jù)指的是使用數(shù)據(jù)包發(fā)送的數(shù)據(jù)內(nèi)容,是不包括幀頭和幀尾等的數(shù)據(jù)。有效載荷數(shù)據(jù)由轉(zhuǎn)換后的字節(jié)數(shù)據(jù)和有效載荷填充物組成。
?????? 有效載荷填充物的值為8’b0。長度如下:
3、有效載荷數(shù)據(jù)糾錯
????????因為隨機(jī)數(shù)據(jù)錯誤的發(fā)生取決于PHY層的比特錯誤特性,提供有效載荷數(shù)據(jù)糾錯的功能是為了糾正這種像素數(shù)據(jù)的損壞,并提高所有SLVS-EC接口的有效比特錯誤性能。此外,SLVS-EC的糾錯性能可以被配置,稱為可擴(kuò)展的FEC功能。該功能可通過配置寄存器(ECC選項)進(jìn)行配置。
????????有效載荷數(shù)據(jù)糾錯的規(guī)范定義如下:
?
????????信息長度被定義為部分有效載荷數(shù)據(jù)中經(jīng)奇偶校驗后的字節(jié)數(shù)。配置選項為
????????其中,Block Length = Info Length + Parity [byte]
4、數(shù)據(jù)包Header的生成
?????? Header信息時發(fā)生錯誤,錯誤被CRC檢測到,重復(fù)傳輸?shù)钠渌^信息(其中沒有檢測到錯誤)可以用來在RX端重現(xiàn)正確的信息。
????????此數(shù)據(jù)包header 的CRC采用CRC16:
5、數(shù)據(jù)包Footer的生成
????????存儲在數(shù)據(jù)包頁腳中的信息是32階CRC碼(CRC32),用于檢測數(shù)據(jù)包中有效載荷數(shù)據(jù)的傳輸錯誤。通過將配置寄存器中的CRC選項設(shè)置為 "ON",數(shù)據(jù)包Footer被添加并在有效載荷數(shù)據(jù)之后傳輸。這個選項功能的主要應(yīng)用被認(rèn)為是在傳輸有效載荷數(shù)據(jù)是嵌入式數(shù)據(jù)時,對嵌入式數(shù)據(jù)傳輸錯誤的一種對策。CRC32的實現(xiàn)成本相對較小,所以使用CRC選項代替有效載荷數(shù)據(jù)ECC功能可以幫助減少傳輸少量嵌入式數(shù)據(jù)的應(yīng)用的電路實現(xiàn)成本。
?
6、狀態(tài)機(jī)
?
?
1. Blanking:該狀態(tài)對應(yīng)于圖像信息的H- Blanking。在這種狀態(tài)下,LINK層要么在傳輸一行圖像數(shù)據(jù)之前生成數(shù)據(jù)包Header,要么在數(shù)據(jù)包輸出后等待PHY控制代碼傳輸?shù)耐瓿伞?/p>
2. Header transfer:該狀態(tài)將數(shù)據(jù)包頭從LINK層傳輸?shù)絇HY層。
3. payload data transfer。該狀態(tài)從LINK層輸出有效載荷數(shù)據(jù)(包括ECC)。
4. Footer transfer。該狀態(tài)從LINK層傳輸數(shù)據(jù)包的Footer。
5. Finalize:該狀態(tài)命令將表示數(shù)據(jù)包結(jié)束的控制代碼從LINK層傳輸?shù)絇HY層。6. Mode change:該狀態(tài)根據(jù)配置寄存器的設(shè)置,改變LINK層和PHY層的設(shè)置
7. Power save:該狀態(tài)可以通過停止LINK層和PHY層的時鐘和偏置電流等來降低功耗。在此狀態(tài)下,TX和RX不能進(jìn)行通信。(此狀態(tài)也可用于改變LINK層和PHY層的設(shè)置)。)
8. Initialize:該狀態(tài)指示PHY層開始Training sequence以從power save狀態(tài)返回,并等待系統(tǒng)準(zhǔn)備好進(jìn)行通信。
?五、PHY Layer
1、狀態(tài)機(jī)
?
1. Idle code: 該狀態(tài)表示除數(shù)據(jù)包傳輸外的空閑,并持續(xù)發(fā)送Idle code。
2.start code。該狀態(tài)下傳輸表示數(shù)據(jù)包傳輸開始的start code。
3.data symbol:該狀態(tài)從LINK層向互連網(wǎng)傳輸有效的包數(shù)據(jù)。
4.pad code。當(dāng)沒有收到來自LINK層的有效數(shù)據(jù)包時,該狀態(tài)會傳輸假數(shù)據(jù)。
5.end code。該狀態(tài)下傳輸?shù)目刂拼a表示數(shù)據(jù)包傳輸?shù)慕Y(jié)束。
6.deskew code。該狀態(tài)傳輸控制碼,在數(shù)據(jù)包傳輸結(jié)束后調(diào)整通道間的偏移。
7.Standby Sequence: 該狀態(tài)按照屬性寄存器的設(shè)置傳輸待機(jī)序列。
8.High-Z : 該狀態(tài)可以通過驅(qū)動互連到高阻抗?fàn)顟B(tài),并在必要時停止時鐘和其他操作來降低功耗。
9. fixed low。該狀態(tài)在屬性寄存器中設(shè)定的周期內(nèi)持續(xù)驅(qū)動互連到差分低電平狀態(tài)。
10. training sequence。該狀態(tài)按照屬性寄存器的設(shè)置傳輸training sequence。
2、控制碼
顯示了PHY控制碼的定義和分配的8B/10B符號配置。
?
3、Symbol Encoding
采用8b/10b編碼,控制碼采用到的編表如下:
4、數(shù)據(jù)比特序
?
?????? 字節(jié)數(shù)據(jù)的第0位被輸入到8b/10b端口A,10位符號數(shù)據(jù)作為串行數(shù)據(jù)從a開始傳輸。
5、波特率
?????? SLVS-EC接口采用波特率。每個Lane的 PHY 比特率定義為下表中的波特率。
????????PHY總帶寬一般由配置寄存器中的Lane Num設(shè)置控制,而不是波特率等級設(shè)置。因此,波特率應(yīng)固定為波特率等級2(默認(rèn)設(shè)置),而不是改變?yōu)椴ㄌ芈实燃?,這是一個可選的設(shè)置。
六、小結(jié)
整個SLVS使用了三類糾錯碼:RS碼、CRC16、CRC32
| 糾錯碼 | 使用說明 |
| RS碼 | 用于有效載荷數(shù)據(jù)的糾錯 |
| CRC16 | 對數(shù)據(jù)包的糾錯,存放在數(shù)據(jù)包Header |
| CRC32 | 在有效載荷數(shù)據(jù)為嵌入式數(shù)據(jù)時進(jìn)行糾錯,存放在數(shù)據(jù)包的Footer。 |
IDLE code 可以通過寄存器進(jìn)行配置。默認(rèn)值為D.00.0 x 4
?
?????????
總結(jié)
以上是生活随笔為你收集整理的SLVS-EC接口学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【CF603E】Pastoral Odd
- 下一篇: 【有限域生成】本原多项式生成有限域的原理