基于C8051F320数据采集器的设计与实现

【摘 要 】本文论述了基于C8051F320单片机外接M25P32闪速存储器的数据采集器的设计与实现,并详细介绍了其软、硬件设计.它利用C8051F320单片机的全双工串口UART接收数据,将接收的数据存储在M25P32中,然后通过USB接口将存储在M25P32中的数据下载到上位机进行分析和处理.该数据采集器低廉,使用方便可靠,特别适合应用于试验时对原始数据进行采集存储、试验后进行数据分析处理.

【关 键 词 】数据采集器;单片机;89C51F320;M25P32;SPI接口

随着军事武器装备的日益发展,许多航空设备在进行功能、性能考核试验时,无论地面试验还是空中试验,都需要对自身输出的信息进行实时采集存储,以供试验后对数据进行分析处理,从而准确评定其功能、性能及其输出参数的准确性.传统的数据采集器常常采用单板机外挂电子硬盘的方法进行数据采集,然后通过RS-232串口下载数据后进行数据分析处理.这种采集器具有体积大、成本高、可靠性低及数据下载速度慢的缺陷,特别是设备在空中试飞时,这样的缺点是不允许的.随着单片机机技术的发展,以及Flash存储器容量的不断扩大,针对需要设计了一款基于C8051F320单片机外接M25P32闪速存储器的数据采集器,该采集器具有体积小、成本低、功耗低、操作使用简单方便、可靠性高等特点.

1.系统总体设计

目前广泛应用的通讯接口形式比较多如ARIN29、1553B、RS-422、RS-232C、CAN等,设计一种基于单片机通讯接口可选、数据存储量大、体积小、功耗低、低廉的数据采集器其应用前景将非常广阔.基于C8051F320单片机外接M25P32闪速存储器的数据采集器的结构原理如图1.该采集器选用单片机C8051F320,外接M25P32闪速存储器,通过模拟开关选择外部通讯接口进行数据采集,利用C8051F320中的USB接口进行数据下载.该数据采集器主要有以下特点:


(1)数据采集通讯接口可选.通过单片机P1口控制模拟开关MAX323,选择外部通讯接口RS-422或RS-232C;

(2)下载速度快.C8051F320中的USB接口与上计算机USB接口进行通讯,数据下载可在几秒中就可以完成.

(3)存储数据量大.M25P32存储数据量可以达到32M位,100字节、波特率115200bps、更新率100Hz的数据存储量可以进行4小时的数据存储,可以满足大多数应用场合.

(4)自动指示数据存储情况.可以通过LED指示灯显示数据正在存储、正在下载、存储数据已满等信息.

(5)可以通过JTAG口进行在线程序调试.C8051F320片内Silicon Labs二线开发接口允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统调试.

(6)体积小、重量轻、成本低、功耗低、操作使用简单方便、可靠性高等特点.该采集器尺寸:长(108mm)*宽(75mm)*高(52mm);重量:245g;采用一块3.6V的1.8Ah的锂电池可以工作30小时以上.

2.系统硬件设计

采集器的主要硬件原理图如图2所示.

根据采集器总体设计的特点,单片机采用C8051F320.C8051F320器件是完全集成的混合信号片上系统型MCU.其主要特性如下:全速、非侵入式的在系统调试接口(片内);通用串行总线(USB)功能控制器,有8个灵活的端点管道,集成收发器和1K FIFO RAM;硬件实现的Bus/I2C、增强型UART和增强型SPI串行接口;FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件.

由于C8051-F320具有以上的优越性能,考虑存储数据量大,采用USB接口下载数据比串口快,同时它具有硬件SPI接口,能够方便与SPI接口的存储器进行通信.

由于C8051F320具有硬件SPI串行接口,选择具有SPI串行接口的FLASH存储器比较好,能够充分利用资源.选用了ST公司的M25P32Flash存储器.其特性介绍如下:M25P16是32兆位的串行Flash存储器,具有机械写保护功能,通过与SPI兼容总线高速进行存储;存储器通过运用页写指令每次能写1~256字节,页写(256)字节,时间1.4ms(典型);由64个扇区组成,每个扇区包括256页,每页256字节,总共16384页,4,194,304个字节.单电源:2.7-3.6V;串行SPI接口;最大操作时钟频率50MHZ;100000次檫/写次数,高达20年的数据存储时间.

设计LED指示电路主要是为了方便使用和进行故障诊断,同时可以知道主程序执行情况.LED电路如图2,当打开电源开关K1,LED0(绿灯)亮;LED1(红灯)亮后马上灭,表示通讯信号握手成功;LED2(绿灯)亮,表示等待采集数据;当打开采集开关K2,LED2(绿灯)灭,表示正在采集数据;Flash数据存储满LED3(黄灯)亮,表示Flash数据存储满,此时关掉采集开关K2,LED2(绿灯)亮.下载数据时,LED1(红灯)亮,下载数据结束,LED1(红灯)灭.

机载测试装置主要是进行数据的的存储,当试验结束后,存储的数据要通过C8051F320的USB接口下载到PC机中,其连接电路如图2.

3.系统软件设计

3.1 单片机程序设计

系统软件主要包括两部分,一是下位机C8051F320单片机软件;二是上位机PC机软件.下位机软件采用C语言编写.下位机软件设计主要是C8051F320单片机程序设计,下位机主程序如图3,它包括以下四个部分:

(1)单片机C8051F320单片机初始化程序的设计,包括PCA0MD、PORT、SYSCLK、VDD_MON、UART0、USB0等的初始化;

(2)通讯接口的初始化、数据通讯程序的设计;

(3)Flash存储器M25P32的读写以及擦写程序的设计;

(4)通用串行总线控制器(USB0)程序设计.

3.2 Flash程序设计

M25P32的主要程序包括:读Flash程序FlashRead(),其流程图见图4;写Flash程序FlashWrite(),其流程图见图5;扇区擦写程序FlashSectorErase();

单片机C8051F320中code中0x3A00开始的一页(512个字节),用来保存M25P32中数据的大小和块数,Code Flash的存储页安排如表1.接收/发送文件缓存安排为Temptorage[0]~Temptorage[3],每一缓存为64字节.

3.3 USB程序设计

下位机USB能正确与上位机正常通信,它是由收发器的状态机来控制的.当USB总线中断引起USB总线复位,状态机处于等待请求打开一个设备实例状态,按照USB协议与上位机握手成功后,USB处于空闲等待状态.如果没有消息请求,则状态机一直处于空闲等待状态,一直等待主机发送的消息请求,当有USB中断时,则执行USB中断程序.当下位机处于数据采集状态时,USB中断不被响应,USB不工作.

USB0的主要程序是usb_isr.c,其主要函数及功能如下:

USB_ISR()interrupt 8:USB0中断程序;

USBReset():USB0复位程序;

Receive_Setup():接收解码从主机发送的setup信息包;

State_Machine():状态机处理程序;

Receive_File(void):接收从主机发送来的数据文件;

Erase_Flash(void):擦除M25P32 Flash

Erase_Sector(BYTE Addr):块擦除M25P32 Flash

4.应用结论

该采集器对某型航向、姿态参考系统进行空中它机校飞试验的数据进行采集,通讯接口RS-422,记录数据为47字节,波特率115200bps,数据更新率10Hz,试飞时间1小时20分钟,记录存储空间约2.56M,实际下载数据时间约10秒钟,满足试验记录要求.总共飞行多个架次,数据没有丢失现象.同时在地面进行数据试验多次,从未发生异常现象.实践证明,该型采集器具有体积小、重量轻、成本低、功耗低、操作使用简单方便、可靠性高等特点,特别适合数据量适中的数据记录场合.

类似论文

IMP分散式数据采集器在火电厂的应用

摘 要IMP是一种新型的分散式数据信息采集装置,其可靠的采集精度和高强度的抗干扰能力,很好地解决了火电厂监控系统į。
更新日期:2024-6-23 浏览量:83674 点赞量:18980

基于单片机的数据采集器设计

摘 要对于数据信息的转化和采集是一项非常重要的任务 信号能够以各种各样的方式存在于自然界中,比&。
更新日期:2024-5-21 浏览量:69971 点赞量:15852

基于LabVIEW的数据采集与子面板设计

LabVIEW虚拟仪器软件被广泛应用于测控系统的开发 本文阐述了在LabVIEW图形化编程语言的环境下,微弱信号采集系统界面的设计 介绍了菜单的。
更新日期:2024-1-15 浏览量:21030 点赞量:6198

三维模拟人形数码艺术设计与人体数据采集

摘 要 三维人体造型艺术产品是结合人体生理学特征,通过数字化手段设计的模拟人形艺术产品,是现代艺术设计手段与人体生理学完美结合。
更新日期:2024-9-17 浏览量:120924 点赞量:26875