用于提高数据处理速度的数据处理系统的制作方法

文档序号:15344425发布日期:2018-09-04 22:35阅读:192来源:国知局

本实用新型主要涉及到微处理器应用领域,确切地说,是涉及到在嵌入式设备系统中采用对嵌入式微处理器的数据实施直接内存存取的处理方案,避免微处理器系统在程序执行期间消耗过多的等待时间从而提高数据处理效率。



背景技术:

随着高集成度的集成电路设计进入片上系统时代,尤其是微处理器领域,嵌入式系统的功能不断增强和完善,应用范围也越来越广泛,几乎在所有的电子设备中都不可避免的使用到嵌入式系统,微处理器也越来越多地出现在日常生活中。涉及从数码相机、通信设备和多媒体播放器再到汽车电子等广泛的领域。随着硬件电子技术的高速发展,实时嵌入式系统的复杂程度也在日益提高,这要求嵌入式系统的设计方法更加成熟而且实时性更强和具备高可靠度,可预见性更高,关键的技术因素就是数据处理速度。当前高性能的硬件都使用了高速缓存技术来弥补中央处理单元和内存之间的性能差距,高速缓存的优势是显而易见的但是弊端是严重影响了数据的实时性,譬如:指令或数据在高速缓存中的执行时间和不在高速缓存中的执行时间差距是非常巨大的,可能相差好几个数量级,很大程度上限制了芯片例如微处理器等的整体性能的提升,为了保证执行时间的确定性和预测性来满足实时性的需要,片上存储器技术应运而生。与由硬件管理的高速缓存技术相比,采用适当的软件优化方法来管理片上存储器,可使片上存储器的性能、功耗和面积都优于高速缓存并且因此可适于对于实时性要求较高的嵌入式系统。由于访问片上存储器的时间比去访问片外存储器的时间要小得多,而且不存在命中率的问题,所以把程序的一部分从片外存储器搬移片上存储器中可以大大减少应用程序的运行时间。通过将程序的基本块、数据和常量或经常用到的程序段搬到片上存储器,并尽可能重复利用这些已经转移到片上的数据可以有效地减少片外存储器与片上存储器之间的数据转移,带来的有益效果是,能够充分提高实时嵌入式应用的运行速度并降低功耗。

针对促使当前的处理器速度提升的方案,目前关于高速缓存存储器也就是通常技术人员所言的一级高速缓存。这些缓冲存储器均由静态RAM组成且物理结构复杂,假设中央处理器所在的基于硅衬底的半导体晶体管芯片面积不太大的情况下,高速缓存的存储容量不太可能做得非常大,否则会挤占核心逻辑单元的管芯面积而得不偿失。作为减轻中央处理单元的中断负担而提供的方案,直接内存存取DMA内部设有数个传输通道,可以不要求相应的数据缓冲器来实现片上存取器与系统总线之间的背靠背传输,从而来适应片上存储器和片外存储器之间的数据传输。若直接内存存取DMA需要操作时该DMA控制器会向中央处理单元发出占用总线的请求,一旦当总线请求成功后,中央处理单元已经将总线的使用权交给DMA控制器,从而可以进行数据传输,在DMA传输过程中通常是设定中央处理单元放弃总线使用权并且暂时性的不再使用总线。尽管现有技术提供了如前文所言的各类数据处理方法,数据流总是从前一级流向后一级的阶梯式处理,并未带来显著性的速度提升效果,针对微处理器仍然有必要单独提供可提升数据处理效率的方案。



技术实现要素:

在本申请的可选但非必须的一个实施例中,披露了一种用于提高数据处理速度的数据处理系统,其特征在于主要包括了:用于采集目标数据的数据采集模块以及带有直接内存存取功能的微处理器,微处理器接收数据采集模块传送的体现为模拟量的原始数据源并执行模数转换;微处理器以直接内存存取的方式将模数转换得到的数字量数据保存到其内存当中的指定缓冲区域之中,微处理器还用于对数字量数据执行预定模式的数据处理。

上述的用于提高数据处理速度的数据处理系统,其中:在内存中选取具有预期容量的一个指定缓冲区域,并且该指定缓冲区域至少划分成容量均等的多个空间。

上述的用于提高数据处理速度的数据处理系统,其中:指定缓冲区域被划分成容量均为预期容量一半的第一和第二空间,第一空间占据指定缓冲区域的前二分之一的容量而第二空间占据指定缓冲区域的后二分之一的容量。

上述的用于提高数据处理速度的数据处理系统:在微处理器以直接内存存取的方式保存第一轮的数字量数据的阶段,当直接内存存取方式的传输过半中断被触发时,表征该第一轮的数字量数据当中等于预期容量一半的数据量完成了传输从而将第一空间存满。

