基于C8051F340的低成本数据采集器设计

发布者:温暖梦想最新更新时间:2011-02-28 手机看文章 扫描二维码
随时随地手机看文章
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底层硬件的访问。
     

  4.2 C8051F340处理器程序设计
  

       C8051F340单片机程序设计主要完成两大功能,一是基于USB器件的通信程序,接收从USB主机发送的用户指令并将采集的数据或SD卡中存储的采集数据发送给USB主机;二是A/D转换程序和SD卡读写程序。
  

       图4为C8051F340处理器USB通信程序流程图。整个程序流程是以USB通信为主线,流程图中所涉及的USB Clock Start()、USB Init()等函数均是Silicon Lab公司专为C8051F340单片机USB功能开发的USB端API函数。通过在C8051F340上层应用程序中直接调用这些函数可以方便快捷地实现对USB底层硬件的访问。A/D转换程序简单,可通过设置C8051F340片上定时器确定A/D转换器的采样周期,由定时器的溢出周期性的启动A/D转换器采样被测数据。    

        C8051F340通过SPI接口与SD卡进行通信,完成采集数据的存储或读取。但SD卡上电后默认工作在SD卡通信模式,因此C8051F-340上电后对SD卡的初始化设置时,须将其SD卡通信模式转换为SPI通信模式。具体操作过程:C8051F340先向SD卡发出复位命令CMD0,若SD卡接收到返回值Ox01,则说明SD卡的SPI通信模式设置成功,至少经过74个时钟周期延时,就可进行SPI通信。SD卡的读写是以数据块为单位,数据块的长度最大可设置为512字节,另外出于避免对SD卡过于频繁访问的考虑,被测信号采样后的采样值一般不能直接存储到SD卡中,等采样数据凑足设定的块数据后,再集中存入SD卡。C8051F340通过SPI接口从SD卡读取或存储一块数据的流程如图5所示。需要说明的是C8051F340向SD卡写入数据,在图5所示的流程后,C8051F340将接收到SD卡发送的响应信息,从而确定C8051F340向SD卡写入的数据是否正确。

         

       

           

       5 结束语
  

       本文设计的数据采集器利用高度集成的器件C8051F340实现数据A/D转换、USB总线通信和系统控制,可与计算机联机,也可利用大容量SD卡长时间现场独立工作,数据采集方便。该数据采集器仅采用C8051F340一个主器件,结构简单,工作稳定,体积小,成本低,现已成功用于工业现场。

引用地址:基于C8051F340的低成本数据采集器设计

上一篇:1602液晶屏驱动源程序2
下一篇:基于C8051F040的程控电源的设计

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved