中国·芯片交易在线
首页 | 供应信息 | 求购信息 | 库存查询 | 新闻中心 | 展会资讯 | IC厂商 | 技术资料 | 自由区域
   新闻首页 |  行业动态 | 新品发布 | 政策法规 | 科技成果 | 模拟技术 | 嵌入系统 | 传感控制 | 存储设计  
当前位置:IC72首页>> IC新闻中心>> 存储设计 >>电子行业新闻正文

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

时间:2007/4/2 10:21:00  作者:  来源:ic72  浏览人数:1325
 
 

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

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

      电路的硬件结构

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

ic72新闻中心

图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写入速度过慢的问题,大大提高了存储性能。

ic72新闻中心

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

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

      采集电路的程序软件

      采集电路的程序是指固化在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)。

ic72新闻中心

图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。

ic72新闻中心

图4 USB通信流程图

      PC机端软件程序

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

      USB驱动程序

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

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

ic72新闻中心

图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)。

ic72新闻中心

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

      结语

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

 
【相关文章】
·带RTC的I2C总线铁电存储器FM31256
·基于C8051F320USB接口的数据采集存储电路的设计
·基于PS501的智能电池系统
·传富士康拟收购商丞品安涉足内存业
·基于EP9315的附网络存储NAS系统设计
·串行DataFlash存储器及其与单片机的接口
·嵌入式系统中的Flash存储管理
·铁电存储器在仪表中的应用
·Flash存储器在TMS320C3x系统中的应用
·针对共模雷电冲击试验的开关电源设计
·Ramtron 推出汽车级16Kb SPI接口FRAM器件
·虚拟技术助存储网络实现三大目标
·串行存储器AT45DB161B在车辆行驶记录仪中的应用
 
 
IC新闻搜索
 
热点新闻
基于红外超声光电编码器的室内移动小车定位系
基于闪烁存储器的TMS320VC5409DSP并行引导装载方法
非移动市场需求飙升,ARM预计2010年出货量超50亿片
一种快速响应的电容式湿度传感器感湿薄膜设计
利用特殊应用模拟开关改进便携式设计
无线传感器网络跨层通信协议的设计
基于ARM9内核Processor对外部NAND FLASH的控制实现
基于GSM技术的汽车防盗系统的设计
热电阻在烟叶初烤炕房温度控制中的应用
高速数据转换系统对时钟和数据传输的性能要求
友情连接
 关于我们  IC论坛  意见反馈  设置首页  广告服务  用户帮助  联系我们
copyright:(1998-2005) IC72 中国·芯片交易在线
(北京)联系电话:(010)82614113、82614123 传真:(010)82614123 客户服务:service@IC72.com 库存上载:IC72@IC72.com
在线MSN咨询:ic72sale8@hotmail.com 通信地址:北京市西城区西直门内大街2号大厦15层 邮政编码:100013
(深圳)联系方式: 在线MSN咨询:ic72sale6@hotmail.com 在线QQ咨询:191232636 通信地址:深圳市福田区振华路
注 册 号: 1101081318959(1-1)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9