CN107193644B - 一种基于fpga的mvb事件仲裁优化与设计方法 - Google Patents
一种基于fpga的mvb事件仲裁优化与设计方法 Download PDFInfo
- Publication number
- CN107193644B CN107193644B CN201710340982.2A CN201710340982A CN107193644B CN 107193644 B CN107193644 B CN 107193644B CN 201710340982 A CN201710340982 A CN 201710340982A CN 107193644 B CN107193644 B CN 107193644B
- Authority
- CN
- China
- Prior art keywords
- event
- module
- arbitration
- data
- clock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
Abstract
本发明涉及一种MVB事件仲裁优化方法,特别是一种基于FPGA的MVB事件仲裁优化与设计方法。该方法根据信道容量自适应调整优先级数,保障实时性要求高的信息优先发送,提高MVB网络事件仲裁的服务性能。所设计的仲裁器包括解码模块、编码模块、仲裁模块、时钟模块和缓存模块,各个模块在仲裁有限状态机的逻辑控制下能实时对MVB网络并发事件进行有效仲裁。
Description
技术领域
本发明涉及一种MVB事件仲裁方法,特别是一种基于FPGA的MVB事件仲裁优化与设计方法。该方法可根据信道容量自适应调整事件优先级,保障实时性要求高的事件信息优先发送,缩短仲裁时延,提高MVB网络事件仲裁的服务性能。而且采用FPGA设计一个嵌入式事件仲裁器,实时对MVB网络并发事件进行有效仲裁。
背景技术
多功能车辆总线MVB(Multifunction Vehicle Bus)是列车通信网络(TrainCommunication Network-TCN)国际标准之一,因其结构简单、实时性、安全性和可靠性高而在普通轨道列车、动车以及高铁上得到了广泛应用。MVB通信服务包含两类数据,即过程数据和消息数据,实现消息数据通信的关键是采用事件轮询机制,而事件仲裁是事件轮询机制的核心。
现有事件仲裁方法都是基于协议的基本算法进行改进,目的是为了提高MVB网络的实时性能。有方法依据设备的优先级或重要性来分配物理地址,越重要的设备(优先级高)分配越小的地址,从而缩小仲裁延时。并通过定义16种事件优先级类型,来缩小冲突域,减小碰撞概率。也有方法在有限深度条件下运用哈夫曼算法,生成任意条件下的最优二叉树,并进行设备地址分配,有效缩短了仲裁时延。还有方法采用粒子群优化来分配设备地址和扩展优先级,从而减小总线主的事件巡回次数。
可见,现有事件仲裁方法仅通过理论来分析仲裁延时、碰撞次数等性能,而没有对方法的硬件实现进行描述,无法满足实际应用需求。
发明内容
本发明所要解决的技术问题是针对现有方法离线而无法实际应用等问题,提出一种基于FPGA的MVB事件仲裁优化与设计方法,可根据信道容量自适应调整优先级数,保障实时性要求高的信息优先发送,缩短仲裁时延,提高MVB网络事件仲裁的服务性能,使设计的事件仲裁器能实际应用。
本发明一种基于FPGA的MVB事件仲裁优化与设计方法包括事件仲裁优化算法和仲裁器设计两个部分。事件仲裁优化算法根据信道容量自适应调整优先级数,保障实时性要求高的信息优先发送,提高MVB网络事件仲裁的服务性能,为仲裁器设计提供依据。仲裁器设计基于FPGA采用模块化设计方法完成事件仲裁优化算法的硬件实现,具体包括解码模块、编码模块、仲裁模块、时钟模块和缓存模块。
所述事件仲裁优化算法是为了满足非周期数据的实时性,对基本事件仲裁方法进行优化,根据信道容量来设置优先级数,且按实时性要求来分配优先级,即实时性高的具有高优先级。当总线主检测到碰撞后,发出组事件请求帧,并根据当前的信道容量,来设置优先级的个数,再根据事件的重要程度来设置悬挂事件优先级的高低,如若数据信息为报警、急刹车、紧急事件等具有严格时限要求的紧急事件信息时,设定最高优先级,且其设备地址分给对应的小偶数(如XXX0,XX00,XX10,X000,X100等)。最后,采用基本事件仲裁的折半查找对设备地址进行搜索。所述事件仲裁优化算法能减少碰撞,缩短仲裁延时,提高消息数据的实时性能。
所述仲裁器设计是基于FPGA采用模块化设计方法计来完成事件仲裁优化算法的硬件实现,具体包括解码模块、编码模块、仲裁模块、时钟模块和缓存模块。时钟模块为解码、编码和仲裁模块提供基准时钟,其频率为3MHz,由输入时钟模块的24MHz分频而来。编码模块主要在仲裁模块的逻辑控制下,发送相应的一般事件请求、组事件请求、单个事件请求以及事件读取请求主帧,具体包括主帧分界符、4位功能码、12位地址、8位校验码以及结束分界符。而解码模块主要在仲裁模块的逻辑控制下,接收相应的时间标示符响应、事件数据以及碰撞从帧,具体包括从帧分界符、16位正确的从帧、8位校验码以及结束分界符。缓存模块主要在仲裁模块的逻辑控制下,缓存接收的事件信息,以及缓存要发送的一般事件请求、组事件请求以及事件读取请求帧信息。仲裁模块是事件仲裁器的核心,完成各个模块的逻辑控制,有序地进行事件请求发送以及应答接收,实现事件仲裁功能。
由以上叙述可见本发明一种基于FPGA的MVB事件仲裁优化与设计方法包含事件仲裁优化算法和仲裁器设计两个部分。事件仲裁优化算法根据信道容量自适应调整优先级数,保障实时性要求高的信息优先发送,提高MVB网络事件仲裁的服务性能,为仲裁器设计提供依据。仲裁器设计基于FPGA采用模块化设计方法完成事件仲裁优化算法的硬件实现,具体包括解码模块、编码模块、仲裁模块、时钟模块和缓存模块,实时对MVB网络并发事件进行有效仲裁。
附图说明
图1为本发明的事件仲裁优化算法流程;
图2为本发明的仲裁器组成结构;
图3为本发明的仲裁器电路连接;
图4为本发明的仲裁器控制有限状态机;
图5为本发明的并发事件数与碰撞次数关系图;
图6为本发明的并发事件数与报文延时关系图。
具体实施方式
下面结合附图对本发明作进一步的详细说明,本发明一种基于FPGA的MVB事件仲裁优化与设计方法包括事件仲裁优化算法和仲裁器设计两个部分。事件仲裁优化算法根据信道容量自适应调整优先级数,保障实时性要求高的信息优先发送,提高MVB网络事件仲裁的服务性能,为仲裁器设计提供依据。仲裁器设计基于FPGA采用模块化设计方法完成事件仲裁优化算法的硬件实现,具体包括解码模块、编码模块、仲裁模块、时钟模块和缓存模块。
所述时间仲裁优化算法为了满足非周期数据的实时性,对基本事件仲裁方法进行优化,根据信道容量来设置优先级数,且按实时性要求来分配优先级,即实时性高的具有高优先级。首先,计算信道的当前容量:
其中r为已挂起的事件集合的个数,r=1,2,...,4096。可见,随着并发事件数量的增多,信道容量以对数函数的趋势急速加大。于是,考虑到仲裁的时延,根据当前容量来分配并发事件的优先级。在事件请求帧中,保留了4位用作设置事件优先级,即最多可设置16个优先级。设置优先级如下:
然后,当总线主检测到碰撞后,发出组事件请求帧,先根据式(1)得出队列中当前的信道容量,根据式(2)来设置优先级的个数,再根据事件的重要程度来设置悬挂事件优先级的高低,如若数据信息为报警、急刹车、紧急事件等具有严格时限要求的紧急事件信息时,设定最高优先级,且其设备地址分给对应的小偶数(如XXX0,XX00,XX10,X000,X100等)。
最后,分配优先级完成后,采用基本事件仲裁的折半查找算法对设备地址进行搜索。该优化方法能减少碰撞,缩短仲裁延时,提高消息数据的实时性能。具体优化流程如图1所示。
算法先判断周期相是否结束,如果周期相没结束,继续判断,直到周期相结束。此时,根据式(1)和(2)计算得到网络事件优先级个数n,即优先级为,且0表示优先级最高,n-1为最低。并开始一个新的事件巡回,将0即“0000”写入一般事件请求帧的4个保留位中,并向网络广播一般事件请求帧,其F_code=9。在确认时间内,如果没有收到任何帧即寂静,则结束此次事件巡回。若在确定时间内接收到数据帧,则设置优先级个数n以及事件pr=0,根据接收到的数据帧判断响应个数。如果在确认时间内,收到了正确的16位从帧数据,即时间标示符响应,则表示网络中只有一个相同优先级的挂起事件。于是发出事件读取请求,即将正确接收到的事件标示符响应作为事件读取请求在此发送至网络。并接收相应的事件读取响应,其格式可以与任何从帧的格式相同。然后优先级+1,并判断是否等于n-1,如果等于则结束本次事件巡回。否则,跳转至发送一般事件请求,进行再一次事件搜索。而如果在广播一般事件请求帧后的确认时间内,收到碰撞,则发送组事件请求,其F_code=13。此时需采用事件仲裁算法将设备地址半分,设备地址半分后,判断是否继续碰撞,若继续收到碰撞,则返回上部执行设备地址半分,直至在确认的时间内接收到一个正确的16位从帧数据,此时表明网络中仅有一个相同优先级的挂起事件。于是发出事件读取请求,即将接收到的事件标示符响应作为事件读取请求在此发送至网络。并接收相应的事件读取响应。然后优先级+1,并判断是否等于n-1,如果等于则结束本次事件巡回。否则,跳转至发送一般事件请求,进行再一次事件搜索。上述步骤就是事件仲裁的优化算法。
所述仲裁器设计是基于FPGA采用模块化设计方法计来完成事件仲裁优化算法的硬件实现,具体包括解码模块、编码模块、仲裁模块、时钟模块和缓存模块,其结构如图2所示,电路连接如图3所示。时钟模块为解码、编码和仲裁模块提供基准时钟,其频率为3MHz,由输入时钟模块的24MHz分频而来。如图3所示,其输入CLOCK_24M为外部输入24MHz时钟通过内部的8分频产生3MHz输出时钟CLOCK_3M,并分别与仲裁模块的输入CLOCK_IN、编码模块的输入CLOCK_IN以及解码模块的输入CLOCK_IN分别连接,提供基准时钟。其另外一个输入为外部系统复位信号RESET,低有效,为时钟模块提供复位初始化,正常工作时为高电平。此外,输入信号DIV_IN为分频使能信号,高有效,与仲裁模块的DIV_EN连接,平时为低电平。
编码模块主要在仲裁模块的逻辑控制下,发送相应的一般事件请求、组事件请求、单个事件请求以及事件读取请求主帧,具体包括主帧分界符、4位功能码、12位地址、8位校验码以及结束分界符。编码模块的一个输入为复位信号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连接,启动编码模块,在时钟的节拍下,对输入的数据MDATA_IN进行解码,并把具体的事件信息数据输出至RDATA[15…0],RDATA[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连接。实现整个仲裁器的逻辑控制,具体采用有限状态机来实现,如图4所示。首先,初始化设备数、设备地址,将所述初始化设备数、所述设备地址依次存入存储器单元,并计算所述初始化设备数、所述设备地址优先级个数,先轮询优先级为0的事件,然后仲裁模块处于空闲Idle状态。当周期相结束(T_spo=‘1’)时,仲裁模块跳转到T_gene状态。在T_gene状态中,主设备发送F_code=9的一般事件请求帧开始事件巡回,然后仲裁模块跳转到R_wait状态。在R_wait状态中,等待有事件报告的从设备响应,此时,仲裁模块有三种跳转情况。如果设备没有事件报告,状态为寂静(r_sil=‘1’),则结束该次事件巡回,并跳转到仲裁模块的空闲Idle状态,等待下一次的巡回。如果只有一个设备报告事件,状态为正确(rp_ok=‘1’),则跳转到仲裁模块的T_tag状态。在T_tag状态中,主设备接收到从设备发送的单一的事件标识符响应,检查F_code正确后,主设备重新发送事件标识符响应帧作为主帧,接着仲裁模块跳转到R_sdata状态。在R_sdata状态中,设备发送事件读出响应,用来读出事件,接着仲裁模块跳转到空闲Idle状态,等待下一次的巡回。如果有多个设备同时报告事件,状态为碰撞(r_coll),则跳转到仲裁模块的T_grup状态。在T_grup状态中,主设备发送一个F_code=13的组事件请求帧,然后跳转到仲裁模块的T_half状态。在T_half状态中,采用事件仲裁算法将设备地址半分(从偶地址开始),若继续碰撞(r_coll),则继续将设备地址半分,直到收到一个正确的16位事件标识符响应从帧(rp_ok=‘1’),则跳转到仲裁模块的T_sing状态。在T_sing状态中,主设备发送一个F_code=14的单个事件请求帧,接着跳转到仲裁模块的R_gdata状态。在R_gdata状态中,设备发送事件读出响应,用来读出事件。然后如果有继续需要搜索的其他设备地址,则跳转到仲裁模块的T_grup状态,继续进行事件请求;如果没有事件报告,状态为寂静(r_sil=‘1’),则跳转到仲裁模块的空闲Idle状态,等待下一次的巡回。
为了验证本发明一种基于FPGA的MVB事件仲裁优化与设计方法性能,设一条MVB总线,基本周期大小为1ms,设备地址从000000到1010001连续分配,电气长度为2.0km,含有2个中继器,从帧最大响应时间为42.7s。在非周期调度过程中,优化方案下并发事件数C与报文延时T(ms)和碰撞次数N的实验结果,如图5、6所示。由图中可知,相对于MVB典型事件仲裁算法,本发明方法通过信道容量自适应调整优先级的事件仲裁算法避免仲裁过程的碰撞次数,使非周期信息调度过程实时性得到了较大提高,报文延时平均降低了11%,验证了本发明方法的有效性。
可见本发明一种基于FPGA的MVB事件仲裁优化与设计方法,根据信道容量自适应调整优先级数,保障实时性要求高的信息优先发送,提高MVB网络事件仲裁的服务性能。所设计的仲裁器包括解码模块、编码模块、仲裁模块、时钟模块和缓存模块,能实时对MVB网络并发事件进行有效仲裁。
Claims (1)
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状态,等待下一次的巡回。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710340982.2A CN107193644B (zh) | 2017-05-12 | 2017-05-12 | 一种基于fpga的mvb事件仲裁优化与设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710340982.2A CN107193644B (zh) | 2017-05-12 | 2017-05-12 | 一种基于fpga的mvb事件仲裁优化与设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107193644A CN107193644A (zh) | 2017-09-22 |
CN107193644B true CN107193644B (zh) | 2021-02-09 |
Family
ID=59873427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710340982.2A Expired - Fee Related CN107193644B (zh) | 2017-05-12 | 2017-05-12 | 一种基于fpga的mvb事件仲裁优化与设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107193644B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110084360B (zh) * | 2019-04-26 | 2023-08-18 | 长春师范大学 | 一种基于ga-bp的mvb周期实时性改进算法 |
CN111510352B (zh) * | 2020-04-15 | 2021-07-23 | 南京芯欣德科技有限公司 | 一种应用于大规模停车位管理的带轮询查障和心跳状态汇报的总线系统 |
CN112905520B (zh) * | 2021-02-05 | 2022-08-12 | 中国电子科技集团公司第五十八研究所 | 用于互联裸芯的数据传输事件 |
CN115412476A (zh) * | 2021-05-29 | 2022-11-29 | 宝星智能科技(上海)有限公司 | 一种工业现场数据路由控制器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188796A (zh) * | 2007-02-05 | 2008-05-28 | 中兴通讯股份有限公司 | 一种无线网络控制器和基站之间进行流量控制的方法 |
CN101022378A (zh) * | 2007-03-13 | 2007-08-22 | 株洲南车时代电气股份有限公司 | 一种列车通信网络管理方法及装置 |
CN101478468A (zh) * | 2009-01-16 | 2009-07-08 | 中国北车股份有限公司大连电力牵引研发中心 | 基于fpga的mvb数字量输入模块 |
DE102011119004A1 (de) * | 2011-11-19 | 2013-05-23 | Diehl Aerospace Gmbh | Grafikverarbeitungsvorrichtung, Anzeigevorrichtung für ein Flugzeugcockpit sowie Verfahren zur Anzeige von Grafikdaten |
-
2017
- 2017-05-12 CN CN201710340982.2A patent/CN107193644B/zh not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
基于FPGA的全功能MVB链路层IP核研究与设计;胡远朋;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20160815(第08期);第1-49页 * |
多功能车辆总线管理器的研究与实现;高枫;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20071015(第04期);第1-86页 * |
轨道车辆 MVB网络实时性能分析与优化研究";聂晓波 等;《铁道学报》;20110930;第33卷(第9期);第40-44页 * |
高枫.多功能车辆总线管理器的研究与实现.《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》.2007,(第04期),第1-86页. * |
Also Published As
Publication number | Publication date |
---|---|
CN107193644A (zh) | 2017-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107193644B (zh) | 一种基于fpga的mvb事件仲裁优化与设计方法 | |
JP6396302B2 (ja) | 時分割多重アクセス・ネットワークにおけるデバイス登録およびサウンディング | |
US20180152201A1 (en) | Technologies for flexibly compressing and decompressing data | |
RU2597467C2 (ru) | Способ и устройство для адаптации надежности передачи данных в последовательной шинной системе | |
US20200334150A1 (en) | Method and apparatus for uniform memory access in a storage cluster | |
JPH10503041A (ja) | バス結合遅延時の調停方式 | |
CN1552028A (zh) | 用于片上系统的分布式直接存储器访问的方法和装置 | |
JP2017500631A (ja) | 複数のスレーブデバイス識別子を有するカメラ制御スレーブデバイス | |
CN106933771B (zh) | 延伸等时传输通用串行总线的传输范围的方法 | |
WO2015035955A1 (zh) | 内存模组访问方法及装置 | |
US20110231588A1 (en) | Requests and data handling in a bus architecture | |
JP2009003677A (ja) | Usbホスト、usbスレーブ、無線通信方式、及びデータ転送方法 | |
CN111682992A (zh) | 一种动态优先级的串行总线设计方法 | |
KR101251371B1 (ko) | 플렉스레이-캔 게이트웨이 시스템 및 메시지 매핑방법 | |
CN111106987A (zh) | 一种can报文发送方法、装置、存储介质及电子设备 | |
US20130070781A1 (en) | Probabilistic contention window management | |
KR20170117326A (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
US12001375B2 (en) | Interconnect system | |
Hua et al. | HOSA: Holistic scheduling and analysis for scalable fault-tolerant FlexRay design | |
US10079642B2 (en) | Transporting multiple low-speed data streams across a high-speed communication link | |
JP2023538289A (ja) | 通信方法および装置 | |
CN106254349B (zh) | 一种总线上现场实时通信的方法 | |
CN113055418B (zh) | 一种机电管理系统数据传输方法 | |
CN113691630B (zh) | Dns请求处理方法、装置、系统、电子设备和存储介质 | |
CN113934671B (zh) | 一种接口控制芯片及网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210209 |