<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的ASI/SDI碼流播放器的設計與實(shí)現

基于FPGA的ASI/SDI碼流播放器的設計與實(shí)現

作者: 時(shí)間:2013-08-22 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:隨著(zhù)數字技術(shù)的發(fā)展,數字產(chǎn)品的普及,各種數字電視工作人員專(zhuān)用測試工具不斷被開(kāi)發(fā)。針對的市場(chǎng)需要的目的,采用基于的系統架構的方法,結合硬件及軟件設計等方面內容,文中詳細介紹了一個(gè)包含碼流錄制、碼流播放、碼流分析等多種功能的的設計與實(shí)現的過(guò)程。
關(guān)鍵詞:;;;USB2.0;動(dòng)態(tài)加載

在各種測試工作中,碼流的傳輸是必不可少的,常用的接口有:異步串行接口()、串行數字接口()、同步并行接口(SPI)、同步串行接口(SSI)。其中,ASI與SDI接口因為連線(xiàn)簡(jiǎn)單(只需一根同軸電纜線(xiàn)傳輸),傳輸距離長(cháng),抗干擾能力強,輸入反射損耗較小等原因被廣泛應用為碼流的傳輸接口。
PC機是各種測試過(guò)程中最常用的測試工具,作為PC機最常用的接口的通用串行總線(xiàn)USB,因為標準統一,支持熱插拔,可連接多個(gè)設備等優(yōu)點(diǎn),逐漸成為測試工具的常用接口,若能實(shí)現USB接口與傳輸碼流的ASI/SDI接口的連接,將給數字電視測試工作帶來(lái)極大便利。
設計ASI/SDI碼流播放器的目的是設計出手機大小的電路板,一端是USB接口,另一端是則ASI/SDI接口,通過(guò)、UB2.0等芯片實(shí)現ASI/SDI接口與USB接口之間的轉換,以達到TS流的錄制與播放和對碼流進(jìn)行分析的目的。

1 碼流播放器的整體結構設計
目前,DVB-ASI接口的實(shí)現大多采用Cypress公司的CY78933和CY78923芯片與CPLD或FPGA相結合的方案,這種方法固然可以實(shí)現ASI信號的收發(fā),但芯片費用和PCB面積的占用卻是數字電視前端設備追求低成本和微型化的障礙,針對這種情況,文中設計的ASI信號接收與發(fā)送系統采用同軸電纜作為其底層物理信道,用FPGA芯片完成了CY7B933和CY78923芯片的ASI信號的接收與發(fā)送功能,可有效節約成本,降低PCB的設計難度,并可用FPGA芯片完成其他功能。
國內外絕大多數是使用PCI或PCI-E接口,只能在臺式機或服務(wù)器上使用,隨著(zhù)PC機的微型化,筆記本電腦的普及,PCI或PCI-E接口已經(jīng)無(wú)法完全滿(mǎn)足數字電視測試工作的需求,所以本設計使用的是最通用的USB接口,大大降低數字電視測試工作的難度。

本文引用地址:http://dyxdggzs.com/article/189529.htm

a.JPG


如圖1所示,ASI/SDI碼流播放器的設計是基于FPGA和USB2.0芯片來(lái)實(shí)現的,集成度高,方便輕巧,能在PC機上輕松實(shí)現碼流捕捉,分析,監控和播放ASI/SDI數字流,現場(chǎng)錄制和分析MPEG-2碼流,還可以作為便攜式的演示設備。

2 碼流播放器的硬件模塊設計
使用FPGA實(shí)現了CY7B933和CY7B923芯片的功能,節約了大量成本;同時(shí),用Cypress公司的USB2.0芯片CY7C68013A替代PCI或PCI-E接口,因為傳輸的碼率較大,理論最大值為216 Mb,FPGA內部資源RAM資源無(wú)法滿(mǎn)足要求,添加一個(gè)SDRAM作為緩存,緩沖數據,以免丟數。
另外,由于選擇了低端的FPGA芯片,在編寫(xiě)版本FPGA程序時(shí)發(fā)現,其內部邏輯資源較少,無(wú)法裝下實(shí)現ASI和SDI的全部功能程序,而且實(shí)際工程應用中并不需要同時(shí)實(shí)現ASI和SDI的功能,故添加了一個(gè)的CPLD,實(shí)現FPGA的PS模式的動(dòng)態(tài)加載功能。
2.1 均衡器/驅動(dòng)器
輸入前端均衡器(Equaliser)選用的GS9064是第二代的雙向性高速集成電路,均衡和恢復收到的信號(75Ω同軸電纜,速率從143 Mb/s到540 Mb/s),支持SMPTE 344 M和SMPTE 259 M標準,且270 Mb/s時(shí)性能最佳。具有自動(dòng)檢測線(xiàn)長(cháng)并根據信號強弱自動(dòng)匹配均衡的功能,也可根據特定需要設置均衡參數。
Driver選擇CLC001驅動(dòng)器,CLC001是集成高速電纜驅動(dòng)器,可用來(lái)傳輸SMPTE 259M標準的串行數字視頻和ITU-TG.703標準的串行數字數據(75Ω傳輸線(xiàn),速率高達622Mb/s)。CLC001輸出功耗小,十分適合長(cháng)距離高速傳輸。
2.2 數據處理
輸入輸出信號都經(jīng)由差分線(xiàn)進(jìn)入FPGA,出于成本的考慮,選擇性?xún)r(jià)比較高的Altera公司生產(chǎn)的低端Cyclone I系列EP1C6F256C6。在FPGA內部實(shí)現ASI/SDI輸入輸出的控制,信號的串/并轉換,碼流分析,數據緩存(讀寫(xiě)SDRAM),碼流傳輸等功能。
因為T(mén)S流數據量較大,同樣出于成本的考慮,選擇在FPGA上外掛一個(gè)SDRAM,作為緩存(如果使用高性能FPGA,就可以使用FPGA內部RAM資源,但是成本較高)。FPGA程序的編寫(xiě),尤其是控制SDRAM讀寫(xiě)作為緩存的部分,是本設計的難點(diǎn)之一。
2.3 USB微控制器
FPGA控制的輸入輸出碼流都經(jīng)由USB2.0芯片傳送至PC機。賽普拉斯半導體公司的EZ-USB FX2LP(CY7C68013A)是高集成、低功耗USB 2.0微控制器,將USB 2.0收發(fā)器、串行接口引擎(SIE)、增強型8051微控制器,以及可編程外設接口集成到一個(gè)芯片中,而且賽普拉斯研發(fā)出一個(gè)極具成本優(yōu)勢的解決方案,不僅能在極短時(shí)間內完成從立項到投放市場(chǎng)的過(guò)程,而且其低功耗特點(diǎn)使得總線(xiàn)供電應用成為可能。

3 碼流播放器的軟件設計
碼流播放器軟件系統主要包括以下4個(gè)部分。
3.1 FPGA程序功能模塊
如圖2所示,系統輸入時(shí)鐘為27 MHz,由兩個(gè)PLL鎖相環(huán)倍頻得到270 MHz,135 MHz和兩個(gè)相位差90度的337.5 MHz時(shí)鐘。其中270 MHz是為ASI Transmitter提供,其余3個(gè)均為ASI Receiver所需。

b.JPG


