[发明专利]一种读取通讯总线宿端口数据的调度方法在审
| 申请号: | 202011126148.1 | 申请日: | 2020-10-20 |
| 公开(公告)号: | CN112231084A | 公开(公告)日: | 2021-01-15 |
| 发明(设计)人: | 李卓函;张钰;王小东;李华龙 | 申请(专利权)人: | 苏州连世创智科技有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F13/38 |
| 代理公司: | 大连至诚专利代理事务所(特殊普通合伙) 21242 | 代理人: | 张海燕;杨威 |
| 地址: | 215000 江苏省苏州*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 读取 通讯 总线 端口 数据 调度 方法 | ||
本发明公开了一种读取通讯总线宿端口数据的调度方法,通过查询最小端口周期并设定为扫描周期;通过查询最大端口周期,算出最大端口周期相对于扫描周期的倍数;将最大端口周期的端口个数的值作为处理时间片,按照各个端口周期分类,将端口周期按照调度算法插入槽中,最后按照扫描周期逐一处理各个槽中的端口数据。本发明可以有效避免当各个端口处理周期达到最小公倍数时,CPU集中处理不及时,数据读取及处理速度跟不上而导致的丢包现象,从而有效提高通讯总线数据传输的可靠性与稳定性。
技术领域
本发明涉及总线通讯技术领域,尤其涉及一种读取通讯总线宿端口数据的调度方法。
背景技术
目前,总线通讯技术中,通常经由板卡将处理器与总线连接在一起。而板卡与处理器的接口有很多种,大多数处理器的处理速度都慢于自身总线通讯速度。因此当宿端口周期较小,宿端口数量较大时,通常策略一般有两种:一种是整体轮询策略,将所有通讯总线宿端口定期轮询一遍,将数据获取上来。该策略存在的问题是一次轮序周期内无法获取所有数据,导致数据更新不及时;另一种是时间分类策略,首先将通讯总线宿端口按照端口周期分类,然后按照时间间隔轮询每个端口周期的数据。该策略存在的问题是当遇到各个时间分类周期的最小公倍数时间周期时,无法保证所有数据全部及时刷新,特别是应用在采用MVB总线或半双工通讯总线的分析仪、记录仪、专家系统主机、智能运维系统等设备时,需要诊断所有数据的每一个总线周期时,延迟或丢帧问题严重。
发明内容
本发明提供一种读取通讯总线宿端口数据的调度方法,以克服上述技术问题。
本发明一种读取通讯总线宿端口数据的调度方法,包括:
获取全部需要处理的端口信息,将所述端口信息按照端口周期进行分类;
设定最小值的所述端口周期作为扫描周期;计算最大值的所述端口周期相对于所述扫描周期的倍数N;
建立所述倍数N个第一时间片;依次比较全部所述端口周期与所述扫描周期的周期值;
若所述端口周期小于/等于扫描周期,将小于/等于扫描周期的所述端口周期内的所述端口信息依次分配至所述倍数N个所述第一时间片内处理;
若所述端口周期大于扫描周期,计算大于扫描周期的所述端口周期相对于扫描周期的倍数M,建立所述倍数M个第二时间片;按照M个所述第二时间片分配大于扫描周期的所述端口周期进行处理,并分配至N个所述第一时间片内处理;
按照所述扫描周期,循环读取N个所述第一时间片内的所述端口信息。
进一步地,所述的循环读取N个所述第一时间片内的所述端口信息,包括:每个第一时间片内分配的端口数量S的表达式为:
S≤1倍周期端口数+(n+1)倍周期端口数/(n+1);式中,n为1至n的常数。
进一步地,采用一级链表实现所述第一时间片的逻辑功能;采用二级链表实现所述第二时间片的逻辑功能。
进一步地,所述的建立所述倍数N个第一时间片;依次比较全部所述端口周期与所述扫描周期的周期值,包括:建立字典类型索引,按照端口周期的周期值从小到大的顺序排列所述倍数N个第一时间片;按照所述字典类型索引遍历全部所述端口周期,依次比较所述端口周期与所述扫描周期的周期值。
进一步地,所述的获取全部需要处理的端口信息,将所述端口信息按照端口周期进行分类,包括:通过初始化获取所述端口信息,所述端口信息,包括:端口地址、端口大小、端口类型、数据内容、端口周期以及上次发送时间;将所述端口信息按照所述端口周期进行分类。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州连世创智科技有限公司,未经苏州连世创智科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011126148.1/2.html,转载请声明来源钻瓜专利网。





