数据处理方法、装置及系统的制作方法_2

文档序号:9865149阅读:来源:国知局
帧,不需要同时占用多个子地址,从而节省了子地址的资源。
【附图说明】
[0059]图1为本发明实施例提供的一种数据处理方法的流程示意图;
[0060]图2为本发明实施例提供的一种应用于发送端的数据处理方法的流程示意图;
[0061 ]图3为本发明实施例提供的一种应用于接收端的数据处理方法的流程示意图;
[0062]图4为本发明实施例提供的一种应用于中央处理器的数据处理装置的结构示意图;
[0063]图5为本发明实施例提供的1553B总线通信下基于ARM处理器的高速处理控制算法的系统框图;
[0064]图6为本发明实施例提供的一种应用于发送端的数据处理装置的结构示意图;
[0065]图7为本发明实施例提供的一种应用于接收端的数据处理装置的结构示意图。
【具体实施方式】
[0066]为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:
[0067]CPU:Central Processing Unit,中央处理器;
[0068]Eom:END OF MESSAGE;
[0069]BC:总线控制器,BUS CONTROLLER;
[0070]RT:远程终端remote terminal。
[0071]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0072]请参阅图1,为本发明实施例提供的一种数据处理方法的流程示意图,该方法可以应用于中央处理器,该数据处理方法包括:
[0073]步骤SlOl:响应与外部存储器收到发送端的第一数据帧的消息对应的第一中断。
[0074]外部存储器可以为1553B芯片,1553B芯片在接收到发送端发送给中央处理器的数据时,1553B芯片会给中央处理器发送消息,中央处理器就会通过中断来响应该消息。
[0075]由于中央处理器在接收同一帧数据时,可能需要接收多个数据帧,所以将该帧数据分为第一数据帧、第二数据,直至第N数据帧,N为大于等于2的正整数。相应的,外部存储器每接收到来自发送端的数据后,都会向中央处理器发送消息,中央处理器会通过中断响应该消息,所以相应的第一数据帧对应第一中断,第二数据对应第二中断,第N数据帧对应第N中断。
[0076]步骤S102:通过所述发送端与所述中央处理器商定的第一子地址,接收所述第一数据帧。
[0077]发送端与中央处理器在发送数据之前,就已经商定好发送该数据所需要的子地址,以及中央处理器接收该数据所需要的子地址。
[0078]为了凸显出中央处理器都是通过同一子地址接收来自发送端的数据,将商定的子地址称为第一子地址。
[0079]步骤S103:依据所述第一数据帧,确定出待接收的数据的总长度以及接收完毕所述数据所需要的次数N,N为大于等于2的正整数。
[0080]第一数据帧中的表头可以包括数据的总长度,以及接收完毕所述数据所需要的次数N。
[0081 ]以1553B芯片为例,1553B芯片的每一子地址可以存储32个字长的数据,当数据的总长度为150个字长时,次数N为5,次数N为数据的总长度除以子地址可以存储的数据的最大字长的商取整,即INT[150/32]=5,所以N为5。
[0082]步骤S104:依据所述数据的总长度,确定出存储所述数据需要的缓存区。
[0083]步骤S105:将所述第一数据帧存储至所述缓存区。
[0084]假设N为5,这样中央处理器就可以快速响应中断,缓存区将5个数据帧放入同一段缓存区中。
[0085]假设中央处理器为ARM处理器,外部存储器为1553B芯片,N为5,ARM处理器通过外部中断来响应1553B芯片发出的中断信号,通过EMC接口来读取1553B芯片中存储区中发送端的数据。ARM连续5次响应中断,并将数据顺序放入ARM的同一段存储区中,待数据全部读取完毕后再整体取出处理。
[0086]ARM处理器,可以为NXP LPC3240型处理器。
[0087]步骤S106:通过所述第一子地址接收所述第M数据帧。
[0088]M为大于等于2小于等于N的正整数。
[0089]步骤107:将所述第M数据帧存储至所述缓存区。
[0090]步骤S108:重复步骤S106至步骤S107,直至M等于N。
[0091]M取值从2—直至M。
[0092]本发明实施例所提供的数据处理方法,中央处理器在接收数据时,可以通过同一个子地址接收同一个数据的所有数据帧,不需要同时占用多个子地址,从而节省了子地址的资源。
[0093]在上述实施例中,为了确保最后一帧数据读取成功,在步骤S109之后还可以包括:当过通堆栈指针和EOM判断出第N数据帧未读取完毕时,重新从所述外部存储器中读取。
[0094]在发送端连续发送消息时,中央处理器进入中断读取指令很容易造成指令丢失,例如在判定完毕堆栈指令时,此时仍有消息发送,中断无法响应该消息,会造成指令丢失,所以本发明实施例还可以包括:在接收到下一个中断时,判定上次中断对应的数据是否未处理完成,如果是,则继续处理上次中断对应的数据,从而避免丢失指令。
[0095]在上述任一实施例中,还包括:将所述第N数据帧的读取状态信息发送往上位机,所述读取状态信息包括读取完毕信息或未读取完毕信息。
[0096]请参阅图2,为本发明实施例提供的一种应用于发送端的数据处理方法的流程示意图,该数据处理方法可以包括:
[0097]步骤S201:判断待发送的数据的长度是否大于子地址能够存储数据的最大字节长度。
[0098]步骤S202:当所述数据的长度大于所述子地址能够存储数据的最大字节长度时,依据所述数据的长度以及所述子地址能够存储数据的最大字节长度,计算出发送所述数据所需要的次数N,N为大于等于2的正整数。
[0099]以1553B芯片为例,1553B芯片的每一子地址可以存储32个字长的数据,当数据的总长度为150个字长时,次数N为5,次数N为数据的总长度除以子地址可以存储的最大字长的商取整,即INT[150/32]=5,所以N为5。
[0100]步骤S203:通过所述发送端与中央处理器商定的第一子地址,发送所述数据的第一数据帧,并将所述次数N和所述数据的总长度信息写入所述第一数据帧中。
[0101]步骤S204:当发送完毕所述第M-1数据帧时,通过所述第一子地址,发送所述数据的第M数据帧,M为大于等于2小于等于N的正整数。
[0102]步骤S205:重复步骤S204直至M等于N。
[0103]M取值从2—直至N。
[0104]本发明实施例提供的应用于发送端的数据处理方法中,发送端在发送数据时,可以通过同一子地址将同一数据的所有数据帧发送给外部存储器。不需要同时占用多个子地址,从而节省了子地址的资源。
[0105]请参阅图3,为本发明实施例提供的一种应用于接收端的数据处理方法的流程示意图,该数据处理方法描述的是中央处理器将数据发送给接收端的方法,该数据处理方法包括:
[0106]步骤S301:确定出所述外部存储器中存储有中央处理器发送给所述接收端的第一数据帧。
[0107]步骤S302:通过所述接收端与所述中央处理器商定的第一子地址,接收所述第一数据帧。
[0108]步骤S303:依据所述第一数据帧,确定出待接收的数据的总长度以及接收完毕所述数据所需要的次数N,N为大于等于2的正整数。
[0109]步骤S304:从所述外部存储器中依次接收所述数据的第M数据帧,M为大于等于2小于等于N的正整数,直至M等于N。
[0110]M取值从2—直至N。
[0111]本发明实施例提供的应用于接收端的数据处理方法中,接收端在接收数据时,可以依据中央处理器与其商定的同一子地址接收同一数据的多个数据帧。不需要同时占用多个子地址,从而节省了子地址的资源。
[0112]上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了多种装置,下面给出具体的实施例
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1