CN104850453A - 一种基于 Android 的便携式虚拟仪实现方法 - Google Patents
一种基于 Android 的便携式虚拟仪实现方法 Download PDFInfo
- Publication number
- CN104850453A CN104850453A CN201510269082.4A CN201510269082A CN104850453A CN 104850453 A CN104850453 A CN 104850453A CN 201510269082 A CN201510269082 A CN 201510269082A CN 104850453 A CN104850453 A CN 104850453A
- Authority
- CN
- China
- Prior art keywords
- android
- virtual instrument
- data
- stm32
- signal generator
- 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.)
- Pending
Links
Landscapes
- Telephone Function (AREA)
Abstract
本发明涉及虚拟仪器技术领域,具体涉及一种基于Android的便携式虚拟仪实现方法,包括:以Android设备为终端,实现显示信号波形以及控制外设电路输出功能的软界面;在嵌入式外设STM32协同工作下,结合内部ADC和外部高速ADC完成两个层面的信号采集硬件电路和信号发生器硬件电路,将Android设备变为60MHz示波器、200MHz信号发生器和±15V直流电源;增加WIFI模块,实现对实验数据的存储和访问。本发明在协同嵌入式外设协同工作下,利用易携带的Android设备作为显示和控制终端的思想,不仅适合用于教学,而且能够在某种程度上代替传统仪器使用,具有较高的商业价值和实用价值。
Description
技术领域
本发明涉及虚拟仪器技术领域,具体涉及一种基于Android的便携式虚拟仪实现方法,适用于工业测量,“口袋实验室”,家用医疗保健仪器等。
背景技术
传统仪器如示波器、信号源等过于笨重,无法全部搬到教室。所以在高校,电子电路基础课程和实验课程往往被分离为两个部分分别教授,导致课堂与实验的分离。这种现象的产生,往往会加重现阶段大学生重“理论”轻“实践”,重“书本”轻“动手”,重视单一专业学习而缺乏软硬件结合学习等问题。
NI公司提出的虚拟仪器概念是对传统仪器、传统实验设备理念的巨大突破。虚拟仪器由模块化的仪器硬件、计算机与高效、灵活的软件相结合完成各种测试和应用,提高了系统的灵活性,节省了物质资源,提高了分析处理的效率,并且实现了人机互动和界面友好。
在一个虚拟仪系统中,用户可以根据自己的需要,组件自己专用的仪器系统。这种系统同传统的仪器相比,具有灵活性高,维护费用低,系统功能、规模可以通过软件进行修改、增减,技术更新更快,价格低等优势,由于系统功能是用户自定义的,更符合用户自身需求。
随着计算机技术的发展,目前基于计算机的虚拟仪器技术已经大量出现,且已经比较成熟,采用的是利用上位机虚拟仪器程序、数据采集卡和传感器的形式实现数据采集与处理工作,这种仪器可以代替传统的测量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等。
随着各项技术的不断发展,测量仪器除了在追求多功能和高性能的同时,也在向体积小重量轻的方向发展。
与计算机相比,基于Android系统的智能手机或平板携带更加方便,操作更简单,并且可以轻松完成应用软件的安装和运行,更符合普通人的需求。
同时,面临现阶段大学生重“理论”轻“实践”,重“书本”轻“动手”,重视单一专业学习而缺乏软硬件结合学习等问题的频频出现,使得传统实验教学配置方式已经到了必须改革的地步。因此,将虚拟仪器应用于高校实验教学中有助于改革传统的实验教学模式,将虚拟仪器引入到实验教学中具有必要性、可行性和优越性,而且易于构建。
尽管现在出现了基于计算机的虚拟仪器的设计方法,但是相对于计算机来说,基于Android的虚拟仪器更适用于“口袋实验室”。不管是在实验课堂上还是在其他地方,学生都能将自己的手机变成一个测量仪器,真正实现能装进口袋的“实验室”。
不仅仅是用于教学,在其他地方,同样可以体现“口袋”这一概念。例如,可以直接将所述虚拟仪器用于偏远地区的工业测量;也可以将手机变成一个医疗器械,使高血压等疫病患者能随时监测到身体状况等等。
时下基于Android系统的智能手机或平板特别流行,而且,它是一个真正意义上的智能开源操作系统,得到了大量用户的认可,在全球范围也得到了迅猛发展。从技术角度上来看,将虚拟仪器移植到Android设备上具有可行性。因此,用Android设备作为虚拟仪器终端是一个必然的发展趋势,也是一次新的挑战。
在Android设备上如何选择正确的方式进行数据采集以及如何与上层应用程序之间进行数据交换将是Android设备上本课题的关键性问题。尽管计算机上的虚拟仪器技术相对比较成熟,但是,不能将其完全照搬到手机上来,必须按照手机特点来进行研究与设计。
发明内容
针对目前学校实验室的需求以及现有技术上的一些缺陷与不足,本发明提供了一种基于Android的便携式虚拟仪的实现方法,其目的是利用Android设备作为虚拟仪器终端,实现能替换传统实验室中的示波器、信号发生器和电源功能的虚拟仪器,逐步达成“口袋实验室”的目标。
为实现所述便携式虚拟仪,本发明中采用将Android设备和嵌入式外设协同,并给出示波器、信号发生器、电源的实现方法,其中包含的主要技术有:
101、以Android设备为终端,实现显示信号波形以及控制外设电路输出功能的软界面。
102、利用STM32内部AD和DA完成信号采集及信号发生器硬件电路,实现1MHz示波器,1MHz信号发生器,以及±15V直流电源。
103、利用外部高速AD完成信号采集硬件电路和利用外部高速DDS和高速DA完成信号发生器硬件电路,实现60MHz示波器,200MHz信号发生器和±15V外设直流电源。
104、实现数据存储与访问。增加WIFI模块,通过WIFI将实时实验数据上传至服务器储存和利用WIFI或有限网络对实验数据进行远程访问。
在实现101模块功能时,采用的技术包括:
基于JAVA软件开发平台实现相应功能。实现过程中,采用MVC机制,即数据、视图、控制器三者之间相互联系又保证足够松的耦合。数据部分主要用来记录数据和实现与硬件没有过多关系的功能函数,负责提供具体的数据操作接口和算法的功能实现以及处理控制器不能处理的信息;视图部分负责绘制图形,提供给用户绘制的接口,并用来显示各种操作在外观上产生的变化;控制器部分主要负责处理Android设备输入(触摸屏输入)消息,调用数据和视图提供的接口来修改具体的数据和绘制信息,同时根据各种控制字对硬件输出进行控制。
在实现102和103中的电源模块功能时,采用DC-DC技术,实现0~±15V直流电源。通过将从手机USB接口端获取的电压通过boost拓扑结构电路进行升压处理,达到所需要的(5-15)V的动态可调效果。再对此电压进行负向反转,得到-(5-15)V电压。
在实现102和103中的数据传输模块功能时,采用USB-OTG技术实现STM32与Android设备之间的数据传输。USB OTG技术采用微型AB插座,将STM32作为主机,Android设备作为从机,在设备连接过程中,通过主机协商协议,允许主机和外设功能互换,实现设备与设备之间的数据传输。
在实现102中的示波器和信号发生器模块功能时,即第一层面硬件实现,利用STM32内部AD和DA构建示波器和信号发生器硬件电路。其中,示波器功能实现的具体步骤如下:外部模拟信号输入STM32,由STM32内部ADC对其进行采样,完成模数转换,再将数据存储在内存中,接着以数据包的形式通过DMA将数据传到USB口,通过USB-OTG线将数据传送给Android设备,进行相应处理,最后显示在所述Android设备的软面板上。信号发生器功能实现的具体步骤如下:STM32内部DA产生信号源,输出信号,提供给外部测试电路外部使用,接着STM32内部AD对其进行采样,完成模数转换,将数据存储在内存中并对其进行相应运算转换,以数据包的形式通过DMA将数据传到USB口,通过USB-OTG将数据传给Android设备,进行相应处理并显示。
在实现103中的示波器和信号发生器模块功能时,即第二层面硬件实现,利用外部高速AD、DA和外部高速DDS构建示波器和信号发生器硬件电路。其中,示波器功能实现的具体步骤如下:与第一层面功能相比,差别在于,由外部高速AD对外部输入的模拟信号进行采样。信号发生器功能实现的具体步骤如下:与第一层面功能相比,差别在于,通过外部高速DA对STM32内部产生信号源的进行数模转换,并输出信号至外部测试电路,供外部使用,然后由外部高速AD对此信号源进行采样。
在实现104中的数据存储与访问模块功能时,采用的技术包括:
添加WIFI功能模块,实现上传实验数据至服务器存储并利用WiFi或有限网络对实验室数据进行远程访问的功能模块。功能的实现主要是通过软件实现,设置保存实验数据和查看实验数据按钮,且将保存的实验数据上传至网络存储。
附图说明
图1 软件设计流程图
图2 基于STM32内部AD硬件结构图
图3 基于STM32内部DA硬件结构图
图4 第一层面信号发生器结构图
图5 基于外部高速AD硬件结构图
图6 基于外部高速DA硬件结构图
图7 第二层面信号发生器结构图
图8 STM32控制流程图
图9 系统整体结构图
具体实施方式
为了使本发明的目的、技术方案及目的更加明确,以下将结合附图,对本发明进行进一步详细说明。此处涉及的具体实例仅用于解释本发明,并不局限于本发明。
本实施例中涉及到的软面板,包括显示界面及控制端界面。功能模块包括USB-OTG进行高速数据传输模块;示波器相关数据采集与处理模块;信号发生器相关数据采集与处理模块;WIFI进行数据存取模块。软面板及功能实现的流程图如图1所示,
根据本发明所述实现方法可知,所述便携仪的功能实现根据信号频率分成两个不同层面的硬件实现。第一层面,采用嵌入式外设STM32内部AD/DA实现相应功能;第二层面,采用嵌入式外设外部的高速AD/DA及DDS实现对第一层面功能的扩展。具体方法如下:
嵌入式外设STM32内部AD/DA位数均为高精度的16位,最高可达14M的采样速率,因此完全满足学生对精度的需求。在本实施例中,为了提高采集的效率,在ARM的内存空间开辟4KB作为数据缓冲区。模拟信号送入A/D转换器进行模数转换;A/D每次转换结束之后,使用DMA方式将转换后的16位数据顺序搬移到数据缓冲区中;待缓冲区满后,将4KB数据打包经由USB总线传到手机,由所述应用程序进行数据处理。
如图2和图3为所述STM32内部AD/DA硬件流程图。图2表示的是采用STM32内部AD对外部模拟信号进行模数转换的流程。图3表示的是采用STM32内部DA和AD实现第一层面信号发生器的信号产生和信号采集流程。
构建第一层面虚拟示波器时,借助于STM32内部AD对模拟信号进行采集,通过DMA方式对转换后的数据打包至缓冲区,待缓冲区满,采用USB-OTG线将数据传送给手机,由手机对数据进行处理与显示。本实施例采用的是STM32F4的ADC,它是一个12位逐次逼近型的模拟数字转换器。它有19个通道,可测量16个外部源、2个内部源和Vbat通道的信号。这些通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。STM32F4将ADC的转换分为2个通道组:规则通道组和注入通道组。其中规则通道相当于正常运行的程序,而注入通道就相当于中断。在程序正常执行的时候,中断是可以打断的。在实现过程中只需对信号进行采样不需要进行不同模式之间的来回转换,因此设置STM32F4的ADC的模式为单次转换。
图4为第一层面虚拟信号发生器结构图,采用STM32单片机生成波形,由于是用软件实现滤波,因此不会有寄生的高次谐波分量,生成的波形比较纯净。如图所示,手机控制显示端在系统中实现传输数据、传输命令等功能。当需要的传输命令较多时,采用手机控制显示端可以避免繁琐的按键操作,使得人机交互更加方便。同时采用手机控制显示端较少的消耗手机的CPU资源,避免占用过多的手机屏幕显示空间;STM32与手机之间的数据传输采用USB-OTG线。
USB-OTG技术采用微型AB插座,将STM32作为主机,Android手机作为从机,在设备连接使用过程中,通过主机协商协议,允许主机和外设功能互换,实现设备与设备之间的数据传输。而本实施例程中使用的STM32F4的USB-OTG技术在硬件上采用miniB-USB接口,主机协商协议,在当电源总线没有使用时,允许A类设备挂起电源总线节省电池电量消耗,同时是采用库开发,不需要过多的关注大量的寄存器操作,给USB-OTG技术开发带来了方便。由于USB设备驱动STM32和手机厂家已经做好,因此在实际应用中只需使用USB-OTG连接线即可实现手机和STM32之间微形AB型USB的连接。
图5为外部高速AD硬件设计结构图,是本发明第二层面中虚拟示波器的数据采样模块结构图。它以STM32强大的功能作为主控单元,采用外部高速AD,对输入的模拟信号进行采样,实现方法如图5所示:由外部高速AD对外部输入的模拟信号进行采样,完成模数转换,再将数据存储在内存中,以数据包的形式通过DMA将数据传到USB口,最后再通过USB-OTG将数据传给手机,利用手机软面板对数据进行显示。模数转换模块采用单通道,高达550Msps转换速率的12位ADS5463低功耗模数转换芯片;使用STM32自带的USB控制器实现USB-OTG高速数据传输。在整个过程中,存在四个中断源:定时器3,DMA通道,STM32-USB,手机-USB。其中定时器3是节拍发生器,用于定时触发A/D转换器采样与转换;DMA通道产生中断表明数据缓存已满,需要将AD采样数据打包并通过USB发送;STM32-USB完成USB枚举,接收手机端控制命令并解析执行,发送数据包;手机-USB接收数据包并解析显示。
图6为以上所述外部高速DA硬件设计结构图。如图所示,STM32内部产生信号源,通过外部高速DAC进行数模转换,输出信号至外部测试电路,供外部使用,然后由外部高速ADC对此信号源进行采样,完成模数转换,再将数据存储在内存中并对其进行相应运算转换,以数据包的形式通过DMA将数据传到USB口,最后通过USB_OTG将数据传给手机,利用手机软面板对数据进行显示。
图7为第二层面虚拟信号发生器流程图。本实施例程中使用的STM32F4搭载了ARM 32位处理器,Cortex M4内核,带FPU和DSP指令集,主频高达168MHz的强大处理能力,同时STM32F4的FSMC采用32位多重AHB总线矩阵,从而完成满足本发明的第三层面对产生1M~60M信号主控MCU的要求。由于需要输出60M的信号,STM32内部的AD/DA已不能满足要求,因此,在本实施例程中采用的是具有16级幅度,频率,相位调制,由外部管脚输入数据控制,内部时钟高达500MHz的直接数字频率合成的10位AD9959低功耗数模转换芯片。同时AD9959具有四个独立的DDS通道,每个通道独立控制频率,幅度,相位,具备500Msps的转换速率,配合STM32自身多通道的模式转化,可以实现多信号,多通道,独立显示。此外AD9959可直接输出高达200MHz的正弦信号,满足了用户在高速比较,信号调制等特殊方面的应用。
图8为STM32控制结构图。本实施例中通过Android手机端通过控制嵌入式外设AD的采样率来实现两个层面的选择,同时根据不同层面的选择,更改DMA数据包的大小,从而达到控制STM32输出的目的。根据实际所需功能的不同而选择不同程度的硬件实现。
图9为整体设计流程图。本实施例程的主要控制流程为,通过手机控制显示端控制外部高速AD的采样率,以此来适应不同性能手机对USB口传来数据的处理能力,即AD的采样率由手机端发出控制命令至硬件STM32,然后STM32对AD的采样率作出调整,同时更改DMA数据包的大小,由此来达到手机的处理能力。
利用本发明可以实现以Android设备为终端的便携式虚拟仪的设计。它是一种移动测量工具,虽然是为解决现阶段大学生重“理论”轻“实践”,重“书本”轻“动手”,重视单一专业学习而缺乏软硬件结合学习等问题而提出的便携式虚拟仪的设计与实现方法,这为“口袋实验室”的实现做了一个可行性规划,它成本低、易于实现、也易操作,给那些想学习却没资源的同学一个很有利的学习环境。同样,由于外接入了一些硬件,使得此虚拟仪的功能变得更强大,在一定程度上可以代替传统仪器,实现建在偏远地区的基站,高海拔信号塔等地区的基本测量工作,在此,所述虚拟仪的实现还具有较高的商业价值和使用价值。
以上所做的实施例仅为本发明的其中一种实现方案,并不以限制本方面,凡在本发明的精神和原则之内所作的任何修改等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于Android的便携式虚拟仪实现方法,其特征在于,通过Android设备和嵌入式外设协同,给出示波器、信号发生器、电源的实现方法,内容包括:
101、以Android设备为终端,实现显示信号波形以及控制外设电路输出功能的软界面。
102、利用STM32内部AD和DA完成信号采集及信号发生器硬件电路,实现1MHz示波器,1MHz信号发生器,以及±15V直流电源。
103、利用外部高速AD完成信号采集硬件电路和利用外部高速DDS和高速DA完成信号发生器硬件电路,实现60MHz示波器,200MHz信号发生器和±15V外设直流电源。
104、实现数据存储与访问。增加WIFI模块,通过WIFI将实时实验数据上传至服务器储存和利用WIFI或有限网络对实验数据进行远程访问。
2.根据权利要求书1所述的一种基于Android的便携式虚拟仪实现方法,内容101的特征在于,以Android设备为终端,完成实时数据波形的显示。
3.根据权利要求书1所述的一种基于Android的便携式虚拟仪实现方法,内容101的特征在于,实现数据、显示处理的可调性。在所述软面板上实现控制外设STM32电路输出界面,通过设置AD对测试信号的采样率,进而满足不同性能设备对USB传来数据的处理和显示能力,实现数据可调性。
4.根据权利要求书1所述的一种基于Android的便携式虚拟仪实现方法,内容101特征在于,对硬件外设差异的屏蔽。所述便携仪将功能实现根据信号频率分为两个层次,并采用了不同硬件电路来实现。根据虚拟仪器的设计准则,所述便携仪通过Android设备和STM32协同操作,使Android设备应用程序(APP)具有对不同层次硬件外设差异的适应性,体现了虚拟仪器的关键特色,统一的一个APP软件,可以实现多套不同硬件水平的测量仪器功能。
5.根据权利要求书1所述的一种基于Android的便携式虚拟仪实现方法,内容102的特征在于,将Android设备与嵌入式外设STM32协同,实现功能更强大,适用范围更广,使用更便利的便携式仪器。
6.根据权利要求书1所述的一种基于Android的便携式虚拟仪实现方法,内容102的特征在于,使用嵌入式外设STM32内部自带的ADC实现信号采集,根据STM32内部ADC的能力,实现频率在1MHz的示波器和1MHz的信号发生器。
7.根据权利要求书1所述的一种基于Android的便携式虚拟仪实现方法,内容103的特征在于,使用外部高速ADC和DDS实现信号采集及信号发生装置,实现频率在60MHz的示波器和200MHz信号发生器。
8.根据权利要求书1所述的一种基于Android手机的便携式虚拟仪实现方法,其特征在于,利用USB实现超高速率数据传输。利用USB_OTG线以及软件协同作用实现达到480Mbps的高速传输速率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510269082.4A CN104850453A (zh) | 2015-05-25 | 2015-05-25 | 一种基于 Android 的便携式虚拟仪实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510269082.4A CN104850453A (zh) | 2015-05-25 | 2015-05-25 | 一种基于 Android 的便携式虚拟仪实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104850453A true CN104850453A (zh) | 2015-08-19 |
Family
ID=53850110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510269082.4A Pending CN104850453A (zh) | 2015-05-25 | 2015-05-25 | 一种基于 Android 的便携式虚拟仪实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104850453A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955918A (zh) * | 2016-05-19 | 2016-09-21 | 台州学院 | 一种实验万用仪系统 |
CN106910401A (zh) * | 2016-10-09 | 2017-06-30 | 东北师范大学 | 一种多功能虚拟电子仪器 |
CN107153377A (zh) * | 2017-05-25 | 2017-09-12 | 昆明理工大学 | 一种电子电路实验数据提取及报告生成的嵌入式系统 |
CN107424396A (zh) * | 2017-03-23 | 2017-12-01 | 东南大学 | 基于无线通信的手机虚拟实验室及其实现方法 |
-
2015
- 2015-05-25 CN CN201510269082.4A patent/CN104850453A/zh active Pending
Non-Patent Citations (2)
Title |
---|
唐伟等: "STM32F103x的USB多路数据采集系统设计", 《单片机与嵌入式系统应用》 * |
顾雯雯: "基于Cortex-M4单片机的多功能虚拟示波器的设计与实现", 《现代计算机(专业版)》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955918A (zh) * | 2016-05-19 | 2016-09-21 | 台州学院 | 一种实验万用仪系统 |
CN105955918B (zh) * | 2016-05-19 | 2019-06-04 | 台州学院 | 一种实验万用仪系统 |
CN106910401A (zh) * | 2016-10-09 | 2017-06-30 | 东北师范大学 | 一种多功能虚拟电子仪器 |
CN107424396A (zh) * | 2017-03-23 | 2017-12-01 | 东南大学 | 基于无线通信的手机虚拟实验室及其实现方法 |
CN107153377A (zh) * | 2017-05-25 | 2017-09-12 | 昆明理工大学 | 一种电子电路实验数据提取及报告生成的嵌入式系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104850453A (zh) | 一种基于 Android 的便携式虚拟仪实现方法 | |
CN103019744B (zh) | 基于计算中间件的雷达信号处理模块库的构建方法及应用 | |
CN102426472A (zh) | 一种半实物信号发生器及其使用方法 | |
CN203054516U (zh) | 一种基于fpga的多波形信号发生器 | |
CN204614281U (zh) | 键盘类乐器智能触控演奏学习机 | |
CN201387605Y (zh) | 一种便携式设备 | |
CN205103599U (zh) | 一种跨境贸易bpo应用云终端装置 | |
CN101871908B (zh) | 任意函数波形伏安仪 | |
CN103944538A (zh) | 一种任意波形发生装置 | |
CN106950885A (zh) | 一种信号的时域和频域分析系统 | |
CN203800905U (zh) | 一种任意波形发生装置 | |
CN105630210A (zh) | 能任意绘制波形的4GSa/s高速波形数据合成装置 | |
CN201156341Y (zh) | 基于dsp芯片的多功能实验开发教学装置 | |
CN201134024Y (zh) | 一种基于dsp的振动控制器 | |
CN204203853U (zh) | 一种计算机辅助控制器 | |
Wang et al. | Design of the high-precision signal generator based on ARM | |
CN201134025Y (zh) | 采用dsp的冲击测量控制仪 | |
CN219643912U (zh) | 一种由手机控制的信号发生器 | |
CN201773508U (zh) | 多媒体嵌入式实验设备 | |
Lan et al. | Design of Virtual Amplitude Modulation System Based on LabVIEW | |
CN206312562U (zh) | 一种用于多功能点歌机的控制板 | |
CN107105326A (zh) | 一种用于电视机的交互系统 | |
Zhang | Intelligent Signal Generator Based AT89C51 Microcontroller | |
He | Research on Digital Circuit Experiment System Based on Cloud Experiment | |
CN201741303U (zh) | 嵌入式实验设备与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150819 |
|
WD01 | Invention patent application deemed withdrawn after publication |