当前位置: 首页 > 专利查询>厦门大学专利>正文

一种基于单天线的大数据包远距离传输方法技术

技术编号:19486623 阅读:16 留言:0更新日期:2018-11-17 11:29
本发明专利技术涉及一种基于单天线的大数据包远距离传输方法,无线发送数据包时,若要发送的数据包小于发送FIFO缓冲区大小,则直接发送,否则,设置发送FIFO几乎空中断的门限值,并将数据划分为若干个数据段,逐段发送;无线接收数据时,当天线接收的数据大小小于接收FIFO几乎满中断的门限值,直接读取数据完成数据接收,否则,产生一次接收FIFO几乎满中断,读取一次接收FIFO缓冲区内的数据,直至不再产生接收FIFO几乎满中断时,仍要读取一次接收FIFO缓冲区内的数据。本发明专利技术能能够实现单天线数据收发的正常运行;且能够实现大数据包的正常收发;还能够在数据收发过程中,实现本串口参数的修改重置。

【技术实现步骤摘要】
一种基于单天线的大数据包远距离传输方法
本专利技术涉及一种基于单天线的大数据包远距离传输方法,属于无线通讯领域。
技术介绍
现在大多数自动化仪表设备都具备远程监控和控制功能,因此,自动化仪表设备与监控站之间必须嵌入无线传输的功能。然而,现有技术中,自动化仪表设备或监控站上的发送或接受的数据包长度受到无线收发芯片发送缓冲区大小的限制,无法完成长字节数据包的发送,其次,现有的大型设备大都是基于双天线分别进行数据接收和数据发送,其存在的不足在于,双天线发射功率大,功耗高。除此之外,采用双天线进行同步接收,对应的主控芯片和无线发射芯片也必须支持双线程处理,这不仅提高了硬件成本,且因为双线程处理复杂,也加大了系统的开发成本。因此,本专利技术提出一种不受缓冲区大小限制传输大数据包的数据传输方法。
技术实现思路
为了解决上述技术问题,本专利技术提供一种基于单天线的大数据包远距离传输方法,通过单天线实现大数据包的无线收发及大数据包的串口传输,并能够在大数据包的收发过程中,实现串口参数重置。本专利技术的技术方案如下:一种基于单天线的大数据包远距离传输方法,在仪表设备端和数据栈端均设有无线收发芯片,仪表设备端或数据栈端通过天线发送数据包时,执行无线发送步骤:根据发送FIFO缓冲区大小判断发送方式,若要发送的数据包小于发送FIFO缓冲区大小,则直接发送,否则,设置发送FIFO几乎空中断的门限值,并将数据划分为若干个数据段,逐段发送,即完成数据包发送;仪表设备端或数据栈端通过天线接收数据时,执行无线接收步骤:设置接收FIFO几乎满中断的门限值,当天线接收的数据大小小于接收FIFO几乎满中断的门限值,直接读取数据完成数据接收,否则,产生一次接收FIFO几乎满中断,读取一次接收FIFO缓冲区内的数据,直至不再产生接收FIFO几乎满中断时,仍要读取一次接收FIFO缓冲区内的数据,其为该数据包的最后一段数据,即完成数据包接收。更优地,所述无线发送步骤为:步骤11、无线收发芯片通过串口从仪表设备端或数据栈端接收到数据包需要无线发送时,判断数据包长度是否小于等于无线收发芯片的发送FIFO缓冲区的大小,若是,将该数据包全部写入发送FIFO缓冲区,关闭其他所有中断,使能数据包发送完成中断,并将无线收发芯片中的中断状态寄存器的值清零,然后执行步骤13;若否,执行步骤12;步骤12、将该数据包进行划分,依次分为数据段1、数据段2….数据段n,使能发送FIFO几乎空中断,执行数据包处理步骤,具体为:首先将数据段1写入发送FIFO缓冲区,并将所述中断状态寄存器的值清零,使能自动发送数据功能,等待FIFO几乎空中断,若产生FIFO几乎空中断,则发送FIFO缓冲区内的数据已发送出去,然后将下一个数据段写入发送FIFO缓冲区,重复所述数据包处理步骤,直至将数据段n写入发送FIFO缓冲区时,执行如下步骤:关闭除数据包发送完成中断之外的其他所有的中断,使能数据包发送完成中断,并将所述中断状态寄存器的值清零,然后执行步骤13;步骤13、数据包发送完成,产生数据包发送完成中断,无线收发芯片配置天线控制器,使能无线数据接收模式,天线准备接收数据。更优地,所述无线接收步骤为:步骤20、天线无线接收到数据包时,读取所述中断状态寄存器的值并判断:若判断为CRC校验错误中断,清除接收FIFO缓冲区内的数据,丢弃该数据包,无线收发芯片配置天线控制器为使能无线数据接收模式,天线返回接收状态;若不是数据接收中断,判断为无数据包接收,直接返回;若判断为数据包接收中断,则进一步判断是数据包接收完毕中断还是接收FIFO几乎满中断,若判断为接收FIFO几乎满中断,执行步骤21;若判断为数据包接收完毕中断,执行步骤22;步骤21、读取接收FIFO缓冲区的数据,更新接收缓冲区指针,继续等待数据包接收中断,返回步骤20;步骤22、读取接收FIFO缓冲区中的所有数据,清零接收缓冲区指针,完成一包完整数据包的接收。步骤23、无线收发芯片配置天线控制器,使能无线数据接收模式,天线准备接收数据。更优地,在执行所述无线发送步骤之前,所述无线收发芯片还执行串口接收步骤,从而从仪表设备端或数据栈端接收数据包;当无线收发芯片通过串口接收数据时,会产生串口接收中断,然后执行所述串口接收步骤;所述串口接收步骤具体为:步骤00、判断接收到的数据,若为第一字节,置开始接收标志位,接收数据完成时,检测超时计数器,若未超时,则返回再次执行步骤00;若超时,则认为数据包接收完毕,置接收完成标志位,同时,开始接收标志位清零;接收到的数据包再由所述无线发送步骤发送出去。更优地,执行步骤00后,还执行步骤01:判断数据包是否为串口参数设置命令,若为串口参数设置命令,将该数据包通过所述无线发送步骤发送出去的同时,根据串口参数设置命令修改本串口的参数,并进行初始化;若不是串口参数设置命令,则直接通过所述无线发送步骤将数据包发送出去。更优地,所述无线接收步骤中,所述步骤22和步骤23之间还包括:步骤22-1、判断接收到的数据包是否为串口参数设置命令,若是根据串口参数设置命令修改本串口的参数,并进行初始化,若不是串口参数设置命令,则直接将接收到的数据包发送至仪表设备端或数据栈端。更优地,在执行所述无线接收步骤之后,还需要执行串口发送步骤,将接收到的数据包发送至仪表设备端或数据栈端,所述串口发送步骤如下:步骤30、置开始发送标志位,发送第一个字节;步骤32、产生串口发送中断;发送该字节完成时,检测超时计数器,判断是否超时,若超时,丢弃数据包并将串口发送标志位清零,使能无线数据接收模式;若未超时,执行步骤33;步骤33、判断数据包是否发送结束,若是,执行步骤34,若否,发送下一个数据,并将超时计数器清零,然后返回执行步骤32;步骤34、将串口发送标志位清零,使能无线数据接收模式。更优地,发送FIFO几乎空中断的门限值<各数据段的大小<FIFO缓存区的大小。本专利技术具有如下有益效果:1、无线收发以及串口收发完成后,均使能无线数据接收模式,从而确保单天线数据收发的正常运行;2、设置发送FIFO几乎空中断和接收FIFO几乎满中断的门限值,从而实现大数据包的正常收发;3、能够在数据收发过程中,实现本串口参数的修改重置。附图说明图1为本专利技术串口数据接收流程图;图2为本专利技术无线数据发送流程图;图3为本专利技术无线数据接收流程图;图4为本专利技术串口数据发送流程图。具体实施方式下面结合附图和具体实施例来对本专利技术进行详细的说明。实施例一请参阅图1至图4,一种基于单天线的大数据包远距离传输方法,在仪表设备端和数据栈端均设有无线收发芯片,数据包在仪表设备端和数据栈端之间传输。仪表设备端或数据栈端通过天线发送数据包时,执行无线发送步骤:根据发送FIFO缓冲区大小判断发送方式,若要发送的数据包小于发送FIFO缓冲区大小,则直接发送,否则,设置发送FIFO几乎空中断的门限值,根据发送FIFO几乎空中断的门限值和发送FIFO缓存区的大小,将数据划分为若干个数据段,逐段连续发送,即完成数据包发送;发送FIFO几乎空中断的门限值<各数据段的大小<FIFO缓存区的大小;仪表设备端或数据栈端通过天线接收数据时,执行无线接收步骤,具体为:设置接收FIFO几乎满中断的门限值,当天线接收的数据大本文档来自技高网...

【技术保护点】
1.一种基于单天线的大数据包远距离传输方法,在仪表设备端和数据栈端均设有无线收发芯片,其特征在于:仪表设备端或数据栈端通过天线无线发送数据包时,执行无线发送步骤:根据发送FIFO缓冲区大小判断发送方式,若要发送的数据包小于发送FIFO缓冲区大小,则直接发送,否则,设置发送FIFO几乎空中断的门限值,并将数据划分为若干个数据段,逐段连续发送,即完成数据包发送;仪表设备端或数据栈端通过天线无线接收数据时,执行无线接收步骤:设置接收FIFO几乎满中断的门限值,当天线接收的数据大小小于接收FIFO几乎满中断的门限值,直接读取数据完成数据接收,否则,产生一次接收FIFO几乎满中断,读取一次接收FIFO缓冲区内的数据,直至不再产生接收FIFO几乎满中断时,仍要读取一次接收FIFO缓冲区内的数据,其为该数据包的最后一段数据,即完成数据包接收。

【技术特征摘要】
1.一种基于单天线的大数据包远距离传输方法,在仪表设备端和数据栈端均设有无线收发芯片,其特征在于:仪表设备端或数据栈端通过天线无线发送数据包时,执行无线发送步骤:根据发送FIFO缓冲区大小判断发送方式,若要发送的数据包小于发送FIFO缓冲区大小,则直接发送,否则,设置发送FIFO几乎空中断的门限值,并将数据划分为若干个数据段,逐段连续发送,即完成数据包发送;仪表设备端或数据栈端通过天线无线接收数据时,执行无线接收步骤:设置接收FIFO几乎满中断的门限值,当天线接收的数据大小小于接收FIFO几乎满中断的门限值,直接读取数据完成数据接收,否则,产生一次接收FIFO几乎满中断,读取一次接收FIFO缓冲区内的数据,直至不再产生接收FIFO几乎满中断时,仍要读取一次接收FIFO缓冲区内的数据,其为该数据包的最后一段数据,即完成数据包接收。2.根据权利要求1所述一种基于单天线的大数据包远距离传输方法,其特征在于,所述无线发送步骤为:步骤11、无线收发芯片通过串口从仪表设备端或数据栈端接收到数据包需要无线发送时,判断数据包长度是否小于等于无线收发芯片的发送FIFO缓冲区的大小,若是,将该数据包全部写入发送FIFO缓冲区,关闭其他所有中断,使能数据包发送完成中断,并将无线收发芯片中的中断状态寄存器的值清零,然后执行步骤13;若否,执行步骤12;步骤12、将该数据包进行划分,依次分为数据段1、数据段2….数据段n,使能发送FIFO几乎空中断,执行数据包处理步骤,具体为:首先将数据段1写入发送FIFO缓冲区,并将所述中断状态寄存器的值清零,使能自动发送数据功能,等待FIFO几乎空中断,若产生FIFO几乎空中断,则发送FIFO缓冲区内的数据已发送出去,然后将下一个数据段写入发送FIFO缓冲区,重复所述数据包处理步骤,直至将数据段n写入发送FIFO缓冲区时,执行如下步骤:关闭除数据包发送完成中断之外的其他所有的中断,使能数据包发送完成中断,并将所述中断状态寄存器的值清零,然后执行步骤13;步骤13、数据包发送完成,产生数据包发送完成中断,无线收发芯片配置天线控制器,使能无线数据接收模式,天线准备接收数据。3.根据权利要求1所述的一种基于单天线的大数据包远距离传输方法,其特征在于,所述无线接收步骤为:步骤20、天线无线接收到数据包时,读取所述中断状态寄存器的值并判断:若判断为CRC校验错误中断,清除接收FIFO缓冲区内的数据,丢弃该数据包,无线收发芯片配置天线控制器为使能无线数据接收模式,天线返回接收状态;若不是数据接收中断,判断为无数据包接收,直接返回;若判断为数据包接收中断,则进一步判断是数据包接收完毕中断还是接收FIFO几乎满...

【专利技术属性】
技术研发人员:吴清锋阮群生郑宇辉曹璐
申请(专利权)人:厦门大学
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1