上述的用于提高数据处理速度的数据处理系统,其中:直接内存存取的传输过半中断被触发时,传输过半中断的信号还通知微处理器启动对第一空间当中的第一轮的数字量数据执行所述预定模式的数据处理。

上述的用于提高数据处理速度的数据处理系统,其中:在微处理器对第一空间中第一轮的数字量数据执行预定模式的数据处理的阶段,第一轮的数字量数据之中余下的另一半还同步被传输保存到第二空间当中。

上述的用于提高数据处理速度的数据处理系统,其中:直接内存存取的传输完成中断被触发时,表征该第一轮的数字量数据中余下另一半完成传输从而将第二空间存满,传输完成中断的信号还通知微处理器启动对第二空间当中的第一轮的数字量数据执行预定模式的数据处理。

上述的用于提高数据处理速度的数据处理系统,其中:定义微处理器将第一轮的数字量数据保存到其内存的指定缓冲区域之中和对第一轮的数字量数据执行预定模式的数据处理后、再将第二轮的数字量数据保存到其内存当中的指定缓冲区域之中和对第二轮的数字量数据执行预定模式的数据处理,满足:在微处理器对第二空间中第一轮的数字量数据执行预定模式的数据处理的阶段,则该第二轮的数字量数据当中等于预期容量一半的数据量同步还将第一空间存满。

上述的用于提高数据处理速度的数据处理系统,其中:预定模式的数据处理至少包括微处理器对由原始数据源经过模数转换得到的数字量数据进行数字滤波的处理。

上述的用于提高数据处理速度的数据处理系统,其中:预定模式的数据处理至少还包括微处理器对实施了数字滤波处理后的数字量数据执行对外予以输出的传输处理。

在本申请的可选实施例中,还批了了一种提高微处理器数据处理速度的方法并且其特征在于还包括:根据系统的功能和性能要求,计算出较为合适的缓冲区大小譬如计算出内内存当中的2048字节空间、初始化微处理器的DMA控制器和ADC模块和将DMA的目标地址设置为缓冲区的起始地址、开启DMA传输过半中断和DMA传输完成中断、一旦当在该DMA传输过半中断处理函数中发出信号,使处理器开始对缓冲区前1024个字节的数据进行处理、在DMA传输完成中断处理函数中发出信号,使处理器开始对内存的缓冲区的后1024字节数据进行处理,并且在中断处理函数中启动新一轮的传输、之后微处理器返回到上文所描述的“在DMA传输过半中断处理函数中发出信号,使处理器开始对缓冲区前1024个字节的数据进行处理”的步骤并循环。

在本申请的可选但非必须的实施例中,披露了一种用于提高数据处理速度的数据处理系统且微处理器接收数据采集模块传送的原始数据源并执行ADC模数转换,微处理器以直接内存存取DMA方式将模数转换得到的二进制数字量数据保存到其内存MEM当中的指定缓冲区域,微处理器还用于对数字量数据执行预定模式的数据处理,譬如执行滤波的数据处理和/或将滤波后的数据对外予以输出。在内存中选取具有预期容量譬如1024字节的指定缓冲区域,并且该指定缓冲区域至少划分成容量均等的多个空间,某指定缓冲区域被划分成容量均为预期容量一半也即512字节的第一空间和第二空间,第一空间占据指定缓冲区域的前二分之一的容量而第二空间占据指定缓冲区域的后二分之一的容量。在微处理器以直接内存存取的方式保存第一轮的数字量数据的阶段譬如保存第一个1024字节的阶段,当直接内存存取DMA方式的传输过半中断被触发时,表征第一轮的数字量数据中等于预期容量一半即前512个字节的数据量完成了传输从而将第一空间存满。直接内存存取的传输过半中断被触发时,传输过半中断的信号还通知微处理器启动对第一空间当中的第一轮的数字量数据即前512个字节执行所述预定模式的数据处理。在微处理器对第一空间中第一轮的数字量数据即前512个字节执行预定模式的数据处理的阶段,则还设定第一轮的数字量数据也即第一个1024字节之中余下的另一半即后512个字节还同步被传输保存到第二空间当中。直接内存存取的传输完成中断被触发时,表征该第一轮的数字量数据中余下另一半即后512个字节完成传输从而将第二空间存满,传输完成中断的信号还通知微处理器启动对第二空间当中的第一轮的数字量数据即后512个字节执行预定模式的数据处理,因此第一个1024字节大概完成了整个处理流程。

在本申请的可选但非必须的实施例中,微处理器实际上需要循环的处理大量的和前述的数字量数据地位相同的数据,为了阐释处理机制,先行定义微处理器将第一轮的数字量数据即第一个1024字节保存到其内存的指定缓冲区域之中和对第一轮的数字量数据执行预定模式的数据处理后、再将第二轮的数字量数据即第二个1024字节保存到其内存当中的指定缓冲区域之中和对第二轮的数字量数据执行预定模式的数据处理,因为这里相邻的作为代表的该第一个1024字节和第二个1024字节其实可以表征微处理器在实际中需要循环处理的大量数字量数据。前文记载,针对第一个1024字节:在微处理器以直接内存存取的方式保存第一个1024字节的阶段,当直接内存存取方式的传输过半中断被触发时表征第一个1024字节中的前512个字节的完成了传输将第一空间存满;直接内存存取的传输过半中断被触发时,传输过半中断的信号还通知微处理器启动对前512个字节执行预定模式的数据处理。在微处理器对第一个1024字节中前512个字节执行预定模式的数据处理的阶段,还设定第一个1024字节之中余下的另一半即后512个字节还同步被传输保存到第二空间当中。直接内存存取的传输完成中断被触发时,表征后512个字节完成传输从而将第二空间存满,传输完成中断的信号还通知微处理器启动对后512个字节执行预定模式的数据处理,注意,微处理器启动对第一个1024字节中后512个字节执行预定模式的数据处理时,同步还将第二个1024字节当中的前512个字节的完成了传输也即存储到第一空间。然后针对第二个1024字节:在微处理器保存第二个1024字节的阶段当直接内存存取方式的传输过半中断被触发时表征第二个1024字节中的前512个字节的完成了传输将第一空间存满;直接内存存取的传输过半中断被触发时,传输过半中断的信号还通知微处理器启动对前512个字节执行预定模式的处理。处理器对第二个1024字节中的前512个字节执行预定模式的数据处理的阶段,还设定第二个1024字节之中余下的另一半即后512个字节还同步被传输保存到第二空间当中。直接内存存取的传输完成中断被触发时,表征第二个1024字节的后512个字节完成传输而将第二空间存满,传输完成中断的信号还通知微处理器启动对后512个字节执行预定模式的数据处理。按照上文这种循环机制微处理器实现了循环处理大量的数据。

附图说明

为使上文目的和特征及优点能够更加通俗易懂,后文结合附图对具体实施方式做详细的阐释,阅读以下详细说明并参照以下附图之后,本申请的特征和优势将显而易见。

图1是本申请涉及的提高数据处理速度的微处理器系统的整体系统架构。

图2是在直接内存存取的传输期间微处理器的其他模块被置于等待状态。

图3是在直接内存存取的传输和中央处理单元内核配合工作来减少等待。

图4是启用直接内存存取的数据传输过半中断和传输完成中断的流程图。

具体实施方式

下面将结合各实施例,对本实用新型的方案进行清楚完整的阐述,所描述的实施例仅是本实用新型用作叙述说明所用的实施例而非全部的实施例,基于该等实施例,本领域的技术人员在没有做出创造性劳动的前提下所获得的方案都属于本实用新型的保护范围。

在微处理器的应用中消除流水线控制相关延迟的方法可以分为两类,也即分支预测和延迟分支方法。分支预测方法主要利用程序运行时的局部性原理,根据分支指令执行结果的统计信息预测下次分支转移是否成功。分支预测的效果不仅取决于其准确性,而且与分支预测时的开销密切相关。流水线控制相关延迟取决于流水线的结构、预测的方法和预测错误后恢复所采取的策略。这种方法的不足之处在于,预测需要大量的硬件支持例如预测表和预测错误后的恢复部件等,实现开销大、功耗高。延迟分支方法的主要思想是在控制相关暂停周期内执行与分支指令无关的指令,从而掩盖暂停周期。这种方法的不足之处在于无法填充所有的分支延迟槽,无法保证被调度的指令总是必须要执行的,如果不是必须的那么性能得不到真正提高。关于微处理器:如果没有控制流程指令时,微处理器依序地提取指令并执行该指令。换言之,预设动作就是让微处理器先提取指令,接着再提取下一个循序指令,然后再提取下一个循序指令并以此类推。控制流程指令会去命令微处理器脱离此循序提取制度。微处理器在其指令集结构中包括某种型式的条件分支指令,通常主要用以指定一个分支条件状态通常是一个条件的旗标,或是一通用暂存器中的数值及一个分支条件。举例而言:位设定、位清除等于零或大于一定值。条件分支指令也指定一个分支目标地址。处理器根据分支条件检查分支条件状态,以决定分支条件状态是否满足被所谓条件分支指令所指定的分支条件。若分支条件状态满足分支条件,处理器开始提取分支目标地址上的指令,而不是提取下一个循序指令的操作。依惯例,微处理器包括一个具有多个阶段的管线,每一阶段执行有关程序指令的不同工作。在标准的管线式微处理器中包括指令提取、指令解码和运算元提取、执行以及写回结果这五个阶段。一个程序中的条件分支指令会大大地增加微处理器执行程序所需的时间。这是因为,执行阶段用以分析条件分支指令,即决定分支条件状态是否满足分支条件。其中一个原因是因为程序中的指令在程序顺序中的顺序可能会比条件分支指令还要旧,因此在运算元提取阶段可以提取条件分支指令的来源运算元之前,微处理器必须等待直到执行单元产生上述比较旧的指令的结果这些比较旧的指令的结果为条件分支指令中用以构成分支条件状态的来源运算元,以便发出条件分支指令用以执行。然而是在高度管线化的微处理器中,微处理器可能已经提取以及处理许多程度不同的下一个循序指令位于条件分支指令之后,并且微处理器在执行单元分析条件分支指令时,这些循序指令在程序顺序中的顺序要比条件分支指令还要新,毫无疑虑的必然会限制微处理器在多场景和多种需求针对高速处理方面的应用。

在应用场景上微处理器大部分是和外设硬件配合使用,而随着计算机软件技术尤其是嵌入式系统的飞速发展与逐步完善,嵌入式系统愈来愈多的功能需要通过软件实现,使嵌入式系统在通用的外设硬件平台上能够灵活的实现不同的功能。常规意义上的嵌入式系统的硬件体系包括由中央处理器和专用集成电路组成的CPU/ASIC专用集成电路、标准通信接口以程序存储器和执行机构接口、动态存储器DRAM等必要元素,专用集成电路是嵌入系统的核心部件,它承担和完成固件软件的执行工作、数据处理、信息的通信传送以及操作的控制功能等。程序存储器存放固件应用程序的指令代码和相关数据,程序存储器通常为闪速存储器Flash-ROM或可擦写存储器。动态存储器用于存放数据,在微处理器系统掉电后数据可能会丢失。作为通讯实现方式,标准通信接口提供嵌入系统与外部系统的标准通信通道,随不同类别的嵌入系统而通信接口也略有不同,举例而言,通信接口可以是采用标准并口、通用串行总线口等。执行机构接口是嵌入式系统完成特定功能而与执行机构的连接接口。指令集是微处理器的体系架构的重要组成部分。语言语法是对解决现实问题的运算和流程的方法的高度概况和抽象,主要为算术、逻辑运算和分支控制,指令集就是对这些抽象的具体支持,汇编语言是为了让开发者更好地记住指令,它跟中央处理器所认知的机器码大部分是相互对应的,因此汇编也是低级语言。CPU的指令执行通常包括取指、译码和执行,这是经典的三级指令执行流水线,计算机往往也以这三种过程来描述微处理器的程序执行过程。有的CPU设计往往使用更广泛使用的五级流水线也就是分为取指、译码、执行、访存和回写,甚至更多级数的流水线(Pipeline)。整体而言指令流水线是为提高处理器执行指令的效率,把一条指令的操作分成多个细小的步骤从而实现每个单独的步骤由专门的电路完成的方式。一条指令的执行要经过前文提及的三个主要的阶段:取指令、译码、执行,每个阶段都要花费一个机器周期的时间,试想如果没有采用流水线技术,那么这条指令执行至少需要三个机器周期。反之如果我们采用了指令流水线技术,那么当某条指令完成“取指”后进入“译码”的同时,相邻的下一条指令就可以同步进行“取指”了,这样就提高了指令的执行效率。以上内容粗略的介绍了微处理器的主要技术特征,本申请的上下文涉及的微处理器具备前述特征。

