基于C8051F320 USB接口的数据采集存储电路的设计

发布者:玄幻剑客最新更新时间:2021-05-31 来源: eefocus关键字:C8051F320  USB接口  数据采集  存储电路 手机看文章 扫描二维码
随时随地手机看文章

在一些特殊的工业场合,有时需要将传感器的信号不断的实时采集和存储起来,并且到一定时间再把数据回放到PC机中进行分析和处理。在工作环境恶劣的情况下采用高性能的单片机和工业级大容量的FLASH存储器的方案恐怕就是最适当的选择了。CYGNAL公司的C8051F320 SOC是一种具有8051内核的高性能单片机,运行速度为普通8051的12倍。该芯片内部528字节随机RAM和2048字节XRAM为数据缓冲和程序运行提供了充足的空间。更受欢迎的是它的串行扩展功能为当前的各种串行芯片和外部设备接口的扩展提供了极大的方便。高速的SPI硬件接口与串行FLASH RAM的无缝连接大大简化了电路板布线,而片内自带的USB接口功能使数据的存储和回放变得十分简单和快捷。在USB接口协议的支持下,使这个采集存储电路的数据回放过程简单到了极点。


本文给出的是用于大型光伏系统运行状态监测的数据采集存储电路,由于采用表面贴片工艺制作,整个电路板的宽度仅为18毫米,就像使用U盘一样方便。


采集电路硬件部分


电路的硬件结构


本系统采用了CYGNAL公司的C8051F320芯片和ATMEL公司的AT45DB321C存储芯片作为控制和存储的主要芯片。图1是信号采集系统的采集及存储系统框图。



图1 基于USB数据采集及存储系统框图


从图1中可见,在采集过程中,传感器的输入模拟信号经可变增益放大器放大后送至C8051F320,经过ADC转换为数字信号。单片机片外有8个45DB321C芯片组成了一个32MB的Data flash存储器,采集到的数据不断地通过SPI接口传送到45DB321C芯片中存储。


与其他型号芯片相比,C8051F320带有USB接口,片内的USB功能控制模块符合USB2.0规范,可在全速或低速下运行,并具有1KB USB缓存、集成收发器,无需外部电阻。可以与PC机即插即用。当需要数据时,可将采集存储电路从现场取回,通过USB接口回放到PC机中,在LabVEIW平台上进行波形显示和数据分析处理。


8051F320与45DB321C的硬件接口


系统中C8051F320与45DB321CI采用SPI单主多从机的方式通信。引脚NSS作为从机选择线,选择存储芯片,低电平有效;SCK作为串行外设接口发送和接收数据的同步时钟信号;RDY/BUZ作为判断设备不忙或准备接收新的指令操作的信号线;SO、SI作为数据传输线。


本系统设计上考虑使用8片45DB321C芯片,最大容量达32MB,通过片选CS1~CS8分别连到各45DB321C的CS端。时钟SCK只对被选中的45DB321有效。本系统使用多片Flash芯片的设计除了提供充足的存储空间之外,还解决了一个关键问题,就是借鉴硬盘领域RAID技术的思路,通过对4片一组的Flash顺序操作实现一个基本的并行加速,解决了Flash写入速度过慢的问题,大大提高了存储性能。


具体电路如图2所示,其中8片存储器的SPI采用级联只画出一片,各自的CS片选信号由74HC138译码给出。



图2 单片机与FLASH存储器的接口电路


采集电路的程序软件


采集电路的程序是指固化在C8051F320 中的程序,采用c语言编写,由主程序模块、ADC数据采集、Flash数据存储和USB通信四部分组成。


主程序和ADC数据采集


主程序主要完成系统初始化状态指示操作控制和参数设置启动A/D转换等。


ADC数据采集程序将来自传感器的模拟信号转换成数字信号的。本系统中,ADC的转换是通过Timer2的自动溢出来触发的,而采集的速率可以事先通过上位机设置。


Flash数据存储程序


C8051F320芯片与Flash存储器的通信采用SPI接口方式,数据传输率为12MHz(位/秒)。本设计中,C8051F320工作在SPI主机模式,SPI总线的数据传输都将由C8051F320发起。首先对SPI相关SFR SPI0CFG寄存器和SPI0CN寄存器进行配置,使其工作在3线主模式12MHz。通信时首先用GPIO引脚来选择相应的Flash从器件,随后通过读取SPIDAT来进行读写操作。在使用Flash芯片进行读写操作时,首先要确定Flash存储器的状态。可通过写入D7H命令,读取状态寄存器判断设备是否Ready或处于Busy状态。确定状态后,可根据数据手册中的命令格式进行相关的读写以及擦除操作。


USB通信程序


固件编程是USB设备开发过程里的主要工作。固件的主要任务是初始化单片机和外设,发送USB请求,响应主机的标准设备请求。根据设备的功能分类完成各种数据交换请求。初始化编程主要完成USB控制器的初始化、端点初始化,交叉开关和I/O口初始化、系统时钟设置,控制器使能。初始化后,USB设备可随时插入主机中,主机将遵循USB协议对设备进行识别和初始化。主机识别到设备之后对设备进行配置,调用相应的驱动程序,配上上位机软件进行相关通信操作。


Silicon lab公司提供了USBXpress的开发套件。通过使用USBXpress库,大大简化了USB固件程序和PC端驱动程序的开发。 USBXpress通过一系列函数实现单片机端的应用程序接口(API)。这些函数封装了USB协议的细节,使得程序开发人员不需要了解USB的过多细节即可使用USB进行数据通信(见图3)。



图3 单片机与PC机的USB通信


本系统中主要用到了初始化、读、写、中断这四个函数:


初始化USB_Init(0,0xEA61,NULL,NULL,Serial,250,0x80,0x100)函数;块写函数Block_Write();块读函数Block_Read();USB中断使能函数。


USB的所有处理程序都是通过USB的中断服务程序完成的。进入USB中断后,程序调用Get_Interrupt_Source()函数获得USB中断的进入原因。然后根据不同的入口情况,来进行相应的处理。比如收到数据之后,读取相应的缓冲区内容到内存中;收到初始化命令时,复位单片机内的各个状态参数。USB通信流程图示于图4。



图4 USB通信流程图


PC机端软件程序


计算机端软件程序包括两部分:USB驱动程序和用户应用程序。


USB驱动程序


USB驱动程序是一个软件组件,封装了应用程序存取硬件设备的功能函数。有些设备具有相同的属性,把它们归为一组标准类别,可以定义设备类规范作为该类设备的主机驱动框架。设备类驱动程序使用相似的函数,处理不同设备间的通信,这样使设备类驱动程序的开发可以脱离设备制造商。


USB驱动程序模型一般分为五层(见图5)。



图5 USB驱动程序模型


用户端若要从设备读取数据,将调用一个应用程序接口API,如OpenFile,SiUSBXp.dll实现这个API。总线驱动程序控制对总线上所有设备的访问。


本系统中,开发USB设备驱动程序的工具使用了USBXpress Development Kit。主要函数如下:


SI_Open()函数;SI_Close()函数;SI_Read函数;SI_Write()函数;SI_GetNumDevices()函数;SI_CheckRXQueue()函数。


用户应用程序


本系统中,应用程序采用NI公司的LabVIEW软件进行编写,运用图形化的C语言进行软件开发,实现数据的显示、满足不同需要的分析功能以及对数据采集硬件的参数设定(见图6)。



图6 回放数据波形显示界面


结语


基于C8051F320 USB接口的采集存储电路把计算机技术与传统信号采集技术紧密结合起来,充分发挥PC机和单片机各自的优点,实现传感器信号的采集、存储、显示和处理。而借助USB接口的通信功能,减小了数据传输系统的复杂性。


关键字:C8051F320  USB接口  数据采集  存储电路 引用地址:基于C8051F320 USB接口的数据采集存储电路的设计

上一篇:51单片机S系列与C系列的区别及选型指南
下一篇:6位数显频率计数器设计

推荐阅读最新更新时间:2024-11-03 18:15

自制USB接口和RS232串口的1-wire转接线
1-wire也叫one-wire,是美信(MAXIM)公司弄出来的一种连接各设备的串行通信方式。其实和普通的I2C,RS232,USB类似,就是不同设备之间互相传输数据的一种方式。和其他方式不同的是,此方式只需要一根1-wire数据线和一根地线就可以实现两个设备之间的双向数据交换。而我们平常用的最多的USB则有电源,D+,D-和地线四根线,而RS232最少也要TXD,RXD和地线三根线。所以与这些方式比,1-wire可以减少连线数目。而且1-wire也像USB或者I2C一样支持一条线上挂多个设备。其实其他公司也有类似的方式,只不过名字不一样。 我们的电脑不支持1-wire接口,所以为了连接电脑和1-wire设备,只好做一根线了。美信
[嵌入式]
USB接口转换器在门禁考勤系统中的应用
      目前越来越多的公司已经将门禁考勤做为一种自动智能的企业信息管理方式。市场上大多门禁考勤设备采用RS232,RS422,RS485或USB等串行通信接口。      一般的IC卡门禁考勤系统也使用RS-232 接口与PC机通信.如果将USB技术应用于IC卡门禁考勤系统与PC机之间的数据通信,这样,不仅能使IC卡门禁考勤设备具备USB通信的诸多优点,而且对PC机而言还可以节余1个RS-232串口为其它通信所用.      为了实现IC卡门禁考勤系统中RS-232-USB接口转换器,需要1台支持USB的主机,同时还要提供主机 上用于与外设通信的驱动,一般由操作系统提供.此外,还需开发在主机上执行的客户端应用程序. 在
[嵌入式]
基于单片机的智能环境数据采集小车系统设计
本文主要一个基于 单片机 的智能环境数据采集小车系统的设计,能实现环境温湿度的采集、发送、接收、处理、显示和保存。系统采用单片机作为小车与控制台的核心。控制台通过无线射频信号控制电动小车前进、后退、左转和右转运行,小车在行进过程中实时采集环境数据并将采集到的数据通过无线信号发送给控制台,控制台将数据处理后显示,并将数据发送至PC保存。经调试,系统工作稳定、可靠,实用性强。 智能小车在感知效应方面全面模拟人的机器系统,它是人工智能技术的试验场。智能小车具有识别、检测、环境数据采集等智能机制,能在非特定环境下,在恶劣条件下代替人工作,具有广阔的应用前景。本设计通过无线遥控电动小车的运行,实现环境温湿度的采集、发送、接收、
[单片机]
基于单片机的智能环境<font color='red'>数据采集</font>小车系统设计
面向高温极端环境的高可靠精密数据采集与控制平台
作者:Jeff Watson和Maithil Pachchigar 简介 在许多恶劣环境系统中,一个不断增长的趋势是高精密电子器件离高温区域越来越近。这一趋势背后有多个推动因素,在能源勘探、航空航天、汽车、重工业和其他终端应用中都有体现。1 例如,在能源勘探领域,环境温度增幅为深度的函数,相关设备的典型工作温度为175°C及以上。受尺寸和功率限制,有源冷却不太实际,热对流非常有限。在其他系统中,需要把传感器和信号调理节点置于高温区域附近,比如发动机、刹车系统或高功率能源转换电子器件,以提高系统的整体可靠性或降低成本。 从历史上来看,工程师要为这些应用设计出可靠的高性能电子器件是非常困难的事,因为市场上缺少制造商为这些工
[测试测量]
面向高温极端环境的高可靠精密<font color='red'>数据采集</font>与控制平台
基于CAN总线的数据采集人机界面设计
  0 引言   目前在铁路机车内,模拟表盘大量存在,它给铁路运输的安全管理造成了相当大的不便。使用模拟表盘有以下缺点:第一,没有数据存储功能,如果发生事故,就很难得到事故发生时的确切信息;第二,需要大量布线、安装不便。如果在原模拟系统中添加设备,则需要重新布线;第三,不能利用成熟的基于数字信号的现代信息处理技术。对火车机车监控系统而言,数据测量和传输的快速性、准确性、可靠性、存储性、通讯的灵活性都是至关重要的。有必要将机车内的模拟表数字化和智能化,在此基础上利用现场总线技术构成测控网络,完成对机车内重要数据及时的采集、传输、存储、显示、报警。   本铁路机车数据平台采用了CAN总线技术。选用CAN总线是基于可靠性方面的考虑。
[测试测量]
基于CAN总线的<font color='red'>数据采集</font>人机界面设计
基于USB总线的多路电话录音系统的设计
  1 概述   现在市场上的录音系统大致可分为电话录音卡和电话录音盒两种。电话录音卡是以板卡的形式插入电脑主板插槽与主机连接的,安装极为不便。大部分的录音卡为PCI插槽形式,不仅价格昂贵,而且受计算机插槽数量、地址及中断资源的限制,可扩展性较差。尤其是在电磁干扰较强的环境中,无法专门对其作电磁屏蔽,容易导致数据丢失,使声音失真。电话录音盒一般为外置式设备,通过接口线直接接入计算机外置接口,使用非常方便;但是,计算机提供的接口毕竟有限,传统的串并口都是点对点连接,即一个接口只能支持一个设备,而且串并口一般不能满足系统的实时性要求。在这种情况下,采用USB作为录音系统的接口,是一个相当好的选择。设计一种基于USB接口技术的电话录
[嵌入式]
PXIe总线在多通道高速数据采集流盘系统中的应用
1.引言 随着测控技术的发展及其应用范围的不断扩大,数据采集方法及存储技术在内容和形式上都发生了巨大的变化。在此过程中,多通道、高采样率以及大量数据实时存盘的测试需求对现有的测试系统提出了挑战,如何将测试过程中的大量数据进行有效的存储和分析,成为工程师们首先要考虑的问题。本文介绍了基于PXIe总线的数据采集卡和RAID0磁盘阵列的组合,并结合LabVIEW 2009作为开发平台,以柔性测试技术为指导,为读者提供了一个多通道、高采样率、大量数据实时存储的数据采集系统的解决方案。 2. 现状 目前,多通道、高采样率的数据采集卡市场上普遍存在,这类采集卡会瞬间产生大量的试验数据,现阶段数据的存储介质以SATA接口硬盘为主,而
[嵌入式]
基于NI PXI和LabVIEW测试平台的NI数据采集系统
挑战: 电子稳定系统(Electronic Stability Program, 简称ESP,下同)实车道路试验不仅对场地要求十分苛刻,实验过程具有相当的危险性,而且所需测量的信号较多。实验数据采集系统不仅要能够采集各种信号,还要能够在恶劣的测试环境中(如冲击、震动、高温、高湿度等)稳定可靠的工作。 解决方案: 面对ESP系统试验苛刻的测试环境、众多的测试信号,基于NI PXI和LabVIEW的测试平台,我们在较短的时间内快速融合了模拟信号、数字信号、CAN、串口等多种信号采集与处理。NI数据采集系统在海南试验场成功完成了ESP试验过程的数据采集,保证了试验的顺利进行。 汽车电子稳定控制系统可以辅助驾驶员对车辆的动力学
[测试测量]
基于NI PXI和LabVIEW测试平台的NI<font color='red'>数据采集</font>系统
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved