基于FPGA的TS over IP的设计与实现
时间:12-04
来源:互联网
点击:
3 系统状态机及各状态说明
下面主要对执行TS over IP操作时系统的状态转换情况进行说明。系统状态转换图如7所示。
信号说明:
wdata1,wdata2 :RAM1和RAM2的可写数据信号。
wchk1,wchk2 :RAM1和RAM2的可写包头信息信号。
rdata1,rdata2 :RAM1和RAM2的可读信号。
状态图说明,除开始和结束状态外,本系统共包含六个状态:
1) 初始化状态:
a) 配置本机的MAC地址,IP地址以及要发送的目标的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,则说明数据溢出,跳转到溢出状态
b) 向RAM1中写入TS流数据
c) 数据量达到1316个字节后,置wdata1=0,wchk1=1
d) 同时处理器读取RAM2中的数据,读取结束时置rdata2=0
e) 跳转到状态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,则说明数据溢出,跳转到溢出状态
b) 向RAM2中写入TS流数据
c) 数据量达到1316个字节后,置wdata2=0,wchk2=1
d) 同时处理器读取RAM1中的数据,读取结束时置rdata1=0
e) 跳转到状态S2_2
5) S2_2:
a) 将修改后的包头信息写入RAM2中
b) 写入完成后置wchk2=0,rdata2=1,wdata1=1
c) 通知处理器可读取RAM2中的数据
d) 跳转到S1_1
6) 溢出状态:
a) 在S1_1或S2_1状态时,当CPU没有完成数据的读取,却要求再次写入时,则视为数据溢出
b) 通知CPU数据溢出,并停止系统的运行
c) 跳转到结束状态
4 结论
本文阐述了一种基于FPGA和MCU芯片的TS over IP系统的设计方法,说明了系统各个部分的功能和实现,详细叙述了系统工作流程。同时还相较以往的系统进行了改进,通过使用双RAM进行乒乓操作存储并转换数据,并通过DMA的方式进行RAM与MAC模块数据交换等方法提高了系统运行效率。本系统在FPGA查找表(LUT)资源为6144,MCU频率为100MHz的条件下,完成了视屏TS数据的传输,网络传输速率达到30Mbit/s。
同时本文还在相同的硬件条件下,对使用FIFO作为缓冲器的系统和本系统在处理不同传输率的TS流时的系统性能做了对比,其中对比的主要参数是在不同数据传输速率下丢包率的多少,丢包率计算方法如下:
丢包率 = (发包数 — 收包数)/ 发包数
对比结果如表1所示。从表1中可以看出,在相同的硬件条件下,改进后的本系统的性能与运行效率有了明显的提高,达到了实验目的。
参考文献:
[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 发送系统的设计[J]. 自动化仪表, 2009, 30(10): 41-43
[3]平亮. 基于 IP 的 TS 流传输关键技术研究[D]. 上海: 上海交通大学, 2007
[4]Rick Kelly.跨时钟域信号同步的IP解决方案[J].中国集成电路,2010,19(10):66-76
[5]邵翠萍,史森茂,吴龙胜等. SoC中跨时钟域的信号同步设计[J].现代电子技术, 2012,35(8):157-159,164
[6]杨岩岩,司倩然,马贤颖等.FPGA设计中的亚稳态问题及其预防方法研究[J].飞行器测控学报,2014,33(3):208-21
[7]袁洪琳,张亮,武桐等.芯片中跨时钟域的数据传输的解决方法[J].企业技术开发(学术版),2010,29(8):4-5,16
[8]林辉,苏振强.一种基于VHDL的乒乓操作控制法的研究[J].电子测量技术. 2008,31(9):170-173
下面主要对执行TS over IP操作时系统的状态转换情况进行说明。系统状态转换图如7所示。
信号说明:
wdata1,wdata2 :RAM1和RAM2的可写数据信号。
wchk1,wchk2 :RAM1和RAM2的可写包头信息信号。
rdata1,rdata2 :RAM1和RAM2的可读信号。
状态图说明,除开始和结束状态外,本系统共包含六个状态:
1) 初始化状态:
a) 配置本机的MAC地址,IP地址以及要发送的目标的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,则说明数据溢出,跳转到溢出状态
b) 向RAM1中写入TS流数据
c) 数据量达到1316个字节后,置wdata1=0,wchk1=1
d) 同时处理器读取RAM2中的数据,读取结束时置rdata2=0
e) 跳转到状态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,则说明数据溢出,跳转到溢出状态
b) 向RAM2中写入TS流数据
c) 数据量达到1316个字节后,置wdata2=0,wchk2=1
d) 同时处理器读取RAM1中的数据,读取结束时置rdata1=0
e) 跳转到状态S2_2
5) S2_2:
a) 将修改后的包头信息写入RAM2中
b) 写入完成后置wchk2=0,rdata2=1,wdata1=1
c) 通知处理器可读取RAM2中的数据
d) 跳转到S1_1
6) 溢出状态:
a) 在S1_1或S2_1状态时,当CPU没有完成数据的读取,却要求再次写入时,则视为数据溢出
b) 通知CPU数据溢出,并停止系统的运行
c) 跳转到结束状态
4 结论
本文阐述了一种基于FPGA和MCU芯片的TS over IP系统的设计方法,说明了系统各个部分的功能和实现,详细叙述了系统工作流程。同时还相较以往的系统进行了改进,通过使用双RAM进行乒乓操作存储并转换数据,并通过DMA的方式进行RAM与MAC模块数据交换等方法提高了系统运行效率。本系统在FPGA查找表(LUT)资源为6144,MCU频率为100MHz的条件下,完成了视屏TS数据的传输,网络传输速率达到30Mbit/s。
同时本文还在相同的硬件条件下,对使用FIFO作为缓冲器的系统和本系统在处理不同传输率的TS流时的系统性能做了对比,其中对比的主要参数是在不同数据传输速率下丢包率的多少,丢包率计算方法如下:
丢包率 = (发包数 — 收包数)/ 发包数
对比结果如表1所示。从表1中可以看出,在相同的硬件条件下,改进后的本系统的性能与运行效率有了明显的提高,达到了实验目的。
参考文献:
[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 发送系统的设计[J]. 自动化仪表, 2009, 30(10): 41-43
[3]平亮. 基于 IP 的 TS 流传输关键技术研究[D]. 上海: 上海交通大学, 2007
[4]Rick Kelly.跨时钟域信号同步的IP解决方案[J].中国集成电路,2010,19(10):66-76
[5]邵翠萍,史森茂,吴龙胜等. SoC中跨时钟域的信号同步设计[J].现代电子技术, 2012,35(8):157-159,164
[6]杨岩岩,司倩然,马贤颖等.FPGA设计中的亚稳态问题及其预防方法研究[J].飞行器测控学报,2014,33(3):208-21
[7]袁洪琳,张亮,武桐等.芯片中跨时钟域的数据传输的解决方法[J].企业技术开发(学术版),2010,29(8):4-5,16
[8]林辉,苏振强.一种基于VHDL的乒乓操作控制法的研究[J].电子测量技术. 2008,31(9):170-173
数字电视 FPGA MCU 嵌入式 电路 编码器 总线 自动化 集成电路 SoC 电子 VHDL 相关文章:
- IPTV技术分析及与数字电视的比较(10-05)
- 德州仪器OMAP? 2 平台助力最新NEC手机(11-14)
- 数字电视终端与芯片的智能化探讨 (03-20)
- 三网融合与数字智能家庭的密切关系(01-26)
- CMMB标准紧急广播服务的研究与应用(02-01)
- 基于AU1200的TS流处理设计(01-22)