CN103605622B - 一种传输数据的方法和设备 - Google Patents

一种传输数据的方法和设备 Download PDF

Info

Publication number
CN103605622B
CN103605622B CN201310585372.0A CN201310585372A CN103605622B CN 103605622 B CN103605622 B CN 103605622B CN 201310585372 A CN201310585372 A CN 201310585372A CN 103605622 B CN103605622 B CN 103605622B
Authority
CN
China
Prior art keywords
task
cpu
beacon
hardware circuit
data
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.)
Active
Application number
CN201310585372.0A
Other languages
English (en)
Other versions
CN103605622A (zh
Inventor
邓中亮
张宇
李序
胡月舟
袁壮
翟堃
杨乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING SHOUKE SOFTWARE AND SYSTEM INTEGRATION Co Ltd
Beijing University of Posts and Telecommunications
Original Assignee
BEIJING SHOUKE SOFTWARE AND SYSTEM INTEGRATION Co Ltd
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING SHOUKE SOFTWARE AND SYSTEM INTEGRATION Co Ltd, Beijing University of Posts and Telecommunications filed Critical BEIJING SHOUKE SOFTWARE AND SYSTEM INTEGRATION Co Ltd
Priority to CN201310585372.0A priority Critical patent/CN103605622B/zh
Publication of CN103605622A publication Critical patent/CN103605622A/zh
Application granted granted Critical
Publication of CN103605622B publication Critical patent/CN103605622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种传输数据的方法和设备,属于定位技术领域。该方法包括:接收硬件电路产生的外部中断请求,根据已存储的任务列表中包括的任务标识的顺序,获取任务标识;如果获取的任务标识对应的任务为中央处理器CPU开始任务,则根据该任务标识和该任务的标志位生成该任务的信标,并将生成的信标和该任务对应的数据发送到硬件电路,使硬件电路根据该信标获取对应的存储地址,并根据获取的存储地址将该任务对应的数据进行存储;如果获取的任务标识对应的任务为CPU处理任务,则根据该任务标识从硬件电路的缓存中读取对应的信标,根据该任务标识和读取的信标,从硬件电路的缓存中读取对应的数据。本发明减小了传输数据的时间,提高了传输数据的速度。

Description

一种传输数据的方法和设备
技术领域
本发明涉及定位技术领域,特别涉及一种传输数据的方法和设备。
背景技术
在定位系统中,待定位的终端为了实现定位功能,必须对接收的定位信号进行捕获和跟踪,从而得到定位数据。其中,对接收的定位信号进行捕获和跟踪是在待定位终端的基带系统中完成的,而基带系统一般包括硬件电路和CPU(CentralProcessingUnit,中央处理器),所以,在硬件电路与CPU之间传输数据的方法受到了广泛的关注。
目前,提供了一种传输数据的方法,具体为:硬件电路与CPU之间采用串行总线连接,当硬件电路与CPU之间需要传输数据时,将需要传输的数据和其对应的地址一位一位地进行传输。由于数据和地址都是一位一位地进行传输,所以传输数据的时间较长,进而使传输数据的速度较慢。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种传输数据的方法和设备。所述技术方案如下:
一方面,提供了一种传输数据的方法,所述方法包括:
接收硬件电路产生的外部中断请求,根据已存储的任务列表中包括的任务标识的顺序,获取任务标识;
如果所述获取的任务标识对应的任务为中央处理器CPU开始任务,则根据所述任务标识和所述任务的标志位生成所述任务的信标,并将生成的信标和所述任务对应的数据发送到所述硬件电路,使所述硬件电路根据所述信标获取对应的存储地址,并根据获取的存储地址将所述任务对应的数据进行存储;
如果所述获取的任务标识对应的任务为CPU处理任务,则根据所述任务标识从所述硬件电路的缓存中读取对应的信标,根据所述任务标识和读取的信标,从所述硬件电路的缓存中读取对应的数据。
其中,所述根据所述任务标识和所述任务的标志位生成所述任务的信标,并将生成的信标和所述任务对应的数据发送到所述硬件电路,使所述硬件电路根据所述信标获取对应的存储地址,并根据获取的存储地址将所述任务对应的数据进行存储,包括:
根据所述任务标识,从任务标识与状态变量的对应关系中获取对应的状态变量;
如果获取的状态变量有效,则获取所述任务对应的数据;
根据所述任务标识和所述任务的标志位生成所述任务的信标,并将生成的信标和所述数据发送到所述硬件电路,使所述硬件电路根据所述信标获取对应的存储地址,并根据获取的存储地址将所述数据进行存储。
其中,所述根据所述任务标识从所述硬件电路的缓存中读取对应的信标,根据所述任务标识和读取的信标,从所述硬件电路的缓存中读取对应的数据,包括:
确定所述任务标识在所述任务列表包括的CPU处理任务中的顺序;
根据所述任务标识在所述任务列表包括的CPU处理任务中的顺序,从所述硬件电路的缓存中读取对应的信标;
如果所述信标有效,则根据所述任务标识和读取的信标,从所述硬件电路的缓存中读取对应的数据。
进一步地,所述接收硬件电路产生的外部中断请求,根据已存储的任务列表中包括的任务标识的顺序,获取任务标识之前,还包括:
根据硬件电路与CPU之间需要传输的数据,将所述硬件电路与所述CPU之间传输数据的任务进行分类,得到多个CPU开始任务和多个CPU处理任务;
根据所述多个CPU开始任务的优先级和所述多个CPU处理任务的优先级,对所述多个CPU开始任务和所述多个CPU处理任务进行排序,得到所述多个CPU开始任务和所述多个CPU处理任务的顺序;
根据所述多个CPU开始任务的顺序和所述多个CPU处理任务的顺序,将所述多个CPU开始任务的任务标识和所述多个CPU处理任务的任务标识存储在任务列表中。
另一方面,提供了一种传输数据的设备,所述设备包括:
获取模块,用于接收硬件电路产生的外部中断请求,根据已存储的任务列表中包括的任务标识的顺序,获取任务标识;
发送模块,用于如果所述获取的任务标识对应的任务为中央处理器CPU开始任务,则根据所述任务标识和所述任务的标志位生成所述任务的信标,并将生成的信标和所述任务对应的数据发送到所述硬件电路,使所述硬件电路根据所述信标获取对应的存储地址,并根据获取的存储地址将所述任务对应的数据进行存储;
读取模块,用于如果所述获取的任务标识对应的任务为CPU处理任务,则根据所述任务标识从所述硬件电路的缓存中读取对应的信标,根据所述任务标识和读取的信标,从所述硬件电路的缓存中读取对应的数据。
其中,所述发送模块包括:
第一获取单元,用于根据所述任务标识,从任务标识与状态变量的对应关系中获取对应的状态变量;
第二获取单元,用于如果获取的状态变量有效,则获取所述任务对应的数据;
发送单元,用于根据所述任务标识和所述任务的标志位生成所述任务的信标,并将生成的信标和所述数据发送到所述硬件电路,使所述硬件电路根据所述信标获取对应的存储地址,并根据获取的存储地址将所述数据进行存储。
其中,所述读取模块包括:
确定单元,用于确定所述任务标识在所述任务列表包括的CPU处理任务中的顺序;
第一读取单元,用于根据所述任务标识在所述任务列表包括的CPU处理任务中的顺序,从所述硬件电路的缓存中读取对应的信标;
第二读取单元,用于如果所述信标有效,则根据所述任务标识和读取的信标,从所述硬件电路的缓存中读取对应的数据。
进一步地,所述设备还包括:
分类模块,用于根据硬件电路与CPU之间需要传输的数据,将所述硬件电路与所述CPU之间传输数据的任务进行分类,得到多个CPU开始任务和多个CPU处理任务;
排序模块,用于根据所述多个CPU开始任务的优先级和所述多个CPU处理任务的优先级,对所述多个CPU开始任务和所述多个CPU处理任务进行排序,得到所述多个CPU开始任务和所述多个CPU处理任务的顺序;
存储模块,用于根据所述多个CPU开始任务的顺序和所述多个CPU处理任务的顺序,将所述多个CPU开始任务的任务标识和所述多个CPU处理任务的任务标识存储在任务列表中。
在本发明实施例中,当硬件电路产生外部中断请求时,获取任务标志位有效的任务,根据该任务的标识和任务标志位生成该任务的信标,将该任务对应的任务数据和信标在硬件电路与CPU之间传输,只是简单的对任务数据添加一个信标,不需要再将任务数据对应的存储地址全部进行传输,减小了传输数据的时间,提高了传输数据的速度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种传输数据的方法流程图;
图2是本发明实施例二提供的基带系统的架构示意图;
图3是本发明实施例二提供的一种传输数据的方法流程图;
图4是本发明实施例三提供的一种传输数据的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种传输数据的方法,参见图1,该方法包括:
步骤101:接收硬件电路产生的外部中断请求,根据已存储的任务列表中包括的任务标识的顺序,获取任务标识;
步骤102:如果获取的任务标识对应的任务为中央处理器CPU开始任务,则根据该任务标识和该任务的标志位生成该任务的信标,并将生成的信标和该任务对应的数据发送到硬件电路,使硬件电路根据该信标获取对应的存储地址,并根据获取的存储地址将该任务对应的数据进行存储;
步骤103:如果获取的任务标识对应的任务为CPU处理任务,则根据该任务标识从硬件电路的缓存中读取对应的信标,根据该任务标识和读取的信标,从硬件电路的缓存中读取对应的数据。
其中,根据该任务标识和该任务的标志位生成该任务的信标,并将生成的信标和该任务对应的数据发送到硬件电路,使硬件电路根据该信标获取对应的存储地址,并根据获取的存储地址将该任务对应的数据进行存储,包括:
根据该任务标识,从任务标识与状态变量的对应关系中获取对应的状态变量;
如果获取的状态变量有效,则获取该任务对应的数据;
根据该任务标识和该任务的标志位生成该任务的信标,并将生成的信标和该数据发送到硬件电路,使硬件电路根据该信标获取对应的存储地址,并根据获取的存储地址将该数据进行存储。
其中,根据该任务标识从该硬件电路的缓存中读取对应的信标,根据该任务标识和读取的信标,从硬件电路的缓存中读取对应的数据,包括:
确定该任务标识在任务列表包括的CPU处理任务中的顺序;
根据该任务标识在任务列表包括的CPU处理任务中的顺序,从硬件电路的缓存中读取对应的信标;
如果该信标有效,则根据该任务标识和读取的信标,从硬件电路的缓存中读取对应的数据。
进一步地,接收硬件电路产生的外部中断请求,根据已存储的任务列表中包括的任务标识的顺序,获取任务标识之前,还包括:
根据硬件电路与CPU之间需要传输的数据,将硬件电路与CPU之间传输数据的任务进行分类,得到多个CPU开始任务和多个CPU处理任务;
根据该多个CPU开始任务的优先级和该多个CPU处理任务的优先级,对该多个CPU开始任务和该多个CPU处理任务进行排序,得到该多个CPU开始任务和该多个CPU处理任务的顺序;
根据该多个CPU开始任务的顺序和该多个CPU处理任务的顺序,将该多个CPU开始任务的任务标识和该多个CPU处理任务的任务标识存储在任务列表中。
在本发明实施例中,当硬件电路产生外部中断请求时,获取任务标志位有效的任务,根据该任务的标识和任务标志位生成该任务的信标,将该任务对应的任务数据和信标在硬件电路与CPU之间传输,只是简单的对任务数据添加一个信标,不需要再将任务数据对应的存储地址全部进行传输,减小了传输数据的时间,提高了传输数据的速度。
实施例二
本发明实施例提供了一种传输数据的方法。其中,参见图2,在数据传输过程中,CPU是主器件,硬件电路是从器件。当传输通信数据时,硬件电路以寄存器的形式存在,寄存器分为读寄存器和写寄存器两种,读寄存器表示被主器件读出数据的寄存器,读寄存器中包括任务标志位和任务数据且该任务标志位为任务结束标志位;写寄存器表示主器件将写入数据的寄存器,写寄存器中包括任务标志位和任务数据且该任务标志位为任务开始标志位;而对于CPU,也存在与硬件电路中数目相等的变量,且每个变量与硬件电路的寄存器一一对应。根据读写关系可知,读寄存器对应写变量,写寄存器对应读变量。调制解调模块可以根据信标获取任务数据对应的存储地址。参见图3,该方法包括:
步骤201:根据硬件电路与CPU之间需要传输的数据,将硬件电路与CPU之间传输数据的任务进行分类,得到多个CPU开始任务和多个CPU处理任务;
其中,CPU开始任务是否执行由CPU决定,且CPU开始任务是将任务数据写入到硬件电路的寄存器中;CPU处理任务是否执行由硬件电路决定,且CPU处理任务是CPU读取硬件电路的寄存器中的任务数据,并对读取的任务数据进行处理。
步骤202:根据每个任务的优先级,对分类得到的每个任务进行排序,得到每个任务的顺序;
优选地,可以根据每个任务的优先级从高到低,对分类得到的每个任务进行排序,得到每个任务的顺序。
其中,CPU开始任务和CPU处理任务都存在一个优先级,CPU可以根据每个任务的优先级处理每个任务,所以可以根据CPU开始任务和CPU处理任务的优先级对分类得到的每个任务进行排序。
例如,将硬件电路与CPU之间传输数据的任务进行分类得到的多个CPU开始任务的任务标识为S0,S1和S2,多个CPU处理任务的任务标识为D0,D1和D2,S0的优先级大于S1的优先级,S1的优先级大于D0的优先级,D0的优先级大于D1的优先级,D1的优先级大于S2的优先级,S2的优先级大于D2的优先级,所以根据每个任务的优先级从高到低对每个任务进行排序,得到每个任务的顺序为S0,S1,D0,D1,S2和D2。
步骤203:根据每个任务的顺序,将每个任务的任务标识存储在任务列表中;
例如,根据每个任务的顺序,将每个任务的任务标识存储在如下表1所示的任务列表中。
表1
任务列表
S0
S1
D0
D1
S2
D2
步骤204:当硬件电路产生外部中断请求时,硬件电路根据任务列表中任务标识的顺序,获取CPU处理任务的任务标识;
其中,硬件电路每隔一个时间间隔会产生外部中断至CPU,并且在一个时间间隔之内硬件电路与CPU之间需要传输的数据必须传输完成,并且在该时间间隔之内也对需要处理的数据进行处理,等下一个外部中断到来时,再次对硬件电路与CPU之间需要传输的数据进行处理。
步骤205:硬件电路根据获取的任务标识获取对应的任务标志位,如果获取的任务标志位有效,则根据该任务标识和该任务的标志位生成该任务的信标,并将生成的信标和该任务对应的数据发送到硬件电路的缓存中;
具体地,硬件电路根据获取的任务标识,从已存储的任务标识与标志位地址的对应关系中获取对应的标志位地址,从获取的标志位地址中获取对应的任务标志位,如果获取的任务标志位有效,则根据该任务标识和该任务的标志位生成该任务的信标,并将生成的信标和该任务对应的数据发送到硬件电路的缓存中。
其中,判断获取的任务标志位是否有效的具体操作为:如果获取的任务标志位为1,则确定获取的任务标志位有效,如果获取的任务标志位为0,则确定获取的任务标志位无效。
其中,根据该任务标识和该任务的标志位生成该任务的信标的操作具体为:将该任务的标志位放置在该任务的信标的最后一位数据位上,根据该任务标识生成表示该任务标识的数据并放置在该任务的信标的其余的数据位上,从而构成该任务的信标。
优选地,可以根据该任务标识在任务列表中的顺序,生成表示该任务标识的数据。例如,该任务标识为S2,该任务标识S2在任务列表中的顺序为5,则将该任务标识S2的顺序5转换为二进制0101,任务标识S2的任务标志位为1,即任务标识S2对应的任务无效。假如寄存器中数据的长度为8位,则根据该任务标识S2的顺序5转换为二进制0101和任务标识S2的任务标志位1构成该任务的信标为00001011。
其中,如果获取的任务标志位无效,则根据该任务标识和该任务的标志位生成该任务的信标,并将该任务的信标发送到硬件电路的缓存中。
其中,当硬件电路根据上述步骤204和步骤205的过程遍历一遍任务列表后,硬件电路的缓存中存储的任务数据和信标与CPU处理任务在任务列表中的顺序一一对应。
步骤206:CPU接收硬件电路产生的外部中断请求,根据已存储的任务列表中包括的任务标识的顺序,获取任务标识;
步骤207:如果获取的任务标识对应的任务为CPU开始任务,则根据任务标识,从任务标识与状态变量的对应关系中获取对应的状态变量;
步骤208:如果获取的状态变量有效,则根据该任务标识和该任务的标志位生成该任务的信标,并将生成的信标和该任务对应的数据发送到硬件电路;
具体地,如果获取的状态变量有效,则将该任务的标志位放置在该任务的信标的最后一位数据位上,根据该任务标识生成表示该任务标识的数据并放置在该任务的信标的其余的数据位上,从而构成该任务的信标,并将该任务对应的数据和生成的信标发送到硬件电路。
优选地,可以根据该任务标识在任务列表中的顺序,生成表示该任务标识的数据。
步骤209:硬件电路接收生成的信标和该任务对应的数据,根据信标获取对应的存储地址,并根据获取的存储地址将该任务对应的数据进行存储;
具体地,硬件电路接收生成的信标和该任务对应的数据,从该信标中获取对应的任务标识,根据获取的任务标识,从调制解调模块中已存储的任务标识与存储地址的对应关系中获取对应的存储地址,根据获取的存储地址将该任务对应的数据进行存储。
其中,从该信标中获取对应的任务标识的具体操作为:从该信标中选择除最后一位数据之外的其他数据,将选择的数据确定为该任务的任务标识。
优选地,可以根据获取的任务标识,从已存储的任务标识与数据长度的对应关系中获取对应的数据长度,根据获取的数据长度从接收的数据中获取该任务对应的数据,并根据获取的存储地址将该任务对应的数据进行存储。
步骤210:如果获取的任务标识对应的任务为CPU处理任务,则确定该任务标识在任务列表包括的CPU处理任务中的顺序;
具体地,如果获取的任务标识对应的任务为CPU处理任务,则从任务列表中获取CPU处理任务,确定该任务标识在任务列表包括的CPU处理任务中的顺序。
步骤211:根据该任务标识在任务列表包括的CPU处理任务中的顺序,从硬件电路的缓存中读取对应的信标;
步骤212:如果该信标有效,则根据任务标识和读取的信标,从硬件电路的缓存中读取对应的数据;
具体地,获取该信标的最后一位数据,如果获取的数据为1,则确定该信标有效,根据该任务标识,确定该任务标识在任务列表包括的CPU处理任务中的顺序,根据该任务标识在任务列表包括的CPU处理任务中的顺序和读取的信标,从硬件电路的缓存中读取对应的数据。
优选地,根据该任务标识,从已存储的任务标识与数据长度的对应关系中获取对应的数据长度,根据获取的数据长度,从硬件电路的缓存中读取对应的数据。
步骤213:CPU根据读取的信标获取对应的变量地址,并将读取的数据发送给对应的变量中进行处理。
具体地,CPU从读取的信标中选择除最后一位数据之外的其他数据,将选择的数据确定为该任务标识在任务列表中的顺序,根据该顺序从任务列表中获取任务标识,根据获取的任务标识,从已存储的任务标识与变量的对应关系中获取对应的变量地址,并将读取的数据发送到获取的变量中进行处理。
可选地,CPU从读取的信标中选择除最后一位数据之外的其他数据,将选择的数据确定为该任务的任务标识,根据该任务的任务标识,从已存储的任务标识与变量的对应关系中获取对应的变量地址,并将读取的数据发送到获取的变量中进行处理。
在本发明实施例中,当硬件电路产生外部中断请求时,获取任务标志位有效的任务,根据该任务的标识和任务标志位生成该任务的信标,将该任务对应的任务数据和信标在硬件电路与CPU之间传输,只是简单的对任务数据添加一个信标,不需要再将任务数据对应的存储地址全部进行传输,减小了传输数据的时间,提高了传输数据的速度。
实施例三
参见图4,本发明实施例提供了一种传输数据的设备,该设备包括:
获取模块301,用于接收硬件电路产生的外部中断请求,根据已存储的任务列表中包括的任务标识的顺序,获取任务标识;
发送模块302,用于如果该获取的任务标识对应的任务为中央处理器CPU开始任务,则根据该任务标识和该任务的标志位生成该任务的信标,并将生成的信标和该任务对应的数据发送到该硬件电路,使该硬件电路根据该信标获取对应的存储地址,并根据获取的存储地址将该任务对应的数据进行存储;
读取模块303,用于如果该获取的任务标识对应的任务为CPU处理任务,则根据该任务标识从硬件电路的缓存中读取对应的信标,根据该任务标识和读取的信标,从硬件电路的缓存中读取对应的数据。
其中,发送模块302包括:
第一获取单元,用于根据该任务标识,从任务标识与状态变量的对应关系中获取对应的状态变量;
第二获取单元,用于如果获取的状态变量有效,则获取该任务对应的数据;
发送单元,用于根据该任务标识和该任务的标志位生成该任务的信标,并将生成的信标和该数据发送到硬件电路,使硬件电路根据该信标获取对应的存储地址,并根据获取的存储地址将该数据进行存储。
其中,读取模块303包括:
确定单元,用于确定该任务标识在任务列表包括的CPU处理任务中的顺序;
第一读取单元,用于根据该任务标识在任务列表包括的CPU处理任务中的顺序,从硬件电路的缓存中读取对应的信标;
第二读取单元,用于如果该信标有效,则根据该任务标识和读取的信标,从硬件电路的缓存中读取对应的数据。
进一步地,该设备还包括:
分类模块,用于根据硬件电路与CPU之间需要传输的数据,将硬件电路与CPU之间传输数据的任务进行分类,得到多个CPU开始任务和多个CPU处理任务;
排序模块,用于根据该多个CPU开始任务的优先级和该多个CPU处理任务的优先级,对该多个CPU开始任务和该多个CPU处理任务进行排序,得到该多个CPU开始任务和该多个CPU处理任务的顺序;
存储模块,用于根据该多个CPU开始任务的顺序和该多个CPU处理任务的顺序,将该多个CPU开始任务的任务标识和该多个CPU处理任务的任务标识存储在任务列表中。
在本发明实施例中,当硬件电路产生外部中断请求时,获取任务标志位有效的任务,根据该任务的标识和任务标志位生成该任务的信标,将该任务对应的任务数据和信标在硬件电路与CPU之间传输,只是简单的对任务数据添加一个信标,不需要再将任务数据对应的存储地址全部进行传输,减小了传输数据的时间,提高了传输数据的速度。
需要说明的是:上述实施例提供的传输数据的设备在传输数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的传输数据的设备与传输数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种传输数据的方法,其特征在于,所述方法包括:
接收硬件电路产生的外部中断请求,根据已存储的任务列表中包括的任务标识的顺序,获取任务标识;
如果所述获取的任务标识对应的任务为中央处理器CPU开始任务,则根据所述任务标识和所述任务的标志位生成所述任务的信标,并将生成的信标和所述任务对应的数据发送到所述硬件电路,使所述硬件电路根据所述信标获取对应的存储地址,并根据获取的存储地址将所述任务对应的数据进行存储;
如果所述获取的任务标识对应的任务为CPU处理任务,则根据所述任务标识从所述硬件电路的缓存中读取对应的信标,根据所述任务标识和读取的信标,从所述硬件电路的缓存中读取对应的数据;
其中,所述根据所述任务标识和所述任务的标志位生成所述任务的信标,并将生成的信标和所述任务对应的数据发送到所述硬件电路,使所述硬件电路根据所述信标获取对应的存储地址,并根据获取的存储地址将所述任务对应的数据进行存储,包括:
根据所述任务标识,从任务标识与状态变量的对应关系中获取对应的状态变量;
如果获取的状态变量有效,则获取所述任务对应的数据;
根据所述任务标识和所述任务的标志位生成所述任务的信标,并将生成的信标和所述数据发送到所述硬件电路,使所述硬件电路根据所述信标获取对应的存储地址,并根据获取的存储地址将所述数据进行存储;
其中,所述根据所述任务标识从所述硬件电路的缓存中读取对应的信标,根据所述任务标识和读取的信标,从所述硬件电路的缓存中读取对应的数据,包括:
确定所述任务标识在所述任务列表包括的CPU处理任务中的顺序;
根据所述任务标识在所述任务列表包括的CPU处理任务中的顺序,从所述硬件电路的缓存中读取对应的信标;
如果所述信标有效,则根据所述任务标识和读取的信标,从所述硬件电路的缓存中读取对应的数据。
2.如权利要求1所述的方法,其特征在于,所述接收硬件电路产生的外部中断请求,根据已存储的任务列表中包括的任务标识的顺序,获取任务标识之前,还包括:
根据硬件电路与CPU之间需要传输的数据,将所述硬件电路与所述CPU之间传输数据的任务进行分类,得到多个CPU开始任务和多个CPU处理任务;
根据所述多个CPU开始任务的优先级和所述多个CPU处理任务的优先级,对所述多个CPU开始任务和所述多个CPU处理任务进行排序,得到所述多个CPU开始任务和所述多个CPU处理任务的顺序;
根据所述多个CPU开始任务的顺序和所述多个CPU处理任务的顺序,将所述多个CPU开始任务的任务标识和所述多个CPU处理任务的任务标识存储在任务列表中。
3.一种传输数据的设备,其特征在于,所述设备包括:
获取模块,用于接收硬件电路产生的外部中断请求,根据已存储的任务列表中包括的任务标识的顺序,获取任务标识;
发送模块,用于如果所述获取的任务标识对应的任务为中央处理器CPU开始任务,则根据所述任务标识和所述任务的标志位生成所述任务的信标,并将生成的信标和所述任务对应的数据发送到所述硬件电路,使所述硬件电路根据所述信标获取对应的存储地址,并根据获取的存储地址将所述任务对应的数据进行存储;
读取模块,用于如果所述获取的任务标识对应的任务为CPU处理任务,则根据所述任务标识从所述硬件电路的缓存中读取对应的信标,根据所述任务标识和读取的信标,从所述硬件电路的缓存中读取对应的数据;
其中,所述发送模块包括:
第一获取单元,用于根据所述任务标识,从任务标识与状态变量的对应关系中获取对应的状态变量;
第二获取单元,用于如果获取的状态变量有效,则获取所述任务对应的数据;
发送单元,用于根据所述任务标识和所述任务的标志位生成所述任务的信标,并将生成的信标和所述数据发送到所述硬件电路,使所述硬件电路根据所述信标获取对应的存储地址,并根据获取的存储地址将所述数据进行存储;
其中,所述读取模块包括:
确定单元,用于确定所述任务标识在所述任务列表包括的CPU处理任务中的顺序;
第一读取单元,用于根据所述任务标识在所述任务列表包括的CPU处理任务中的顺序,从所述硬件电路的缓存中读取对应的信标;
第二读取单元,用于如果所述信标有效,则根据所述任务标识和读取的信标,从所述硬件电路的缓存中读取对应的数据。
4.如权利要求3所述的设备,其特征在于,所述设备还包括:
分类模块,用于根据硬件电路与CPU之间需要传输的数据,将所述硬件电路与所述CPU之间传输数据的任务进行分类,得到多个CPU开始任务和多个CPU处理任务;
排序模块,用于根据所述多个CPU开始任务的优先级和所述多个CPU处理任务的优先级,对所述多个CPU开始任务和所述多个CPU处理任务进行排序,得到所述多个CPU开始任务和所述多个CPU处理任务的顺序;
存储模块,用于根据所述多个CPU开始任务的顺序和所述多个CPU处理任务的顺序,将所述多个CPU开始任务的任务标识和所述多个CPU处理任务的任务标识存储在任务列表中。
CN201310585372.0A 2013-11-19 2013-11-19 一种传输数据的方法和设备 Active CN103605622B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310585372.0A CN103605622B (zh) 2013-11-19 2013-11-19 一种传输数据的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310585372.0A CN103605622B (zh) 2013-11-19 2013-11-19 一种传输数据的方法和设备

Publications (2)

Publication Number Publication Date
CN103605622A CN103605622A (zh) 2014-02-26
CN103605622B true CN103605622B (zh) 2016-06-22

Family

ID=50123851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310585372.0A Active CN103605622B (zh) 2013-11-19 2013-11-19 一种传输数据的方法和设备

Country Status (1)

Country Link
CN (1) CN103605622B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105388833B (zh) * 2015-11-07 2018-07-06 江西清华泰豪三波电机有限公司 一种通过s7 200plc灵活获取电站id的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171670A (ja) * 1996-12-05 1998-06-26 Toshiba Corp タスク切り替え装置及びタスク切り替えプログラムを記録した媒体
CN1892665A (zh) * 2001-02-16 2007-01-10 索尼株式会社 数据处理方法及其设备
CN102436393A (zh) * 2006-08-24 2012-05-02 科尼龙硅公司 任务处理装置
CN102497464A (zh) * 2011-11-28 2012-06-13 江西联创通信有限公司 一种语音数据流采集系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171670A (ja) * 1996-12-05 1998-06-26 Toshiba Corp タスク切り替え装置及びタスク切り替えプログラムを記録した媒体
CN1892665A (zh) * 2001-02-16 2007-01-10 索尼株式会社 数据处理方法及其设备
CN102436393A (zh) * 2006-08-24 2012-05-02 科尼龙硅公司 任务处理装置
CN102497464A (zh) * 2011-11-28 2012-06-13 江西联创通信有限公司 一种语音数据流采集系统

Also Published As

Publication number Publication date
CN103605622A (zh) 2014-02-26

Similar Documents

Publication Publication Date Title
CN100568187C (zh) 一种用于对调试消息进行掩码的方法和装置
CN110738015B (zh) 片上系统及其fpga内核信息处理方法
CN103559156B (zh) 一种fpga与计算机之间的通信系统
CN103929415A (zh) Rdma下数据读写的方法、装置和网络系统
CN105320490A (zh) 用于异步fifo电路的方法和设备
CN104111870A (zh) 一种中断处理装置及中断处理方法
CN108234264A (zh) 一种基于PCIe信号接口扩展的数据包转发方法及装置
CN104657224A (zh) 一种进程间通信的方法和装置
CN105786736A (zh) 一种多芯片级联的方法、芯片和装置
JP2021507363A (ja) シリアル通信装置
CN103729319A (zh) 基于串行总线的设备系统及数据传输方法
CN114461541A (zh) 芯片数据读取方法、写入方法、装置、设备以及存储介质
CN111078597B (zh) 一种中断消息生成装置、方法以及端设备
CN113177015B (zh) 基于帧头的串口通讯方法和串口芯片
WO2022032990A1 (zh) 一种命令信息传输方法、系统、装置及可读存储介质
CN103605622B (zh) 一种传输数据的方法和设备
CN112422485B (zh) 一种传输控制协议的通信方法及装置
CN109144853B (zh) 一种软件定义无线电SoC芯片调试系统
CN109120731B (zh) 一种通用型通讯方法、系统及装置
CN104572515B (zh) 跟踪模块、方法、系统和片上系统芯片
CN114783472A (zh) 一种基于存储设备的数据处理系统、方法及装置
CN207835492U (zh) 一种双缓存载波解调系统
CN203502958U (zh) 一种arm处理器的gpio扩展电路
CN105653477A (zh) 一种基于双口ram的fpga内部硬核与软核通信的方法
CN103744816A (zh) 通用串行总线设备以及其数据传输方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant