首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
测试测量
» 低成本的U盘数据采集器设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
低成本的U盘数据采集器设计
发短消息
加为好友
Bazinga
当前离线
UID
1023230
帖子
5213
精华
0
积分
2607
阅读权限
70
在线时间
158 小时
注册时间
2013-12-20
最后登录
2015-10-22
金牌会员
UID
1023230
1
#
打印
字体大小:
t
T
Bazinga
发表于 2014-12-2 20:33
|
只看该作者
低成本的U盘数据采集器设计
转换器
,
计算机
,
实际应用
,
数据采集器
,
嵌入式
引 言
工业现场一般都需要数据采集器来完成各类数据采集任务。在很多实际应用中,往往要求数据采集器具有工作可靠、成本低廉、操作简单、数据便于收集和计算机分析等特点。U盘作为新型移动存储设备,以体积小、速度高、抗震动、通用性强的特点倍受青睐。如果能在嵌入式数据采集系统中实现USB主机功能,那么嵌入式数据采集器就能像PC机一样方便灵活地利用U盘这类USB存储设备进行数据存储。本文以带有片上A/D转换器的C8051F340处理器和USB接口芯片CH375为基础,设计了一款可对100 kHz以下的低频模拟信号进行10位深度采样的低成本数据采集器。该数据采集器具有USB主机功能,可将采集的数据以FAT32文件系统格式直接存储到普通U盘中。数据采集完毕后,用户可直接从采集器上取下U盘,利用计算机方便地实现对采集数据的收集和分析处理。
下面分别介绍数据采集器系统方案设计和系统软硬件设计。
1 系统方案设计
系统方案如图1所示,系统主要由C8051F340单片机和USB 接口芯片CH375构成。被测信号首先通过调理电路的抗混叠滤波和限幅处理,然后送给单片机片上A/D转换器进行采样,当采样数据达到一个扇区512字节后,单片机通过自身并口控制CH375向U盘写入采样数据。采样数据在U盘中以FAT32文件系统格式写入,并以文本文件形式保存。控制输入电路负责输入用户指令,以控制A/D工作模式和改变采样频率。单片机实现U盘读写和FAT32文件系统时,使用了南京沁恒电子有限公司开发的CH375HF5.LIB库中的多个函数,该库函数的详细信息可参考文献。
2 系统硬件设计
由于C8051F340内部集成了高精度时钟源、电压调节器、A/D转换器以及用于A/D转换的参考电压源等丰富的片上外设,因此对系统进行硬件设计时,无需再外扩上述电路,从而简化了系统硬件结构,提高了集成度和可靠性。
如图2所示,电源模块生成的5 V电压一方面给U盘供电,一方面通过单片机的REGIN引脚输入到单片机的电压调节器,从而使单片机自己生成工作所需的3 V电压,并可将生成的3 V电压通过VDD引脚输出给其他3V器件使用。单片机利用P3口以及P20~P24通用I/O引脚模拟并口实现与CH375芯片的并口通信。这里需要注意两点。第一,C8051F340是3 V低功耗单片机,为了保证C8051F340与CH375的通信接口电平匹配,防止通信不稳定,选择了同样是3 V供电的CH375V芯片;另外,由于U盘是5 V供电驱动,而作为USB HOST的CH375是3 V供电,不能直接向U盘供电,因此需要5 V电源模块给U盘单独供电。第二,图2所示的CH375电路原理图并不完整,振荡器电路等附加电路没有全部画出,完整的电路可参考文献。被测信号经过信号调理电路后,通过单片机P25引脚进入单片机片上A/D转换器。为了使采集器能尽可能多地应用到不同采集领域,采集器A/D转换的参考电压、转化启动时钟、差分或单端采样选择、采样频率等参数设置均可根据图3所示的用户输入控制电路灵活改变。在图3的8位拨位开关中,开关1设置是差分采样还是单端采样,开关2设置A/D采样是使用内部还是外部参考电压,开关3设置A/D采样是由单片机定时器启动还是由外部输入更新时钟启动,开关4~8设置采样频率。开关4~8分别代表10 ksps、20ksps、30 ksps、40 ksps、100 ksps,通过开关4~8的不同组合,可以实现以10 ksps为步进,10~200 ksps采样频率的改变。例如,当8位拨位开关全部闭合时,意味着采样频率为200 ksps,且A/D转换采用单端采样方式,采样参考电压需从系统外部输入到图2中的VREF引脚,采样更新时钟需从系统外部输入到图2中的CNSTR引脚。另外,系统还设计了复位按键以及用于下载程序代码和进行调试的10针下载调试接口电路,如图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盘采样数据文件中。
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两个主要器件,结构简单,工作稳定,只有名片大小,成本不足50元(不包括U盘),已成功应用于工业现场。
收藏
分享
评分
the king of nerds
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议