用于实现以太网报文发送的方法及装置的制作方法

文档序号:7715608阅读:142来源:国知局
专利名称:用于实现以太网报文发送的方法及装置的制作方法
技术领域
本发明涉及嵌入式系统设计领域,特别涉及用于实现以太网报文发送的方法及装置。
背景技术
在全互联网协议(Internet Protocol, IP)化架构的基站中,内部的各个单 板以以太网数据报文方式通信。以全球移动通讯系统(Global Systemfor Mobile Communications, GSM)基站为例,上行的信令数据或者语音数据被封装为以太网数据报 文从基带处理板发出,而下行的信令语音数据也被封装为以太网数据报文发送到基带处 理板。帧中断,基站上下行数据以帧格式在基站单板间传递。每4.615ms中央处理单元 (Central ProcessingUnit, CPU)都会收到一个帧中断。 嵌入式操作系统,广泛使用在通信、电子设备的设计中。它同时维护调度多个任务 /进程,使任务/进程按照一定的优先级策略来获取CPU时间片运行。使用嵌入式操作系统 的基站,帧中断来临时,请参阅图l,通常的做法是,在帧中断中发出一个报文发送消息给网 络处理任务,网络处理任务收到消息后,等待自己任务调度就绪。如果当前任务未获得CPU 时间片,等待。当任务就绪后,申请缓存,互斥信号量等系统资源,如果暂时没有空闲资源, 等待。获得资源后,查看CPU网口硬件是否空闲决定是否发送。其中, 一种常见的做法是网 络设备驱动层采用缓冲描述符(BufferDescriptor, BD)结构,实现以太网报文数据接收和 发送控制,其中,BD是指向缓存(Buffer)的描述符指针,buffer中存放着要发送的报文或 者报文净荷。以增强精简指令集性能优化计算机(Performance Optimized WithEnhanced Reduced Instruction Set Computer, POWER PC)为例,需要看通信处理模块(Communicate Process Module,CPM)或者通信处理引擎(QUICC Engine,QE)是否把前面报文队列内容发 送完成,只有当CPU网口硬件空闲时才发送。这每一步都有可能带来较大的延时,使报文发 送不及时;延时较大时,会降低上下行数据处理的及时性,影响业务性能。

发明内容
本发明的目的在于提供用于实现以太网报文发送的方法及装置,保证以太网报文 发送的及时性。 本发明提供一种用于实现以太网报文发送的方法,该方法包括
接收到帧中断信号后,生成帧报文;
将所述帧报文写入集成电路芯片;
启动所述集成电路芯片发送帧报文。 本发明还提供一种用于实现以太网报文发送的装置,该装置包括
生成模块,用于接收到帧中断信号后,生成帧报文;
写入模块,用于将所述帧报文写入集成电路芯片;
启动模块,用于启动所述集成电路芯片发送帧报文。
4
采用本发明提供的用于实现以太网报文发送的方法及装置,帧中断来临时,区别
于现有技术,不再发送消息给网络任务,报文的处理也不在网络任务中进行,而是直接在中
断中生成报文。在生成帧报文之后,直接写入集成电路芯片中,从流程上区别于现有技术,
不去交给网络任务发送,因此,不会等待网络任务调度就绪,也避免了这个等待时延;同时,
不需要网络发送任务发送帧报文,所以向系统申请资源的过程也免了,这样不会因为申请
不到信号量或者缓存延误发送。在帧报文写入集成电路芯片之后,直接在中断启动集成电
路芯片发送,通过集成电路芯片的以太网发送模块来发送帧报文,从硬件设备上区别于现
有技术,不通过CPU网口硬件来发送报文,不必等待CPU硬件空闲,即可直接发送报文。对
于发生中断后就需要及时发送响应的以太网报文的情况,例如定时的4. 615ms帧中断、突
发的随机中断、其他定时速率的中断或者事件等,都可以保证以太网报文发送的及时性,保
证业务的稳定性。


图1示出现有技术中帧中断时以太网报文发送的示意图; 图2示出本发明实施例中用于实现以太网报文发送的装置的结构示意图; 图3示出本发明实施例中帧中断时以太网报文发送的示意图。
具体实施例方式
下面结合附图对本发明的具体实施方式
做详细阐述。对于发生中断后就需要及时发送响应的以太网报文的情况,例如定时的4. 615ms帧中断、突发的随机中断、其他定时速率的中断或者事件等,相对于现有技术需要网络任务调度的以太网报文发送,本发明提出用于实现以太网报文发送的装置及方法,可以帧中断中发送帧报文,解决当帧中断发生时刻,到CPU发送根据帧中断产生的信令数据以太网报文时刻,存在不确定的时间延时的问题。同时,也可适用于对CPU本身运算能力要求不高,但是对CPU通信能力要求较高的系统设计方案。这时,应用本发明,可以降低对CPU的通信处理能力要求,方便选择较低成本的CPU,从而降低系统的总成本。 图2示出本发明实施例中用于实现以太网报文发送的装置的结构示意图。该装置可以独立式设置,也可以集成于中央处理单元中。以下所涉及的集成电路芯片可以包括但不限于基于嵌入式系统开发需要而定制的专用集成电路芯片(A卯lication SpecificIntergrated Circuits,ASIC),例如现场可编程门阵列(Field Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device, CPLD)等。
请参阅图2,该装置包括 生成模块201,用于接收到帧中断信号后,生成帧报文;
写入模块202,用于将帧报文写入集成电路芯片;
启动模块203,用于启动集成电路芯片发送帧报文。
进一步的,生成模块可以包括 预处理子模块,用于在接收到帧中断信号之前,预先处理帧报文的内容; 后处理子模块,用于当接收到帧中断信号之后,在帧中断程序中进行帧报文的剩
余处理。
5
进一步的,写入模块可以包括 第一写入子模块,用于以通用片选机制(General-Purpose Chip-selectMachine,GPCM)方式将帧报文写入集成电路芯片; 或者,第二写入子模块,用于以用户编程机制(User-ProgrammableMachines,UPM)方式将帧报文写入集成电路芯片; 或者,第三写入子模块,用于采用直接内存访问(DMA)通道将帧报文写入集成电路芯片。 进一步的,该装置还可以包括 查询模块,用于查询集成电路芯片是否发送完帧报文。
进一步的,查询模块可以包括 查询子模块,用于查询集成电路芯片的以太网发送寄存器的相关位是否被自清零; 判断子模块,用于根据查询子模块的查询结果,如果被自清零,则帧报文发送完
成;否则,帧报文未发送完成。 或者,进一步的,查询模块可以包括 接收子模块,用于来自集成电路芯片的中断; 判断子模块,用于根据接收子模块的接收结果,如果接收到,则帧报文发送完成;否则,帧报文未发送完成。 下面,以该装置集成在CPU中,集成电路芯片为FPGA为例,说明如何实现以太网报文的发送。请参阅图3: 步骤1、在帧中断来临时刻,进入中断服务程序,响应帧中断,但是帧中断响应后不去发帧报文发送消息给网络任务。在报文没有启动发送时,不可退出中断。
步骤2、帧报文的处理和生成不交网络任务处理。帧报文处理和生成在中断中最终完成。帧报文的处理方式可以分成两种1、报文处理运算量比较小,占用CPU开销非常小,或者在CPU处理能力条件下,相对开销较小,可以在中断中完全处理。2、报文处理量较大,需要拆分帧报文处理运算。在普通任务中,可以预先处理帧报文的内容,提前生成下一帧报文数据的净荷,在帧中断中进行帧报文的剩余处理,例如加上报文头(以太网格式,包括目的媒体访问控制地址,源媒体访问控制地址,报文类型(指定帧报文属于哪一种以太网报文类型),例如历史用户数据报协议(UserDatagram Protocol,UDP)报文,传输控制协议(Transmission Control Protocol, TCP)报文,广播报文和/或组播报文等,设置自定义的数据域标志位(数据长度域,自定义标志域——标记这个报文是帧中断发出的以太网报文,其他特殊标志域等),根据现场情况,计算并根据需要改写报文净荷中相关数据。
步骤3、帧报文的发送不交网络任务处理。在帧中断服务程序中完成发送。本步骤包含以下两个显著特征1、帧报文发送不交给网络处理任务来完成。发送帧报文不去等待网络处理任务调度就绪。避免调度任务时带来的报文发送延时。2、发送报文的动作在帧中断引起中断服务程序中完成,不脱离这个中断,即来即发,保证报文发送的及时性。
步骤4、帧报文发送时,需要借助FPGA的以太网发送模块,启动发送。中断服务程序尽量减少耗时。这里帧中断服务程序主要的耗时时间一是帧报文处理时间,已在前面步骤2中解决。二是搬运帧报文数据到FPGA中耗时。可以有以下途径完成报文数据1、 FPGA搬运数据以常规方式进行时,以PowerPC 8313为例,总线时钟为41. 25M, 一次访问4个时钟周期,总线宽度是4个byte (32位),每次访问时间间隔4个时钟周期,以长包(1588个byte),搬运总共耗时(1588/4) * (4+4)个时钟周期,大约80us。 2、以用户编程机制(User-Programmable Machines, UPM)方式进行时,提前编辑好CPU读写FPGA时序波形配置到片选时序控制中。同上例,总线时钟和其他时钟不变,连续猝发16次方式访问,两次猝发之间时间间隔忽略不计。则搬运数据时间需要(1588/4)*4个时钟周期,大约为40个us。 3、采用直接内存访问(Direct Memory Access,DMA)通道搬运帧报文数据,DMA通道的目的地址为FPGA片内存储帧报文的缓存。源地址为内存中存储帧报文的缓存地址。搬运内存长度为帧报文的长度。 步骤5、写入帧报文数据到FPGA缓存之后,启动FPGA以太网报文发送。通过写入一个FPGA以太网发送寄存器某一位"l"启动发送。当发送结束后,这一位被FPGA内部逻辑清零。如果这一位为"l",则前一个帧报文没有发完,当前的帧报文不能写入FPGA缓存发送。 发送报文是FPGA把缓存中的数据进行并串转换,并根据实际网络速率适配为底层物理信号的过程。速率可选为10M, 100M, 1000M等。以太网物理信号的驱动可以使用FPGA本身自带的SGMII,GMII,MII等接口模块完成,也可以使用外接的物理层(Phy)驱动芯片和物理电平转换驱动器。 步骤6、启动报文发送后,有两种方式退出帧中断服务程序。 一种是写入FPGA以太网发送寄存器相关位(bit)后,直接退出中断服务程序。在外部查询发送寄存器的相关位是否自清零。或者由FPGA发送完帧报文后给CPU —个中断,指明当前的帧报文已经发送完成。另一种方式启动报文发送后,先不退出中断,查询FPGA的发送寄存器的相关位,如果相关位被自清零,则认为报文发送完成,退出中断。 以上所述仅是本发明的具体实施方式
,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
一种用于实现以太网报文发送的方法,其特征在于,该方法包括接收到帧中断信号后,生成帧报文;将所述帧报文写入集成电路芯片;启动所述集成电路芯片发送帧报文。
2. 根据权利要求1所述的方法,其特征在于,所述接收到帧中断信号后,生成帧报文包括在接收到所述帧中断信号之前,预先处理所述帧报文的内容; 当接收到所述帧中断信号之后,在帧中断程序中进行所述帧报文的剩余处理。
3. 根据权利要求1所述的方法,其特征在于,所述将所述帧报文写入集成电路芯片包括以通用片选机制方式将所述帧报文写入集成电路芯片; 或者,以用户编程机制方式将所述帧报文写入集成电路芯片; 或者,采用直接内存访问通道将所述帧报文写入集成电路芯片。
4. 根据权利要求1所述的方法,其特征在于,所述启动所述集成电路芯片发送帧报文 包括向所述集成电路芯片的以太网发送寄存器写入发送指令。
5. 根据权利要求1所述的方法,其特征在于,该方法还包括 查询所述集成电路芯片是否发送完所述帧报文。
6. 根据权利要求5所述的方法,其特征在于,所述查询所述集成电路芯片是否发送完 所述帧报文包括查询所述集成电路芯片的以太网发送寄存器的相关位是否被自清零,如果被自清零, 则所述帧报文发送完成;否则,所述帧报文未发送完成;或者,是否接收到来自所述集成电路芯片的中断,如果接收到,则所述帧报文发送完 成;否则,所述帧报文未发送完成。
7. 根据权利要求1至6任一项所述的方法,其特征在于,所述集成电路芯片包括现场 可编程门阵列和/或复杂可编程逻辑器件。
8. —种用于实现以太网报文发送的装置,其特征在于,该装置包括 生成模块,用于接收到帧中断信号后,生成帧报文; 写入模块,用于将所述帧报文写入集成电路芯片;启动模块,用于启动所述集成电路芯片发送帧报文。
9. 根据权利要求8所述的装置,其特征在于,所述生成模块包括 预处理子模块,用于在接收到所述帧中断信号之前,预先处理所述帧报文的内容; 后处理子模块,用于当接收到所述帧中断信号之后,在帧中断程序中进行所述帧报文的剩余处理。
10. 根据权利要求8所述的装置,其特征在于,所述写入模块包括第一写入子模块,用于以通用片选机制方式将所述帧报文写入集成电路芯片; 或者,第二写入子模块,用于以用户编程机制方式将所述帧报文写入集成电路芯片;或者,第三写入子模块,用于采用直接内存访问通道将所述帧报文写入集成电路芯片。
11. 根据权利要求8所述的装置,其特征在于,该装置还包括查询模块,用于查询所述集成电路芯片是否发送完所述帧报文。
12. 根据权利要求11所述的装置,其特征在于,所述查询模块包括查询子模块,用于查询所述集成电路芯片的以太网发送寄存器的相关位是否被自清零;判断子模块,用于根据所述查询子模块的查询结果,如果被自清零,则所述帧报文发送 完成;否则,所述帧报文未发送完成。
13. 根据权利要求11所述的装置,其特征在于,所述查询模块包括 接收子模块,用于来自所述集成电路芯片的中断;判断子模块,用于根据所述接收子模块的接收结果,如果接收到,则所述帧报文发送完 成;否则,所述帧报文未发送完成。
14. 根据权利要求8至13任一项所述的装置,其特征在于该装置集成于中央处理单 元中。
全文摘要
本发明公开用于实现以太网报文发送的方法及装置,该方法包括接收到帧中断信号后,生成帧报文;将所述帧报文写入集成电路芯片;启动所述集成电路芯片发送帧报文。对于发生中断后就需要及时发送响应的以太网报文的情况,例如定时的4.615ms帧中断、突发的随机中断、其他定时速率的中断或者事件等,都可以保证以太网报文发送的及时性,保证业务的稳定性。
文档编号H04L29/06GK101695045SQ200910190750
公开日2010年4月14日 申请日期2009年9月27日 优先权日2009年9月27日
发明者许炜 申请人:中兴通讯股份有限公司;
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1