Sd卡数据的传输/调度方法、装置及数据采集系统的制作方法

文档序号:6443057阅读:135来源:国知局
专利名称:Sd卡数据的传输/调度方法、装置及数据采集系统的制作方法
技术领域
本发明涉及数据采集技术领域,尤其涉及一种SD卡数据的传输/调度方法、装置及数据采集系统。
背景技术
实时系统(Real-time Operating System,RT0S)为能够在指定或者确定的时间内完成系统功能和外部或内部、同步或异步时间做出响应的系统。因此实时系统应该具备在定义的时间范围内识别和处理离散事件的能力,能够处理和存储控制系统所需要的大量数据。在实时系统中,一般每个程序所占用的时间片都存在合理的分配。因此,任何一个程序所占用的系统时间资源过多,会导致系统的崩溃或者对激励无法响应。因此,针对需采集并存储大量数据的实时系统,设计一种能有效控制数据采集及传输时间的方法是亟需解决的问题。

发明内容
本发明的主要目的是提供一种SD卡数据的传输/调度方法,旨在有效地控制数据的采集及传输。本发明提供了一种SD卡数据的传输/调度方法,包括以下步骤:接收需存储于SD卡的数据;将需存储于SD卡的数据进行数据流处理,写入内存缓冲区;将所述内存缓冲区的数据流进行分割处理;将经过分割处理的数据流传输至SD卡进行存储。优选地,所述实时系统中SD卡数据的传输/调度方法还包括:接收外部设备发送的数据读取指令;根据数据读取指令,对SD卡上的数据流进行分割处理;将SD卡上经过分割处理的数据流传输至内存缓冲区;将所述内存缓冲区的数据流进行处理,形成实时系统数据,供外部设备进行获取。优选地,所述将内存缓冲区的数据流进行分割处理或对SD卡上的数据流进行分割处理的步骤具体包括:判断数据流传输的时间是否超过实时系统为数据流传输分配的时间;若是,则将数据流进行分割,直至分割后的数据流的传输时间低于实时系统为数据流传输分配的时间。本发明还提供了一种SD卡数据的传输/调度装置,包括:数据接收模块,用于接收需存储于SD卡的数据;数据处理模块,用于将需存储于SD卡的数据进行数据流处理,并写入内存缓冲区;还用于将内存缓冲区的数据流进行分割处理;
数据传输模块,用于将经过分割处理的数据流传输至SD卡进行存储。优选地,所述数据传输/调度装置还包括:指令接收模块,用于接收外部设备发送的数据读取指令;所述数据处理模块,还用于根据数据读取指令,对SD卡上的数据流进行分割处理;还用于将内存缓冲区的数据流进行处理,形成实时系统数据,供外部设备进行获取;所述数据传输模块,还用于将SD卡上经过分割的数据流传输至内存缓冲区。优选地,所述数据处理模块具体用于:判断数据流传输的时间是否超过实时系统为数据流传输分配的时间;若是,则将数据流进行分割,直至分割后的数据流的传输时间低于实时系统为数据流传输分配的时间。本发明又提供了一种数据采集系统,包括:数据监控装置,用于根据预置的配置参数,对所述实时系统的数据进行监控,并在实时系统发生故障时,对其进行数据采集;数据传输/调度装置,包括:数据接收模块,用于接收数据监控装置采集的数据;数据处理模块,用于将数据监控装置采集的数据进行数据流处理,并写入内存缓冲区;还用于将内存缓冲区的数据流进行分割处理;数据传输模块,用于将经过分割处理的数据流传输至SD卡进行存储。本发明根据预置的传输策略,对所需存储的数据进行分割后再传输至SD卡或者对需读取的数据进行分割后再从SD卡进行读取,从而既保证了数据传输至SD卡所执行的时间或者从SD卡读取数据所执行的时间不占用过多的系统时间资源,也保证了数据传输的正确性和完整性,从而有效地解决了实时系统中数据的存储及读取问题。


