【技术实现步骤摘要】
一种基于FPGA的实时传输协议栈及其硬件实现方法
[0001]本专利技术属于网络通信
,涉及一种基于FPGA的实时传输协议栈及其硬件实现方法,可用于实时将视频数据上传到网络上。
技术介绍
[0002]随着网络设备的飞速发展和以太网的日益普及,在网络上传输的数据不再是简单的图片和文字,而是向视频和音频数据等过渡。由于受网络带宽和储存空间的限制,一些图像采集设备难以做到采集到大量的数据后,再以视频数据的形式向网络上传输。而实时传输协议(Real
‑
time Transport Protocol,PRT)可以做到数据边上传,同时在接收端边显示,不用像往常一样需要先将整个视频数据缓存起来再播放;且它还能够保证信号源带宽与当前网络状况相匹配,同时利用它也能够在一对一,一对多,甚至多对多的网络环境中实现数据的实时传输。
[0003]目前现有的大部分实时传输数据发送系统多采用以ARM为核心的嵌入式系统,内部网络通信协议多采用软件编程。这样做在传输视频数据时会有以下缺点:(1)视频数据量较大,且一般传输时间较 ...
【技术保护点】
【技术特征摘要】
1.一种基于FPGA的实时传输协议栈,其特征在于,所述的基于FPGA的实时传输协议栈包括:RTP层控制模块,配置相关寄存器参数,并控制从属于RTP层的各个子模块的数据传输和信息交互;RTP会话信息表模块,用于维持一个RTP会话信息表,用于存储RTP会话中各个成员的参数信息,供RTP数据发送模块和RTCP数据发送模块生成数据包,RTP数据接收模块和RTCP数据接收模块解析数据包使用;RTP数据发送缓存模块,用于缓存上层网络/用户协议传输来的数据包;RTP数据发送模块,用于将RTP数据发送缓存模块中输出的数据打包成RTP包格式并发送给UDP/IP层网络仲裁模块;RTP数据接收缓存模块,用于存储已经解析完成的RTP包中的数据;RTP数据接收模块,用于将从UDP/IP层网络仲裁模块发来的数据包进行解包,提取出上层网络/用户数据;RTCP数据发送模块,用于UDP/IP层网络仲裁模块发送RTCP包,该包包含用于控制RTP通信质量的协议和相关参数;RTCP数据接收模块,用于UDP/IP层网络仲裁模块接收RTCP包,并解包出控制协议和相关参数;UDP/IP层网络仲裁模块,配置相关寄存器参数,用于处理当多个RTP层数据发送模块同时请求使用网络发送数据时,决定哪个数据源优先发送数据;或者用于将UDP/IP数据接收模块解析出的数据包发往对应RTP数据接收模块和RTP数据接收模块;UDP/IP数据发送模块,用于将RTP数据发送模块和RTCP数据发送模块中输出的数据包,根据IPv4打包成相应的UDP/IP包格式并发送给ARP层协议;UDP/IP数据接收模块,用于将从ARP层得到的UDP/IP包进行解包,根据解出的包类型、IP地址和端口号,分别提取出相应的RTP或RTCP数据包,并发给UDP/IP层网络仲裁模块;ARP层控制模块,用于控制从属于ARP层的各个子模块的数据传输和信息交互;同时校验MAC层协议解包出的MAC帧类型,判断是传输给UDP/IP数据接收模块,还是发往ARP包接收模块;ARP数据发送模块,用于发送ARP数据包到MAC层数据发送模块;ARP数据发送缓存模块,用于在ARP数据发送模块查询ARP表时缓存数据包;ARP数据接收模块,用于从MAC层数据接收模块接收ARP数据包;MAC层数据发送模块,用于将上层协议传输的数据包打包成MAC帧格并根据MAC层控制器的输入带宽进行相应的位宽转换;MAC层数据接收模块,根据MAC层控制器的输出带宽进行相应的位宽转换,用于将MAC帧解包校验,校验无误后并将数据传输给上层协议模块。2.根据权利要求1所述的一种基于FPGA的实时传输协议栈,其特征在于,所述RTP数据发送缓存模块和所述RTP数据接收缓存模块,包含一个异步时钟FIFO,用于处理用户端数据发送时钟与协议栈内部时钟不同步导致数据错位的问题;一个位宽调节模块,用于处理用户端输入数据位宽与FIFO输入位宽不同的问题;所述ARP会话信息存储模块包括一个RTP发送成员表、一个RTP普通成员表、一个X位伪
随机数生成模块和一个Y位绝对时间计时器模块;RTP发送成员表和RTP普通成员表用于记录会话成员数和相关参数,用于调节发包速度和频率,当接收到RTP或RTCP包中的数据后,相关成员的参数会进行更新,X位伪随机数生成模块用于生成发送者的SSRC身份标识,该标识全局唯一,Y位绝对时间计时器模块用于生成时间戳,用于数据同步;所述UDP/IP层网络仲裁模块包含一个网络成员表,用于存放网络IP地址、网络端口号以及相应的发送优先级;所述ARP层控制模块包含一个ARP缓存表,用于存储MAC地址和与其对应的IP地址;所述RTP会话信息表和ARP缓存表包含一个X位的寄存器和一个Y位的生存时间计数器,寄存器充当表载体存储数据表项,当表项中的数据被更新或使用时,计数器清零并重新计数;当超过生存时间时,表项中的数据未被更新或使用,则将这条表项从表中删除;所述RTP数据发送缓存模块...
【专利技术属性】
技术研发人员:梁爽,杨浩正,常玉春,申人升,钟国强,程禹,姜牟旬,周新峰,樊禹彤,
申请(专利权)人:大连理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。