微处理器的应用中直接内存存取DMA(Direct Memory Access)是当前所有带有处理器的计算机设备或相等同的智能设备的重要特征点,直接内存存取实现的主要功能是允许具有不同数据处理速度的不同外设硬件装置之间相互直接沟通,不再持续需要依赖于中央处理单元的大量中断负载,否则中央处理单元需要从来源把每一片段的资料数据复制到暂存器,其后将资料数据又再次去写回到新的地方。在数据的读写时段内,中央处理单元对于其他的工作任务而言就无法被复用,对处理器而言是很大的资源浪费。启用直接内存存取功能则它可以将数据从一个地址空间复制到另外一个地址空间。我们先行以典型的中央处理单元的初始化过程这个传输动作为例,该传输动作本身就是由DMA控制器来实行和完成的。其他例子就是移动一个外部内存的区块到芯片内部更快的内存区。类似于这样的操作并没有让处理器工作被拖延和造成资源浪费,中央处理单元反而可以被重新安排处理其他的工作任务,是一种节省处理器资源的措施。直接内存存取DMA传输对于高效能的嵌入式系统涉及的数据算法和网络数据传输极其重要。在实现DMA传输时因为是由直接内存存取DMA控制器直接掌管总线,导致存在着总线控制权转移问题,也即直接内存存取DMA传输之前,中央处理单元要把总线控制权交给DMA控制器,而在结束直接内存存取DMA传输之后,DMA控制器按照规定应当立即把总线的控制权限再次交还回给中央处理单元。归纳而言,完整的DMA传输过程必须经过DMA请求、DMA响应以及后续的DMA传输和DMA结束等四个步骤。DMA请求:中央处理单元对DMA控制器初始化并向I/O接口发出操作命令和向I/O接口提出DMA请求。DMA响应:DMA控制器还需要对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。中央处理单元执行完成当前总线周期即可释放总线控制权。总线裁决逻辑输出总线应答,表示DMA已经响应并且通过DMA控制器通知I/O接口开始执行DMA传输。DMA传输:DMA控制器获得总线控制权后,中央处理单元即刻挂起或只执行内部操作,由DMA控制器输出读写命令而直接控制RAM存储器与I/O接口进行DMA传输。在DMA控制器的控制下,在存储器和外部设备之间直接进行数据传送,在传送过程中不需要中央处理器的参与。开始时需提供要传送的数据的起始位置和数据长度。DMA结束:当完成规定的成批数据传送后还需要设定DMA控制器即释放总线控制权,并向I/O接口发出结束信号,当I/O接口收到结束信号后,一方面停止I/O设备的工作和另一方面向CPU提出中断请求,使中央处理单元从不介入的状态解脱,并执行一段检查本次DMA传输操作正确性的代码。最后带着本次操作结果及状态继续执行原来的程序。藉此DMA传输无需CPU直接控制传输并且也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟单独的一条直接传送数据的通路,使得中央处理单元的效率提高。DMA技术的出现使得外围的外设设备可以通过DMA控制器直接访问内存,与此同时CPU可以继续执行程序而节省资源,其中DMA控制器与CPU分时使用内存:可采用停止CPU访问内存的方式和使用周期挪用的方式或使用DMA与CPU交替访问内存的方式。

关于微处理器的直接内存存取的使用模式。停止CPU访问内存:当外围硬件电子设备要求批量传送一批数据时,则DMA控制器发一个停止信号给CPU要求CPU放弃对地址总线和数据总线以及有关控制总线的使用权,一旦DMA控制器获得总线控制权以后开始进行数据传送。当一批数据传送完毕后DMA控制器便通知CPU可以切换到使用内存并把总线控制权交还给CPU。在这种DMA传送过程中CPU基本上处于不工作状态或者说进入保持状态。再者是关乎到周期挪用:当I/O设备没有DMA请求时CPU按照程序的实际要求去访问内存,一旦I/O设备有DMA请求,则由I/O设备挪用一个或几个内存周期来实现数据传输。还涉及到DMA控制器与CPU交替访问内存:如果CPU的工作周期比内存存取周期长很多,采用交替去访问内存的方法可以使DMA传送和CPU同时发挥最高的工作效率,以两者切换的方式互不影响。以上内容粗略介绍了与微处理器相关的直接内存存取的技术特征,本申请的上下文内容具备这些特征。

嵌入式微处理器所应用的场景多为实时控制、监测系统,举例而言,光伏发电行业通常利用各类数据采集模块或者数据采集装置将光伏组件的电压、电流、功率及温度和发电量等一系列的指定工作参数也即所谓的目标数据进行采集,或是汇流箱、逆变器等任意电力设备的电压、电流、功率及温度和发电量等一系列的指定工作参数进行采集,这些指定参数都属于数据源。当然数据源的种类远远不止这些,这里仅仅只是以光伏发电行业需要重点关注和实时监控的若干数据作为范例,因此本申请提及到数据源或者提及的指定目标数据并不限制于任何特定的类型,只要是需要采集和分析的数据、信息、信号等在广义上都归属于本申请认为的目标数据。数据源本质上是被分析对象,譬如某个时间段某个信号采集模块接收的电压是高电平还是低电平水准需要精准计算分析,如果是定义了高电平表征逻辑数字1而低电平表征逻辑数字0,采样电压或许原本是低电平但是在实际当中往往由于被采集的电压信号在收发过程中混杂了环境因素造成的毛刺或杂波,导致一系列的电压采样值当中偶尔出现了一个或几个极高值而可能误认为信号是高电平,因为物理世界必然会引入杂波模拟量,毫无疑虑这需要对信号进行精准分析来排除误差。假设需要对混杂到采样电压值里面的极高值或极低值等毛刺杂波予以剔除,则涉及到对电压数据集合进行滤波和求均值等类似的数据源处理过程。以上例子的数据流向可描述为:先由用来采集指定目标数据的数据采集装置撷取这些数据源,所有步骤都是按顺序执行,数据源作为物理世界存在的原始模拟量传递给微处理器能够使用的数字量数据耗用的时段为T1,涉及到模拟数据源被微处理器执行模数转换ADC的时间和二进制的数字量数据传递到微处理器的某些内存当中耗用的通信时间(如SPI、IIC、UART通讯);在数字量数据中滤除异常的杂波数据需要采用数字滤波器,惯用的数字滤波包括无限脉冲响应滤波器IIR和有限长单位冲激响应滤波器又称为非递归型滤波器FIR,它们均是数据处理当中采用的常见滤波器尤其是数字信号处理系统中最基本的单元,滤波算法耗用的时段为T2,主要是将信号中不在预定波段频率范围内的杂波滤除,保留预定频率范围内的信号成分,是抑制和防止信号干扰的重要措施;等待被调用的滤波后数据便可按照期望的那样被处理,譬如可以被执行数据融合下的加权平均法处理,该方法将类似于传感器等数据采集装置提供的冗余信息进行加权平均计算的结果作为融合值,前述的一系列电压采样值中偶尔出现的极高值或极低值被滤除后而进行加权平均计算,能够从计算结果中精确地甄别出电压信号反映出来的高电平或低电平水准,原本存在的误差被排除,数据处理耗用的时段为T3。

在可选的实施例中,上述的数据处理方案可应用到光伏发电行业,至于利用各类数据采集模块或者数据采集装置或者功能等同的传感器来采集指定的目标参数,实质上采集这些工作参数的方式方法属于现有技术。作为核心部分的光伏组件和直流电到直流电转换的电压转换器及直流电到交流电转换的逆变器等,还有周边的汇流箱等电力设备,与它们相关的所有工作参数均可以视为数据源。譬如:采集模块可以包括温度采集器、电流采集器或电压采集器,功率计量仪器仪表等,甚至还可以集成或配合环境数据采集器来采集组件的周遭环境参数,直流母线绝缘状态检测仪和故障电弧监测仪等发送的绝缘故障信息或电弧故障信息也可以视为目标数据。因此目标数据的类型是多样化的。任何可采集目标对象的指定参数的方案均兼容本申请,本申请不再单独对现有的数据采集器单独阐释。

针对数据融合的发展及基本概念:数据融合技术随着传感器技术的迅速发展得到了长足的进步,早期主要是应用在军事上,随着工业体系的复杂化和智能化该技术逐步广泛应用到了民用领域,譬如医疗诊断、交通管制、工业自动控制及机械故障诊断等。数据融合在很多场合是针对一个数据处理系统中使用多个传感器这一问题而展开的一种信息处理的研究方法,传感器是典型的数据采集装置所以数据融合也称为传感器融合。数据融合虽然暂时没有形成统一的定义,通常认为利用计算机技术对按时间顺序获得的若干个传感器的观测或采集信息,在设定的准则下加以自动分析、综合处理,从而完成所需要的决策和估计任务而进行的信息处理过程称为数据融合。数据融合的粗略方式:业界从不同角度出发提出了多种数据融合技术方案。按照不同的方式进行分类,如按技术原理划分则可以分为假设检验型数据融合、滤波跟踪型数据融合、聚类分析型数据融合、模式识别型数据融合和人工智能型数据融合等;按判决方式划分则有硬判决型和软判决型数据融合;按传感器的类型分又有同类传感器数据融合和异类传感器数据融合;按照对数据的处理方式划分则又可分为像素级别融合、特征级别融合和决策级别融合;按照从方法来划分数据融合则有所谓的BAYES推理法、表决法、D-S推理法、神经网络融合法等。利用传感器获取的关于对象和环境的全面、完整信息数据,体现在融合算法(Data Fusion)上并且应该认识到当前技术公开的任意融合算法均适用于本申请提及的数据处理。

