System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术主要涉及到报文发送,特指一种报文传输缓冲区的快速发送装置及方法。
技术介绍
1、在报文发送过程中,通常将进行配置报文信息、缓存报文信息、选择报文信息以及发送报文信息等操作。当发送大量报文时,需要根据一定的优先级对存放报文信息的缓冲区进行检索,从而获取到发送优先级最高的报文信息。
2、一般地,缓冲区使用的是随机存取存储器,工作时从缓冲区的起始地址开始顺序检索,直到获取待发送的报文信息,这也是报文发送的瓶颈。
3、另外,使用随机存取存储器可能存在辐射干扰,从而出现错误储存的问题。因此如何快速、准确地根据一定优先级检索到待发送的报文信息,就成为报文发送的关键。
技术实现思路
1、本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种结构简单、实现简便、可靠性好的报文传输缓冲区的快速发送装置及方法。
2、为解决上述技术问题,本专利技术采用以下技术方案:
3、一种报文传输缓冲区的快速发送装置,包括:
4、报文缓冲区,包括用若干个寄存器组构成的、与寄存器组数量一致的缓冲单元,用来按照编号存储报文信息;
5、缓冲单元有效产生模块,包括缓冲单元有效寄存器、缓冲单元发送寄存器以及与每个缓冲单元对应的发送优先级寄存器;所述缓冲单元有效产生模块用来计算出每个缓冲单元对应的发送有效信号和缓冲单元优先级信号的组合,并作为编号选择模块的输入;
6、编号选择模块,用来计算出优先发送的缓冲单元编
7、报文发送模块,用来完成报文的发送。
8、作为本专利技术装置的进一步改进:所述缓冲单元有效产生模块通过中央处理器配置32位的缓冲单元有效寄存器canme、32位的缓冲单元发送寄存器cantrs和32个5位的发送优先级寄存器tpl0-tpl31。
9、作为本专利技术装置的进一步改进:所述缓冲单元有效寄存器canme的某一位为1表示对应编号的缓冲单元有效,为0表示对应编号的缓冲单元无效;所述缓冲单元有效是指该缓冲单元中的信息是有效的,其可以给报文发送模块提供报文长度、标识符和报文数据信息。
10、作为本专利技术装置的进一步改进:所述缓冲单元发送寄存器cantrs的某一位为1表示对应编号的缓冲单元可用于发送,为0表示对应编号的缓冲单元不能用于发送;所述缓冲单元可用于发送是指该缓冲单元中的报文信息可用于发送。
11、作为本专利技术装置的进一步改进:所述发送优先级寄存器tpl0是缓冲单元0的发送优先级信息;tpln是缓冲单元n的发送优先级信息,其中n=0,1,2,……,31,数值越大则发送优先级越高;当两个缓冲单元的发送优先级相同时,编号大的缓冲单元优先发送。
12、作为本专利技术装置的进一步改进:所述编号选择模块是由31个发送优先级比较模块5级级联组成,根据msg_tpl0-msg_tpl31组合信号和32个缓冲单元各自的编号,计算出优先发送的缓冲单元编号msgobjnum[4:0]。
13、作为本专利技术装置的进一步改进:在级联第一级,将相邻编号的缓冲单元分为一组;缓冲单元0和缓冲单元1分为一组,msg_tpl0组合信号输入模块的a端口,0输入模块的a_num端口,msg_tpl1组合信号输入模块的b端口,1输入模块的b_num端口;以此类推,缓冲单元30和缓冲单元31分为一组,msg_tpl30组合信号输入模块的a端口,30输入模块的a_num端口,msg_tpl31组合信号输入模块的b端口,31输入模块的b_num端口;级联第一级,每个发送优先级比较模块经过计算,从c端口输出发送优先级高的msg_tpln组合信号,从c_num端口输出发送优先级高的缓冲单元编号n,均作为级联第二级的发送优先级比较模块的输入;
14、在级联第二级,将前一级级联得到的编号低的msg_tpln组合信号和缓冲单元编号n分别作为发送优先级比较模块的a端口和a_num端口的输入;将前一级级联得到的编号高的msg_tplm组合信号和缓冲单元编号m分别作为发送优先级比较模块的b端口和b_num端口的输入;级联第二级,每个发送优先级比较模块经过计算,从c端口输出发送优先级高的msg_tplp组合信号,从c_num端口输出发送优先级高的缓冲单元编号p,均作为级联第三级的发送优先级比较模块的输入;在级联第三级、级联第四级和级联第五级均同上;
15、最终从级联第五级的发送优先级比较模块c_num端口输出当前发送优先级最高的缓冲单元编号msgobjnum[4:0]。
16、作为本专利技术装置的进一步改进:还包括发送优先级比较模块,所述发送优先级比较模块共有4个输入端口:a[5:0]、b[5:0]、a_num[4:0]、b_num[4:0];a表示编号低的缓冲单元的msg_tpln组合信号;b表示编号高的缓冲单元的msg_tplm组合信号;a_num表示编号低的缓冲单元的编号n;b_num表示编号高的缓冲单元的编号m。
17、作为本专利技术装置的进一步改进:所述发送优先级比较模块共有2个输出端口:c[5:0]、c_num[4:0];其中,c表示发送优先级高的缓冲单元的msg_tplp组合信号;c_num表示发送优先级高的缓冲单元的编号p。
18、作为本专利技术装置的进一步改进:所述报文缓冲区共有32个缓冲单元,根据缓冲单元编号进行索引;每个缓冲单元由4个32位的寄存器组成,分别是报文长度寄存器dlc、标识符寄存器msgid、报文数据高4字节寄存器msgdh、报文数据低4字节寄存器msgdl。
19、本专利技术进一步提供一种基于上述报文传输缓冲区的快速发送装置的发送方法,其包括:
20、步骤s1:中央处理器初始化报文缓冲区的32个缓冲单元;配置每个缓冲单元的报文长度寄存器dlc、标识符寄存器msgid、报文数据高4字节寄存器msgdh、报文数据低4字节寄存器msgdl;
21、步骤s2:中央处理器为缓冲单元有效产生模块配置32位的缓冲单元有效寄存器canme、32位的缓冲单元发送寄存器cantrs和32个5位的发送优先级寄存器tpl0-tpl31;
22、步骤s3:在缓冲单元有效产生模块中,产生出每个缓冲单元的发送有效信号msgobjval[n],并和已配置的缓冲单元n的发送优先级信息tpln组合成6位的信号msg_tpln;最终输出msg_tpl0-msg_tpl31组合信号;
23、步骤s4:在编号选择模块中,根据输入的msg_tpl0-msg_tpl31组合信号和32个缓冲单元各自的编号,计算出优先发送的缓冲单元编号msgobjnum[4:0];
24、步骤s5:根据计算出的优先发送的缓冲单元编号msgobjnum[4:0],索引到对应编号的缓冲单元,并获取到待发送的报文信息:报文长度dlc、标识符msgid、报文数据高4字节msg本文档来自技高网...
【技术保护点】
1.一种报文传输缓冲区的快速发送装置,其特征在于,包括:
2.根据权利要求1所述的报文传输缓冲区的快速发送装置,其特征在于,所述缓冲单元有效产生模块具有通过中央处理器配置32位的缓冲单元有效寄存器CANME、32位的缓冲单元发送寄存器CANTRS和32个5位的发送优先级寄存器TPL0-TPL31。
3.根据权利要求2所述的报文传输缓冲区的快速发送装置,其特征在于,所述缓冲单元有效寄存器CANME的某一位为1表示对应编号的缓冲单元有效,为0表示对应编号的缓冲单元无效;所述缓冲单元有效是指该缓冲单元中的信息是有效的,其可以给报文发送模块提供报文长度、标识符和报文数据信息。
4.根据权利要求2所述的报文传输缓冲区的快速发送装置,其特征在于,所述缓冲单元发送寄存器CANTRS的某一位为1表示对应编号的缓冲单元可用于发送,为0表示对应编号的缓冲单元不能用于发送;所述缓冲单元可用于发送是指该缓冲单元中的报文信息可用于发送。
5.根据权利要求2所述的报文传输缓冲区的快速发送装置,其特征在于,所述发送优先级寄存器TPL0是缓冲单元0的发送优先级信息
6.根据权利要求1-5中任意一项所述的报文传输缓冲区的快速发送装置,其特征在于,所述编号选择模块是由31个发送优先级比较模块5级级联组成,根据MSG_TPL0-MSG_TPL31组合信号和32个缓冲单元各自的编号,计算出优先发送的缓冲单元编号MsgObjNum[4:0]。
7.根据权利要求6所述的报文传输缓冲区的快速发送装置,其特征在于,在级联第一级,将相邻编号的缓冲单元分为一组;缓冲单元0和缓冲单元1分为一组,MSG_TPL0组合信号输入模块的A端口,0输入模块的A_Num端口,MSG_TPL1组合信号输入模块的B端口,1输入模块的B_Num端口;以此类推,缓冲单元30和缓冲单元31分为一组,MSG_TPL30组合信号输入模块的A端口,30输入模块的A_Num端口,MSG_TPL31组合信号输入模块的B端口,31输入模块的B_Num端口;级联第一级,每个发送优先级比较模块经过计算,从C端口输出发送优先级高的MSG_TPLN组合信号,从C_Num端口输出发送优先级高的缓冲单元编号N,均作为级联第二级的发送优先级比较模块的输入;
8.根据权利要求1-5中任意一项所述的报文传输缓冲区的快速发送装置,其特征在于,还包括发送优先级比较模块,所述发送优先级比较模块共有4个输入端口:A[5:0]、B[5:0]、A_Num[4:0]、B_Num[4:0];A表示编号低的缓冲单元的MSG_TPLN组合信号;B表示编号高的缓冲单元的MSG_TPLM组合信号;A_Num表示编号低的缓冲单元的编号N;B_Num表示编号高的缓冲单元的编号M。
9.根据权利要求8所述的报文传输缓冲区的快速发送装置,其特征在于,所述发送优先级比较模块共有2个输出端口:C[5:0]、C_Num[4:0];其中,C表示发送优先级高的缓冲单元的MSG_TPLP组合信号;C_Num表示发送优先级高的缓冲单元的编号P。
10.根据权利要求1-5中任意一项所述的报文传输缓冲区的快速发送装置,其特征在于,所述报文缓冲区共有32个缓冲单元,根据缓冲单元编号进行索引;每个缓冲单元由4个32位的寄存器组成,分别是报文长度寄存器DLC、标识符寄存器MSGID、报文数据高4字节寄存器MSGDH、报文数据低4字节寄存器MSGDL。
11.基于上述权利要求1-10中任意一项所述的报文传输缓冲区的快速发送装置的发送方法,其特征在于,包括:
...【技术特征摘要】
1.一种报文传输缓冲区的快速发送装置,其特征在于,包括:
2.根据权利要求1所述的报文传输缓冲区的快速发送装置,其特征在于,所述缓冲单元有效产生模块具有通过中央处理器配置32位的缓冲单元有效寄存器canme、32位的缓冲单元发送寄存器cantrs和32个5位的发送优先级寄存器tpl0-tpl31。
3.根据权利要求2所述的报文传输缓冲区的快速发送装置,其特征在于,所述缓冲单元有效寄存器canme的某一位为1表示对应编号的缓冲单元有效,为0表示对应编号的缓冲单元无效;所述缓冲单元有效是指该缓冲单元中的信息是有效的,其可以给报文发送模块提供报文长度、标识符和报文数据信息。
4.根据权利要求2所述的报文传输缓冲区的快速发送装置,其特征在于,所述缓冲单元发送寄存器cantrs的某一位为1表示对应编号的缓冲单元可用于发送,为0表示对应编号的缓冲单元不能用于发送;所述缓冲单元可用于发送是指该缓冲单元中的报文信息可用于发送。
5.根据权利要求2所述的报文传输缓冲区的快速发送装置,其特征在于,所述发送优先级寄存器tpl0是缓冲单元0的发送优先级信息;tpln是缓冲单元n的发送优先级信息,其中n=0,1,2,……,31,数值越大则发送优先级越高;当两个缓冲单元的发送优先级相同时,编号大的缓冲单元优先发送。
6.根据权利要求1-5中任意一项所述的报文传输缓冲区的快速发送装置,其特征在于,所述编号选择模块是由31个发送优先级比较模块5级级联组成,根据msg_tpl0-msg_tpl31组合信号和32个缓冲单元各自的编号,计算出优先发送的缓冲单元编号msgobjnum[4:0]。
7.根据权利要求6所述的报文传输缓冲区的快速发送装置,其特征在于,在级联第一级,将相邻编号的缓冲单元分为一组;缓冲单元0和缓冲单元1分为一组,msg_tpl0组合...
【专利技术属性】
技术研发人员:龚晓,万江华,汪东,
申请(专利权)人:湖南毂梁微电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。