基于USB存储的高精度传感器记录仪设计

阅读: 评论:0

家庭智能控制系统基于USB存储的高精度传感器记录仪设计
作者:张大敏 干开峰 邓怡文
来源:《科技视界》 2013年第21期
    张大敏 干开峰 邓怡文
    (合肥学院电子信息与电气工程系,安徽合肥230601)
    【摘 要】设计一种基于USB总线通用接口芯片CH375实现数据实时存储的传感器记录仪,以C8051F120单片机系统为硬件平台,前端采用16位高精度AD转换芯片AD7705采集数据。该传感器记录仪有着良好的稳定性、高的可靠性和优越的性价比,具有较大的推广应用价值。
    【关键词】CH375;AD7705;C8051F120;数据采集;数据存储
    ※基金项目:安徽省高校省级自然科学研究项目(KJ2012B151);合肥学院科研发展基金项目(13KY01ZR);国家级大学生创新创业训练计划项目(201211059037)。
    作者简介:张大敏(1982—),男,汉族,安徽马鞍山人,助教,研究方向为智能控制、模式识别。
    干开峰(1974—),男,汉族,安徽和县人,实验师,研究方向为嵌入式系统。
    邓怡文(1993—),女,汉族,江苏苏州人,合肥学院电子信息与电气工程系通信工程专业。
    0 引言
    在工业生产和环境监控中,经常需要使用记录仪表对一些重要参数进行实时数据采集、监测和记录。传统的记录仪将数据存储到外扩存储器但是受外扩存储器容量限制的缺点,使用起来非常不方便。作者设计和实现的一种高精度传感器记录仪,可以针对在野外或对人体危害等恶劣危险环境中的传感器,在无人监控下对数据进行不间断采集,并储存在大容量的可移动硬盘中,利用计算机资源对数据进行分析处理,具有采集数据快、便携和安全等特性。
    1 系统总体设计
    传感器记录仪采集前端传感器数据,对传感器的模拟信号能够进行放大和调理,实现高精度采集,具有实时时间和数据采集间隔时间的显示与设置,实现采集来的数据的实时显示和U盘存储功能。其系统的总体框图如图1所示,主要由主控模块、电源模块、数据采集模块、时钟模块、键盘与显示模块、存储模块等6个模块组成。
   
    2 系统硬件设计
    2.1 主控模块设计
氟塑料离心泵结构图    主控电路设计中采用C8051F120单片机的最小系统,主要包括外界时钟电路、复位电路、JTAG程序下载电路等,选择一定数量的I/O端口作为控制口控制外部的各种器件和数据的输出[1-2]。整个主控模块的电路如图2所示。
喷气式飞行器   
    2.2 存储模块设计
    本系统存储数据采用CH375芯片,CH375是一个USB总线的通用接口芯片,支持USB-HOST主机方式和USB-DEVICE/SLAVE设备方式[3-4]。在本地端,CH375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。在USB主机方式下,CH375还提供了串行通讯方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU/MPU等相连接。外部单片机可以通过CH375按照相应的USB协议与USB设备通讯。CH375还内置了处理Mass-Storage海量存储设备的专用通讯协议的固件,外部单片机可以直接以扇区为基本单位读写常用的USB存储设备[5-6]。定时药盒
    本次设计为了节省单片机的I/O端口,系统选择了串口方式。CH375和C8051F接口电路如图3所示。
   
    2.3 数据采集模块设计
    数据采集的任务主要是靠各种传感器来将实际的模拟量采集过来,这些模拟量包括实际的物理量与不标准的电压值或电流值。通过传感器将其转换成标准的电压值或电流值的输出。但是采集来的数据还是模拟量,不能直接送到单片机中处理,还得需要AD转换,将模拟量转换成数字量,从而以供单片机处理。本系统所选的AD转换芯片是AD7705。
    AD7705是美国模拟器件公司推出的一款高速低功耗16位A/D转换器,该器件可以接受直接来自传感器的低电平的输入信号,然后产生串行的数字输出,利用Σ-Δ转换技术实现了16位无丢失代码性能,0.003%非线性。AD7705具有2个全差分输入通道,可编程增益为1~128,三线串行接口,具有模拟输入端缓冲器。AD7705工作电压为2.7~3.3V或4.75~5.25V,低功耗,3V电压时,最大功耗为1mW,等待电流的最大值为8LA。AD7705还包括自校准和系统校准选项,以消除器件本身或系统的增益和偏移误差[7]。
ranth    AD7705采集的整体电路设计如图4所示。
   
    3 系统软件设计
    3.1 CH375存储数据程序设计
    单片机通过CH375读写U盘中的数据,CH375的U盘文件级子程序库支持常用的FAT12、FAT16和FAT32文件系统,支持U盘最大容量100GB[8-9]。
    单片机向U盘中写入数据流程如图5所示。
    单片机从U盘中读出数据程序流程如图6所示。
   
    3.2 AD7705数据采集程序设计
    AD7705可以直接与MCU进行接口。用到的数据线有片选CS、串行时钟输入SCLK、指令或数据输入DIN以及转换结果输出DOUT等。只有在状态信号DRDY指示输出数据寄存器的数据准备就绪时,MCU才可以读取转换结果。
    本设计是利用模拟的SPI协议与AD7705进行通信的,AD7705初始化后对被测的电压值进行采集转换,转换结束后DRDY引脚由高电平变为低电平,将触发单片机中断1,单片机进入中断1程序读取AD7705的数据寄存器中的值。
    AD7705初始化实现函数如下:
    voidad_Init7705()
    {
    ……
    ad_W(0x20);/*写20通道1,下一个写时钟寄存器*/
    ad_W(0x00);/*写0c到时钟寄存器*/
装载机称重系统    ad_W(0x10);/*写10通道1,下一个写设置寄存器*/
    ad_W(0x46);/*写46到设置寄存器*/
    ……
    }
    4 测试
    本系统采用时钟芯片计时,可设置和显示当前时间。本系统测试通过采集电压值经AD7705芯片将模拟的电压信号转换成16位的数据信号,通过串行通信方式送入单片机,单片机经过处理算出采集的电压值,并通过LCD1602液晶显示。
    将U盘挂接在系统上时系统将初始化U盘,初始化后将在优盘中新建一个以MY_ADC.TXT命名的文件并打开此文件,如果U盘中已有此文件将直接打开此文件,并将此文件的修改时间改为打开文件时的时间。系统能将当前的时间和电压值以一定的时间间隔存储到U盘的此文件中。测试结果如图7和图8所示。

本文发布于:2023-06-25 11:32:11,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/152415.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   采集   系统   单片机   传感器   U盘   转换
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图