本發(fā)明屬于高速串行接口芯片技術領域,涉及一種jesd204b協(xié)議中解幀的方法。
背景技術:
jesd204b是一種用于高速數據采集的接口,該標準提供一種將一個或多個數據轉換器與數字信號處理器件接口的方法,目前主要用在adc和fpga之間的連接。相比于通常的并行數據傳輸,這是一種更高速度的串行接口。其速度最高可達12.5gbps/通道,使用幀串行數據鏈路及嵌入式時鐘和對齊字符,減少了器件之間的走線數量,降低了走線匹配要求,并消除了建立與保持時序約束問題,從而簡化了高速轉換器數據接口的實施。
一個jesd204b系統(tǒng)主要包括:數據發(fā)送部分(tx),高速串行部分(phy),數據接收部分(rx)。在jesd204b的數據接收端,包含傳輸層和鏈路層。其中鏈路層包括解擾模塊,對齊模塊,8b10b解碼模塊等。由于在jesd204b系統(tǒng)中是采用的幀數據鏈路傳輸,因此,在接收端的傳輸層中需要將鏈路層輸入的數據進行解幀。解幀過程中的映射方式與jesd204b發(fā)射端中傳輸層的組幀方式有關。由于在發(fā)射端組幀過程中需要用到的參數包括:轉換器數m、通道數l、每個轉換器每幀傳輸的樣本數s、每幀包含的字節(jié)數(octets)f,則在接收端傳輸層就需要針對不同的參數進行對幀數據的解幀。
來自高速串行器phy的40bit數據進入接收端鏈路層,依次經過8b/10b碼轉換、對齊、解擾等,然后進入接收端的傳輸層進行解幀。最后輸出到外部adc或fpga等設備?,F階段,jesd204b傳輸層解幀部分在國內還沒有統(tǒng)一標準,從而無法有效地在jesd204b中進行解幀。
技術實現要素:
有鑒于此,本發(fā)明的目的在于提供一種jesd204b協(xié)議中解幀的方法,能夠按照jesd204b協(xié)議的要求進行解幀。
為達到上述目的,本發(fā)明提供如下技術方案:
一種jesd204b協(xié)議中解幀的方法,所述方法包括:
根據預先輸入的參數值,確定解幀后輸出的數據位寬;
根據預先確定的每個幀中的字節(jié)數,判斷從各個通道中提取數據的形式,即:按照字節(jié)的形式還是按照字的形式提取數據;
基于判斷的結果對每個通道的字數據或者字節(jié)數據進行提取和排序處理,得到排序處理后的字數據;
將所述排序處理后的字數據還原為各個轉換器的樣本數據;
根據所述數據位寬將各個轉換器的樣本數據進行組合,并輸出組合后的數據;
其中,當每個幀中字節(jié)數為1時,則每個轉換器的通道數必須是偶數個。
進一步地,按照下述公式確定解幀后輸出的數據位寬:
其中,dw表示所述數據位寬,f表示每個幀中的字節(jié)數,l表示每個轉換器中的通道數,n表示每個轉換器的分辨率,n'表示每個樣本傳輸的位數。
進一步地,根據預先確定的每個幀中的字節(jié)數,判斷從各個通道中提取數據的形式包括:
當每個幀中的字節(jié)數為1時,按照字節(jié)的形式提取通道中的數據。
進一步地,基于判斷的結果對每個通道的字節(jié)數據進行排序處理包括:
將最后一個通道中第一個字節(jié)數據和倒數第二個通道中第一個字節(jié)數據組合為一個字數據,最后一個通道中第二個字節(jié)數據和倒數第二個通道中第二個字節(jié)數據組合為一個字數據,以此類推。
進一步地,根據預先確定的每個幀中的字節(jié)數,判斷從各個通道中提取數據的形式包括:
當每個幀中的字節(jié)數為2或4或8時,按照字的形式提取通道中的數據。
進一步地,基于判斷的結果對每個通道的字數據進行排序處理包括:
將通道中提取的字數據按照倒序排列,排序后的順序分別對應樣本數據所形成的字數據。
進一步地,將所述排序處理后的字數據還原為各個轉換器的樣本數據包括:
從所述排序處理后的字數據中剔除控制位和填充位,以得到各個轉換器的樣本數據。
本發(fā)明的有益效果為:
本發(fā)明在進行解幀時,可以預先確定輸出的數據位寬,然后可以從各個通道中按照字節(jié)格式或者字格式提取幀數據。在提取出幀數據后,可以將兩個字節(jié)的幀數據組合成一個字數據。在本發(fā)明中,可以針對每個幀中的字節(jié)數,判斷是否需要對所述字數據進行分拆。針對不同的判斷結果,可以采用不同的排序方式來形成每個轉換器的樣本數據。由上可見,本申請?zhí)岢龅慕鈳椒?,能夠按照jesd204b協(xié)議的要求進行解幀處理,對于國內自主實現jesd204b協(xié)議規(guī)范的高速串行接口電路具有一定的參考作用。
附圖說明
為了使本發(fā)明的目的、技術方案和有益效果更加清楚,本發(fā)明提供如下附圖進行說明:
圖1為本發(fā)明中的進行解幀的方法流程圖;
圖2為本發(fā)明中f為1時的解幀流程圖;
圖3為本發(fā)明中f為2或4或8時的解幀流程圖;
圖4為本發(fā)明中f為1并且l為2時解幀過程圖;
圖5為本發(fā)明中f為4并且l為1時的解幀過程圖。
具體實施方式
下面將結合附圖,對本發(fā)明的優(yōu)選實施例進行詳細的描述。
請參閱圖1,本申請實施方式提供一種jesd204b協(xié)議中解幀的方法,所述方法包括:
s1:根據預先輸入的參數值,確定解幀后輸出的數據位寬;
s2:根據預先確定的每個幀中的字節(jié)數,判斷從各個通道中提取數據的形式;
s3:基于判斷的結果對每個通道的字數據或者字節(jié)數據進行排序處理,得到排序處理后的字數據;
s4:將所述排序處理后的字數據還原為各個轉換器的樣本數據;
s5:根據所述數據位寬將各個轉換器的樣本數據進行組合,并輸出組合后的數據。
在本實施方式中,按照下述公式確定解幀后輸出的數據位寬:
其中,dw表示所述數據位寬,f表示每個幀中的字節(jié)數,l表示每個轉換器中的通道數,n表示每個轉換器的分辨率,n'表示每個樣本傳輸的位數。
在本實施方式中,根據預先確定的每個幀中的字節(jié)數,判斷從各個通道中提取數據的形式包括:
當每個幀中的字節(jié)數為1時,按照字節(jié)的形式提取通道中的數據。
在本實施方式中,基于判斷的結果對每個通道的字節(jié)數據進行排序處理包括:
將最后一個通道中第一個字節(jié)數據和倒數第二個通道中第一個字節(jié)數據組合為一個字數據,最后一個通道中第二個字節(jié)數據和倒數第二個通道中第二個字節(jié)數據組合為一個字數據,以此類推。
在本實施方式中,根據預先確定的每個幀中的字節(jié)數,判斷從各個通道中提取數據的形式包括:
當每個幀中的字節(jié)數為2或4或8時,按照字的形式提取通道中的數據。
在本實施方式中,基于判斷的結果對每個通道的字數據進行排序處理包括:
將通道中提取的字數據按照倒序排列,排序后的順序分別對應樣本數據所形成的字數據。
在本實施方式中,將所述排序處理后的字數據還原為各個轉換器的樣本數據包括:
從所述排序處理后的字數據中剔除控制位和填充位,以得到各個轉換器的樣本數據。
具體地,在接收端傳輸層中支持的來自鏈路層多個通道的輸入數據,其位寬為data_in_width=[(l*32)-1:0],而經過解幀后輸出數據位寬為dw=m*s*n,其中m為一個設備中轉換器的個數,s為每個轉換器每周期采樣個數,n為轉換器分辨率。又f=(m*s*n’)/(8l)。從而,
請參閱圖2,當f=1時(設n=14,控制位c和填充位t位于word[1:0],若n=13,則字數據形式為word[15:3,t,c,c])。將每個通道中的數據按照octets格式提取出來,將最后一個通道(l-1)中的第一個字節(jié)oct4(l-1)數據與倒數第二個通道(l-2)中第一個字節(jié)oct4(l-2)數據組成一個word0數據,然后將最后一個通道(l-1)中第二個字節(jié)oct4(l-1)+1數據與倒數第二個通道(l-2)中第二個字節(jié)oct4(l-2)+1數據組成一個字數據word數據,依次類推,將通道中所有的字節(jié)數據組成一個完整的字數據word。如圖2中所示。再將word數據中的控制位c和填充位t剔除,還原為樣本數據s,再根據解幀后輸出數據的位寬dw,組合樣本數據并輸出。
請參閱圖3,對于f=(2,4,8),將通道中數據按照word的形式提取,并按照倒序排列,如圖3中所示。再將排序后的word數據中的控制位c和填充位t剔除,還原為樣本數據s,再根據解幀后輸出數據的位寬dw,組合樣本數據并輸出。
舉例說明,圖4為f=1,l=2,n=14,n’=16,cs=1,cf=0的情況。輸入接收端傳輸層的數據位寬為:data_in_width=[(l*32)-1:0]=[63:0],由公式可得dw=14bits,即解幀后輸出數據位寬為14bits。提取通道0和通道1中第一個字節(jié)數據,并按照通道1中第一個字節(jié)數據在前,通道0中第一個字節(jié)數據在后的方式組成一個字數據,再經過剔除控制位c和填充位t,得到樣本數據。
圖5為f=4,l=1,n=14,n’=16,cs=1,cf=0的情況。輸入接收端傳輸層的數據位寬為:data_in_width=[(l*32)-1:0]=[31:0],則由公式可得dw=28bits。即解幀后輸出數據位寬為28bits。從通道0中按照字數據的形式提取通道數據,將字數據倒序排序,最后剔除控制位c和填充位t,得到對應的樣本數據。
需要注意的是,若n=16,因為n’=16,則此時鏈路層的數據不含控制位c和填充位t,因此不需要剔除控制位和填充位。
本發(fā)明的有益效果為:
本發(fā)明在進行解幀時,可以預先確定輸出的數據位寬,然后可以從各個通道中按照字節(jié)格式或者字格式提取幀數據。在提取出幀數據后,可以將兩個字節(jié)的幀數據組合成一個字數據。在本發(fā)明中,可以針對每個幀中的字節(jié)數,可以采用不同的排序方式來形成每個轉換器的樣本數據。由上可見,本申請?zhí)岢龅慕鈳椒?,能夠按照jesd204b協(xié)議的要求進行解幀處理,對于國內自主實現jesd204b協(xié)議規(guī)范的高速串行接口電路具有一定的參考作用。
最后說明的是,以上優(yōu)選實施例僅用以說明本發(fā)明的技術方案而非限制,盡管通過上述優(yōu)選實施例已經對本發(fā)明進行了詳細的描述,但本領域技術人員應當理解,可以在形式上和細節(jié)上對其作出各種各樣的改變,而不偏離本發(fā)明權利要求書所限定的范圍。