参见图1,前述采集的原始数据的数模转换及保存耗用时段T1,前述滤波算法耗用的时段为T2以及前述对滤波后的数据处理耗用的时段为T3,按照三个步骤则每个步骤消耗的时间分别为T1、T2、T3,消耗的总时间为T1+T2+T3。基于前文提及的直接内存访问的方法,可以利用微处理理器的DMA(Direct Memory Access)功能来加速采集过程也即使得整体的总时间减小,以至于外设从传感设备读取到的数据不经过CPU内核的处理而通过DMA控制器直接到达内存的指定区域中,前述提到的目标数据采集装置就是典型的传感器设备。图1中展示了用于采集指定目标数据的数据采集装HDW撷取定义为目标数据的原始数据源。微处理器MCU对数据采集装置HDW提供的原始数据执行数模转换以及将二进制的数据保存到内存的指定区域中至少有两种实现方式:数模转换后的数据直接通过CPU内核予以保存、数模转换后的数据不通过CPU内核而是被DMA控制器保存到内存MEM的指定区域中。微处理器执行这样操作的优势是:可以提高数据的采集速度从而极大的缩短所述T1的时间,该方案因为跳过中央处理单元的内核以及由直接内存存取操作来保存数据,达到节省芯片片上资源和提高整个系统运行效率的目的。从而提升单一阶段也即时段T1的执行速度,对于整个系统的运行速度提升仍然极其有限,非常有必要采用改善型的更好的方案来提升微处理器系统效率。注意图中展示了一个或多个数据采集装HDW可以分别采集不同类型的目标数据分别输送给微处理器。

参见图2,利用DMA传输相关中断提高数据处理效率的方案,也即在微处理器上提升数据处理效率的方法:在进行数据采集和处理时,传统的处理方式是按照采集、滤波和计算以及应用的方式来顺序处理。对于通常的数据处理系统来讲,在运算能力足够并且固定的情况下,系统的整体效率受限于采集和滤波阶段,因此本申请提出一种采集和滤波同步进行的方案,假设目标系统是一个音频放大系统,由麦克风也即作为外设HDW数据采集装置的典型范例而输出采集到的模拟量声音信号,微处理器MCU进行ADC转换即模拟到数字的转换和采集,微处理器还需要将撷取到的数据进行IIR滤波,然后滤波得到的没有杂波信号的数据进行放大AMP处理和予以输出。在第一种工作模式下,在微处理器对原始数据源例如麦克风的语音信号执行模数转换也即ADC转换的期间,微处理系统的其他模块不能工作,整个微处理器系统必须等待模数转换ADC采集完成才能进行数据滤波和放大、输出处理,这期间假设DMA控制器执行的保存数据到内存的指定区域中需要传输合计1024个字节,则在这个1024个DMA传输期间,整个微处理器系统等待的时间为图示的时段O1。然后微处理器再对内存的指定区域中保存的数据实施IIR滤波处理而且会触发DMA控制器的中断,微处理器的滤波操作耗用时段O2,此后DMA控制器会按照次序O1-O2执行下一个循环的工作流程,也即整个微处理器系统或者说数据处理系统完成一次DMA相关的数据操作/处理的耗时为O3=O1+O2,其中O1实质上表征了直接内存存取控制器将ADC的数字量数据保存到指定内存中的耗时,和O2实质上表征了微处理器对指定内存中的数据执行滤波操作所耗用的时间。

参见图3,利用DMA传输过半中断提高数据处理效率的方案,也是在微处理器上提升数据处理效率的方法:在新的方法中,额外开启DMA传输过半中断,在这个中断发生时表示采集总量的一半已经传输完成,并且DMA数据传输不需要CPU进行干预从而这个时候可以对缓冲区中前512个字节的数据进行滤波和输出处理,这个时候DMA传输正在传输后512个字节的数据。当后512字节传输完成时此时系统已经完成了前512个字节的处理,可以立刻开启新一轮的DMA传输并开始对数据滤波处理和输出,这样交替的使用内存的前后两端缓存,使数据的采集和滤波输出操作同步运行,减少了CPU的闲置时间并且同时也还大大提升了系统的数据处理效率。

