基于PB375A超低成本的U盘数据采集器设计
引 言
工业现场一般都需要数据采集器来完成各类数据采集任务。在很多实际应用中,往往要求数据采集器具有工作可靠、成
本低廉、操作简单、数据便于收集和计算机分析等特点。U盘作为新型移动存储设备,以体积小、速度高、抗震动、通用性强
的特点倍受青睐。如果能在嵌入式数据采集系统中实现USB主机功能,那么嵌入式数据采集器就能像PC机一样方便灵活地利用
U盘这类USB存储设备进行数据存储。本文以带有片上A/D转换器的C8051F340处理器和U盘读写芯片芯片PB375A为基础,设计
了一款可对100 kHz以下的低频模拟信号进行10位深度采样的低成本数据采集器。该数据采集器具有USB主机功能,可将采集
的数据以FAT32/FAT16文件系统格式直接存储到普通U盘中。数据采集完毕后,用户可直接从采集器上取下U盘,利用计算机方
便地实现对采集数据的收集和分析处理。
下面分别介绍数据采集器系统方案设计和系统软硬件设计。
1 系统方案设计
系统方案如图1所示,系统主要由C8051F340单片机和U盘读写芯片芯片PB375A构成。被测信号首先通过调理电路的抗混叠
滤波和限幅处理,然后送给单片机片上A/D转换器进行采样,当采样数据达到512字节 后,单片机通过U盘读写芯片芯片
PB375A向U盘写入采样数据。采样数据在U盘中以FAT32文件系统格式写入,并以文本文件形式保存。控制输入电路负责输入
用户指令,以控制A/D工作模式和改变采样频率。单片机实现U盘读写和FAT32文件系统时,由于PB375A芯片将USB HOST和文
件系统集成到芯片内,所以无需去了解USB HOST和文件系统也可以很简单的实现U盘读写的功能。
2 系统硬件设计
由于C8051F340内部集成了高精度时钟源、电压调节器、A/D转换器以及用于A/D转换的参考电压源等丰富的片上外设,
因此对系统进行硬件设计时,无需再外扩上述电路,从而简化了系统硬件结构,提高了集成度和可靠性。
如图2所示,电源模块生成的5 V电压一方面给U盘供电,一方面通过单片机的REGIN引脚输入到单片机的电压调节器,从
而使单片机自己生成工作所需的3 V电压,并可将生成的3 V电压通过VDD引脚输出给其他3V器件使用。单片机利用P21~P24通
用I/O引脚模拟4线SPI实现与PB375A芯片的通信。这里需要注意 两点。第一,C8051F340是3 V低功耗单片机,PB375A的电平
也是3V系统,从而单片机与PB375A之间的电平是直接兼容的,由于U盘需要5V电源系统,因此需要5 V电源模块给U盘单独供
电。第二,图2所示的PB375A电路原理图并不完整,振荡器电路等附加电路没有全部画出,完整的电路可参考文献。被测信号
经过信号 调理电路后,通过单片机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转换器参数,接着初始化PB375A通信端口,进而初始化PB375A芯片。紧接着发送命令检查
U盘是否插入,以及插入的U盘是否准备就 绪。一旦U盘准备就绪,就在U盘新建文本文件格式的数据采集文件,然后打开文
件,并使文件指针指向文件尾部以方便后面写入采集数据。所有准备工作完成,就 可以启动A/D转换器。如果采样数据达到
U盘1个扇区512字节,那么就可以将采样数据一次性写入U盘的1个扇区中。这里需要注意一点。为了实现不间断实时采样,在
设计数据的采集和存储时采用了“乒乓制”,即在单片机开辟 了A、B两个512字节的RAM存储区,而A、B两个存储区分别交替
完成存储采样数据和将采样数据搬移到U盘中的任务,相互独立工作,互不干扰,有效地解 决了存储数据与搬移数据可能出
现的冲突。第二,A/D转换器采集到的数据不是真实的电压值,而只是真实电压值与参考电压相比的相对值,因此为了今后
对采样 值分析方便,还需要计算出真实采样电压值,并将数字转换为字符后再存储到U盘采样数据文件中。
C8051F340单片机通过PB375A访问U盘是系统软件的核心部分,在实现这部分功能的程序中可以参考深圳蓝色飞舞科技提
供的PB375A的U盘读写操作例程函数。这里以系统插入U盘,向U盘写入512字节数据,然后拔出的过程为例,简单介绍单片机
访问PB375A的程序流程。
1. 发送检测U盘是否存在命令,若U盘插入则返回00成功状态码;若不存在则返回U盘未连接状态码。
2. 打开文件,根据文件路径打开对于文件,若操作成功则会返回00成功状态码。
3. 定位文件到最后,发送0xff 0xff 0xff 0xff则表示指针指向文件最后。
4. 写入数据命令,若操作成功,返回00成功状态码
5. 关闭文件。
从而最终完成对U盘的访问。
PB375A作为一款优秀的单片机读写U盘方案芯片,集成USB Host和文件系统,让您将您的系统增加U盘读写功能时无需了解底
层的USB HOST协议和文件系统,您需要做的只是发送几个简单的命令,对您的单片机的rom空间和ram都要求极小。
● 支持1.5Mbps低速和12Mbps 全速USB 通讯,兼容USB V2.0,外围元器件只需要晶体和电容。
● 支持USB-HOST 主机接口, 支持等效命令集的USB 存储设备(包括U 盘/USB 硬盘/USB 闪存盘/USB 读卡器)。
●检测USB 设备的连接和断开。
●支持SD 卡以及与其协议兼容的MMC 卡和TF 卡等。
● 内置FAT16 和FAT32 以及FAT12 文件系统的管理固件,支持容量高达32GB 的U 盘和SD 卡。
● 提供文件管理功能:打开、新建或删除文件,定位文件位置。
● 提供文件读写功能:以字节为最小单位对多级子目录下的文件进行读写。
● 提供SPI 设备接口,支持连接到单片机的SPI 串行总线。
● 提供异步串口,支持连接到单片机的串行口。
●3.3V 电源电压以及3V 电源电压,支持低功耗模式。
结语
本文设计的数据采集器利 用高度集成的C8051F340处理器实现了数据A/D转换和系统控制,利用PB375A实现了采集器的
USB主机及文件系统功能,从而使采集的数据能以FAT32文 件系统格式直接存储到U盘中。该采集器数据收集方便,便于计算
机分析,同时仅有C8051F340和PB375A两个主要器件,结构简单,工作稳定,只有名 片大小,成本不足45元(不包括U盘),已
成功应用于工业现场。
例程和详细资料下载:
http://www.daxia.com/bibis/upload/PB375A-SDK.671.rar
PB375A-SDK.rar
(1.03 MB)
|