一种多协议-多端口的串口周期发送方法技术

技术编号:39040236 阅读:12 留言:0更新日期:2023-10-10 11:53
本发明专利技术公开了一种“多协议

【技术实现步骤摘要】
Check,简称CRC)校验方式。注册到发送链表节点的“协议n的crc校验方式”中;信息五:本协议发送帧长度。注册到发送链表节点的“协议n发送长度”中。
[0010]进一步地,根据第一步的注册信息,进行数据处理。其中数据处理过程包括两个环节:(1)进行缓冲区发送数据装载;(2)进行缓冲区数据发送。
[0011]其中,缓冲区(buffer)这个中文译意源自当计算机的高速部件与低速部件通讯时,必须将高速部件的输出暂存到某处,以保证高速部件与低速部件相吻合,后来这个意思被扩展了,成为“临时存贮区”的意思。只要存在衔接,在高低层次间有交互,中间地带必然存在,如同边界线上的军事缓冲区一样,缓冲区的存在,尤其实质意义。计算机上的缓冲,可以有效提高数据的吞吐效率。数据装载是指将转换好的数据保存到数据仓库中去。数据发送系统已广泛应用于工业控制等各个领域,如何提高采集软件的稳定性和数据发送效率成为一个技术难点。传输控制协议(TCP)是Internet中使用最广泛的传输层协议。常见应用如HTTP、FTP、BitTorrent等都使用它来传输数据。在传输过程中,数据发送受到不止一种因素的限制,比如发送方、接收方和网络。数据发送定时器对发送的数据进行定时计数,它是一种减法计数器,当计数值变为0时,数据仍没有收到相应的应答,表示发送的数据已经超过定时范围,需要重发或丢弃。
[0012]具体地,本专利技术数据处理过程涉及三个缓冲区,分别为:
[0013]数据内容缓冲区,用来存储协议的数据内容;
[0014]数据长度缓冲区,用来存储协议的数据长度;
[0015]协议驱动设备缓冲区,用来存储协议的驱动设备信息。
[0016]本专利技术具有下述功能:
[0017]功能1:使用注册机制将不同厂家周期发送协议信息注册在链表各个节点中,使用不同注册信息,运转整个链表,以实现不同周期协议发送信息的精准捕获;
[0018]功能2:将不同的周期发送协议携带协议数据内容、协议数据长度、所需的不同的串口端口设备驱动信息,装载到底层缓冲区模块,根据不同的串口端口设备信息使用不同的端口进行发送;
[0019]功能3:所有周期发送协议使用统一缓冲区,避免n个周期发送协议使用n个缓冲区而导致的内存占用大的情况。
附图说明
[0020]图1为本专利技术“多协议

多端口”串口周期发送架构图;
[0021]图2为本专利技术“多协议

多端口”串口周期发送缓冲区对应关系图;
[0022]图3为本专利技术“多协议

多端口”串口周期发送数据装载流程图;
[0023]图4为本专利技术“多协议

多端口”串口周期数据发送流程图。
具体实施方式
[0024]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。其中,本文中“装载”和“加载”为同一意思。
[0025]如图1所示,本专利技术实施例提供一种技术方案:一种“多协议

多端口”的串口周期发送方法,首先,用户根据需求编辑设定不同周期发送协议信息,将发送协议信息注册到发送链表中;然后根据第一步的注册信息,进行缓冲区发送数据装载,而后进行缓冲区数据发送工作。
[0026]其中,链表,别名链式存储结构或单链表,用于存储逻辑关系为“一对一”的数据;链表的基本组成单位为节点。
[0027]协议注册:协议是一个用来通过衔接来发送、接收和处理信息的方法。为了能够发送一个指定的协议来查看信息,你必须注册它们。一旦注册,协议就可以用你指定的程序处理。
[0028]缓冲区:计算机的高速部件与低速部件通讯时,必须将高速部件的输出暂存到缓冲区,以保证高速部件与低速部件相吻合。
[0029]数据装载(加载):指将转换好的数据保存到数据仓库中去。
[0030]数据发送:数据发送定时器对发送的数据进行定时计数,它是一种减法计数器,当计数值变为0时,数据仍没有收到相应的应答,表示发送的数据已经超过定时范围,需要重发或丢弃。
[0031]所有周期发送协议使用统一缓冲区,避免n个周期发送协议使用n个缓冲区而导致的内存占用大的情况。如串口0接收的周期发送协议全部使用底层缓冲区0,串口1接收的周期发送协议全部使用底层缓冲区1。
[0032]参阅图2,数据处理过程中缓冲区涉及三种类型,分别为:数据内容缓冲区、数据长度缓冲区以及协议驱动设备缓冲区。其中数据内容缓冲区、协议长度缓冲区、和协议设备缓冲区为“n