参见图3,具体的实施例是:由麦克风也即作为外设数据采集装置HDW的典型范例而提供采集到的模拟量声音信号数据,微处理器MCU进行ADC转换从而将模拟量数据转换成机器能识别的数字量数据,启动DMA控制器将数字量的数据执行DMA传输而保存到指定的内存当中,由于开启DMA传输过半中断,合计1024个字节在该传输过半中断发生时表示1024的一半也即512字节完成DMA传输,设定DMA控制器完成总量数据的二分之一的数据传输而触发传输过半中断的耗时为N1。然后微处理器对需要传输总量为1024个字节的前二分之一512字节实施滤波和输出处理且耗时为NT1。须注意对内存指定的缓冲区中前512个字节的数据进行滤波和输出处理的阶段DMA传输是同步在传输后512个字节的数据。设置开启DMA传输完成中断,合计1024个字节在该传输完成中断发生时表示1024个字节中后512字节完成DMA传输,设DMA控制器完成全部总量数据中的后512字节的传输所耗时间为N2,则N2和NT1是相同的时段或者是完全重叠的时间段,因为对缓冲区中前512个字节的数据进行滤波和输出处理的阶段这个时候还要求DMA传输去传输后512个字节的数据。然后微处理器对总量为1024个字节的后二分之一也即后512字节实施滤波和输出处理且耗时为NT2。注意前述1024个字节是第一轮传输的总数据,如果后续第二轮的1024数据也需要像前一轮数据一样完成期望的传输和处理,则满足:对内存指定的缓冲区中前一轮1024个字节中的后512个字节数据进行滤波和输出处理的阶段,直接内存存取DMA传输是同步传输第二轮需要传输的总数据1024个字节当中的前512个字节数据。第一轮、第二轮直至推算到第N轮的那些分配的不同1024字节的数据依次被采样和ADC转换以及滤波和放大处理,如此循环便可实现数据存取和处理提高数据处理效率的既定方案,N是自然数。

参见图3,由于利用DMA传输过半中断提高数据处理效率的方案,对比图2的实施例则毫无疑虑的可以获悉:开启DMA传输过半中断,在这个传输过半中断发生时表示采集总量的一半已经传输完成,这个时候可以对缓冲区中前512个字节的数据进行滤波和输出处理,且这个时候DMA传输正在传输后512个字节的数据。当后512字节传输完成时此时数据处理系统已经完成了前512个字节的滤波和传输处理,因此可以立刻开启新的下一轮的DMA传输并开始对上一轮后512个字节数据的滤波和输出处理,这样交替使用内存中指定区域的缓存区的前后两端缓存,使数据采集和滤波输出操作同步运行从而减少了CPU的闲置时间,因为IIR滤波和放大及对外传输的处理需要CPU处理。使用该实施例的方案,整个系统完成一次数据处理的耗时为为N3,在前文中记载微处理器系统或者说数据处理系统完成一次DMA相关操作的耗时为O3=O1+O2,然而在本实施例中毋容置疑耗时完成一次DMA操作的N3=N1+N2,同时N1和N2均等于O1的一半时间所以计算得到N3=O1,可以获悉使用新方案极大地提升了系统的运行效率。微处理器可以将最终的处理后的数据保存到外部存储器或传输给其他器件。

参见图4,是本申请的大致流程示意图,使用本申请构建一个信号放大系统大致步骤如下如图所示:先根据系统的功能和性能要求,在内存当中计算出较为合适的指定缓冲区容量大小例如为2048字节,也即实施步骤S101,需要在内存中计算出指定缓存区容量而且是必不可少的;初始化微处理器的DMA控制器和ADC模块并将DMA直接内存存取的目标地址设置为缓冲区的起始地址,即步骤S102;开启直接内存存取DMA传输过半中断和DMA传输完成中断,即实施步骤S103;在DMA传输过半中断处理函数中发出信号,使主程序开始对缓冲区前1024字节的数据进行处理也即实施步骤S104从而实现DMA传输过半中断触发微处理器处理指定缓存区中的前一半字节;还在DMA传输完成中断处理函数中发出信号,使主程序开始对缓冲区的后1024字节数据进行处理也即实施步骤S105,传输完成中断触发微处理器处理指定缓存区中的后一半字节,并且还需要注意必须在中断处理函数中启动后/新一轮的传输;步骤S106的实施其实相当于是返回到步骤S104即执行的循环下一轮或者新的一轮的2048个字节数据的采集、ADC转换以及传输和处理。使用本申请可以显著提升微处理器上数据采集和处理的效率,提升CPU的利用率和系统实时性,对比传统方法还可以在使用同等条件下的硬件时实现更好的性能或者在达到同等性能时使用的硬件成本更低。本申请中:使用DMA传输过半中断将原始采集数据进行分为前后两段甚至多段处理,传输过程中由于DMA传输不需要CPU干预的特点从而可以实现一边传输数据一边使用CPU对数据进行处理的高效操作,整体性的提升系统的数据处理效率和显著的降低系统的延迟,提升了在传感器系统在物理信号采集和数字化过程中的处理效率,提升了处理速度并增了对于CPU的使用效率。

以上通过说明和附图的内容,给出了具体实施方式的特定结构的典型实施例,上述实用新型提出了现有的较佳实施例,但这些内容并不作为局限。对于本领域的技术人员而言在阅读上述说明后,各种变化和修正无疑将显而易见。因此,所附的权利要求书应看作是涵盖本实用新型的真实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等价的范围与内容,都应认为仍属本实用新型的意图和范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1