基于FPGA的TS over IP的設計與實現(xiàn)
1) 初始化狀態(tài):
本文引用地址:http://2s4d.com/article/279225.htma) 配置本機的MAC地址,IP地址以及要發(fā)送的目標的IP地
b) 完成硬件初始化
c) 置wdata1=1,wdata2=0,wchk1=0,wchk2=0,rdata1=0,rdata2=0
d) 跳轉到S1_1
2) S1_1:
a) 若此時wdata1=1,rdata1=1,則說明數據溢出,跳轉到溢出狀態(tài)
b) 向RAM1中寫入TS流數據
c) 數據量達到1316個字節(jié)后,置wdata1=0,wchk1=1
d) 同時處理器讀取RAM2中的數據,讀取結束時置rdata2=0
e) 跳轉到狀態(tài)S1_2
3) S1_2:
a) 將修改后的包頭信息寫入RAM1中
b) 寫入完成后置wchk1=0,wdata2=1, rdata1=1
c) 通知處理器可讀取RAM1中的數據
d) 跳轉到S2_1
4) S2_1:
a) 若此時wdata2=1,rdata2=1,則說明數據溢出,跳轉到溢出狀態(tài)
b) 向RAM2中寫入TS流數據
c) 數據量達到1316個字節(jié)后,置wdata2=0,wchk2=1
d) 同時處理器讀取RAM1中的數據,讀取結束時置rdata1=0
e) 跳轉到狀態(tài)S2_2
5) S2_2:
a) 將修改后的包頭信息寫入RAM2中
b) 寫入完成后置wchk2=0,rdata2=1,wdata1=1
c) 通知處理器可讀取RAM2中的數據
d) 跳轉到S1_1
6) 溢出狀態(tài):
a) 在S1_1或S2_1狀態(tài)時,當CPU沒有完成數據的讀取,卻要求再次寫入時,則視為數據溢出
b) 通知CPU數據溢出,并停止系統(tǒng)的運行
c) 跳轉到結束狀態(tài)
4 結論
本文闡述了一種基于FPGA和MCU芯片的TS over IP系統(tǒng)的設計方法,說明了系統(tǒng)各個部分的功能和實現(xiàn),詳細敘述了系統(tǒng)工作流程。同時還相較以往的系統(tǒng)進行了改進,通過使用雙RAM進行乒乓操作存儲并轉換數據,并通過DMA的方式進行RAM與MAC模塊數據交換等方法提高了系統(tǒng)運行效率。本系統(tǒng)在FPGA查找表(LUT)資源為6144,MCU頻率為100MHz的條件下,完成了視屏TS數據的傳輸,網絡傳輸速率達到30Mbit/s。
同時本文還在相同的硬件條件下,對使用FIFO作為緩沖器的系統(tǒng)和本系統(tǒng)在處理不同傳輸率的TS流時的系統(tǒng)性能做了對比,其中對比的主要參數是在不同數據傳輸速率下丟包率的多少,丟包率計算方法如下:
丟包率 = (發(fā)包數 — 收包數)/ 發(fā)包數
對比結果如表1所示。從表1中可以看出,在相同的硬件條件下,改進后的本系統(tǒng)的性能與運行效率有了明顯的提高,達到了實驗目的。
參考文獻:
[1]Hwang R H, Wu J J. Scheduling policies for an VOD system over CATV networks[C]//Global Telecommunications Conference, 1997. GLOBECOM'97., IEEE. IEEE, 1997, 1: 438-442
[2]管金稱, 唐繼勇, 楊峰. 基于 FPGA IP 核的雙通道 ASI 發(fā)送系統(tǒng)的設計[J]. 自動化儀表, 2009, 30(10): 41-43
[3]平亮. 基于 IP 的 TS 流傳輸關鍵技術研究[D]. 上海: 上海交通大學, 2007
[4]Rick Kelly.跨時鐘域信號同步的IP解決方案[J].中國集成電路,2010,19(10):66-76
[5]邵翠萍,史森茂,吳龍勝等. SoC中跨時鐘域的信號同步設計[J].現(xiàn)代電子技術, 2012,35(8):157-159,164
[6]楊巖巖,司倩然,馬賢穎等.FPGA設計中的亞穩(wěn)態(tài)問題及其預防方法研究[J].飛行器測控學報,2014,33(3):208-21
[7]袁洪琳,張亮,武桐等.芯片中跨時鐘域的數據傳輸的解決方法[J].企業(yè)技術開發(fā)(學術版),2010,29(8):4-5,16
[8]林輝,蘇振強.一種基于VHDL的乒乓操作控制法的研究[J].電子測量技術. 2008,31(9):170-173
tcp/ip相關文章:tcp/ip是什么
評論