基于arinc659协议的指令的译码方法

文档序号:6487349阅读:404来源:国知局
基于arinc659协议的指令的译码方法
【专利摘要】本发明涉及一种基于ARINC659协议的指令的译码方法,该方法包括:1)从通用静态存储器SRAM中对应的起始位置和固定地址空间,依次读取系统参数所对应的机器码,并对需要进行校对的系统参数进行校验;若校验成功,则继续读取下一个系统参数;若校验失败,则将地址指针值赋0;当系统参数全部校验结束后进行步骤2);2)判断通用同步FIFO的状态,若通用同步FIFO为满时,则地址指针保持不变;若通用同步FIFO不满时,则进行步骤3);3)根据指令类型对所有指令的机器码进行译码。本发明提供了一种有效解决ARINC659总线上BIU对帧描述语言指令的解析问题、可进行推广完成类似总线自定义指令集的机器码定义、指令译码、译码状态指示等工作的基于ARINC659协议的指令的译码方法。
【专利说明】基于ARINC659协议的指令的译码方法
【技术领域】
[0001]本发明属于计算机控制【技术领域】,涉及一种译码方法,尤其涉及一种基于ARINC659协议的指令的译码方法。
【背景技术】
[0002]ARINC659底板数据总线是满足高可靠性需求的串行容错总线标准。ARINC659协议规定帧描述语言,定义了总线上在线可更换模块之间通信数据的时序。作为BIU的开发商,需要定义帧描述语言的机器码格式,并对机器码进行解析,完成与总线上其他BIU之间的通信。目前没有同类技术。

【发明内容】

[0003]为了解决【背景技术】中存在的上述技术问题,本发明提供了一种有效解决ARINC659总线上BIU对帧描述语言指令的解析问题、可进行推广完成类似总线自定义指令集的机器码定义、指令译码、译码状态指示等工作的基于ARINC659协议的指令的译码方法。
[0004]本发明的技术解决方案是:本发明提供了一种基于ARINC659协议的指令的译码方法,其特殊之处在于:所述方法包括以下步骤:
[0005]I)从通用静态存储器SRAM中对应的起始位置和固定地址空间,依次读取系统参数所对应的机器码,并对需要进行校对的系统参数进行校验;若校验成功,则继续读取下一个系统参数;若校验失败,则将地址指针值赋O ;当系统参数全部校验结束后进行步骤2);
[0006]2)判断通用同步FIFO的状态,若通用同步FIFO为满时,则地址指针保持不变;若通用同步FIFO不满时,则进行步骤3);
[0007]3)根据指令类型对所有指令的机器码进行译码。
[0008]上述步骤3)的具体实现方式是:
[0009]3.1)按指令长度所需要的32位数的个数判断指令类型,对于指令长度所需要的32位数的个数大于I的非跳转指令,对第一个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加I ;对于指令长度所需要的32位数的个数大于I的跳转类指令,保存当前指令的地址,根据指令的机器码的格式译码出目的地址,将目的地址值赋给地址指针;若指令长度所需要的32位数的个数等于I时,则进行步骤I);
[0010]3.2)按指令长度所需要的32位数的个数判断指令类型,若指令长度所需要的32位数的个数大于2,则对指令的第二个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加I ;若指令长度所需要的32位数的个数等于2时,则进行步骤I);
[0011]3.3)按指令长度所需要的32位数的个数判断指令类型,若指令长度所需要的32位数的个数大于3,则对指令的第三个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加I ;若需要的32位数的个数等于3时,则进行步骤I);
[0012]3.4)对指令的第四个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加I。[0013]本发明的优点是:
[0014]本发明提供了一种基于ARINC659协议的指令的译码方法,该方法实现了ARINC659协议规定的帧描述语言指令译码功能;根据该电路设计,可进行推广完成类似总线自定义指令集的机器码定义、指令译码、译码状态指示工作。
【专利附图】

【附图说明】
[0015]图1是本发明所提供的解析方法中所采用的状态机流程示意图。
【具体实施方式】
[0016]本发明提供了一种基于ARINC659协议的指令的译码方法,该方法包括以下步骤:
[0017]I)对ARINC659协议规定的不同系统参数定义机器码,每条系统参数占用若干个32位。以参数GAP为例,机器码格式为:
[0018]
【权利要求】
1.一种基于ARINC659协议的指令的译码方法,其特征在于:所述方法包括以下步骤: O从通用静态存储器SRAM中对应的起始位置和固定地址空间,依次读取系统参数所对应的机器码,并对需要进行校对的系统参数进行校验;若校验成功,则继续读取下一个系统参数;若校验失败,则将地址指针值赋O ;当系统参数全部校验结束后进行步骤2); . 2)判断通用同步FIFO的状态,若通用同步FIFO为满时,则地址指针保持不变;若通用同步FIFO不满时,则进行步骤3); .3)根据指令类型对所有指令的机器码进行译码。
2.根据权利要求1所述的基于ARINC659协议的指令的译码方法,其特征在于:所述步骤3)的具体实现方式是: .3.1)按指令长度所需要的32位数的个数判断指令类型,对于指令长度所需要的32位数的个数大于I的非跳转指令,对第一个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加I ;对于指令长度所需要的32位数的个数大于I的跳转类指令,保存当前指令的地址,根据指令的机器码的格式译码出目的地址,将目的地址值赋给地址指针;若指令长度所需要的32位数的个数等于I时,则进行步骤I); .3.2)按指令长度所需要的32位数的个数判断指令类型,若指令长度所需要的32位数的个数大于2,则对指令的第二个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加I ;若指令长度所需要的32位数的个数等于2时,则进行步骤I); .3.3)按指令长度所需要的32位数的个数判断指令类型,若指令长度所需要的32位数的个数大于3,则对指令的第三个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加I ;若需要的32位数的个数等于3时,则进行步骤I); .3.4)对指令的第四个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加I。
【文档编号】G06F9/30GK103577154SQ201210261486
【公开日】2014年2月12日 申请日期:2012年7月26日 优先权日:2012年7月26日
【发明者】田泽, 刘宁宁, 许宏杰, 杨峰, 郭亮, 马宁, 刘浩 申请人:中国航空工业集团公司第六三一研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1