一种万用表以及读数方法技术

技术编号:13878506 阅读:70 留言:0更新日期:2016-10-22 18:45
一种万用表,包括:FPGA模块,所述FPGA模块包括存储空间;ADC模块,所述ADC模块将输入的模拟信号转换为ADC数据;数据读取模块,所述数据读取模块从所述存储空间中直接读取ADC数据;输出模块,所述输出模块用于显示ADC数据;内存模块,所述内存模块为二级缓存;控制器,所述控制器用于发出控制命令。一种万用表的读数方法,其特征在于,包括:模拟信号能够通过ADC模块转化为数字信号,即ADC数据;万用表检测是否有待读取的ADC数据;将ADC数据存储进入FPGA模块的存储空间中;存储空间中的ADC数据存入二级缓存中;数据读取模块能够直接从所述FPGA模块中读取ADC数据。

【技术实现步骤摘要】

本专利技术涉及一种万用表以及读数方法,具体涉及一种万用表,以及提高读数速度的方法。
技术介绍
万用表又称为复用表、多用表、三用表、繁用表等,是电力电子等部门不可缺少的测量仪表,一般以测量电压、电流和电阻为主要目的。目前,在工业上使用的台式万用表中,通常采取的是每读取一次ADC数据就需要调动一次接口驱动程序的方法。这种方法的不足之处在于:读取一次数据就需要调用一次驱动程序,而调用驱动程序会消耗很多时间,由此使得ADC数据读取的时间过长,从而引起万用表读数速度慢、读取效率低的问题。
技术实现思路
本申请提供了一种万用表以及提高万用表读数速度的方法。根据第一方面,在一种实施例中提供一种万用表,其特征在于,包括:ADC模块,所述ADC模块能够将输入的模拟信号转换为数字信号,即ADC数据;FPGA模块,所述FPGA模块具有存储空间,所述存储空间为一级缓存;内存模块,所述内存模块是二级缓存‘数据读取模块,所述数据读取模块能够是DMA模块,所述DMA模块能够从二级缓存中直接读取ADC数据;控制器,所述控制器在硬件层发出命令控制数据读取模块从二级缓存中读取ADC数据;输出模块,所述输出模块显示已读取的ADC数据。根据第二方面,在一种实施例中提供一种万用表的读数方法,其特征在于,包括:模拟信号能够通过ADC模块转化为数字信号,即ADC数据;万用表检测是否有待读取的ADC数据,所述ADC数据为模拟信号;将ADC数据存储进入FPGA模块的存储空间中;存储空间中的ADC数据存入二级缓存中;数据读取模块能够直接从所述二级缓存中读取ADC数据。根据本专利技术的技术方案,在万用表读取ADC数据时没有采取传统的调用接口驱动程序读取ADC数据的方法,而是采用了硬件方法,利用FPGA模块内部的存储空间作为缓存来存储大量数据。附图说明图1为万用表的结构示意图;图2为万用表读数方法的流程图。具体实施方式下面通过具体实施方式结合附图对本专利技术作进一步详细说明。图1示意性地表示了万用表的结构图。所述万用表包括:控制器20,所述控制器20在硬件层发出命令控制数据读取模块22读取ADC数据。ADC模块21,所述ADC模块21能够将输入的模拟信号,包括:电压信号、电容信号或电流信号转换为相应的ADC数字信号。ADC模块21能够根据输入的模拟信号的不同类型切换相应的模式,从而进行模拟信号到数字信号的转换过程。数据读取(DMA)模块22,所述DMA模块22能够读取存储在FPGA模块23中的ADC数据。DMA技术是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过控制器20,也不需要控制器20干预。整个数据传输操作都是在“DMA控制器”的控制下进行的。DMA模块的控制器20除了在数据传输开始和结束时做一点处理外,在传输过程中控制器20可以进行其他的工作。这样,在大部分时间里,控制器20和输入输出都处于并行操作。因此,使整个DMA模块22的效率大大提高。FPGA模块23,即现场可编程门阵列模块,在本专利技术中FPGA模块23提供了存储空间,即一级缓存231。FPGA模块23能够存储在步骤13中读取的ADC数据,首先ADC数据存储在一级缓存231中,原因在于一级缓存231能够以较快的速率获取ADC数据,从而避免数据堆积,但是一级缓存231的容量有限,难以存储大量的ADC数据,因此需要二级缓存来大量存储ADC数据。内存模块24,即二级缓存。内存模块24将一级缓存231中存储的ADC数据会存储到二级缓存中,原因在于二级缓存能够有足够大的容量来存储ADC数据,缓存用于暂时保存在处理数据过程中的数据。由于缓存指令和数据与FPGA同频工作,因此缓存的容量越大,存储信息越多,可减少与内存之间的数据交换次数,提高运算效率。但因高速缓冲存储器均由静态RAM组成,结构较复杂,在有限的芯片面积上,一级缓存的容量不可能做得太大。那么,二级缓存的作用就是一级缓存的缓冲器:一级缓存制造成本很高因此它的容量有限,二级缓存的作用就是大量存储那些处理时需要用到、一级缓存又无法存储的下的数据。输出模块24,所述输出模块24显示已读取的ADC数据。输出模块24例如是液晶显示器。图2示意性地表示了万用表读数的流程图。先描述结构再描述步骤在步骤11中,万用表的ADC模块21首先将输入的模拟信号转化为数字信号,即ADC数据。在步骤12中,万用表在应用层发出请求来检测是否有待读取的ADC数据。在步骤13中,如果万用表检测到ADC数据,则继续在应用层发出请求来检测下一个ADC数据,直到没有检测到待读取的ADC数据。在步骤14中,万用表读取ADC数据。首先,万用表控制器20在硬件层发出读取命令;其次,利用串行外设接口(Serial Peripheral Interface,简称SPI),万用表在硬件层面上直接获取ADC数据,ADC数据的读取速率为100k/s。在步骤15中,所读取的ADC数据被存储到FPGA模块中。首先,FPGA模块的一级缓存231接收所读取的ADC数据;接着,一级缓存231并不存储数据,而是将ADC数据转入到二级缓存中,二级缓存具有足够大的空间来存储大量的ADC数据。在步骤16中,利用直接内存访问(Directional Memory Access,简称DMA)模块直接从二级缓存中一次性读取大量数据,例如1000个数据。二级缓存中的ADC数据被读取完成后,则会有新的ADC数据被存储进来,也就是说二级缓存中的ADC数据持续保持更新。本专利技术的实施方式在于将原来对ADC数据的读取流程中需要软件多次对硬件操作的模式,改为使用硬件对大量ADC数据一次性进行操作。我们可以理解为由原来的“软件对硬件”操作修改为“硬件对硬件”操作。“软件对硬件”在本专利技术中例如能够是利用接口驱动程序来读取相应的ADC数据。一方面,单纯的“硬件对硬件”的数据处理速率肯定会比“软件对硬件”操作快的多,另一方面,“硬件对硬件”的操作又可以同时对大量ADC数据一次性进行操作,从而大大提高了读取速度。本领域技术人员可以理解,上述实施方式中各种方法的全部或部分步骤可以通过程序来指令相关硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等。以上应用了具体个例对本专利技术进行阐述,只是用于帮助理解本专利技术,并不用以限制本专利技术。对于本专利技术所属
的技术人员,依据本专利技术的思想,还可以做出若干简单推演、变形或替换。本文档来自技高网
...

