一种1553B总线远置终端子地址查找表自动分配方法及系统技术方案

技术编号:18449372 阅读:30 留言:0更新日期:2018-07-14 12:11
本发明专利技术公开了一种1553B总线远置终端子地址查找表自动分配方法及系统,定义了子地址属性描述结构,子地址属性描述列表作为自动分配算法的输入,自动分配算法以“先大后小”原则为子地址查找表映射空闲内存区,满足循环缓存对齐限制条件,同时实现子地址控制字的自动设置,解决了传统的查找表映射内存人工分配方式低效、维护性差的问题。

【技术实现步骤摘要】
一种1553B总线远置终端子地址查找表自动分配方法及系统
本专利技术属于卫星系统数据网络领域,尤其涉及一种1553B总线远置终端子地址查找表自动分配方法及系统。
技术介绍
传统的1553B总线远置终端子地址查找表映射内存分配方法,需要设计师对所使用的子地址人工分配查找表映射的内存地址。由于设计师对循环缓存分配限制条件、子地址控制字格式等信息了解不足,经常导致循环缓存不正常等情况,存在内存地址分配效率低的现状;同时,当子地址需求发生变化时,设计师需要重新人工进行查找表分配,重复工作且功能维护性差。
技术实现思路
本专利技术解决的技术问题是:克服现有技术的不足,提供了一种1553B总线远置终端子地址查找表自动分配方法及系统,定义了子地址属性描述结构,子地址属性描述列表作为自动分配算法的输入,自动分配算法以“先大后小”原则为子地址查找表映射空闲内存区,满足循环缓存对齐限制条件,同时实现子地址控制字的自动设置,解决了传统的查找表映射内存人工分配方式低效、维护性差的问题。本专利技术目的通过以下技术方案予以实现:根据本专利技术的一个方面,提供了一种1553B总线远置终端子地址查找表自动分配方法,其特征在于,所述方法包括如下步骤:(1)设计1553B总线远置终端的子地址属性描述结构,描述结构包括子地址值、子地址传输类型、子地址中断类型、子地址消息长度以及子地址数据块复用标志;(2)根据步骤(1)中的子地址属性描述结构,为使用的每个子地址定义一条子地址属性描述信息即子地址条目,并将所有子地址条目汇总成子地址属性描述列表,此子地址属性描述列表即为查找表自动分配算法处理的输入;为查找表自动分配地址addrAlloc设定起始地址;(3)查找表自动分配开始;(4)将芯片共享内存区刷零;将共享内存区中所有查找表映射至共享内存区中的同一个默认空闲数据块;(5)以子地址消息长度为关键字,对步骤(2)中生成的子地址属性描述列表中的所有子地址条目进行从大到小排序;(6)开始遍历步骤(5)排序之后的子地址属性描述列表;(7)子地址属性描述列表遍历未结束,从子地址属性描述列表中获取最新一条子地址属性描述信息,转到(8);遍历结束,转到(15);(8)若当前最新一条子地址属性描述信息中所定义子地址值及子地址传输类型的查找表仍然映射步骤(4)中的默认空闲数据块,转到(9);否则,转到(7);(9)将当前最新一条子地址属性描述信息中所定义子地址值及子地址传输类型的查找表映射至地址addrAlloc;(10)若当前最新一条子地址属性描述信息中所定义子地址消息长度大于32个字,则子地址所分配内存为循环缓存形式,分配长度sizeAlloc为满足子地址消息长度的最小合理循环缓存大小;否则,当前子地址所分配内存为单消息形式,分配长度sizeAlloc赋值为0x20;(11)更新查找表自动分配地址addrAlloc’=addrAlloc+sizeAlloc;若addrAlloc’≤0x1000,转到(12);否则,转到(14);(12)根据当前最新一条子地址属性描述信息中所定义子地址中断类型,以及步骤(10)中得到的分配长度sizeAlloc来共同设置子地址控制字;若当前最新一条子地址属性描述信息中所定义子地址数据块复用标志为复用,转到(13);不复用,则当前最新一条子地址属性描述信息处理完成,转到(7);(13)从当前最新一条子地址属性描述信息向后遍历子地址属性描述列表,查找具有相同子地址值、不同传输类型且同样数据块复用的子地址,必然查到满足条件的一条子地址属性描述信息,将此子地址属性描述信息中所定义子地址值及子地址传输类型的查找表映射至步骤(9)中的addrAlloc,并根据此条子地址属性描述信息中所定义子地址中断类型,以及步骤(10)中得到的分配长度sizeAlloc来共同设置子地址控制字,当前最新一条子地址属性描述信息处理完成,转到(7);(14)查找表自动分配过程中,共享内存自动分配溢出报警;(15)查找表自动分配结束。上述1553B总线远置终端子地址查找表自动分配方法中,在步骤(1)中,子地址值取值范围为0~31。上述1553B总线远置终端子地址查找表自动分配方法中,在步骤(1)中,子地址传输类型包括收、发和广播传输类型。上述1553B总线远置终端子地址查找表自动分配方法中,在步骤(1)中,子地址中断类型包括消息传输结束中断和循环缓存回卷中断。上述1553B总线远置终端子地址查找表自动分配方法中,在步骤(1)中,子地址消息长度不大于1K字。上述1553B总线远置终端子地址查找表自动分配方法中,在步骤(2)中,若子地址数据块复用标志为复用,则子地址属性描述列表中的子地址数据块复用标志成对出现。上述1553B总线远置终端子地址查找表自动分配方法中,在步骤(2)中,查找表自动分配的起始地址设为0x400。上述1553B总线远置终端子地址查找表自动分配方法中,在步骤(4)中,芯片共享内存区为4K字共享内存区;共享内存区中所有查找表是指地址在0x0140~0x023F之间的内存区域。上述1553B总线远置终端子地址查找表自动分配方法中,在步骤(10)中,满足子地址消息长度的最小合理循环缓存大小为0x80、0x100、0x200或0x400。根据本专利技术的另一方面,还提供了一种1553B总线远置终端子地址查找表自动分配系统,其特征在于包括:第一模块,用于设计1553B总线远置终端的子地址属性描述结构,描述结构包括子地址值、子地址传输类型、子地址中断类型、子地址消息长度以及子地址数据块复用标志;第二模块,用于根据第一模块中的子地址属性描述结构,为使用的每个子地址定义一条子地址属性描述信息即子地址条目,并将所有子地址条目汇总成子地址属性描述列表,此子地址属性描述列表即为查找表自动分配算法处理的输入;为查找表自动分配地址addrAlloc设定起始地址;第三模块,用于查找表自动分配开始;第四模块,用于将芯片共享内存区刷零;将共享内存区中所有查找表映射至共享内存区中的同一个默认空闲数据块;第五模块,用于以子地址消息长度为关键字,对第二模块中生成的子地址属性描述列表中的所有子地址条目进行从大到小排序;第六模块,用于遍历排序之后的子地址属性描述列表;第七模块,子地址属性描述列表遍历未结束,用于从子地址属性描述列表中获取最新一条子地址属性描述信息;第八模块,用于若当前最新一条子地址属性描述信息中所定义子地址值及子地址传输类型的查找表仍然映射默认空闲数据块;第九模块,用于将当前最新一条子地址属性描述信息中所定义子地址值及子地址传输类型的查找表映射至地址addrAlloc;第十模块,用于若当前最新一条子地址属性描述信息中所定义子地址消息长度大于32个字,则子地址所分配内存为循环缓存形式,分配长度sizeAlloc为满足子地址消息长度的最小合理循环缓存大小;否则,当前子地址所分配内存为单消息形式,分配长度sizeAlloc赋值为0x20;第十一模块,用于更新查找表自动分配地址addrAlloc’=addrAlloc+sizeAlloc;第十二模块,用于根据当前最新一条子地址属性描述信息中所定义子地址中断类型,以及第十模块中的分配长度sizeAlloc来共同设置子地址控制字;第十三模块,本文档来自技高网...

