[发明专利]一种基于FPGA的MVB事件仲裁优化与设计方法有效

专利信息
申请号: 201710340982.2 申请日: 2017-05-12
公开(公告)号: CN107193644B 公开(公告)日: 2021-02-09
发明(设计)人: 胡黄水;沈玮娜;杨兴旺;王莹;郑曼;柳虹亮 申请(专利权)人: 长春工业大学
主分类号: G06F9/48 分类号: G06F9/48;H04L12/40
代理公司: 暂无信息 代理人: 暂无信息
地址: 130012 吉林*** 国省代码: 吉林;22
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 fpga mvb 事件 仲裁 优化 设计 方法
【权利要求书】:

1.一种基于FPGA的MVB事件仲裁优化与设计方法,其特征在于:包括事件仲裁优化算法和仲裁器设计两个部分;事件仲裁优化算法根据信道容量自适应调整优先级数,保障实时性要求高的信息优先发送,提高MVB网络事件仲裁的服务性能,为仲裁器设计提供依据;仲裁器设计基于FPGA采用模块化设计方法完成事件仲裁优化算法的硬件实现,具体包括解码模块、编码模块、仲裁模块、时钟模块和缓存模块,各个模块在仲裁有限状态机的逻辑控制下能实时对MVB网络并发事件进行有效仲裁;

所述事件仲裁优化算法为了满足非周期数据的实时性,对基本事件仲裁方法进行优化,根据信道容量来设置优先级数,且按实时性要求来分配优先级,即实时性高的具有高优先级,首先,计算信道的当前容量,根据当前容量来分配并发事件的优先级,该优先级数值不大于16,然后,当总线主检测到碰撞后,发出组事件请求帧,并根据事件的重要程度来设置悬挂事件优先级的高低,如若数据信息为报警、急刹车、紧急事件具有严格时限要求的紧急事件信息时,设定最高优先级,且其设备地址分给对应的小偶数,最后,分配优先级完成后,采用基本事件仲裁的折半查找算法对设备地址进行搜索;所述事件仲裁优化算法能减少碰撞,缩短仲裁延时,提高消息数据的实时性能;算法的流程为先判断周期相是否结束,如果周期相没结束,继续判断,直到周期相结束,接下来计算得到网络事件优先级个数n,即优先级为0,1,2,…,n-1,且0表示优先级最高,n-1为最低,并开始一个新的事件巡回,将0即“0000”写入一般事件请求帧的4个保留位中,并向网络广播一般事件请求帧,其F_code=9,在确认时间内,如果没有收到任何帧即寂静,则结束此次事件巡回,若在确定时间内接收到数据帧,则设置优先级个数n以及事件pr=0,根据接收到的数据帧判断响应个数;如果在确认时间内,收到了正确的16位从帧数据,即时间标示符响应,则表示网络中只有一个相同优先级的挂起事件,于是发出事件读取请求,即将正确接收到的事件标示符响应作为事件读取请求在此发送至网络,并接收相应的事件读取响应,其格式能够与任何从帧的格式相同,然后优先级+1,并判断是否等于n-1,如果等于则结束本次事件巡回,否则,跳转至发送一般事件请求,进行再一次事件搜索,而如果在广播一般事件请求帧后的确认时间内,收到碰撞,则发送组事件请求,其F_code=13,此时需采用事件仲裁算法将设备地址半分,设备地址半分后,判断是否继续碰撞,若继续收到碰撞,则返回上部执行设备地址半分,直至在确认的时间内接收到一个正确的16位从帧数据,此时表明网络中仅有一个相同优先级的挂起事件,于是发出事件读取请求,即将接收到的事件标示符响应作为事件读取请求在此发送至网络,并接收相应的事件读取响应,优先级+1,并判断是否等于n-1,如果等于则结束本次事件巡回,否则,跳转至发送一般事件请求,进行再一次事件搜索;

所述时钟模块分别与仲裁模块的输入CLOCK_IN、编码模块的输入CLOCK_IN以及解码模块的输入CLOCK_IN分别连接,提供基准时钟,其另外一个输入为外部系统复位信号RESET,低有效,为时钟模块提供复位初始化,正常工作时为高电平,此外,输入信号DIV_IN为分频使能信号,高有效,与仲裁模块的DIV_EN连接,平时为低电平;

