低成本的U盘数据采集器设计-设计应用_第1页
低成本的U盘数据采集器设计-设计应用_第2页
低成本的U盘数据采集器设计-设计应用_第3页
低成本的U盘数据采集器设计-设计应用_第4页
低成本的U盘数据采集器设计-设计应用_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑低成本的U盘数据采集器设计-设计应用引言

工业现场一般都需要数据采集器来完成各类数据采集任务。在很多实际应用中,往往要求数据采集器具有工作可靠、成本低廉、操作简单、数据便于收集和计算机分析等特点。U盘作为新型移动存储设备,以体积小、速度高、抗震动、通用性强的特点倍受青睐。如果能在嵌入式数据采集系统中实现USB主机功能,那么嵌入式数据采集器就能像PC机一样方便灵活地利用U盘这类USB存储设备进行数据存储。本文以带有片上A/D转换器的C8051F340处理器和USB接口芯片CH375为基础,设计了一款可对100kHz以下的低频模拟信号进行10位深度采样的低成本数据采集器。该数据采集器具有USB主机功能,可将采集的数据以FAT32文件系统格式直接存储到普通U盘中。数据采集完毕后,用户可直接从采集器上取下U盘,利用计算机方便地实现对采集数据的收集和分析处理。

下面分别介绍数据采集器系统方案设计和系统软硬件设计。

1系统方案设计

系统方案如图1所示,系统主要由C8051F340单片机和USB接口芯片CH375构成。被测信号首先通过调理电路的抗混叠滤波和限幅处理,然后送给单片机片上A/D转换器进行采样,当采样数据达到一个扇区512字节后,单片机通过自身并口控制CH375向U盘写入采样数据。采样数据在U盘中以FAT32文件系统格式写入,并以文本文件形式保存。控制输入电路负责输入用户指令,以控制A/D工作模式和改变采样频率。单片机实现U盘读写和FAT32文件系统时,使用了南京沁恒电子有限公司开发的CH375HF5.

图1数据采集器方案图2系统硬件设计

由于C8051F340内部集成了高精度时钟源、电压调节器、A/D转换器以及用于A/D转换的参考电压源等丰富的片上外设,因此对系统进行硬件设计时,无需再外扩上述电路,从而简化了系统硬件结构,提高了集成度和可靠性。

如图2所示,电源模块生成的5V电压一方面给U盘供电,一方面通过单片机的REGIN引脚输入到单片机的电压调节器,从而使单片机自己生成工作所需的3V电压,并可将生成的3V电压通过VDD引脚输出给其他3V器件使用。单片机利用P3口以及P20~P24通用I/O引脚模拟并口实现与CH375芯片的并口通信。这里需要注意两点。,C8051F340是3V低功耗单片机,为了保证C8051F340与CH375的通信接口电平匹配,防止通信不稳定,选择了同样是3V供电的CH375V芯片;另外,由于U盘是5V供电驱动,而作为USBHOST的CH375是3V供电,不能直接向U盘供电,因此需要5V电源模块给U盘单独供电。第二,图2所示的CH375电路原理图并不完整,振荡器电路等附加电路没有全部画出,完整的电路可参考文献。被测信号经过信号调理电路后,通过单片机P25引脚进入单片机片上A/D转换器。为了使采集器能尽可能多地应用到不同采集领域,采集器A/D转换的参考电压、转化启动时钟、差分或单端采样选择、采样频率等参数设置均可根据图3所示的用户输入控制电路灵活改变。在图3的8位拨位开关中,开关1设置是差分采样还是单端采样,开关2设置A/D采样是使用内部还是外部参考电压,开关3设置A/D采样是由单片机定时器启动还是由外部输入更新时钟启动,开关4~8设置采样频率。开关4~8分别代表10ksps、20ksps、30ksps、40ksps、100ksps,通过开关4~8的不同组合,可以实现以10ksps为步进,10~200ksps采样频率的改变。例如,当8位拨位开关全部闭合时,意味着采样频率为200ksps,且A/D转换采用单端采样方式,采样参考电压需从系统外部输入到图2中的VREF引脚,采样更新时钟需从系统外部输入到图2中的CNSTR引脚。另外,系统还设计了复位按键以及用于程序代码和进行调试的10针调试接口电路,如图4所示。

图2系统硬件原理图

图3控制输入电路原理图

图4单片机复位与调试接口原理图

3系统软件设计

如图5所示,C8051F340单片机主程序需要首先完成单片机I/O引脚的设置与相关寄存器配置,然后读取P4口用户输入控制指令,并根据用户指令设置A/D转换器参数,接着初始化CH375通信端口,进而初始化CH375芯片及其程序库。紧接着检查U盘是否插入,以及插入的U盘是否准备就绪。一旦U盘准备就绪,就在U盘新建文本文件格式的数据采集文件,然后打开文件,并使文件指针指向文件尾部以方便后面写入采集数据。所有准备工作完成,就可以启动A/D转换器。如果采样数据达到U盘1个扇区512字节,那么就可以将采样数据性写入U盘的1个扇区中。这里需要注意两点。,U盘读写可以字节为单位也可以块为单位,以字节为单位需要频繁访问U盘,从而导致U盘存储速度下降,使用寿命缩短,而以U盘1个扇区的512字节为单位读写U盘则可以很好地解决这个问题;另外,为了实现不间断实时采样,在设计数据的采集和存储时采用了“乒乓制”,即在单片机开辟了A、B两个512字节的RAM存储区,而A、B两个存储区分别交替完成存储采样数据和将采样数据搬移到U盘中的任务,相互独立工作,互不干扰,有效地解决了存储数据与搬移数据可能出现的冲突。第二,A/D转换器采集到的数据不是真实的电压值,而只是真实电压值与参考电压相比的相对值,因此为了今后对采样值分析方便,还需要计算出真实采样电压值,并将数字转换为字符后再存储到U盘采样数据文件中。

图5单片机主流程序

C8051F340单片机通过CH375访问U盘是系统软件的部分,在实现这部分功能的程序中使用了南京沁恒电子有限公司开发的CH375HF5.LIB库函数。这里以系统插入U盘,向U盘写入512字节数据,然后拔出的过程为例,简单介绍单片机访问CH375的程序流程。

系统初始化成功后,调用xQueryInterrupt()函数查询CH375中断并更新中断状态,等待U盘插入。U盘插入后,经过一段延时,系统调用CH375DiskReady()函数查询U盘是否准备就绪。U盘一旦就绪,系统调用mCopyCodeStringToIRAM()和CH375FileCreate()函数,在U盘根目录新建采样数据文件,并调用CH375FileOpen()函数打开文件,接着使用语句

mCmdParam.ByteLocate.mByteOffset=Oxffffffff使文件指针指向文件的尾部,以方便后面添加采样数据。如果已完成512字节采样数据的采集,则调用

CH375FileWriteX()函数,实现U盘一个扇区的写操作。写操作完毕后,需要利用下列4个语句:

mCmdParam.Modify.mFileAttr=Oxff

mCmdParam.Modify.mFileTime=MAKE_FILE_TIME()

mCmdParam.Modify.mFileDate=MAKE_FILE_DATE()

mCmdParam.Modify.mFileSize=0xffffffff

对文件属性、时间、日期、长度等参数进行修改,然后调用CH375FileModify()函数完成对上述4个文件属性的更新。系统调用CH375FileClose()函数关闭文件,调用xQueryInterrupt()函数查询CH375中断并更新中断状态,等待U盘拔出,从而终完成对U盘的访问。

结语

本文设计的数据采集器利用高度集成的C8051F340处理器实现了数据A/D转换和系统控制,利用CH375实现了采集器的USB主机功能,从而使采集的数据能以FAT32文件系统格式直接存储到U盘中。该采集器数据收集方便,便于计算机分析,同时仅有C8051F340和CH375两个主要器件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论