|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
5 P8 ], ^; Y3 y/ U# q/ R摘要:存储管理方法对系统的存储空间进行管理和分配,从而在普通的单片机测试系统中实现了对大量测试结! R1 f0 i+ R/ t3 u2 `: p
果的抽象化数据管理,便于系统进行数据保存、数据删除、数据查询以及与上位机的数据传输等各项操
4 s) G1 ^& g; x/ k
( m, I: _7 n7 K9 R6 Q" q- N! T2 A+ [# u3 D# T: [" ?
; U& R5 ?5 O4 e( D关键词:链式存储结构 数据存储管理 单片机测试系统3 y: {! H' v" ]' q7 i. f
a* Q4 Q- O1 x0 v
引言
/ M- P# {4 v. A% h5 {0 b% X在自动化测试领城里,单片机测试系统凭借其成熟的
) X+ B, Z/ F W! m9 J2 X, F7 I应用体系,简单的系统结构以及优良的性价比得到了越来4 G7 R: j% f3 v- R
越广泛的应用。近年来,随着新的测试对象不断出现,以.
6 V) r. K* F5 z# Y: R+ {1 M6 {$ X及测试手段的不断发展,测试系统的功能越来越完善,各
3 l. F" H u- l2 Q& x! u% x, Z种应用场合对测试系统的要求也日益提高。现在的大多. Q7 e& t* ]8 V2 @" K3 }* [
数测试系统不仅要完成工业现场的实时测控任务,同时还) f4 h$ p$ h( h% p, V5 z
要进一步实现对测试数据的实时处理和保存。以往在一
8 q9 G2 v% D4 Z6 J3 L2 W般的单片机测试系统中,信息的存储量并不大,系统只须
. C2 R% A1 o$ \& D5 e用较少的资源就能实现数据的存储。但是随着存储芯片
$ I# B1 E; h6 O( j1 D: b技术的不断发展,适用于单片机系统的存储芯片已经可以
* H r& R0 Z/ D. I& P$ H; ~$ t' X在掉电保护的情况下保存上百KB甚至几MB的数据;同, p9 ^ z |0 u
样,目前的单片机测试系统也面临动辄处理并保存上千条
& j4 [0 U( \7 A# \乃至近万条测试数据的问题。这对一般的缺少操作系统.
9 }( y5 v. X8 H- w" f4 Q! p1 A支持的单片机测试系统来说,是一项相当复杂的工作,因
* H5 R! M: p% J: I$ E而目前的测试系统往往只能针对具体数值对象进行处理,3 c6 H! U" c) Q9 F
对大量采集数据采取简单的顺序存储方式。显然,这种方; x; q4 c; J5 L, H" Q; F6 h
法缺少灵活性,不利于单片机测试系统处理大量测试数
|+ e7 _ j+ K据,限制了测试系统在这方面的发展。
$ M5 [ e1 | `" g. ~/ t本文主要针对处理测试数据量较大的--类测试系统,& K0 {! g5 c7 o. h- w0 v
讨论测试数据的存储和管理问题。这类测试系统往往由抗" _! V# x" x- b' l' j
千扰能力较强的单片机和大容量.掉电保护的存储芯片组0 u) H3 c7 D9 D, d$ t) I
成,同时配有高精度数字式传感器;造价便宜,性能稳定,适& d4 J; Z. L* [- r/ v s" E6 j' m7 K
合工作在工业现场,保存和处理大量测试数据,有的甚至能% {' O( u3 Y1 |* P6 ^
够与上位机组成测控网络完成更为复杂的测试任务。本文" D" z. n0 }0 \5 E: D9 m3 z
将介绍一种应用于单片机测试系统的链式存储方式,能够.
8 h5 j* r7 t; [$ @ u* U在工业现场进行实时测控的同时,实现对大量测试数据的) H1 _5 X7 f$ M% C+ Q
保存和管理,在实际应用中取得了良好的效果。
" ^; q: [# O) ?# S1大容量单片机测试系统中的存储结构5 ?; x& E; `. s! m
在大多数自动测试系统中,测试数据的逻辑结构一般& U1 c6 ` |6 l6 A3 D/ M
都会遵循线性逻辑关系,即数据元素在时间或者空间顺序
$ C% Q, F( z) P7 q$ b' U! D上只分先后次序而不存在上下层次。因此在设计存储结: z5 ~5 M" ^! o
构时往往采用顺序存储结构,其优点在于处理线性数据结: r( L. G9 J3 s7 J; k+ h( q! `& w
构时速度快。而且结构简单。
3 r0 H2 Z2 N/ S3 ?, F0 }2 K但是上述情况在前文所述的大容量测试系统中并不1 p; i( i& _, e' [3 ?
是普遍适用的。大容量测试系统虽然同样是线性逻辑结. [( H* Z; ]) ]
构,但其测试数据变化多样,构成数据元素的内部结构也5 I9 q+ K/ x }4 ]& f
非常复杂,而且系统又要执行数据保存和数据查询等多项 {: l$ Y/ j% y5 ~
指令操作,如果再应用顺序存储结构就会面临许多问题。& ~5 `0 t* U' ]8 b
首先,测试系统经常会面临- -些较为特殊的测试对- K: _3 c' A& t6 d
象。其测试信息较为复杂且数据长度不固定,显然不利于
k. c! E$ Y9 z/ I* `采用顺序存储结构。假设系统按照时间或空间上的逻辑
: |5 \( \7 E- Y. O顺序来进行顺序存储,那么对存储空间的分配将成为难+ A4 d* u' T/ C) V7 A
题。若分配空间过大,则影响存储效率;反之,又会出现数6 H, _( V* t. l: T. R, P9 h
据溢出的情况。类似地,假设系统能够安排好数据的存放5 n- r8 p$ n8 \) S, B3 q# j
空间,在进行数据查询.数据删除等操作时系统也会显得) B. \7 ?5 E. P z0 u. ]; h0 Z
力不从心。: u; y/ p# g% M! D7 c
其次,采用顺序存储结构不能很好地处理抽象数据类' L+ }. D1 ?+ O/ i8 t' O
型。系统在进行数据保存、数据查询以及数据删除等操作" d5 X( ] h6 S" S# ~6 k$ p8 @
时都要考虑数据元素的长度和内容,不能做到灵活.有效。
L; Q+ m' P4 H3 w7 b6 s1 p当系统需要修改或升级时,对数据元素内部结构的修改又+ c# D; z7 v+ n, Z' J1 ~( h3 }( c
会影响到系统的整体操作,从而降低了系统的可靠性和高8 L( Q5 T8 [3 I2 X7 t
效性,同时使得系统进行维护和升级的难度大大增加。0 n8 K+ ~, P2 W: e
综上所述,顺序存储结构并不能解决大容量测试系统
7 E, y$ z7 M2 Z3 q4 O6 G在存储和管理数据时面临的所有问题,因此在实际操作中
. w. H N0 F6 ~- S必须考虑非顺序存储结构的应用。长久以来,在单片机系
4 }+ s: }9 U( h- O
+ T5 V( s1 @# o; c$ G, J* y8 F2 v6 u; C7 f
, Q% L, t8 f3 Y; z* v6 y% V附件下载:7 Y' ~5 W; ?# Y0 g2 n0 b
|
|