【技术保护点】
1.一种1553B总线远置终端子地址查找表自动分配方法,其特征在于,所述方法包括如下步骤:(1)设计1553B总线远置终端的子地址属性描述结构,描述结构包括子地址值、子地址传输类型、子地址中断类型、子地址消息长度以及子地址数据块复用标志;(2)根据步骤(1)中的子地址属性描述结构,为使用的每个子地址定义一条子地址属性描述信息即子地址条目,并将所有子地址条目汇总成子地址属性描述列表,此子地址属性描述列表即为查找表自动分配算法处理的输入;为查找表自动分配地址addrAlloc设定起始地址;(3)查找表自动分配开始;(4)将芯片共享内存区刷零;将共享内存区中所有查找表映射至共享内存区中的同一个默认空闲数据块;(5)以子地址消息长度为关键字,对步骤(2)中生成的子地址属性描述列表中的所有子地址条目进行从大到小排序;(6)开始遍历步骤(5)排序之后的子地址属性描述列表;(7)子地址属性描述列表遍历未结束,从子地址属性描述列表中获取最新一条子地址属性描述信息,转到(8);遍历结束,转到(15);(8)若当前最新一条子地址属性描述信息中所定义子地址值及子地址传输类型的查找表仍然映射步骤(4)中的默认空闲数据块,转到(9);否则,转到(7);(9)将当前最新一条子地址属性描述信息中所定义子地址值及子地址传输类型的查找表映射至地址addrAlloc;(10)若当前最新一条子地址属性描述信息中所定义子地址消息长度大于32个字,则子地址所分配内存为循环缓存形式,分配长度sizeAlloc为满足子地址消息长度的最小合理循环缓存大小;否则,当前子地址所分配内存为单消息形式,分配长度sizeAlloc赋值为0x20;(11)更新查找表自动分配地址addrAlloc’=addrAlloc+sizeAlloc;若addrAlloc’≤0x1000,转到(12);否则,转到(14);(12)根据当前最新一条子地址属性描述信息中所定义子地址中断类型,以及步骤(10)中得到的分配长度sizeAlloc来共同设置子地址控制字;若当前最新一条子地址属性描述信息中所定义子地址数据块复用标志为复用,转到(13);不复用,则当前最新一条子地址属性描述信息处理完成,转到(7);(13)从当前最新一条子地址属性描述信息向后遍历子地址属性描述列表,查找具有相同子地址值、不同传输类型且同样数据块复用的子地址,必然查到满足条件的一条子地址属性描述信息,将此子地址属性描述信息中所定义子地址值及子地址传输类型的查找表映射至步骤(9)中的addrAlloc,并根据此条子地址属性描述信息中所定义子地址中断类型,以及步骤(10)中得到的分配长度sizeAlloc来共同设置子地址控制字,当前最新一条子地址属性描述信息处理完成,转到(7);(14)查找表自动分配过程中,共享内存自动分配溢出报警;(15)查找表自动分配结束。...

【技术特征摘要】
1.一种1553B总线远置终端子地址查找表自动分配方法,其特征在于,所述方法包括如下步骤:(1)设计1553B总线远置终端的子地址属性描述结构,描述结构包括子地址值、子地址传输类型、子地址中断类型、子地址消息长度以及子地址数据块复用标志;(2)根据步骤(1)中的子地址属性描述结构,为使用的每个子地址定义一条子地址属性描述信息即子地址条目,并将所有子地址条目汇总成子地址属性描述列表,此子地址属性描述列表即为查找表自动分配算法处理的输入;为查找表自动分配地址addrAlloc设定起始地址;(3)查找表自动分配开始;(4)将芯片共享内存区刷零;将共享内存区中所有查找表映射至共享内存区中的同一个默认空闲数据块;(5)以子地址消息长度为关键字,对步骤(2)中生成的子地址属性描述列表中的所有子地址条目进行从大到小排序;(6)开始遍历步骤(5)排序之后的子地址属性描述列表;(7)子地址属性描述列表遍历未结束,从子地址属性描述列表中获取最新一条子地址属性描述信息,转到(8);遍历结束,转到(15);(8)若当前最新一条子地址属性描述信息中所定义子地址值及子地址传输类型的查找表仍然映射步骤(4)中的默认空闲数据块,转到(9);否则,转到(7);(9)将当前最新一条子地址属性描述信息中所定义子地址值及子地址传输类型的查找表映射至地址addrAlloc;(10)若当前最新一条子地址属性描述信息中所定义子地址消息长度大于32个字,则子地址所分配内存为循环缓存形式,分配长度sizeAlloc为满足子地址消息长度的最小合理循环缓存大小;否则,当前子地址所分配内存为单消息形式,分配长度sizeAlloc赋值为0x20;(11)更新查找表自动分配地址addrAlloc’=addrAlloc+sizeAlloc;若addrAlloc’≤0x1000,转到(12);否则,转到(14);(12)根据当前最新一条子地址属性描述信息中所定义子地址中断类型,以及步骤(10)中得到的分配长度sizeAlloc来共同设置子地址控制字;若当前最新一条子地址属性描述信息中所定义子地址数据块复用标志为复用,转到(13);不复用,则当前最新一条子地址属性描述信息处理完成,转到(7);(13)从当前最新一条子地址属性描述信息向后遍历子地址属性描述列表,查找具有相同子地址值、不同传输类型且同样数据块复用的子地址,必然查到满足条件的一条子地址属性描述信息,将此子地址属性描述信息中所定义子地址值及子地址传输类型的查找表映射至步骤(9)中的addrAlloc,并根据此条子地址属性描述信息中所定义子地址中断类型,以及步骤(10)中得到的分配长度sizeAlloc来共同设置子地址控制字,当前最新一条子地址属性描述信息处理完成,转到(7);(14)查找表自动分配过程中,共享内存自动分配溢出报警;(15)查找表自动分配结束。2.根据权利要求1所述的1553B总线远置终端子地址查找表自动分配方法,其特征在于:在步骤(1)中,子地址值取值范围为0~31。3.根据权利要求1所述的1553B总线远置终端子地址查找表自动分配方法,其特征在于:在步骤(1)中,子地址传输类型包括收、发和广播传输类型。4.根据权利要求1所述的1553B总线远置终端子地址查找表自动分配方法,其特征在于:在步骤(1)中,子地址中断类型包括消息传输结束中断和循环缓存回卷中断。5.根据权利要求1所述的1553B总线远置终端子地址查找表自动分配方法,其特征...

【专利技术属性】
技术研发人员:李经松党纪红尚葳蕤傅秀涛李川李晶心于海心王晶杨俊春王政
申请(专利权)人:北京控制工程研究所
类型:发明
国别省市:北京,11

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

1