历史上的今天
返回首页

历史上的今天

今天是:2024年12月18日(星期三)

正在发生

2020年12月18日 | 基于单片机的高精度海量数据采集与存储系统

2020-12-18 来源:elecfans

  摘要:为满足在某些恶劣实验环境条件下数据的高精度采集。海量存储以便事后分析的需要,设计出了以MSP430F1611单片机为主控单元,采用16位高精度A/D转换芯片ADS1146实现数据采集;利用大容量TF存储卡实现数据的海量存储,并通过并口转USB芯片及相应的上位机软件实现数据上传以便进行事后分析。目前,该数据采集存储系统已在相关实验项目中得到应用,并获得了良好稳定的实验结果。


  0 引言

  随着信息技术的发展,特别是各种数字处理器件处理速度的提高,实现海量实时数据处理已成为现实。但是,在一些恶劣实验环境条件下,数据无法实现实时处理,仍需用到存储测试的方法。


  存储测试是指在对被测对象无影响或影响在允许范围条件下,在被测体内置入微型存储测试系统,现场实时完成数据采集与存储,事后对存储器进行回收,由上位机处理和再现被测信息的一种动态测试技术。


  针对具体情况,本文设计出了基于MSP430F1611单片机高精度海量数据采集与存储系统。该系统以MSP430F1611单片机为主控单元,采用16位高精度A/D转换芯片ADS1146 以及2 GB 容量的TF 存储卡实现数据的高精度采集与指定块存储;上位机与单片机之间通过并口转USB 芯片FT245 相连接,其中TF 存储卡指定块数据的读取以及块数据的擦除操作均是由采用LabVIEW 编写的上位机程序所完成。因此,用户可以在某些恶劣实验环境下简单方便地完成海量高精度数据的采集存储以及事后处理。同时系统具有大容量。高精度。低功耗以及体积小的特点。


  1 系统设计

  1.1 单片机基本系统

  单片机基本系统是整个控制系统的核心,它完成整个系统的信号处理和协调控制。其结构框图如图1所示,它的主要工作是上电之后进行初始化操作,设置采样周期,启动A/D采样电路,读取采样数据,并将其临时存储在自身的RAM 存储区中,当存储的数据达到一定量时将其存入指定的TF存储卡数据块中;数据采集存储完毕后,将单片机与上位机相连接,当接收到上位机发送的TF存储卡块数据的读取指令时即将相应块数据上传至上位机并存储为指定类型的转向文件;此外上位机向单片机发送TF存储卡擦除指令时,在用户界面会弹出是否确认擦除指定块对话框以再次确定所需擦出的块从而防止误擦除。

  

  本系统中心控制单元选择TI公司生产的16位低功耗单片机MSP430F1611[5]?该芯片工作电压范围为1.8~3.6 V,具有48 KB+256 B的FLASH MEMORY 以及10 KB 的RAM,丰富的片上外围模块,如定时器A,B(TImer A,TImer B),48 个可编程I/O,以及串口0,1(UART0,1),因此能较好地满足系统设计需求。


  1.2 A/D采样电路

  选择16 位高精度A/D 转换芯片ADS1146,其与单片机的连接电路如图2所示。

  

  ADS1146与单片机之间选择为三线SPI通信模式,即单片机P3.1~P3.3 引脚选择为第二功能:SIMO0,SOMI0和UCLK0,通过初始化相应寄存器设置其数据传输速率以及可编程增益放大器的增益值,此时即可编程检测P3.1 引脚是否为低电平,如果为低,则向单片机U0TXBUF 寄存器写入0001 001X,启动单次读RDATA模式,接着再向单片机U0TXBUF 写入两个NOP 指令,同时将本次操作单片机所得到的U0RXBUF 高字节数据MSB放入事先定义好的整型数据的高8位,将其低字节数据LSB放入该整型数据的低8位。


  1.3 TF存储卡

  TF存储卡的作用主要是存储数据。具体实现过程为:读取A/D 采样数据,并将其临时存储在单片机的RAM 存储区中,当存储的数据达到一定量时将其存入指定的TF 存储卡数据块中,以此往复,直至完成TF 存储卡预定数据块的存储。本系统采用2 GB 容量的SanDisk生产的TF存储卡,它特别适用于具有大容量数据储存要求的数据采集存储系统.TF 存储卡与MSP430F1611的连接电路如图3所示。

  

  TF存储卡体积为15 mm&TImes;11 mm×1 mm,相当于手指甲盖的大小,且包括SD 协议和SPI 协议2 种总线模式,本系统总线模式是通过COM0指令将其设置为SPI模式,同时设置单片机UART相应的控制寄存器并且选择P5.1~P5.3引脚第二功能 SIMO1,SOMI1以及UCLK1,此外TF存储卡初始化。单块读。单块写以及擦出操作分别调用COM1,COM17,COM24以及COM38指令及其相应步骤来完成。


  1.4 与上位机通信

  FT245是FTDI公司的一款并行FIFO双向数据传输的USB 芯片,本系统中USB 通信方式如图4所示,其中FT245 向MSP430F1611 单片机提供8 位并行数据总线D0~D7,通过在上位机上安装VCP 驱动程序将其转换为虚拟串口。


  上位机软件是基于LabVIEW 的VISA(Virtual In-strument Software Architecture)接口模块开发而成,VISA是应用于仪器编程的标准I/O应用程序接口,是工业界通用的仪器驱动器标准应用程序接口(API),采用面向对象编程,具有很好的兼容性。扩展性和独立性[10-11]?使用其开发的上位机用户界面如图5所示,当数据采集存储完毕后,可选择读取数据功能,此时单片机将读取TF存储卡中相应块内所存数据,以串行方式发送到上位机,并存为转向文件。txt,以便进行数据的事后分析。

  

  2 结语

  本系统很好地解决了在某些恶劣实验环境条件下,数据的高精度采集海量存储以便事后分析的问题。此外当数据采集存储完毕后,用户可以通过上位机软件读取数据指令获取TF 存储卡中相应块内所存数据。txt文档,通过调用Matlab即可对数据做进一步的分析。同时该系统具有体积小。功耗低的优点.

推荐阅读

史海拾趣

FILTRONIC公司的发展小趣事

FILTRONIC深知技术创新是企业持续发展的动力源泉。因此,公司不断加大研发投入,建立了先进的研发中心和实验室,吸引了一批高素质的研发人才。通过持续的技术研发,FILTRONIC在滤波器技术、射频技术、天线技术等领域取得了多项重要突破,推出了多款具有自主知识产权的新产品。这些新产品的推出不仅进一步巩固了FILTRONIC在市场中的领先地位,也为公司的未来发展注入了新的活力。

E-CMOS(飞虹高科)公司的发展小趣事

在技术创新的同时,飞虹高科公司也积极拓展市场。然而,市场拓展的过程并非一帆风顺。公司面临着来自国内外众多竞争对手的激烈竞争,同时还要应对客户不断变化的需求。为了应对这些挑战,公司制定了一套完善的市场营销策略,积极参加国内外各类电子展会和技术交流活动,与客户建立了长期稳定的合作关系。同时,公司还不断优化产品性能和服务质量,提高客户满意度。通过这些努力,公司逐渐在市场上树立了良好的品牌形象。

Carlisle Interconnect Components公司的发展小趣事

Carlisle Interconnect Components公司自创立之初,便以创新和突破为核心竞争力。在电子连接器领域,公司凭借其深厚的技术积累和敏锐的市场洞察力,成功研发出一系列具有高性能和稳定性的连接器产品。这些产品不仅满足了市场对高效、可靠连接的需求,更在多个关键领域实现了技术突破,为公司赢得了市场的广泛认可。

比亚迪(BYD)公司的发展小趣事

随着市场的不断变化和竞争的加剧,比亚迪意识到品牌形象的重要性。2015年,比亚迪推出了全新的“次世代品牌形象”,以更加年轻、前卫的形象与消费者进行连接。这一举措有效地提升了比亚迪的品牌认知度和美誉度,为其在全球范围内的市场推广提供了有力支持。同时,比亚迪继续深化全球化战略,加大在全球范围的市场开拓和品牌推广力度。通过与国际知名企业的合作和技术交流,比亚迪不断提升自身的技术水平和市场竞争力。

DAESAN公司的发展小趣事

在电子行业中,环保问题一直备受关注。DAESAN公司深知自己的社会责任和担当,因此将环保理念融入企业的生产经营之中。他们采用环保材料和生产工艺,减少污染物排放;同时,他们还积极参与各种环保活动和公益事业,推动行业的可持续发展。DAESAN公司的环保举措赢得了社会的广泛赞誉和尊重。

请注意,以上故事均基于假设性的事实进行虚构,可能与DAESAN公司的实际情况存在出入。如需了解更多关于DAESAN公司在电子行业中的具体发展故事,请查阅相关新闻报道和官方资料。

Fenwal Controls公司的发展小趣事

Fenwal Controls深知,只有与合作伙伴携手共进,才能实现共赢。因此,公司积极寻求与产业链上下游企业的合作机会。通过与原材料供应商、设备制造商、分销商等合作伙伴的紧密合作,Fenwal Controls不仅降低了采购成本、提高了生产效率,还拓展了销售渠道、增强了品牌影响力。这些合作关系的建立,为Fenwal Controls的长期发展奠定了坚实基础。

问答坊 | AI 解惑

工程师的发展之路

中长期规划---螺旋式上升方式修改完善职业之路 一、中长期职业发展的自我准备 1、心态上随时做好准备 机会是给有准备的人的------“有准备”是你在做准备的过程中让“别人”认为你“有准备”!别人是包括你现 ...…

查看全部问答>

epw9

674654394友情链接QQ号码  密码9982499824 http://www.admin5.com/站长网 用户名:njhuisi 密码:9982499824 邮件:chinagoogleweb@163.com http://bbs.admin5.com交易论坛 用户名:njhuisi 密码:9982499824 邮件:nanjingmaste ...…

查看全部问答>

CC1000-atmel128

CC1000-atmel128 的原理图,做下参考…

查看全部问答>

如何在PC机上显示WinCE平台的显示屏的画面啊?

我的环境是S3C2440+WinCE5.0,现在想从PC机上观看液晶屏上的内容怎么办啊,因为要写论文,想截个图什么的,谢谢大家了。。。…

查看全部问答>

请教一个 MPLAB C18编译的问题

环境:MPLAB 8.0 编译器:MPLAB C18 v3.0 full 芯片:PIC18F25K20 编译的时候报错: unknown processor ‘18F25K20’ 请问这是什么原因,应该怎样做呢?       …

查看全部问答>

51看门狗,求救!!!

一个有关看门狗(AT89s51)的问题问一下高手们。 1.看门狗是一个寄存器吧,它里面有些啥标识符。里面会有像TMOD寄存器里的GATE、C/T#、M1、M1.....吗? 2.还有在用它的时候,为什么要写入:              ...…

查看全部问答>

WINCE5配置NAND FLASH大小问题

我以前的开发板上用512M的K9K的NAND FLASH。现在我将它改为K9K的1G的NAND FLASH。。可问题出现了,它无法开机通过串口知道信息如下。。请问我如何是好呀 Is bad block(?):: blockID:870, 1:1000ffff, 2:0, 3:0, 4:69a, result: 0…

查看全部问答>

sd卡驱动中的模块之间调用的问题

mmcsd.h #ifndef MMCSD_MMCSD_H #define MMCSD_MMCSD_H struct mmc_slot {          int (*transfer1b)(struct mmc_slot *slot, int rd, u_long from,             &nbs ...…

查看全部问答>

MDI子框架一启动就最大化[转载]

  MDI子框架一启动就最大化     方法一:     在CChildFrame::PreCreateWindow(CREATESTRUCT&   cs)函数中,加了     cs.style   |=   WS_VISIBLE|WS_MAXIMIZE;,可以实现了   &nb ...…

查看全部问答>