MAC发射端、MAC接收端及电路、FPGA芯片及数据传输系统的制作方法

文档序号:20916590发布日期:2020-05-29 13:36阅读:191来源:国知局
MAC发射端、MAC接收端及电路、FPGA芯片及数据传输系统的制作方法

本发明涉及1553数据信息传输领域,具体涉及一种基于fpga的高速1553混合业务数据封帧组帧电路和信息数据处理方法。



背景技术:

1553b总线,是美国军方专为飞机上设备制定的一种信息传输总线标准,也就是设备间传输的协议。传统的1553标准自上世纪70年代提出到现今,一直广泛运用于航空、航天、兵器等具有军事用途的主干通信中。

1553通信,是使用无线通信算法进行有线的通信,在高速通信的情况下,对数据的帧长要求较高,帧的载荷长度越长,数据传输效率越低且通信可靠性也会随之降低。在传统的数据通信中,上层pc下发的帧的有效载荷经常是在0-64kb的长度之间,而下层的无线链路因为随着数据帧有效载荷的增大,帧得到误码率随着帧长的增大,误码率开始升高,这与实际通信原则相违背的,在这样的情况下,针对不同帧类型及长度的帧的处理方法就非常的需要。



技术实现要素:

为了解决现有技术中存在的问题,满足高速1553数据传输系统中不同数据帧的传输能力的需求,本发明提出了一种基于fpga的mac混合业务的分帧组帧电路和方法,在一片fpga内完成数据帧的分割和组帧。

为解决上述技术问题,本发明采用的技术方案为:

mac发射端,所述mac发射端中存储有第一计算机程序,所述第一计算机程序按照以下步骤被处理器执行:

步骤1,对上层下发的用户帧进行缓存,所述用户帧包括用户帧帧头和用户帧帧载荷,根据用户帧帧头将缓存的用户帧封帧形成一个首帧、多个中间帧、以及一个尾帧,封帧时对首帧和尾帧进行标记;所述首帧包括首帧帧头和首帧帧载荷,所述中间帧包括中间帧帧头和中间帧帧载荷,所述尾帧包括尾帧帧头和尾帧帧载荷;首帧、中间帧及尾帧均为逻辑帧;

步骤2,依次将逻辑帧分别写入发射端缓存通道中;

步骤3,将发射端缓存通道中的逻辑帧读出并发射。

优选的,步骤1中,用户帧缓存在ram中,ram的内存空间分为多个区,每个区占1k字节,将用户帧存储ram中,帧越大占的片区个数越多,每一帧用户帧的第一个字节处在区的开始地址。

优选的,步骤2中,发射端缓存通道的数量由用户端进行配置,数量介于1-8之间。

本发明还提供一种基于上述mac发射端的电路,该电路依次包括串联的存储与封帧模块、发射端通道缓存模块和数据发射模块;

所述存储与封帧模块用于对上层下发的用户帧进行缓存,所述用户帧包括用户帧帧头和用户帧帧载荷,根据用户帧帧头将缓存的用户帧封帧形成一个首帧、多个中间帧、以及一个尾帧,封帧时对首帧和尾帧进行标记;首帧、中间帧及尾帧均为逻辑帧;

所述发射端通道缓存模块用于将多个逻辑帧进行缓存并跨时钟域,将逻辑帧字节数据流转化为比特数据流;

所述数据发射模块用于读出逻辑帧比特数据流并发射。

在此基础上,本发明提出一种mac接收端,所述mac接收端中存储有第二计算机程序,所述的第二计算机程序被处理器执行时实现以下步骤:

步骤a,接收逻辑帧;

步骤b,将接收的逻辑帧写入接收端缓存通道中,接收端缓存通道配置与发射端缓存通道配置相对应;

步骤c,对接收端缓存通道中的逻辑帧进行识别确定首帧,将首帧帧头作为用户帧帧头,将首帧帧载荷、中间帧帧载荷和尾帧帧载荷作为用户帧帧载荷组帧,还原用户帧。

优选的,步骤c中,组帧时锁定首帧第一个字节写入的地址,待还原用户帧后,判断用户帧帧载荷数量是否正确,正确则在用户帧帧尾加入帧结束标志;不正确,则删除错误的用户帧并返回锁定的地址,重新开始写入下一帧用户帧数据。

一种基于上述mac接收端的电路,该电路依次包括串联的数据接收模块、接收端通道缓存模块和存储与组帧模块;

所述数据接收模块用于接收逻辑帧比特数据流;

所述接收端通道缓存模块用于将接收的逻辑帧比特数据流转换成为多比特数据流并跨时钟域,接收端缓存通道配置与发射端缓存通道配置相对应;

所述存储与组帧模块用于对接收端缓存通道中的逻辑帧进行识别确定首帧,将首帧帧头作为用户帧帧头,将首帧帧载荷、中间帧帧载荷和尾帧帧载荷作为用户帧帧载荷组帧,还原用户帧。

本发明还提出一种fpga芯片,该芯片中集成了mac发射端和mac接收端;

所述mac发射端中存储有第一计算机程序,所述第一计算机程序按照以下步骤被处理器执行:

步骤1,对上层下发的用户帧进行缓存,所述用户帧包括用户帧帧头和用户帧帧载荷,根据用户帧帧头将缓存的用户帧封帧形成一个首帧、多个中间帧、以及一个尾帧,封帧时对首帧和尾帧进行标记;所述首帧包括首帧帧头和首帧帧载荷,所述中间帧包括中间帧帧头和中间帧帧载荷,所述尾帧包括尾帧帧头和尾帧帧载荷;首帧、中间帧及尾帧均为逻辑帧;

步骤2,依次将逻辑帧分别写入发射端缓存通道中;

步骤3,将发射端缓存通道中的逻辑帧读出并发射

所述mac发接收端中存储有第二计算机程序,所述的第二计算机程序被处理器执行时实现以下步骤:

步骤a,接收逻辑帧;

步骤b,将接收的逻辑帧写入接收端缓存通道中,接收端缓存通道配置与发射端缓存通道配置相对应;

步骤c,对接收端缓存通道中的逻辑帧进行识别确定首帧,将首帧帧头作为用户帧帧头,将首帧帧载荷、中间帧帧载荷和尾帧帧载荷作为用户帧帧载荷组帧,还原用户帧。

最后,本发明还提出一种数据传输系统,包括mac层、phy层、pci控制层和控制信号处理层,所述mac层中包括mac发射端和mac接收端;

所述mac发射端中存储有第一计算机程序,所述第一计算机程序按照以下步骤被处理器执行:

步骤1,对上层下发的用户帧进行缓存,所述用户帧包括用户帧帧头和用户帧帧载荷,根据用户帧帧头将缓存的用户帧封帧形成一个首帧、多个中间帧、以及一个尾帧,封帧时对首帧和尾帧进行标记;所述首帧包括首帧帧头和首帧帧载荷,所述中间帧包括中间帧帧头和中间帧帧载荷,所述尾帧包括尾帧帧头和尾帧帧载荷;首帧、中间帧及尾帧均为逻辑帧;

步骤2,依次将逻辑帧分别写入发射端缓存通道中;

步骤3,将发射端缓存通道中的逻辑帧读出并发射

所述mac发接收端中存储有第二计算机程序,所述的第二计算机程序被处理器执行时实现以下步骤:

步骤a,接收逻辑帧;

步骤b,将接收的逻辑帧写入接收端缓存通道中,接收端缓存通道配置与发射端缓存通道配置相对应;

步骤c,对接收端缓存通道中的逻辑帧进行识别确定首帧,将首帧帧头作为用户帧帧头,将首帧帧载荷、中间帧帧载荷和尾帧帧载荷作为用户帧帧载荷组帧,还原用户帧;

所述phy层为mac层和pci控制层进行链接,对mac层处理后的数据进行ofdm算法处理,按照不同的频率带宽进行数据传输;

所述pci控制层用于上层用户端命令信息和数据的通信链路;

所述控制信号处理层用于对mac层、phy层及pci控制层进行跟踪和控制,以及接收端缓存通道与发射端缓存通道的配置。

与现有技术相比,本发明具有如下有益效果:

本发明所述mac发射端以及接收端,发射端通过将巨型的用户帧进行切片分割成小型的逻辑帧进行传输,每个片段单独发送和确认,由接收端对接收的片帧进行从新组装成用户帧的形式传输给上层,这样不仅可以解决帧误码率的情况,而且大大提高了通信速率。

本发明所述fpga,pci控制电路通过外部链接器与fpga引脚相连,集成了发射端mac层和接收端mac层,在一对一的发送和接收中,用户帧的分段和底层片帧的去分段都是在mac层完成,mac层还可根据下层的通信质量,决定当前通信过程传输片帧有效载荷的大小,从而减小误码率。

本发明的数据传输系统,可以进行混合业务分帧组帧,包括mac层、phy层、pci控制层和控制信号处理层,其中mac层包含缓存分帧模块、通道模块、发射模块、接收模块、缓存组帧模块。所有模块电路串行工作,实现了1553领域不同格式的数据帧进行传输,用户可以根据实际需求通过对通道数量的配置进行速率变化,整个系统可以在100mbps的通信速率下进行信息传输。

附图说明

图1为本发明的系统构成示意图。

图2为本发明的方法实现简要示意图。

图3为本发明的存储分帧模块功能示意图。

图4为本发明的发送端用户帧缓存ram示意图。

图5为本发明的发送端用户帧分帧示意图。

图6为本发明的存储组帧模块功能示意图。

图7为本发明的接收端用户帧组帧示意图。

具体实施方法

下面将结合附图,通过对实施例的描述,对发明内容作进一步的说明。

本发明所述“帧”指的是:数据在网络上是以很小的称为帧的单位传输的,帧由几部分组成,不同的部分执行不同的功能。帧类型包括管理帧、控制帧和数据帧。

本发明所述数据帧,是数据在网络上传输时的一个数据单元,一“帧”数据由两部分组成:帧头和帧数据。帧头包括接收方主机物理地址的定位以及其它网络信息,帧数据含有一个数据体。数据帧,是物理网络传输过程中的一种固定模式,所有的数据包都会被封装成这样的数据帧投到网络上。

上述所述帧的封帧,指的是,为了使接收方能正确地接受并检查所传输的帧,发送方必须依据一定的规则吧网络层递交的分组封装成帧。

另外,本发明所述组帧,指的是,在不同层上传输的帧格式不同,每到一个层要把之前的封帧解封装成该层支持的帧格式。

以下对本发明所述mac、phy以及oi进行相关释义:

以太网卡中数据链路层的芯片一般简称之为mac控制器,物理层的芯片简称之为phy,mac芯片的一端接计算机pci总线,另外一端就接到phy芯片上。网络传输的流程是:mac从pci总线收到ip数据包(或者其他网络层协议的数据包)后,将之拆分并重新打包成最大1518byte,最小64byte的帧发送给phy。phy收到mac过来的数据,在发送的时候,然后把并行数据转化为串行流数据,再按照物理层的编码规则(10based-t的nrz编码或100based-t的曼彻斯特编码)把数据编码,再变为模拟信号把数据送出去。

本发明所述ram,是随机存取存储器,具有存储内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的特点。

实施例1:

图1为整个数据传输系统架构,包括mac层、phy层、pci控制层和控制信号处理层多个组成部分。

所述phy层作用为mac层和io接口进行链接,对mac层处理后的数据进行ofdm算法处理,将不同的通道数据按照不同的频率带宽进行数据传输,单通道基带信号占5mhz带宽,且每一路频率带宽间留有保护间隔,使每一路数据进行独立开来,目的达到互不影响。对io口输入的数据进行数据还原工作,将接收到的无线数据流经过下变频下采样得到全部八个自通道数据。八个子通道的系带数据进行独立的信号检测、解调和译码。解调译码得到的比特经并串转换等操作后得到逻辑帧数据流。在解调译码过程中可能存在普通1553数据带入的干扰情况,需要额外的进行去除干扰工作。

所述pci控制电路包含pci通信桥和fpga内部pci控制采样ip核及dma控制电路。在本系统中没有使用外部pci芯片,直接有外部链接器与fpga引脚相连,有ip进行数据采样传输,主要进行上层用户命令信息和数据的通信链路。

所述控制信号处理电路主要是一些控制信息的处理,对整个工程的mac层phy层及接口的工作状况进行有效跟踪和控制。

混合业务的封帧组帧在mac层实现。mac层具体功能实现见实施例2.

实施例2:

本实施例以mac发射端和mac接收端为例,对mac层进行说明。

mac层发射端或发射端电路主要电路包括发送端数据帧存储及封帧模块、通道缓存模块、数据发射模块,mac层接收端或接收端电路包括接收端的数据接收模块、通道缓存模块,数据帧组帧存储模块。

mac层发射端或发射端电路主要实现用户帧切片封帧:主要实现依靠于:

所述存储与分帧模块是将上层用户端下发的用户帧进行缓存,将32位宽数据转化为8位宽数据并跨时钟域,按照不同的帧类型将用户帧进行切片分成多个逻辑数据帧,并将逻辑数据帧进行依次填充到上层控制允许写入的通道内。通道控制信号由上层用户进行配置,下层控制信号处理电路统一管理,在不同的时间段内控制信息可以不一样。

所述发射通道缓存模块将多个逻辑帧数据进行缓存并跨时钟域,将字节数据流转化为比特数据流。在通道的写入端的时钟速率要远大于读出端速率,可以使数据快速的写入,提高整体系统工作速率。逻辑帧写入通道的个数取决于上层用户配置的参数,通道数最小为1,最大为8,当8个通道全开,且每个通道传输的逻辑帧都是满载荷进行传输,则系统数据传输速率将最大化,当开启一个通道,随着逻辑帧载荷段数据量的多少,速率进行变化。

进一步的,所述发射端缓存封帧模块的电路工作流程如下:

步骤1:将上层下发的用户帧缓存在(随机存储器)ram中,ram分为多个片区,每帧数据要进行隔离。

步骤2:将数据帧的帧头读出,进行帧类型的区分处理。

步骤3:逐步将缓存区中数据读出,组成逻辑帧,在组逻辑帧时将首片帧和尾片帧进行标注。

步骤4:依次轮流将数据帧写入通道中,一个通道写入一帧数据帧。

mac层接收端或接收端电路主要实现逻辑帧还原用户帧:实现主要依靠于:

所述接收通道缓存模块将比特流数据进行缓存,单比特转换成为多比特数据流,并跨时钟域。接收通道的开启数量由上层用户进行配置,和当前接收数据的通道数量一致,这样才能将数据完整正确接收。为使发送端的通道控制信息一致,通道信号在上层调度下统一进行分配,做到同一时间所有通信系统的通道信息一致。在读端口如发送端写端口一样要使用高频率的时钟信号进行数据处理,尽可能最快的速度将数据读出。

所述接收端数据缓存组帧模块是将逻辑帧进行重新组合,还原成为用户帧,在无线数据传输中存在数据传输错误的情况造成不能还原出正确的用户帧,这时需要将错误的用户帧进行删除,不再上传。每当存储一正确帧都将在每一帧的结尾加上特定的字节,将前一帧数据与下一帧数据隔开,方便上层能够简单正确处理数据帧。当缓存中存在足够的数量数据需向上层报中断读取下层数据,或当数据量不足但中断超时时向上层报一中断。

进一步的,所述接收端存储与组帧模块的电路工作流程如下:

步骤1:下层传入逻辑帧,当本模块识别到首帧时,将帧头信息记录下来作为整个当前用户帧的帧头。

步骤2:将首帧的帧头及载荷信息写入ram中,中间帧及尾帧的载荷信息写入ram,记录锁存首帧第一个字节写入的地址。在接收到尾片帧之前,出现不是中间片帧的其它类型数据帧,则代表本帧数据错误,将本帧抛弃回到初始状态等待下一首帧的出现。

步骤3:在接收完尾帧之后,判断用户帧载荷数量是否正确,正确则在帧尾加入帧结束标志。不正确,则写入地址重新返回锁定地址,重新开始写入到来的下一帧数据,代表写入的错误帧抛弃。

步骤4:当达到条件时向上报中断,下一帧写入地址与当前帧数据隔开,软件向上读取数据。

图2为本发明提供的混合业务的分帧组帧电路和方法的最佳实施例结构示意图。在本实施中,所述分帧组帧主要电路包含缓存分帧模块、发送通道模块,数据发射模块、数据接收模块、接收通道模块、接收缓存组帧模块。所述缓存分帧模块、发送通道模块,数据发射模块依次串联,使得在缓存分帧模块接收到上层数据帧后进行逻辑帧封帧,依次写入通道模块,然后经发射模块将通道中数据读出并进行各种操作后将数据传入下层。所述数据接收模块、接收通道模块、接收缓存组帧模块依次串联,在接收模块接收到数据并进行一定的处理后将数据写入通道模块,通道模块进行数据流的转换处理,由缓存组帧模块将数据帧进行读出,并进行组帧处理,还原成为用户帧格式进行缓存,达到特定的条件将数据进行上传。

进一步,所述缓存分帧模块用于数据缓存和用户帧分帧,具体的实施方法如图3所示。上层下发的数据帧经ram进行缓存,ram根据内存空间每1k的字节空间为一个片区,帧数据依次进行存储,每一帧的开头字节必须在片区的开始地址,即上一帧数据量不是片区存储数的整数倍,数据写完后地址跳到下一片区进行写下一帧数据。

ram数据存储如图4所示。这样ram的写入端和读出端在数据位宽不同的情况下可以使用指针进行判断内部是否还存在数据。当两指针不相等时,数据读出端就可以开始进行读取数据。根据提前定义好的帧格式将帧头信息读出,进行帧判断,然后进入用户帧分帧器,根据不同的帧类型将缓存中数据读出,按照用户帧格式重新进行封帧,形成载荷段较短的逻辑帧。具体分帧方式如图5所示。每个逻辑帧写入一个有效通道,当所有有效通道都写有逻辑帧则停止写入,等待下一轮的写入。

进一步,所述通道缓存模块是有8个异步ram组成,每一个ram即代表一个数据通道。它仅起到数据的缓存和数据位宽的转换。

进一步,所述数据发射模块是将通道中的数据按照一定的规则进行读出,使phy层能够方便的进行ofdm算法处理。

进一步,所述数据接收模块是将phy层经过向下两级滤波、时域同步、信号检测、下变频下采样得到的全部八个自通道数据写入通道控制模块之中。

进一步,所述缓存组帧模块是将下层传入的逻辑帧进行组合成为用户帧并放入ram中进行缓存。下层逻辑帧是按照数据流进行一帧一帧输入进来,每一帧之间都有一定的保护时间间隔,这样方便了将帧进行组合。下层只将ofdm和qpsk两种设定需要上传的帧进行输入,又存在不需要进行输入的帧,这些帧只是一些各个模块将的命令帧。当本模块接收到数据帧时就开始判断,逻辑帧的帧头信息携带的是头帧信息,模块就进入用户帧封帧器中,进行用户帧组帧。正常情况下首先是首帧,然后是中间帧,然后是尾帧,也可能存在多个中间帧,或不存在。因为在无线通信领域中存在误帧率和误码率,在数据帧的传输过程中只要帧头数据正确,不会出现将整帧数据抛弃的情况,数据帧传输过程中帧类型和长度信息正确,数据不丢帧就能拼成完整的用户帧。当在尾帧和首帧之间接收到其它类型的数据帧就可以造成当前帧错误的判断,当前帧就会被丢弃。ofdm和qpsk两种帧处理的方式基本一致。在每一正确帧的后面都加上一定字节,起到数据帧隔离的作用。具体组帧方式如图6、7所示。

在接收到足够数量的帧后向软件进行报中断,报中断时要在接收下一帧开始前报,不要再接收数据帧的过程中保中断,保证每一次报中断后上层都会读取完整的数据帧。当长时间没有数据,且ram中数据有不到报中断的数量,这时就进行超时中断判定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1