编码模块主要在仲裁模块的逻辑控制下,发送相应的一般事件请求、组事件请求、单个事件请求以及事件读取请求主帧,编码模块的一个输入为复位信号RESET_IN,低电平有效,为编码模块提供复位初始化,正常工作时为高电平,其另一个输入时钟信号CLOCK_IN来自时钟模块,为编码模块提供基准3MHz时钟;仲裁器逻辑控制输入信号T_SEND与仲裁模块的TX_EN连接,在其控制下,基于时钟节拍,将与缓存模块DATA_OUT[15…0]连接的输入数据TDATA[15…0]串行发送到输出MVB_OUT,即将数据发往MVB总线,当一帧数据发送结束后,向仲裁模块输出发送结束标志T_OK,T_OK与仲裁模块的TX_OK连接,高有效,平时为低电平;

解码模块主要在仲裁模块的逻辑控制下,接收相应的时间标示符响应、事件数据以及碰撞从帧,具体包括从帧分界符、16位正确的从帧、8位校验码以及结束分界符;一个输入为来自外部MVB总线的数据MDATA_IN,另一个输入为复位信号RESET_IN,低电平有效,为解码模块提供复位初始化,正常工作时为高电平;输入时钟信号CLOCK_IN来自时钟模块,为编码模块提供基准3MHz时钟;仲裁逻辑控制输入信号REV_EN与仲裁模块REV_EN连接,RDATA_OUT[15…0]与缓存模块的DATA_IN[15...0]连接,当一帧数据接收完毕后,向仲裁模块输出接收结束标志REV_END,REV_END与仲裁模块REV_END连接,高有效,平时为低电平;

缓存模块一个输入为复位信号RESET_IN,低电平有效,为缓存模块提供复位初始化,正常工作时为高电平;输入数据控制信号R_DATA和输出控制信号T_DATA分别和仲裁模块的READ_EN和TX_EN连接,输入数据信号DATA_IN[15…0]和输出数据信号DATA_OUT[15…0]分别与解码模块的RDATA_OUT[15…0]和编码模块的TDATA[15…0]连接;

仲裁模块是事件仲裁器的核心,完成各个模块的逻辑控制,有序地进行事件请求发送以及应答接收,实现事件仲裁功能,一个输入为复位信号RESET_IN,低电平有效,为仲裁模块提供复位初始化,正常工作时为高电平,其另一个输入时钟信号CLOCK_IN来自时钟模块,为仲裁模块提供基准3MHz时钟;在低有效的输入仲裁使能信号ARBITR_EN的控制下,启动仲裁过程,此时使能DIV_EN信号,DIV_EN与时钟模块的DIV_IN连接,从而启动时钟模块,并根据算法分别使能REV_EN、REVD_EN、TX_EN、TXD_EN,它们分别与解码模块的REV_EN、缓存模块的R_DATA、编码模块的T_SEND、缓存模块的T_DATA连接,实现整个仲裁器的逻辑控制;

仲裁模块执行时先初始化设备数、设备地址,将所述初始化设备数、所述设备地址依次存入存储器单元,并计算所述初始化设备数、所述设备地址优先级个数,先轮询优先级为0的事件,然后仲裁模块处于空闲Idle状态,当周期相结束时,仲裁模块跳转到T_gene状态,在T_gene状态中,主设备发送F_code=9的一般事件请求帧开始事件巡回,然后仲裁模块跳转到R_wait状态,在R_wait状态中,等待有事件报告的从设备响应,此时,仲裁模块有三种跳转情况,如果设备没有事件报告,状态为寂静,则结束该次事件巡回,并跳转到仲裁模块的空闲Idle状态,等待下一次的巡回;如果只有一个设备报告事件,状态为正确,则跳转到仲裁模块的T_tag状态,在T_tag状态中,主设备接收到从设备发送的单一的事件标识符响应,检查F_code正确后,主设备重新发送事件标识符响应帧作为主帧,接着跳转到仲裁模块的R_sdata状态,在R_sdata状态中,设备发送事件读出响应,用来读出事件,接着跳转到仲裁模块的空闲Idle状态,等待下一次的巡回;如果有多个设备同时报告事件,状态为碰撞,则跳转到仲裁模块的T_grup状态,在T_grup状态中,主设备发送一个F_code=13的组事件请求帧,然后跳转到仲裁模块的T_half状态,在T_half状态中,采用事件仲裁算法将设备地址半分,若继续碰撞,则继续将设备地址半分,直到收到一个正确的16位事件标识符响应从帧,则跳转到仲裁模块的T_sing状态,在T_sing状态中,主设备发送一个F_code=14的单个事件请求帧,接着跳转到仲裁模块的R_gdata状态,在R_gdata状态中,设备发送事件读出响应,用来读出事件,然后如果有继续需要搜索的其他设备地址,则跳转到仲裁模块的T_grup状态,继续进行事件请求;如果没有事件报告,状态为寂静,则跳转到仲裁模块的空闲Idle状态,等待下一次的巡回。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长春工业大学,未经长春工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710340982.2/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top