[发明专利]一种以太网中具有实时传输功能的上位机及以太网系统有效
| 申请号: | 201910851124.3 | 申请日: | 2019-09-10 |
| 公开(公告)号: | CN110545152B | 公开(公告)日: | 2020-12-04 |
| 发明(设计)人: | 万海;赵曦滨 | 申请(专利权)人: | 清华大学 |
| 主分类号: | H04J3/06 | 分类号: | H04J3/06;H04L12/24 |
| 代理公司: | 北京科领智诚知识产权代理事务所(普通合伙) 11782 | 代理人: | 陈士骞 |
| 地址: | 10008*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 以太网 具有 实时 传输 功能 上位 系统 | ||
1.一种以太网中具有实时传输功能的上位机,其特征在于,包括:
全局时统模块,被配置为根据预先设定的时钟优先级确定全局网络设备的主时钟,再基于时钟同步机制使得全局网络设备按照所述主时钟实现时钟同步;
应用层模块,被配置为获取全局网络拓扑图,根据所述全局网络拓扑图以及所要处理的时间触发报文的信息,通过调度算法对时间触发报文进行统一调度,生成发送调度表和接收调度表,解析发送调度表得到每条待发送时间触发报文对应的发送时间,根据每条待发送时间触发报文的发送时间和由所述应用层模块到第一硬件FPGA模块的传送时间,得到应用层模块下行待发送时间触发报文的下行时刻,以使得在所述下行时刻,将对应的待发送时间触发报文通过内核协议栈下行至内核驱动模块,以及接收内核协议栈中的来自内核驱动模块的待接收时间触发报文;
内核驱动模块,被配置为将通过内核协议栈从应用层模块接收下行的待发送时间触发报文通过DMA下行至所述第一硬件FPGA模块,以及将通过DMA接收的第一硬件FPGA模块上行的待接收时间触发报文通过内核协议栈上行至应用层模块;
其中,所述内核驱动模块包括:数据包上行单元和数据包下行单元;
所述数据包下行单元包括:
获取发送锁工作子单元,被配置为在接收到应用层模块下行的待发送时间触发报文后,获取待发送时间触发报文的发送进程的自旋锁;队列工作子单元,被配置为根据待发送时间触发报文的数据流id找到存储待发送时间触发报文的队列,若该队列有空间,则将待发送时间触发报文的内容拷贝到队列中并更新队列的长度,同时将待发送时间触发报文的长度信息也保存在队列中;查询工作子单元,被配置为查询DMA是否空闲,若DMA中正在传输BE报文,在接近待发送时间触发报文的发送时间时,停止BE报文的发送;封装工作子单元,被配置为按照SLIP协议封装待发送时间触发报文为DMA识别的格式帧,以及打上时间戳;写寄存器工作子单元,被配置为进行三次写寄存器操作,第一次写寄存器以通知第一硬件FPGA模块待发送时间触发报文的存储位置,第二次写寄存器以通知第一硬件FPGA模块要传输的待发送时间触发报文大小,第三次写寄存器以通知第一硬件FPGA模块,DMA开始传输待发送时间触发报文;释放发送锁工作子单元,被配置为在DMA开始传输待发送时间触发报文后,释放待发送时间触发报文的发送进程的自旋锁;
所述数据包上行单元包括:
第一次中断处理子单元,被配置为接收到在第一硬件FPGA模块接收到待接收时间触发报文时触发的第一次中断信号,将其余中断屏蔽掉,接着读中断寄存器并判断中断状态,若判断第一次中断为待接收时间触发报文请求上行的中断,则读取寄存器获取上行数据的长度;写寄存器工作子单元,被配置为进行三次写寄存器操作,第一次写寄存器,告知内核驱动模块第一硬件FPGA模块接收到的待接收时间触发报文的存放地址,第二次写寄存器,告知内核驱动模块第一硬件FPGA模块接收内存的大小,第三次写寄存器,通知第一硬件FPGA模块开始向内核驱动模块上行待接收时间触发报文;第二次中断处理子单元,被配置为接收到在DMA传输结束时触发第二次中断信号,将其余中断屏蔽掉,接着读中断寄存器并判断中断状态,若判断第二次中断为传输结束的中断,则接收第一硬件FPGA模块上行的待接收时间触发报文;报文上行子单元,被配置为在接收到待接收时间触发报文时,将待接收时间触发报文上传内核协议栈,从而上行至应用层模块,若接收到的是BE报文,则将BE报文保存在缓存区中,接着放到工作队列workqueue实现的下半部函数中,等待系统空闲后依次上传至内核协议栈中;
第一硬件FPGA模块,被配置为下载预先配置好的发送调度表和接收调度表,按照接收调度表中第一硬件FPGA模块接收每条待发送时间触发报文对应的接收时间,从DMA接收来自内核驱动模块的待发送时间触发报文,并对待发送时间触发报文进行校验,校验合格则将待发送时间触发报文进行缓冲,在待发送时间触发报文的发送时刻将对应的待发送时间触发报文从缓冲区中取出,并对其进行校验,校验合格则将待发送时间触发报文发送给目标交换机的第二硬件FPGA模块;按照接收调度表中第一硬件FPGA模块接收每条待接收时间触发报文对应的接收时间,接收来自交换机的第二硬件FPGA模块的待接收时间触发报文,并对待接收时间触发报文进行校验,校验合格则将待接收时间触发报文进行缓冲,在待接收时间触发报文的上行时刻将对应的待接收时间触发报文从缓冲区中取出,并对其进行校验,校验合格则将待接收时间触发报文通过DMA上行至内核驱动模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910851124.3/1.html,转载请声明来源钻瓜专利网。





