999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的多路遠(yuǎn)傳TDM幀板間傳輸設(shè)計(jì)

2021-11-05 08:03:16郭永超李淯陽(yáng)潘波
電子技術(shù)與軟件工程 2021年17期

郭永超 李淯陽(yáng) 潘波

(重慶金美通信有限責(zé)任公司 重慶市 400030)

1 引言

多路遠(yuǎn)傳信號(hào)跨單元板傳輸時(shí),若把所有的信號(hào)線一對(duì)一連接,由于線數(shù)太多造成PCB 布線困難,且占用大量FPGA 管腳,因此需要把多路的串行碼流復(fù)接成一路TDM 幀進(jìn)行跨單元板傳輸,從而達(dá)到減少線數(shù),節(jié)約資源的目的。

板間傳輸?shù)碾y點(diǎn)有二,一是時(shí)鐘抖動(dòng)造成滑碼[1],二是時(shí)鐘和數(shù)據(jù)的相位偏移造成誤碼。時(shí)鐘抖動(dòng)主要由于遠(yuǎn)傳模塊時(shí)鐘質(zhì)量不好引起,時(shí)鐘和數(shù)據(jù)的相位偏移主要由于時(shí)鐘和數(shù)據(jù)PCB 布線長(zhǎng)度不一致以及各種干擾引起。

2 TDM幀板間傳輸?shù)目傮w設(shè)計(jì)方案

有線傳輸模塊共有8 路遠(yuǎn)傳,可實(shí)現(xiàn)256kbit/s、512kbit/s、1024kbit/s、2048kbit/s 的傳輸速率。本方案設(shè)計(jì)了三個(gè)單元板,有線傳輸模塊位于單元板一,該單元板完成有線傳輸模塊的數(shù)據(jù)收發(fā)、TDM 成幀、解幀。單元板二完成遠(yuǎn)傳數(shù)據(jù)收發(fā)、TDM 成幀、解幀,遠(yuǎn)傳數(shù)據(jù)處理。單元板一、二的區(qū)別在于一個(gè)做主模塊,一個(gè)做從模塊。另有一塊聯(lián)絡(luò)板,為單元板一和二供電,并把兩者之間的相關(guān)信號(hào)連接起來(lái)。

3 TDM幀板間傳輸?shù)木唧w實(shí)現(xiàn)

TDM 幀由tdm_clk、tdm_fs、tdm_txd、tdm_rxd 這四個(gè)信號(hào)組合實(shí)現(xiàn)。tdm_clk 是時(shí)鐘信號(hào),頻率為32MHz,其它信號(hào)均與之對(duì)齊;tdm_fs 是幀起始信號(hào),表示一幀的開(kāi)始,其脈沖寬度為一個(gè)tdm_clk 周期;tdm_txd 和tdm_rxd 表示發(fā)送和接收的TDM 數(shù)據(jù)。采用自定義的幀格式[2],一幀劃分為16 個(gè)時(shí)隙,每個(gè)時(shí)隙8 個(gè)bit,前8 個(gè)時(shí)隙發(fā)送8 路遠(yuǎn)傳數(shù)據(jù),后8 個(gè)時(shí)隙發(fā)送單元板之間的控制維護(hù)消息,每路遠(yuǎn)傳的波特率為2Mbps,,如要調(diào)整傳輸速率,只需要調(diào)整tdm_clk 即可,但是要注意與遠(yuǎn)傳時(shí)鐘匹配。

3.1 發(fā)送模塊(TDM成幀)實(shí)現(xiàn)原理

發(fā)送模塊主要完成遠(yuǎn)傳時(shí)鐘、數(shù)據(jù)同步,串并轉(zhuǎn)換,block-RAM 讀寫(xiě),時(shí)隙分配,TDM 幀發(fā)送等功能。其具體數(shù)據(jù)處理流程如圖1所示,可分為九個(gè)步驟。

圖1:TDM 發(fā)送模塊數(shù)據(jù)處理流程

(1)打拍緩存,消除亞穩(wěn)態(tài)[3]。采用上升沿檢測(cè)的方式把遠(yuǎn)傳時(shí)鐘和數(shù)據(jù)同步到系統(tǒng)時(shí)鐘上來(lái),數(shù)據(jù)放到寄存器組txdata_temp。

(2)移位寄存。為每一路遠(yuǎn)傳都設(shè)置一個(gè)32bit 的移位寄存器,在遠(yuǎn)傳時(shí)鐘的上升沿把txdata_temp[1]放入移位寄存器的最低位txdata_shift[0],同時(shí)txdata_shift 左移一位。

(3)串并轉(zhuǎn)換。每一路遠(yuǎn)傳都有一個(gè)計(jì)數(shù)器對(duì)移位寄存器接收的數(shù)據(jù)進(jìn)行計(jì)數(shù),每記滿32bit 就把txdata_shift 中的數(shù)據(jù)放入txdata_parallel,實(shí)現(xiàn)了串并轉(zhuǎn)換為寫(xiě)入block-RAM 做好了準(zhǔn)備。

(4)數(shù)據(jù)寫(xiě)入block-RAM 進(jìn)行緩存。為了消除遠(yuǎn)傳時(shí)鐘的抖動(dòng)造成的滑碼,采用block-RAM 來(lái)緩存數(shù)據(jù),本設(shè)計(jì)所采用的FPGA 芯片是xilinx 公司的K7 系列,一個(gè)block-RAM 的數(shù)據(jù)寬度為36 位(實(shí)際只用到低32 位,高4 位置0);尋址范圍0-511,9位地址線[4,5]。對(duì)于一路遠(yuǎn)傳而言,它的時(shí)鐘頻率較低,數(shù)據(jù)量不大,較小的緩存容量就足以應(yīng)對(duì)時(shí)鐘抖動(dòng)引起的滑碼問(wèn)題。為了節(jié)約block-RAM 資源,把一個(gè)block-RAM 做地址分割,共分為8 個(gè)緩存通路,高3 位地址線作為通路地址,低6 位地址線作為通路內(nèi)地址,這樣每一路的緩存容量為32bit*64=2048bit。為了避免數(shù)據(jù)溢出,為每一通路設(shè)置一個(gè)門(mén)限,只有在門(mén)限內(nèi)才允許對(duì)通路內(nèi)的數(shù)據(jù)進(jìn)行讀寫(xiě)。門(mén)限由三個(gè)參數(shù)組成,寫(xiě)上限、讀開(kāi)始、讀下限,比如設(shè)置寫(xiě)上限為2000bit、讀開(kāi)始門(mén)限為1000bit、讀下限為50bit,當(dāng)通道內(nèi)的數(shù)據(jù)量大于2000bit 時(shí)不允許寫(xiě)入,數(shù)據(jù)量大于1000bit 時(shí)開(kāi)始讀出數(shù)據(jù),數(shù)據(jù)量小于50bit 時(shí)不允許讀數(shù)據(jù),理想情況下通道的讀寫(xiě)速率是一致的,這樣通道內(nèi)的數(shù)據(jù)量就會(huì)保持在中間值左右,從而最大限度的發(fā)揮“緩沖”作用。txdata_parallel 每更新一次,產(chǎn)生一次寫(xiě)使能信號(hào),相應(yīng)通路的寫(xiě)使能有效且通道內(nèi)數(shù)據(jù)量未達(dá)到寫(xiě)上限時(shí),數(shù)據(jù)才能夠?qū)懭搿?/p>

(5)數(shù)據(jù)從block-RAM 讀出。讀使能信號(hào)有效時(shí),在幀定位信號(hào)tdm_fs 的節(jié)拍下,遠(yuǎn)傳數(shù)據(jù)從block-RAM 讀出并放入寄存器組dataout_temp,控制維護(hù)消息由FPGA 內(nèi)部模塊產(chǎn)生,與遠(yuǎn)傳數(shù)據(jù)相互獨(dú)立。

(6)打一拍時(shí)序?qū)R。數(shù)據(jù)從block-RAM 到dataout_temp 的過(guò)程,因?yàn)楦魍ǖ赖淖x使能信號(hào)不一定同時(shí)有效,所以dataout_temp 數(shù)組中各通路的數(shù)據(jù)不一定同時(shí)變化,后一級(jí)寄存器組需要做雙字到字節(jié)轉(zhuǎn)換,每一個(gè)tdm_fs 周期要分四次從前一級(jí)的寄存器組取一個(gè)字節(jié)的數(shù)據(jù),有可能四個(gè)字節(jié)還沒(méi)取完dataout_temp 中的數(shù)據(jù)就改變了,導(dǎo)致數(shù)據(jù)丟失,因此有必要插入一個(gè)寄存器組dataout_temp2,在tdm_fs 的節(jié)拍下把dataout_temp 賦值給dataout_temp2,為雙字到字節(jié)轉(zhuǎn)換做準(zhǔn)備。

(7)雙字到字節(jié)轉(zhuǎn)換。因?yàn)門(mén)DM 幀格式的每一個(gè)時(shí)隙有8bit,而block-RAM 出來(lái)的數(shù)據(jù)是32bit,需把四字節(jié)的數(shù)據(jù)轉(zhuǎn)成單字節(jié),轉(zhuǎn)換后的數(shù)據(jù)放入寄存器組dataout_toByte。

(8)按時(shí)隙順序把各通道數(shù)據(jù)放入移位寄存器。dataout_toByte 的16 個(gè)寄存器對(duì)應(yīng)16 個(gè)時(shí)隙,計(jì)數(shù)器每計(jì)滿8 個(gè)bit 就從dataout_toByte 中取一個(gè)字節(jié)數(shù)據(jù)出來(lái),其數(shù)據(jù)位D7 放入tdmdata,D6~D0 放入tdmdata_shift 的D7~D1。

(9)在tdm_clk 的節(jié)拍下,把tdmdata_shift 的最高數(shù)據(jù)位D7放入tdmdata,同時(shí)tdmdata_shift 整體左移一位,這樣就完成了八路遠(yuǎn)傳數(shù)據(jù),及八路控制消息的成幀和發(fā)送過(guò)程。

3.2 接收模塊(TDM解幀)實(shí)現(xiàn)原理

接收模塊完成遠(yuǎn)傳時(shí)鐘、數(shù)據(jù)同步,移位寄存,解幀,數(shù)據(jù)發(fā)送等功能。在數(shù)據(jù)的接收端,因?yàn)門(mén)DM 信號(hào)經(jīng)過(guò)了跨板傳輸,受PCB 布線等因素影響,TDM 時(shí)鐘、幀定位、數(shù)據(jù)信號(hào)之間的相位關(guān)系難免發(fā)生偏移,需對(duì)遠(yuǎn)傳數(shù)據(jù)做一定處理才能正確解碼。數(shù)據(jù)處理流程如圖2所示。

圖2:TDM 接收模塊數(shù)據(jù)處理流程

(1)打拍緩存,消除亞穩(wěn)態(tài)。首先用一個(gè)高倍時(shí)鐘對(duì)tdm_clk、tdm_fs、tdm_rxd 進(jìn)行同步,同步數(shù)據(jù)放入tdmdata_temp 寄存器。

(2)移位寄存。在tdm_clk 的節(jié)拍下把同步后的數(shù)據(jù)依次存入一個(gè)8 位的移位寄存器,每8bit 取一個(gè)時(shí)隙的數(shù)據(jù)出來(lái)放入寄存器組byte_temp。

(3)打一拍時(shí)序?qū)R。為了便于后續(xù)處理,把寄存器組byte_temp 的值在tdm_fs 的節(jié)拍下賦給寄存器組byte_temp2,byte_temp2的前8 路是遠(yuǎn)傳數(shù)據(jù),要對(duì)外發(fā)送,后面8 路是兩個(gè)單元板的控制維護(hù)消息,內(nèi)部使用。

(4)移位寄存,并串轉(zhuǎn)換。在每一個(gè)tdm_fs 的上升沿把byte_temp2 的前8 個(gè)通道的數(shù)據(jù)賦值給移位寄存器組txdata_shift,在每一個(gè)遠(yuǎn)傳時(shí)鐘的上升沿(2MHz,F(xiàn)PGA 內(nèi)部產(chǎn)生),把rxdata_shift 的每一路的最高位賦值給相應(yīng)的rxdata 管腳,至此完成了TDM 接收模塊的解幀和遠(yuǎn)傳數(shù)據(jù)對(duì)外發(fā)送。

接收模塊沒(méi)有用block-RAM 做數(shù)據(jù)緩存,因?yàn)榻邮斩酥饕鉀Q的問(wèn)題是相位對(duì)齊,因此只需要打拍消除亞穩(wěn)態(tài),并用系統(tǒng)時(shí)鐘進(jìn)行邊沿采樣,就能正確的接收數(shù)據(jù),同時(shí)接收端的遠(yuǎn)傳數(shù)據(jù)處理模塊的收時(shí)鐘是由FPGA 內(nèi)部產(chǎn)生,不存在時(shí)鐘抖動(dòng)的問(wèn)題,因此解碼后的數(shù)據(jù)也不需緩存就可直接發(fā)出。

3.3 時(shí)鐘預(yù)處理模塊的作用

