微型多功能数据采集卡的设计与开发
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 8 PWM 频率测量程序设计流程图
图 9 脉冲计数程序设计流程图 在库中修改 usb_desc. c 文件,依次设置设备 描述符、配 置 描 述 符、接 口 描 述 符、报 告 描 述 符。 使用端点 2 输入,端点 1 输出,1 次传输最大 32 B,
38
常州工学院学报
2015 年
输入输出报告为 8 B。修改 usb_int. c 文件设置中 断控制方 式,修 改 usb _ endp. c 文 件 中 的 USB _ SendData 和 USB _ReceiveData 函数内容,实现数 据的发送和接收。
第 28 卷第 4 期 2015 年 8 月
常州工学院学报
Journal of Changzhou Institute of Technology
doi: 10. 3969 / j. issn. 1671-0436. 2015. 04. 008
Vol. 28 No. 4 Aug. 2015
微型多功能数据采集卡的设计与开发
口限制) 、价格较贵( 一般在 500 元以上) [1],因此 开发出体积小、适用性强、成本低、使用方便的数据 采集卡具有一定的现实意义和广阔的市场前景。
本设计主要选取微型高速、具有 A / D 输入、 PWM 频率测量、脉冲计数、I / O 功能、USB 通信 功能的单片机 STM32 作 为 处 理 器 ( 长 宽 高 为 7 mm × 7 mm × 1. 4 mm ) ,通过设计外围电路来扩 展输入信号的量程,单片机嵌入式程序完成信号 采集,单片机自带的 USB 口完成与上位机的数据
A /D 采集程序设计流程图如图 7 所示。
第4 期
谢春华,等: 微型多功能数据采集卡的设计与开发
37
图 7 A /D 采集程序设计流程图
3. 2 PWM 频率测量程序设计 频率测量方法一般有测频法、测周法、多周期
同步法,为了保证采集数据的实时性,这里选择测wk.baidu.com频法[4]。
STM32 单片机有 3 个 16 位的定时计数器, 可在输入引脚上设置脉冲上升沿触发中断,在 2 个相近的触发中断之间计算脉冲周期即可实现频 率的测量。计数过程中要开启定时计数器溢出中 断,计算溢出的次数以保证脉冲周期计数的准确 性。为提高定时计数器的精度,定时计数器时钟 频率选择为 72 M Hz,则最大采样率为 72 M Hz / s。 PWM 频率测量程序设计流程图如图 8 所示。 3. 3 脉冲计数程序设计
Key words: STM32; data acquisition card; USB communication
数据采集卡是一种将传感器或其他待检测设 备发出的电信号按照一定的采样周期发送或存储 至上位机,结合上位机软件完成系统实时测量、监 测和控制任务的采集控制系统设备,它广泛运用 于仪器仪表、安防监控、智能交通、医学影像、雷达 图像、机器视觉等各大领域。然大多数数据采集 卡外 观 较 大 ( 一 般 长 宽 高 为 92 mm × 85 mm × 8 mm以上) 、通道较多( 一般在 8 通道以上) 、使用 不便( 一般使用 PCI 接口) 、通用性差( 受上位机接
图 1 采集卡总体设计框图
2 硬件设计
CortexTM -M3 内核架构,稳定工作频率可达72 MHz, 是具有丰富资源、高速时钟的精简指令的微处理
2. 1 最小系统设计
器。STM32F103 拥有从 64 kB 或 128 kB 的闪存程
从成本、体积大小和综合性能考虑,采用意法半 序可选存储器,高达 20 kB 的 SRAM,2 个 12 位 A / D
的数据采集卡。利用 STM32 内部集成了 A / D 转换、定时计数、脉冲捕捉等功能,外部信号经过转
换处理和采集后直接由单片机 USB 接口输出,上位机 LabVIEW 程序接收数据完成显示和控制功
能,实现了高速、宽量程、功能全、价格低、体积小、使用方便、显示形式多样的目的。
关键词: STM32; 数据采集卡; USB 通信
中图分类号: TP368. 2
文献标志码: A
文章编号: 1671-0436( 2015) 04-0034-06
The Design and Development of Miniature Multi-functional Data Acquisition Card
XIE Chunhua1,2 ,CHEN Fang2 ,LIU Limei2 ,MA Dan3
用 LM358 运放实现同相加法器电路,进行电
3 嵌入式软件设计
3. 1 A / D 采集程序设计 单片机仅有 2 个 12 位逐次逼近型 A / D 数模
转换器,但 USB 使用设备可以连接多达 127 个, 因此可以通过同时使用多个微型数据采集卡的方 式来弥补采集数量不足的问题。
为了保证采样速度,采样最小时间选择为 1 μs,A / D 独立模式,单通道、单次、右对齐、按规则 通道转换完成的方式。
单片机可设置输入引脚上升沿触发中断,计 算中断 次 数 即 为 脉 冲 个 数。 由 于 定 时 计 数 器 为 16 位,最大计数值是 65 535。脉冲计数程序设计 流程图如图 9 所示。
由于开关量输入输出程序比较简单,故本文 不再赘述。 3. 4 USB 通信程序程序设计
单片机自带 USB2. 0 全速接口,并且拥有自 带完整的 USB 通信库文件,只需做相应的修改即 可完成通信任务[5]。
转换与扩展电路的核心是将供电电路进行必 要的降压和升压,单片机 A / D 输入信号的量程从 0 ~ 3. 3 V 提高至 - 12 ~ 12 V 之间以及 PWM 频 率测量、脉冲计数、开关量输入信号进行光耦隔离 保护。
单片机的工作电压要求为 DC 3. 3 V,而一般 外接的电源转换器为 DC 5 V 或 DC 12 V。为了 减少其体积,可选择上位机 USB 接口 DC 5 V 供 电,通过电压转换芯片 AM S1117 芯片转换成 DC 3. 3 V,原理图的设计如图 3 所示。
( 1. Hubei Water Resources Technical College,Wuhan 430070; 2. Wuhan Vavii Electronic Technology Co. ,Ltd. ,Wuhan 430074; 3. The Fifth Middle School of Huangshi,Huangshi 435006)
收稿日期: 2015-03-20 作者简介: 谢春华( 1978— ) ,男,硕士,讲师,工程师。
第4 期
谢春华,等: 微型多功能数据采集卡的设计与开发
35
传输( 最多可接 127 个相同的采集卡) ,LabVIEW 编制的上位机显示与控制程序完成终端显示与控 制。整个采集卡的设计包括硬件设计、嵌入式软 件设计和上位机显示与控制软件设计三部分。
导体公司的 48Pin 增强型高速单片机 STM32F103 作 为主控芯片。STM32F103 是基于的 ARM 32 位的
模数转换器,串行单线调试( SWD) 和 JTAG 接口 调试模式等[2]。最小系统原理图如图 2 所示。
图 2 最小系统原理图
36
常州工学院学报
2015 年
为了减小 PCB 板的面积,芯片的布置采取了 菱形布置,引线采用 8 mil 发散的形式。 2. 2 转换与扩展电路设计
谢春华1,2 ,陈芳2 ,刘利梅2 ,马丹3
( 1. 湖北水利水电职业技术学院,湖北 武汉 430070; 2. 武汉亚为电子科技有限公司,湖北 武汉 430074; 3. 黄石市第五中学,湖北 黄石 435006)
摘要: 为了减小数据采集卡的体积,降低使用成本,介绍了一种采用 STM32 单片机来进行设计
PWM 频率测量、脉冲计数、开关量输入信号 要进行光耦隔离保护,原理图的设计如图 6 所示。
图 6 光耦隔离保护电路原理图
图 4 DC 5 V 转 DC 12 V 电路原理图
单片机 A / D 输入电压范围为 0 ~ 3. 3 V,为 了实现 A / D 输入电压在 - 12 ~ 12 V 的宽量程要 求,采用电阻 R24 、R29 分压至 - 3. 3 ~ 3. 3 V 之间。
1 总体设计
采集卡硬件设计主要分为最小系统电路和转 换与扩展电路两部分,最小系统电路主要作用是形 成单片机运行的基本电路,转换与扩展电路主要作 用是电源供电电压的转换,扩大 A / D 输入信号的 量程和信号的处理与保护。嵌入式软件设计主要
由 A / D 采集程序、PWM 频率测量程序、脉冲计数 程序、开关量 I / O 输入输出程序和 USB 通信程序 组成,主要作用是采集传感器或其他待检设备发出 的模拟信号、PWM 频率信号、脉冲个数信号和开关 量输入信号并通过 USB 通信发给上位机,上位机 根据控制要求向采集卡发出开关量控制信号,采集 卡根据上位机的指令实现对设备的控制。上位机 显示与控制软件设计主要是运用可视化编程语言 LabVIEW,将采集的数据在电脑上用数字或虚拟仪 表显示出来,并根据控制要求向采集卡发出开关量 控制信号。采集卡的总体设计框图如图 1 所示。
图 3 DC 5 V 转 DC 3. 3 V 电路原理图
由于 A / D 转换量程的提高,输入信号转换过 程中需要有 DC 12 V 供电,所以需要将 DC 5 V 升压至 DC 12 V。
采用芯片 M C34063 完成升压工作,原理图的 设计如图 4 所示[3]。
图 5 A /D 输入电压转换电路原理图
压线性变换,电压变换关系如下式。
( ) u0 = R31
u11 R23
+
u12 R26
式中: u11 是 R24 、R29 的 分 压 电 压; u12 是 电 源 电 压
3. 3 V。
u0 输出电压在 0 ~ 6. 6 V 之间,最后经电阻 R30 、R32 分 压 成 0 ~ 3. 3 V,原 理 图 设 计 如 图 5 所示。
Abstract: The design of data acquisition card based on the STM32 microcontroller was introduced to reduce the size and cost. STM32 has internal functions like A / D converter,timing and counting,pulse capture, the external signal was acquired and output directly on MCU USB interface,and the data was received,displayed and controlled through the LabVIEW program on the computer. High speed,wide measuring range,multifunction,lower price,smaller size,convenient use,multiple display were achieved in the data acquisition card.
} uint32_t USB _ReceiveData( uint8 _t * data,uint32 _t dataN um ) {
uint32_t len = 0; if( dataNum > sizeof( USB_Receive_Buffer) ) {
dataNum = sizeof( USB_Receive_Buffer) ; } for( len = 0; len < dataNum; len + + ) {
uint32_t USB_SendData( uint8_t * data,uint32_t dataN um )
{ UserToPM ABufferCopy ( data,ENDP2 _ TXADDR,
dataNum) ; SetEPTxCount( ENDP2,REPORT_COUNT) ; SetEPTxValid( ENDP2) ; return dataNum;