低成本的U盘数据采集器设计
时间:01-16
来源:21IC
点击:
引 言
工业现场一般都需要数据采集器来完成各类数据采集任务。在很多实际应用中,往往要求数据采集器具有工作可靠、成本低廉、操作简单、数据便于收集和计算机分析等特点。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盘采样数据文件中。
工业现场一般都需要数据采集器来完成各类数据采集任务。在很多实际应用中,往往要求数据采集器具有工作可靠、成本低廉、操作简单、数据便于收集和计算机分析等特点。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盘采样数据文件中。
- 基于CH375的U盘MP3播放器设计(02-05)
- 基于ISP1362的U盘MP3播放器设计(05-01)
- U盘般大小 柯尼卡美能达展示迷你投影仪(10-28)
- 移动卡拉OK系统(11-29)