tdm_clk 和tdm_fs 都是單向的,所以兩個(gè)單元板必須一個(gè)做主一個(gè)做從。時(shí)鐘預(yù)處理模塊通過(guò)參數(shù)化的配置實(shí)現(xiàn)主從切換,當(dāng)配置為主時(shí),模塊自身生成tdm_clk 和tdm_fs,除了給板內(nèi)的收發(fā)模塊提供以外還對(duì)外提供;配置為從時(shí)接收板外的tdm_clk 和tdm_fs,與板內(nèi)主時(shí)鐘同步后提供給板內(nèi)的收發(fā)模塊。

3.4 時(shí)延分析

TDM 數(shù)據(jù)在發(fā)送端成幀之前需要經(jīng)過(guò)block-RAM 緩存,緩存大小及門(mén)限值影響時(shí)延大小。每個(gè)通道的緩存容量為2048bit,寫(xiě)上限為2000bit、讀開(kāi)始門(mén)限為1000bit、讀下限為50bit,數(shù)據(jù)時(shí)鐘為2MHz。最小時(shí)延Tmin=25us,典型時(shí)延Ttyp=500us,最大時(shí)延Tmax=1000us。

4 結(jié)束語(yǔ)

本文提出了一種基于FPGA 實(shí)現(xiàn)多路遠(yuǎn)傳TDM 數(shù)據(jù)幀板間傳輸?shù)姆桨福?在TDM 幀的發(fā)送端使用一個(gè)雙端口RAM,實(shí)現(xiàn)了8路遠(yuǎn)傳數(shù)據(jù)的緩存及跨時(shí)鐘域同步,既節(jié)約了資源又有效的解決了滑碼的問(wèn)題,采用自定義的幀格式,在傳輸遠(yuǎn)傳數(shù)據(jù)的同時(shí)還能傳輸單元板間的控制維護(hù)消息,具有一定的擴(kuò)展性。

主站蜘蛛池模板: 最新午夜男女福利片视频| 国产91丝袜在线播放动漫 | 为你提供最新久久精品久久综合| 久久动漫精品| 日韩国产亚洲一区二区在线观看| 国产精品第| 99精品视频在线观看免费播放| 国产粉嫩粉嫩的18在线播放91| 欧美三级自拍| 一本一道波多野结衣av黑人在线| 欧美午夜一区| 99在线观看国产| a级毛片免费在线观看| 国产老女人精品免费视频| 国产精品久久国产精麻豆99网站| 精品欧美一区二区三区久久久| 在线观看91精品国产剧情免费| 97在线观看视频免费| 国产精品嫩草影院视频| 国产精品色婷婷在线观看| 欧美精品v欧洲精品| 黄色一级视频欧美| 久久精品国产999大香线焦| 久久综合丝袜长腿丝袜| 亚洲一级毛片在线播放| 真实国产精品vr专区| 国产凹凸视频在线观看| 亚洲IV视频免费在线光看| 人妻一区二区三区无码精品一区 | 免费国产高清精品一区在线| 日韩小视频网站hq| 日本五区在线不卡精品| 夜夜爽免费视频| 波多野结衣无码AV在线| 国产欧美日韩一区二区视频在线| 任我操在线视频| 亚洲午夜天堂| 国产欧美在线观看精品一区污| 亚洲日韩图片专区第1页| 亚洲不卡影院| 亚洲视频色图| 波多野结衣一区二区三区AV| 蜜桃视频一区| 九九九久久国产精品| 久青草国产高清在线视频| 国产综合在线观看视频| 这里只有精品在线| 在线国产综合一区二区三区| 萌白酱国产一区二区| 免费观看精品视频999| 71pao成人国产永久免费视频| 亚洲国产成人自拍| 国产精品美乳| 国产迷奸在线看| 日韩免费成人| 亚洲毛片网站| 国产人成乱码视频免费观看| 中文字幕在线永久在线视频2020| 野花国产精品入口| 精品精品国产高清A毛片| 婷婷开心中文字幕| 麻豆国产精品| 久久精品无码中文字幕| 亚洲精品大秀视频| 国产男人的天堂| 热热久久狠狠偷偷色男同| a级毛片毛片免费观看久潮| 中文成人在线| 日韩在线播放欧美字幕| 日韩精品无码不卡无码| 热思思久久免费视频| 青青草一区二区免费精品| 欧美日韩精品一区二区视频| 亚洲中文字幕无码爆乳| 丁香婷婷在线视频| 久久一色本道亚洲| 久久精品人人做人人爽97| 久久精品国产国语对白| 欧美日韩中文字幕在线| 国产微拍精品| 国产欧美精品一区二区 | 国产噜噜噜视频在线观看|