完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
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].
图1 调试平台的总体结构框图 2 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设备与调试平台之间的连接。
2.2 后面板设计 后面板是用来进行程序设计的,通过后面板的图形化程序的运行来控制前面板控件以及前面板与STM32 设备之间的操作。后面板图形化程序框图主要通过调用V C 编写的USB 通信DLL 配合后面板函数选板中编程函数中的相关函数以及前面板控件创建的属性节点进行实现[ 6 ] 。USB通信DLL 中包括16个函数,此USB 设备选择模块中要用到获取当前连接的设备数目函数、打开设备函数、关闭设备函数、配置地址函数以及获取设备的序列号函数这5 个函数。LabVIEW 软件中程序的运行是采用多线程数据流的模式,根据USB 设备选择模块的设计流程本图形程序框图被设计成两个模块,一个用于统计连接的STM32 设备数目,一个用于对选定的STM32 设备进行操作。这两个模块是同时运行的。
图4 显示插入STM32设备的程序框图 统计连接STM32设备数目模块程序需先从函数选板中选取一个while循环结构,三重条件结构来构成此模块的大框架,整体程序中最主要的是如何在列表框中显示插入的STM32设备。为了实现这个功能本程序做了如下设计。首先选取函数选板互连接口中的调用库函数节点,双击此函数节点,在库名或路径中调用USB通信DLL文件,接着在函数名中选择获取当前连接的设备数目函数,然后在参数选项中添加变量名并设定其参数类型,这样就完成了获取当前连接的设备数目函数的调用。此函数能检测到插入电脑USB口的STM32设备的个数,设备检测到之后还要让它按照插入的先后顺序显示在列表框中,在这里通过一个条件结构来完成。首先将获取当前连接的设备数目函数与一个等于0的比较函数进行比较,如果等于0即为真,此时执行没有连接设备的程序,如果不为0即为假,此时执行在列表框中按照顺序显示设备0、设备1??设备N - 1的程序。
图5 统计连接STM32设备数目模块程序图
图6 对选定的设备进行操作程序框图 对选定的STM32设备进行操作程序通过调用USB通信DLL文件中打开设备函数、关闭设备函数、配置地址函数以及获取设备的序列号函数来进行设计。此程序运用了事件结构,通过设置显示设备列表信息、配置新ID号、打开USB以及关闭USB事件以达到整体功能实现的效果,此程序的设计框图如图6所示。 |
|
相关推荐
6 个讨论
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
438 浏览 0 评论
【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战课(11大系列课程,共5000+分钟)
1144 浏览 0 评论
1263 浏览 1 评论
576 浏览 1 评论
544 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-8 08:50 , Processed in 0.802137 second(s), Total 51, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
14712