【技术保护点】
一种万用表,其特征在于,包括:FPGA模块,所述FPGA模块包括存储空间;ADC模块,所述ADC模块将输入的模拟信号转换为ADC数据;数据读取模块,所述数据读取模块从所述存储空间中直接读取ADC数据;输出模块,所述输出模块用于显示ADC数据;控制器,所述控制器用于发出控制命令;内存模块,所述内存模块是二级缓存。

【技术特征摘要】
1.一种万用表,其特征在于,包括:FPGA模块,所述FPGA模块包括存储空间;ADC模块,所述ADC模块将输入的模拟信号转换为ADC数据;数据读取模块,所述数据读取模块从所述存储空间中直接读取ADC数据;输出模块,所述输出模块用于显示ADC数据;控制器,所述控制器用于发出控制命令;内存模块,所述内存模块是二级缓存。2.如权利要求1所述的万用表,其特征在于,所述模拟信号包括:电压信号或电流信号。3.如权利要求1所述的万用表,其特征在于,所述FPGA模块的存储空间串行地存储ADC数据。4.如权利要求1所述的万用表,其特征在于,所述存储空间为一级缓存。5.如权利要求1所述的万用表,其特征在于,所述数据读取模块是直接内存访问模块。6.如权利要求1所述的万用表,其特征在于,所述一级...

【专利技术属性】
技术研发人员:邓智炜彭晓林张磊
申请(专利权)人:深圳市鼎阳科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1