图1是本发明SD卡数据的传输/调度方法一实施例的流程示意图;图2是本发明SD卡数据的传输/调度方法一实施例中将内存缓冲区的数据流进行分割处理的流程示意图;图3是本发明SD卡数据的传输/调度方法另一实施例的流程示意图;图4是本发明SD卡数据的传输/调度方法另一实施例中将SD卡上的数据流进行分割处理的流程示意图;图5是本发明SD卡数据的传输/调度装置一实施例的结构示意图;图6是本发明SD卡数据的传输/调度装置另一实施例的结构示意图;图7是本发明数据采集系统一实施例的结构示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施例方式以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。图1是本发明SD卡数据的传输/调度方法一实施例的流程示意图。
参照图1,本发明SD卡数据的传输/调度方法包括以下步骤:步骤S01、接收需存储于SD卡的数据;当实时系统中通过数据采集装置对实时系统中的数据采集后,一般都会将其存储,例如存储于SD卡。步骤S02、将需存储于SD卡的数据进行数据流处理,并写入内存缓冲区;具体地,进行数据流处理主要包括:将需存储于SD卡的数据进行格式转换,形成统一格式的数据流,例如16位的数据流;然后将其进行拆分,并将拆分的数据依次写入内存的缓冲区中。当然,进行数据流处理还可以包括:在写入内存的缓冲区时,可以按照SD卡物理层的特性,将其数据流根据高8位、低8位进行写入。步骤S03、将所述内存缓冲区的数据流进行分割处理;步骤S04、将经过分割处理的数据流传输至SD卡进行存储。由于在实时系统中,每个程序所占用的时间片均为合理地分配。因此,如果任何一个程序所占用的系统时间资源过多,则会导致系统的崩溃或者对激励无法响应。因此,在将内存缓冲区的数据存储于SD卡之前,还需要根据传输策略将缓冲区中的数据流进行分割,再将分割后的数据流传输至SD卡进行存储。该传输策略为控制数据存储的程序执行时间,同时还要保证数据传输的正确性和完整性。参照图2,上述步骤S03进一步包括:步骤S031、判断数据流传输的时间是否超过实时系统为数据流传输分配的时间;若是,则执行步骤S032 ;否则执行步骤S04 ;预估该数据流传输的时间,并判断该数据流传输的时间是否超过实时系统为其分配的时间。步骤S032、将数据流分割为多个数据流,并返回执行步骤S031 ;如果该数据流传输的时间超过了实时系统为其分配的时间,则将长数据帧的数据流分割为多个短数据帧的数据流,直至数据流传输的时间低于实时系统为其分配的时间。如果判断该数据流传输的时间低于实时系统为其分配的时间,则将该数据流依次传输至SD卡进行存储。本发明实施例根据传输策略,对需存储于SD卡的数据先进行分割处理,再将其传输至SD卡进行存储,从而既保证了数据传输至SD卡所执行的时间不占用过多的系统时间资源,也保证了数据传输的正确性和完整性,从而有效地解决了实时系统中数据的存储问题。图3是本发明SD卡数据的传输/调度方法另一实施例的流程示意图。参照图3,在上述方法实施例的步骤S04之后还包括:步骤S05、接收外部设备发送的数据读取指令;该数据读取指令可以为实时系统发生故障时触发产生的。该数据读取指令也可以为用户通过外部设备发出的,即用户需要获取发生故障时存储的实时系统数据时,可以发出数据读取指令。该数据读取指令也可以为外部设备间隔自动触发产生,例如,通过预置一定时器,并设定时间周期,则每隔一个时间周期,就触发产生数据读取指令。步骤S06、根据数据读取指令,对SD卡上的数据流进行分割处理;步骤S07、将SD卡上经过分割处理的数据流传输至内存缓冲区;
根据数据读取指令,读取SD卡物理层上的数据流,并判断该数据流传输的时间是否超过实时系统为其分配的时间,是则对SD卡上的数据流进行分割,形成多个短数据帧的数据流,最后再将分割后的数据流传输至内存缓冲区。步骤S08、将所述内存缓冲区的数据流进行处理,形成实时系统数据,供外部设备进行获取。具体地,与数据存储至SD卡中进行数据流处理的过程对应,对从SD卡上传输至内存缓冲区的数据流进行数据拼接处理,形成16位的数据流,再将缓冲区中的数据流进行格式转换,形成实时系统数据,供外部设备进行获取。参照图4,上述步骤S06进一步包括:步骤S061、判断数据流传输的时间是否超过实时系统为数据流传输分配的时间;若是,则执行步骤S062 ;否则执行步骤S07 ;步骤S062、将数据流分割为多个数据流,并返回执行步骤S061 ;本发明实施例根据传输策略,对从SD卡的数据先进行分割处理,再对分割后的SD卡数据进行读取,从而既保证了从SD卡读取数据所执行的时间不占用过多的系统时间资源,也保证了数据传输的正确性和完整性,从而有效地解决了实时系统中数据的存储问题。图5是本发明SD卡数据的传输/调度装置一实施例的结构示意图。参照图5,本发明SD卡数据的传输/调度装置包括:数据接收模块10,用于接收需存储于SD卡的数据;数据处理模块20,用于将需存储于SD卡的数据进行数据流处理,并写入内存缓冲区;还用于将内存缓冲区的数据流进行分割处理;数据传输模块30,用于将经过分割处理的数据流传输至SD卡进行存储。当实时系统发生故障时,数据采集装置将采集的数据发送至数据接收模块10。数据处理模块20则将数据接收模块10接收的采集数据进行数据流处理,具体包括:将需存储于SD卡的数据进行格式转换,形成统一格式的数据流,例如16位的数据流;然后将其进行拆分,并将拆分的数据依次写入内存的缓冲区中。当然,进行数据流处理还可以包括:在写入内存的缓冲区时,可以按照SD卡物理层的特性,将其数据流根据高8位、低8位进行写入。该数据处理模块20还根据传输策略将内存缓冲区中的数据流进行分割。数据传输模块30再将分割后的数据流传输至SD卡进行存储。该传输策略为控制数据存储的程序执行时间,同时还要保证数据传输的正确性和完整性。具体地,数据处理模块20可以预估给数据流传输的时间,并判断数据流传输的时间是否超过实时系统为数据流传输分配的时间;是则将数据流进行分割,将长数据帧的数据流分割为多个短数据帧的数据流,直至分割后的数据流的传输时间低于实时系统为数据流传输分配的时间;否则不做分割操作。最后,数据传输模块30再将数据流传输至SD卡进行存储。本发明实施例根据传输策略,对需存储于SD卡的数据先进行分割处理,再将其传输至SD卡进行存储,从而既保证了数据传输至SD卡所执行的时间不占用过多的系统时间资源,也保证了数据传输的正确性和完整性,从而有效地解决了实时系统中数据的存储问题。图6是本发明SD卡数据的传输/调度装置另一实施例的结构示意图。参照图6,在上述装置实施例的基础上,本发明实施例实时系统中SD卡数据的传输/调度装置还包括:指令接收模块40,用于接收外部设备发送的数据读取指令;所述数据处理模块20,用于根据数据读取指令,对SD卡上的数据流进行分割处理;还用于将内存缓冲区的数据流进行处理,形成实时系统数据,供外部设备进行获取;所述数据传输模块30,还用于将SD卡上经过分割的数据流传输至内存缓冲区。指令接收模块40接收的数据读取指令可以为实时系统发生故障时触发产生的。该数据读取指令也可以为用户通过外部设备发出的,即用户需要获取发生故障时存储的实时系统数据时,可以发出数据读取指令。该数据读取指令也可以为外部设备间隔自动触发产生,例如,通过预置一定时器,并设定时间周期,则每隔一个时间周期,就触发产生数据读取指令。然后,数据处理模块20还将根据该数据读取指令,可以先对SD卡上的数据流进行分割,然后数据传输模块30将分割后的数据流传输至内存缓冲区。最后,数据处理模块20再将内存缓冲区的数据流进行处理,形成实时系统数据,供外部设备获取。具体地,与数据存储至SD卡中进行数据流处理的过程对应,对传输至内存缓冲区的数据流进行数据拼接处理,形成16位的数据流,最后将缓冲区中的数据流进行格式转换,形成实时系统数据。在这里需要说明的是,在数据处理模块20对SD卡上的数据流进行分割处理时,可以先判断该数据流传输的时间是否超过实时系统为其分配的时间,是则对SD卡上的数据流进行分割,形成多个短数据帧的数据流;否则不做分割操作。本发明实施例根据传输策略,对从SD卡的数据先进行分割处理,再对分割后的SD卡数据进行读取,从而既保证了从SD卡读取数据所执行的时间不占用过多的系统时间资源,也保证了数据传输的正确性和完整性,从而有效地解决了实时系统中数据的存储问题。图7是本发明数据采集系统一实施例的结构示意图。参照图6,本发明数据采集系统包括数据监控装置100及数据传输/调度装置200。其中,数据监控装置100,用于根据预置的配置参数,对所述实时系统的数据进行监控,并在实时系统发生故障时,对其进行数据采集;实时系统例如风能变流器系统,存在大量的波形数据采集,因此通过对其系统进行数据采集,从而可以根据采集的数据及时地对系统进行调试或故障分析。该实时系统可以通过AD采集器、FPGA采集器等进行数据的采集。其中,AD采集器主要用于采集实时系统中各个组成件的模拟信号,并将其转换为数据信号;FPGA采集器主要用于采集实时系统中各个组成件的开关量信号,例如某个组成件发生故障产生的脉冲信号等等。数据监控装置100根据的预置的配置参数可以为实时系统进行数据采集时默认的配置参数,例如该风能变流器中常用的故障监测参数,即电网A相、B相、C相电压,逆变器输出的A相、B相、C相电流等等。该预置的配置参数还可以为在实时系统中进行数据采集时根据具体情况而进行具体配置的参数,例如实时系统中需要采集某一部件的具体数据。因此,数据监控装置100根据预置的配置参数,对该实时系统的数据进行监控,接收AD采集器、FPGA采集器采集的数据,并将其存储于内存中,待该实时系统发生故障时,再将该监控的数据存储于SD卡中。具体地,若该预置的配置参数为采集实时系统中某一部件的具体数据,则不但对常用的故障监测数据进行监控,还对该实时系统中采集的该部件的数据进行监控。
再参照图5,上述数据传输/调度装置200,可以包括:数据接收模块10,用于接收数据监控装置采集的数据;数据处理模块20,用于将数据监控装置采集的数据进行数据流处理,并写入内存缓冲区;还用于将所述内存缓冲区的数据流进行分割处理;数据传输模块30,用于将经过分割处理的数据流传输至SD卡进行存储。当实时系统发生故障时,数据采集装置将采集的数据发送至数据接收模块10。数据处理模块20则将数据接收模块10接收的采集数据进行数据流处理,具体包括:将需存储于SD卡的数据进行格式转换,形成统一格式的数据流,例如16位的数据流;然后将其进行拆分,并将拆分的数据依次写入内存的缓冲区中。当然,进行数据流处理还可以包括:在写入内存的缓冲区时,可以按照SD卡物理层的特性,将其数据流根据高8位、低8位进行写入。数据处理模块20还根据传输策略将内存缓冲区中的数据流进行分割,数据传输模块30再将分割后的数据传输至SD卡进行存储。该传输策略为控制数据存储的程序执行时间,同时还要保证数据传输的正确性和完整性。上述数据处理模块20在对内存缓冲区的数据流进行分割处理时,可以先预估该数据流传输的时间,并判断数据流传输的时间是否超过实时系统为数据流传输分配的时间;是则将内存缓冲区的数据流进行分割,将长数据帧的数据流分割为多个短数据帧的数据流,直至分割后的数据流的传输时间低于实时系统为数据流传输分配的时间;否则不做分割处理。本发明实施例根据传输策略,对需存储于SD卡的数据先进行分割处理,再将其传输至SD卡进行存储,从而既保证了数据传输至SD卡所执行的时间不占用过多的系统时间资源,也保证了数据传输的正确性和完整性,从而有效地解决了实时系统中数据的存储问题。再参照图6,上述数据传输/调度装置200还可以包括:指令接收模块40,用于接收外部设备发送的数据读取指令;所述数据处理模块20,还用于根据数据读取指令,对SD卡上的数据流进行分割处理;还用于将内存缓冲区的数据流进行处理,形成实时系统数据,供外部设备进行获取;所述数据传输模块30,还用于将SD卡上经过分割的数据流传输至内存缓冲区。指令接收模块40接收的数据读取指令可以为实时系统发生故障时触发产生的。该数据读取指令也可以为用户通过外部设备发出的,即用户需要获取发生故障时存储的实时系统数据时,可以发出数据读取指令。该数据读取指令也可以为外部设备间隔自动触发产生,例如,通过预置一定时器,并设定时间周期,则每隔一个时间周期,就触发产生数据读取指令。然后,数据处理模块20还将根据该数据读取指令,对SD卡上的数据流进行分割,然后数据传输模块30将分割后的数据流传输至内存缓冲区。最后,数据处理模块20再将内存缓冲区的数据流进行处理,形成实时系统数据,供外部设备获取。具体地,与数据存储至SD卡中进行数据流处理的过程对应,对传输至内存缓冲区的数据流进行数据拼接处理,形成16位的数据流,最后将缓冲区中的数据流进行格式转换,形成实时系统数据。在这里需要说明的是,在数据处理模块20对数据流进行分割处理时,可以先判断该数据流传输的时间是否超过实时系统为其分配的时间,是则对SD卡上的数据流进行分害I],形成多个短数据帧的数据流;否则不做分割操作。
本发明实施例根据传输策略,对从SD卡的数据先进行分割处理,再对分割后的SD卡数据进行读取,从而既保证了从SD卡读取数据所执行的时间不占用过多的系统时间资源,也保证了数据传输的正确性和完整性,从而有效地解决了实时系统中数据的存储问题。以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种SD卡数据的传输/调度方法,其特征在于,包括以下步骤: 接收需存储于SD卡的数据; 将需存储于SD卡的数据进行数据流处理,并写入内存缓冲区; 将所述内存缓冲区的数据流进行分割处理; 将经过分割处理的数据流传输至SD卡进行存储。
2.根据权利要求1所述的SD卡数据的传输/调度方法,其特征在于,还包括: 接收外部设备发送的数据读取指令; 根据数据读取指令,对SD卡上的数据流进行分割处理; 将SD卡上经过分割处理的数据流传输至内存缓冲区; 将所述内存缓冲区的数据流进行处理,形成实时系统数据,供外部设备进行获取。
3.根据权利要求1或2所述的SD卡数据的传输/调度方法,其特征在于,所述将内存缓冲区的数据流进行分割处理或对SD卡上的数据流进行分割处理的步骤具体包括: 判断数据流传输的时间是否超过实时系统为数据流传输分配的时间; 若是,则将数据流进行分割,直至分割后的数据流的传输时间低于实时系统为数据流传输分配的时间。
4.一种SD卡数据的传输/调度装置,其特征在于,包括: 数据接收模块,用于接收需存储于SD卡的数据; 数据处理模块,用于将需存储于SD卡的数据进行数据流处理,并写入内存缓冲区;还用于将内存缓冲区的数据流进行分割处理; 数据传输模块,用于将经过分割处理的数据流传输至SD卡进行存储。
5.根据权利要求4所述的SD卡数据的传输/调度装置,其特征在于,还包括: 指令接收模块,用于接收外部设备发送的数据读取指令; 所述数据处理模块,还用于根据数据读取指令,对SD卡上的数据流进行分割处理;还用于将内存缓冲区的数据流进行处理,形成实时系统数据,供外部设备进行获取; 所述数据传输模块,还用于将SD卡上经过分割的数据流传输至内存缓冲区。
6.根据权利要求4或5所述的SD卡数据的传输/调度装置,其特征在于,所述数据处理模块具体用于: 判断数据流传输的时间是否超过实时系统为数据流传输分配的时间; 若是,则将数据流进行分割,直至分割后的数据流的传输时间低于实时系统为数据流传输分配的时间。
7.一种数据采集系统,其特征在于,包括: 数据监控装置,用于根据预置的配置参数,对所述实时系统的数据进行监控,并在实时系统发生故障时,对其进行数据采集; 数据传输/调度装置,包括: 数据接收模块,用于接收数据监控装置采集的数据; 数据处理模块,用于将数据监控装置采集的数据进行数据流处理,并写入内存缓冲区;还用于将内存缓冲区的数据流进行分割处理; 数据传输模块,用于将经过分割处理的数据流传输至SD卡进行存储。
8.根据权利要求7所述的数据采集系统,其特征在于,所述数据传输/调度装置还包括: 指令接收模块,用于接收外部设备发送的数据读取指令; 所述数据处理模块,用于根据数据读取指令,对SD卡上的数据流进行分割处理;还用于将内存缓冲区的数据流进行处理,形成实时系统数据,供外部设备进行获取; 所述数据传输模块,还用于将SD卡上经过分割的数据流传输至内存缓冲区。
9.根据权利要求7或8所述的数 据采集系统,其特征在于,所述数据处理模块具体用于: 判断数据流传输的时间是否超过实时系统为数据流传输分配的时间; 若是,则将数据流进行分割,直至分割后的数据流的传输时间低于实时系统为数据流传输分配的时间。
全文摘要
本发明公开一种SD卡数据的传输/调度方法、装置及数据采集系统,该传输/调度方法包括以下步骤接收需存储于SD卡的数据;将需存储于SD卡的数据进行数据流处理,并写入内存缓冲区;将所述内存缓冲区的数据流进行分割处理;将经过分割处理的数据流传输至SD卡进行存储。本发明根据预置的传输策略,对所需存储的数据进行分割后再传输至SD卡进行存储,既保证了数据传输至SD卡所执行的时间不占用过多的系统时间资源,也保证了数据传输的正确性和完整性,从而有效地解决了实时系统中数据的存储及读取问题。
文档编号G06F9/48GK103176839SQ20111043919
公开日2013年6月26日 申请日期2011年12月26日 优先权日2011年12月26日
发明者胡志峰, 胡煜, 雒鹏飞 申请人:艾默生网络能源有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1