ASI Transmitter模塊的作用是,先進(jìn)行8B10B編碼,再把并行的27 MHz數據按照標準協(xié)議轉成270 MHz的串行數據。
ASI Receiver模塊則是ASI Transmitter的逆過(guò)程,先進(jìn)行串并轉換,用5倍時(shí)鐘采樣對數據進(jìn)行校準,然后分析同步包頭等信息,再進(jìn)行8B10B解碼,得到8位并行數據。
SDI部分與ASI十分相似,不重復介紹。
碼流播放器是全雙工設計,但是,因為FPGA與USB芯片之間的數據傳輸管腳是復用的,不能同時(shí)雙向傳輸。所以,在FPGA與USB芯片之間需要不停的快速切換讀和寫(xiě)(1μs切換一次),即可實(shí)現“同時(shí)”發(fā)送和接收數據。
同時(shí)發(fā)送和接收數據時(shí),受切換的影響,速率減半,且USB接口時(shí)鐘最大支持僅為48 MHz,所以當收發(fā)同時(shí)進(jìn)行的時(shí)候,傳輸速度無(wú)法達到理論最大的216 Mbps。如果只是單向發(fā)送或者接受數據,系統會(huì )自動(dòng)切換成接收或者發(fā)送模式,基本可以達到數據傳輸理論最大值的216 Mbps。
發(fā)送碼流時(shí),可以在上位機軟件的操作界面上輸入發(fā)送速率(從0到216,000,000 bps),上位機通過(guò)USB芯片,把發(fā)送速率傳到FPGA,FPGA就可以按照所得速率,精確控制發(fā)送碼流的速度。
為了達到碼流收發(fā)的理論最大值,在FPGA上外掛一個(gè)RAM,通過(guò)對RAM的讀寫(xiě)的控制,實(shí)現先入先出(FIFO)的緩存功能。FPGA對RAM的讀寫(xiě)控制是編寫(xiě)Verilog HDL的難點(diǎn)之一,為了節約成本,碼流播放器選擇價(jià)格低、體積小、速度快、容量大的SDRAM,給Verilog程序編寫(xiě)增加了不少難度。相比控制簡(jiǎn)單的SRAM,DRAM每隔一段時(shí)間必須自刷新和預充,且數據線(xiàn)與行列地址都是復用的,切換讀寫(xiě)時(shí)極容易出現時(shí)序上的偏差,出現寫(xiě)錯,讀錯,重復讀,丟數等等問(wèn)題。
SDRAM上電復位后,計數器控制在200μs后,進(jìn)行SDRAM初始化配置,對所有BANK進(jìn)行預充,接著(zhù)是多個(gè)Reflash,然后進(jìn)入SDRAM工作模式設置。之后進(jìn)入空閑狀態(tài),執行讀寫(xiě)數據和自刷新等任務(wù)。
由于USB程序設置為Slave-FIFO模式,將FIFO的空滿(mǎn)狀態(tài)發(fā)送到FPGA,而FPGA作為Master,需要根據USB內FIFO的空滿(mǎn)信號,綜合SDRAM的空滿(mǎn)狀態(tài),對讀寫(xiě)狀態(tài)進(jìn)行判斷,并給出讀寫(xiě)使能。
3.2 USB收發(fā)器及控制器固件程序
賽普拉斯公司提供了非常好的程序框架,免去了用戶(hù)自己編寫(xiě)一些通用性比較強、模式化的程序。在框架的基礎上,用戶(hù)只需在相應的地方寫(xiě)相應的代碼即可完成USB工作。
碼流傳輸因為數據量大,而且傳輸和接受數據上又沒(méi)有帶寬和間隔時(shí)間要求所以采用的是Bulk傳輸方式。
計算機和USB外設端點(diǎn)0(EP0)之間的傳輸是典型的控制傳輸,主要進(jìn)行查詢(xún)配置和給USB設備發(fā)送通用的命令;控制傳輸是雙向傳輸,數據量通常較小,而且數據傳送是無(wú)損性的。
3.3 CPLD動(dòng)態(tài)加載配置程序
CPLD通過(guò)USB芯片,接收上位機傳輸過(guò)來(lái)的FPGA配置文件(.rbf格式),然后按照固定的時(shí)序對FPGA進(jìn)行配置。需要注意的是,在動(dòng)態(tài)加載過(guò)程中,FPGA的模式選擇需配置為PS模式,不同的FPGA芯片之間配置模式略有不同,電位要求也不盡相同。
配置過(guò)程為:CPLD將nCONFIG置低再拉高來(lái)初始化配置;等待FPGA返回應答信號nSTATUS,檢測到nSTATUS變高后,將配置數據和移位時(shí)鐘分別送到DATA0和DCLK管腳;送完配置數據后,檢測CONF_DONE是否變高,若未變高,說(shuō)明配置失敗,應該重新啟動(dòng)配置過(guò)程。在檢測CONF_D ONE變高后,根據器件的定時(shí)參數再送一定數量(40個(gè))的時(shí)鐘到DCLK管腳;待FPGA初始化完畢后進(jìn)入用戶(hù)模式。
3.4 PC界面控制程序
由C#編寫(xiě)的控制界面,主要實(shí)現與USB芯片間的碼流傳輸,發(fā)送控制命令,接收碼流分析結果等信息,如圖3所示。

c.JPG



4 結論
碼流播放器是USB供電,無(wú)需額外電源,輕巧方便攜帶;能輕松捕捉,播放,錄制和分析碼流;精確控制碼流發(fā)送速度;全雙工,同時(shí)進(jìn)行碼流的發(fā)送和接收。
用戶(hù)界面簡(jiǎn)單明了。發(fā)送時(shí)選擇發(fā)送文件,再輸入發(fā)送速度,點(diǎn)擊開(kāi)始即可;接收時(shí)選擇存儲路徑和錄制內容,再選擇錄制方式,點(diǎn)擊開(kāi)始。同時(shí),用戶(hù)界面還能實(shí)時(shí)接收到FPGA分析得到的各種碼流參數信息。目前,本文所介紹的碼流播放器已進(jìn)入穩定性測試階段,各項功能也在不斷完善和優(yōu)化中。
碼流播放器的電路板僅為6 mm*9 mm,小巧輕便,方便攜帶;操作簡(jiǎn)單,界面友好;因為設計時(shí)嚴格控制成本,價(jià)格低廉,性?xún)r(jià)比高,是數字電視專(zhuān)業(yè)人員理想的測試工具。

fpga相關(guān)文章:fpga是什么


鎖相環(huán)相關(guān)文章:鎖相環(huán)原理


關(guān)鍵詞: FPGA ASI SDI 碼流播放器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>