基于LabVIEW的STM32调试平台设计

2019-11-11来源: eepw关键字:LabVIEW  STM32  调试平台

0引言

ARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。ARM处理器具有耗电少功能强、1 6位/32位双指令集和合作伙伴众多等特点。本设计采用STM32F103ZET6芯片进行研究。此芯片采用ARM 32位的Cortex-M3 CPU作为内核,芯片带有2通道12位的D/A转换器,12通道DMA控制器能支持外设:定时器、ADC、DAC、USART等,具有112个快速IO端口。同时此芯片具有多达13个通信接口,其中包括USB2.0全速接口[1].

LabVIEW是一种程序开发环境,采用图标代替文本行创建应用程序的图形化编程语言。LabVIEW是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣[2-3].

由于STM32F103ZET6芯片功能强大,IO端口众多,为了方便在线对STM芯片IO端口,DAC、ADC功能以及PWM功能进行配置,本文利用LabVIEW8.6软件对STM32芯片进行了调试平台的设计。利用LabVIEW8.6软件进行调试平台的开发可以起到缩短开发周期,增强程序可读性和理解度以及界面更优美的优点。

1调试平台的总体构架

利用LabVIEW8.6软件设计的调试平台是按照下载到STM32F103ZET6芯片的程序进行设计。STM32芯片的内部程序已经对USB传输控制、IO端口的控制、AD数据采集、DA输出以及PWM输出都进行了定义。STM32系统利用自带的USB2.0通信接口与调试平台进行通信[4].调试平台主要由USB设备选择模块、IO端口控制模块、AD数据采集模块、DA输出模块以及PWM输出模块这五个部分组成,本平台的总体结构框图如图1所示。本文主要对调试平台中USB设备选择模块来进行研究和实现。

图1 调试平台的总体结构框图
图1 调试平台的总体结构框图

2 USB设备选择模块的设计
USB设备选择模块设计流程图

图2 USB设备选择模块设计流程图


调试平台与STM32F103ZET6之间是通过USB设备选择模块进行通信,STM32芯片内部已经通过程序对芯片的USB2.0接口进行了配置,USB设备选择模块通过调用VC编写的USB通信DLL(动态链接库)进行LabVIEW编程来完成调试平台与STM32芯片之间的通信。USB设备选择模块在整个调试平台中主要起到进行USB通信,监测插入STM32设备数量,选择插入STM32设备并且实时显示当前STM32设备使用状况的作用,此模块的设计流程框图如图2所示。USB设备选择模块通过LabVIEW8.6软件来进行设计,软件设计程序的时候分为前面板和后面板两部分,下面对此模块的前后面板设计进行具体的分析。

2.1前面板的设计

前面板是用来设计程序的显示界面的,此USB设备选择模块的前面板如图3所示。LabVIEW软件的前面板设计主要是针对VI的各种控制量和显示量的设计,基本包括了常用的各种控件。对面板的设计就如同搭积木一样简单——选择用户需要的控制量或显示量将它们放在适当的位置上再加上一些简单的图形及文字修饰就构成了与实际仪器类似的面板[ 5 ].通过图3可以看出通过调用控件面板中的列表框控件、字符串输入与字符串显示控件以及布尔控件,对它们的属性进行设置,然后进行布局即构成了USB设备选择模块的前面板。

左边那个列表框控件用来显示当前连接设备列表,当只连接一个STM32设备时,此框会出现设备0字样,如果再连接一个STM32设备,此框接在下面会出现一个设备1字样,随着连接STM32设备的多少,列表框中会依次出现相应的设备序列号。通过对列表框中设备序列号的选取,可以对相应的STM32设备进行在线配置和控制。比如:当点击设备0时,右边设备ID中会显示出设备0的ID号,根据STM32设备与调试平台是否连接,设备连接状态栏会显示出已经连接设备一个或者当前没有连接设备,同时当前使用连接设备栏也会相应的显示设备0已打开,设备ID号×或者当前没有使用设备。同时通过配置新I D号控件可以对连接的STM32设备的ID号进行更改,通过关闭USB控件可以随时断开相应STM32设备与调试平台之间的连接。


USB设备选择模块的前面板
图3 USB设备选择模块的前面板


2.2 后面板设计

后面板是用来进行程序设计的,通过后面板的图形化程序的运行来控制前面板控件以及前面板与STM32 设备之间的操作。后面板图形化程序框图主要通过调用V C 编写的USB 通信DLL 配合后面板函数选板中编程函数中的相关函数以及前面板控件创建的属性节点进行实现[ 6 ] 。USB通信DLL 中包括16个函数,此USB 设备选择模块中要用到获取当前连接的设备数目函数、打开设备函数、关闭设备函数、配置地址函数以及获取设备的序列号函数这5 个函数。LabVIEW 软件中程序的运行是采用多线程数据流的模式,根据USB 设备选择模块的设计流程本图形程序框图被设计成两个模块,一个用于统计连接的STM32 设备数目,一个用于对选定的STM32 设备进行操作。这两个模块是同时运行的。


显示插入STM32设备的程序框图

图4 显示插入STM32设备的程序框图


统计连接STM32设备数目模块程序需先从函数选板中选取一个while循环结构,三重条件结构来构成此模块的大框架,整体程序中最主要的是如何在列表框中显示插入的STM32设备。为了实现这个功能本程序做了如下设计。首先选取函数选板互连接口中的调用库函数节点,双击此函数节点,在库名或路径中调用USB通信DLL文件,接着在函数名中选择获取当前连接的设备数目函数,然后在参数选项中添加变量名并设定其参数类型,这样就完成了获取当前连接的设备数目函数的调用。此函数能检测到插入电脑USB口的STM32设备的个数,设备检测到之后还要让它按照插入的先后顺序显示在列表框中,在这里通过一个条件结构来完成。首先将获取当前连接的设备数目函数与一个等于0的比较函数进行比较,如果等于0即为真,此时执行没有连接设备的程序,如果不为0即为假,此时执行在列表框中按照顺序显示设备0、设备1??设备N - 1的程序。

列表框中显示插入STM32设备的程序框图如图4所示。通过对程序的设计和优化可以得到统计连接STM32设备数目模块程序的程序框图如图5所示。

统计连接STM32设备数目模块程序图

图5 统计连接STM32设备数目模块程序图


对选定的设备进行操作程序框图

图6 对选定的设备进行操作程序框图

对选定的STM32设备进行操作程序通过调用USB通信DLL文件中打开设备函数、关闭设备函数、配置地址函数以及获取设备的序列号函数来进行设计。此程序运用了事件结构,通过设置显示设备列表信息、配置新ID号、打开USB以及关闭USB事件以达到整体功能实现的效果,此程序的设计框图如图6所示。

3结束语

综上所述应用LabVIEW软件设计虚拟仪器设备具有低成本、高效率和高灵活性的特点可以很好的实现远程控制和信息资源的共享。基于LabVIEW8.6设计出来的调试平台,其框图程序的可读性较强,界面友好,操作较方便。测试结果表明,该设计方案响应速度快,此调试平台和STM32为主控件的设备已经应用于工业控制当中,运行良好。


关键字:LabVIEW  STM32  调试平台 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/Test_and_measurement/ic479566.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于LabVIEW的虚拟示波器设计
下一篇:LabVIEW与单片机串口在数据采集系统中的应用

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

LabVIEW和NI CompactDAQ助力UFSC复杂的车辆噪声测试
  声学图像识别50公里时速、1,904.3 Hz下的轮胎和排气噪声  “我们选择了紧凑且直流供电的NI硬件,它能为阵列中的麦克风提供电源。”  - Samir N.。 Gerges, Federal University of Santa Catarina (UFSC)  挑战:  开发一款便携且价格合理的声学波束形成形,实现通过噪声测量和其他应用中的噪声源识别 。  解决方案:  使用32个麦克风组成的螺旋阵列、NI LabVIEW软件、NI声音和振动测量套件,以及32通道的NI CompactDAQ系统,搭配8个NI 9234 4通道动态信号采集(DSA) 模块来获取噪声源的可视化图像,从而识别行驶车辆
发表于 2019-11-11
LabVIEW和NI CompactDAQ助力UFSC复杂的车辆噪声测试
LabVIEW无线传感器网络(WSN)模块先锋的介绍
使用图形化编程快速开发的优势对无线传感器节点编程传统上是需要具有嵌入式系统的知识,还要能够理解供应商所选用的特定的基于文本的编程语言。通过LabVIEW WSN Pioneer,您可使用相同的已成为工业开发采集、处理数据应用标准的图形化编程方法来向NI无线传感器节点添加智能性。LabVIEW WSN PiONeer还可灵活地将C代码与图形化代码直接结合,并在节点上运行,从而可实现算法重用。LabVIEW WSN Pioneer极大地简化了创建NI WSN测量节点的嵌入式应用过程,正如上述LED以1Hz的频率闪烁的案例LabVIEW WSN Pioneer包括
发表于 2019-11-11
LabVIEW无线传感器网络(WSN)模块先锋的介绍
利用LabVIEW产生字模的LED显示屏设计
  .文中介绍了一种直接利用 LabV I EW 的图片处理功能自动生成字符点阵的方法,利用该程序无需使用专门的字库可自动得到各种字符的点阵,然后将显示信息通过串行传输方式发送到单片机,通过单片机驱动相应的二极管发光,显示信息。硬件由计算机、单片机、驱动电路和 LED 显示屏构成,结构如图 1所示。图 1总体结构框图。  1. 基于 LabV I EW 的汉字字模的提取  1.1. 基于 LabV IEW 的汉字字模的提取方法  现在比较流行的方法是基于汉字字符的编码方式形成字模。  汉字机内码与区位码的关系为:  区位码=机内码- 160(1)  对于 16*16点阵字库,每个汉字占用 32 b i t 其首字
发表于 2019-11-11
利用LabVIEW产生字模的LED显示屏设计
LabVIEW与单片机串口在数据采集系统中的应用
1.LabVIEW分析LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显着区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件!现在的图形化主要是上层的系统
发表于 2019-11-11
LabVIEW与单片机串口在数据采集系统中的应用
基于LabVIEW的虚拟示波器设计
分析。 LabVIEW(实验室虚拟仪器集成环境)是NI公司(美国国家仪器公司)的创新软件产品,也是目前应用最广、发展最快、功能最强的图形化软件集成开发环境,可实现数据采集、仪器控制、过程监控和自动测试等实验室研究和工业自动化领域的实际任务。LabVIEW从基本的数学函数、字符串处理函数、数据运算函数、文件I/O函数到高级分析库,包括了信号处理、窗函数、滤波器设计、线性代数、概率论与数理统计、曲线拟合等,涵盖了仪器设计中几乎所有需要的函数。LabVIEW的功能模块包括数据采集、通用接口总线和仪表的实时控制、数据分析、数据显示以及数据的存储。拥有大量数据采集和仪表控制的功能模块和开发工具,因此,LabVIEW可以编出外观和功能
发表于 2019-11-11
基于LabVIEW的虚拟示波器设计
stm32正点原子学习笔记(29)独立看门狗实验
; IWDG_ReloadCounter(); 9     IWDG_Enable();10     11 }iwdg.h1 #ifndef __IWDG_H2 #define __IWDG_H3 4 #include "stm32f10x.h"5 6 void iwdg_init(uint8_t IWDG_Prescaler,uint16_t Reload);7 8 9 #endifmain.c 1 #include "exti.h" 2 #include "
发表于 2019-11-11
stm32正点原子学习笔记(29)独立看门狗实验
小广播
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved