EDN China > 设计实例 > 微处理器与DSP > 正文
?

(多图) 基于C8051F340的低成本数据采集器设计

朱磊?? 2008年09月16日 ?? 收藏0

  1 引言

  工业现场一般需要数据采集器完成各类数据采集任务。实际应用中要求数据采集器工作可靠,成本低廉,操作简单,便于数据收集和分析,既能与PC机联机工作又能独立采集数据。为此,本文以带有片上USB控制器和D/A转换器的高度集成处理器C8051F340为核心器件,采用SD卡存储技术利用USB总线、虚拟仪器实现软件LabVIEW设计图形用户界面,设计一款低成本数据采集器。该数据采集器可与PC机共同实现数据采集与分析,也可长时间独立工作于工业现场,并将采集数据存放于大容量SD卡,便于数据收集并利用计算机分析。数据采集器的核心器件C8051F340是完全集成的混合信号片上系统型MCU,具有高达48 MI/s速率、流水线结构的8051兼容微控制器内核:全速、非侵入式的在线调试接口;带有8个灵活的端点通道,具有收发器和1 KB FIFO RAM的USB功能控制器;电源稳压器;带有模拟多路器的10位200 KS/s的单端/差分ADC;精确校准的12 MHz内部振荡器和4倍时钟乘法器;多达64 KB的片内Flash存储器;4 352字节片内RAM;具有5个捕捉/比较模块和看门狗定时器功能的可编程计数器/定时器阵列;3.3 V工作电压,功耗低且带有片内上电复位、VDD监视器和时钟丢失检测器;容许5 V输入的多达40个I/O端口。还有与此处理器配套的免费集成开发软件Silicon Labs IDE,以及专为其片上USB控制器开发的USBXpress开发套件,从而使得USB软件开发变得容易。

  2 系统设计方案

  系统设计框图如图1所示,整个系统由PC机和C8051F340数据采集模块组成。PC机部分主要是软件设计,包括LabVIEW软件编写的数据采集图形用户界面和C8051F340单片机片上USB主机API,负责接收、显示和处理由数据采集模块通过USB接口发送的采集数据。而数据采集模块主要由C8051F340处理器、预处理电路和SD卡构成,负责通过C8051F340片上D/A采集经预处理电路的被测信号,再将采集信号存储至SD卡,并经USB总线传输给PC机显示。另外,LabVIEW应用程序和C8051F340应用程序均是采用Silicon Laboratories公司提供的USBXpress开发套件的API和驱动程序来实现对底层USB器件的读写操作。

系统设计框图

  3 硬件设计

  系统的硬件设计主要是数据采集模块。由于C8051F340内部集成了高精度时钟源、USB控制器、电压调节器、A/D转换器以及用于A/D转换的参考电压源等丰富的片上外设,因此在对数据采集模块硬件设计时,无需扩展上述电路,使得系统硬件结构简单,集成度高,可靠性好。如图2所示,通过片上USB接口,C8051F340与PC机相连,从PC机USB接口+5 V端提取电源输入至REGIN引脚,内部电压调节器提供+3.3 V电压。SD卡等元件的供电也由PC机USB接口提供,但需经+5 V至+3.3 V的电压转换电路。此外,系统还具有独立的电源模块,应对系统独立运行而现场USB不能供电的情况。C8051F340通过其片上P00~P03引脚与SD卡连接,实现SPI模式通信。需要说明的是:P01与D0和P02与DI的两条连接线应该分别接10 kΩ和100 kΩ的上拉电阻,图2中省略。系统还设计了复位按键,用于下载程序代码和进行调试的10针下载调试接口,用于对被测信号限幅和防混叠滤波的预处理。PC机和数据采集模块互连的USB连接线应选用带有双磁环保护的连接线,以保护数据采集模块由于USB经常连接带电拔插或其他干扰而遭受损坏。

系统的硬件设计

  4 软件设计

  系统软件主要包括PC机LabVIEW程序和C8051F340处理器程序。

  4.1 PC机LabVIEW程序设计

  PC机LahVIEW程序设计主要完成用户图形界面和基于USB主机通信程序两大功能,从而实现人机交互,并将用户输入的指令和采集模块采集的数据通过USB总线在PC机和C28051F340之间传递。用户图形界面属于LabVIEW的前面板设计,较为简单,这里主要讨论LabVIEW的程序面板(后面板)设计。如图3所示,整个程序流程完全围绕USB通信展开,流程图中所涉及的SI_GetNumDevices()、SI_GetProductString()等函数均是Silicon Lab公司专为C8051F340单片机USB功能开发的USB主机端API函数。通过上层应用程序中直接调用这些函数可以方便快捷地实现对USB底层硬件的访问。

整个程序流程完全围绕USB通信展开,流程图中所涉及的SI_GetNumDevices()、SI_GetProductString()等函数均是Silicon Lab公司专为C8051F340单片机USB功能开发的USB主机端API函数


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

C8051F340? 数据采集? LabVIEW?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