>1

>1”的关系;数据内容缓冲区中,协议1的数据内容占据的长度为Len1,而Len1的长度在协议长度缓冲区的第一个位置处有所记录,在对应的协议设备缓冲区内的第一个位置存放的是协议1的发送设备。值得注意的是:操作缓冲区的过程中涉及到两类索引值:装载索引值和发送索引值。
[0033]装载索引值:包含装载读索引和装载写索引,该索引值指的是协议长度缓冲区和协议设备缓冲区的每个位置。也可以认为是数据内容缓冲区的每一块区的位置。
[0034]发送索引值:包含发送读索引和发送写索引,该索引值指的是数据内容缓冲区的每一个位置。
[0035]参阅图3,缓冲区发送数据装载的过程为:
[0036]第一步:遍历全部节点,若节点遍历完,则结束当前流程,若没有遍历完全部节点,则进入第二步。
[0037]第二步:判断当前节点的数据是否全部有效,若不是全部有效,则将当前节点设置为下一个节点,若全部有效则进行第三步。
[0038]第三步:对当前节点的周期发送时间进行计时,若计时时间不到,则不进行装载,继续检测下一个节点,直到检测完成全部节点为止,若当前节点的计时时间到,则进行第四步。
[0039]第四步:执行数据内容、数据长度及协议所需驱动设备的装载过程。同时将当前节点的计时时间恢复到注册时间,以便下一次进行检测。并将缓冲区装载写索引值向下移动1。执行完成上述操作后,将当前节点设置为下一个节点,继续进行第一步到第四步的操作
过程。
[0040]值得注意的是:第四步的数据内容装载,装载过程携带发送数据所用的crc校验信息,用以区分不同的周期发送校验方式。
[0041]图4为缓冲区数据信息发送的具体流程如下:
[0042]第一步:判断装载读索引值和写索引值是否相等,即检测是否存在没有发送的数据内容,若存在,则提取协议长度缓冲区内指定的读索引位置处的协议长度信息,然后判断该信息是否有效,若有效,则保存该数值而到协议长度临时值后,进行第二步操作,若无效,则将装载读索引值向下移动1,而后结束流程。
[0043]第二步:判断获得的协议长度信息是否为0,若为0,则认为已经提取完成该长度对应的数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种“多协议

多端口”的串口周期发送方法,其特征在于:步骤一,编辑不同周期发送协议信息,并将发送协议信息注册到发送链表中;步骤二,根据第一步的注册信息,进行缓冲区发送数据装载,而后进行缓冲区数据发送工作。2.根据权利要求1所述的一种“多协议

多端口”的串口周期发送方法,其特征在于:所述不同周期发送协议信息包括协议发送所需底层驱动设备名称、协议发送数据装载回调函数、协议周期发送时间、协议CRC校验方式以及协议发送帧长度。3.根据权利要求1所述的一种“多协议

多端口”的串口周期发送方法,其特征在于:所述缓冲区包括数据内容缓冲区、数据长度缓冲区以及协议驱动设备缓冲区。4.根据权利要求3所述的一种“多协议

多端口”的串口周期发送方法,其特征在于:所述数据内容缓冲区、数据长度缓冲区以及协议驱动设备缓冲区为n
‑1‑
1的对应关系。5.根据权利要求3所述的一种“多协议

多端口”的串口周期发送方法,其特征在于:所述缓冲区包括两类索引值:装载索引值和发送索引值。6.根据权利要求5所述的一种“多协议

多端口”的串口周期发送方法,其特征在于:所述缓冲区发送数据装载过程包括:第一步,遍历全部节点,若节点遍历完,则结束当前流程,若没有遍历完全部节点,则进入第二步;第二步,判断当前节点的数据是否全部有效,若不是全部有效,则将当前节点设置为下一个节点,若全部有效则进行第三步;第三步,对当前节点的周期发送时间进行计时,...

【专利技术属性】
技术研发人员:张浩翔丁强强
申请(专利权)人:重庆开拓卫星科技有限公司
类型:发明
国别省市:

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

1