浅谈PDM系统中的图档批阅技术

时间:2023-09-13 08:42:03 其他范文 收藏本文 下载本文

浅谈PDM系统中的图档批阅技术(集锦8篇)由网友“一定不能退学噢”投稿提供,下面是小编整理过的浅谈PDM系统中的图档批阅技术,希望能帮助到大家!

浅谈PDM系统中的图档批阅技术

篇1:浅谈PDM系统中的图档批阅技术

浅谈PDM系统中的图档批阅技术

PDM是有效利用和共享企业信息资源的最佳方案.本文论述了PDM的功能结构和图档批阅在PDM中的.重要作用及图档批阅的实现方法,并简述了用Object ARX实现图层修改的过程.

作 者:贺静  作者单位:长沙大学工程系,湖南,长沙,410003 刊 名:长沙大学学报 英文刊名:JOURNAL OF CHANGSHA UNIVERSITY 年,卷(期): 15(2) 分类号:A841 关键词:PDM   ObjectARX   图档批阅  

篇2:传输系统中的时钟同步技术

传输系统中的时钟同步技术

同步模块是每个系统的心脏,它为系统中的其他每个模块馈送正确的时钟信号。因此需要对同步模块的设计和实现给予特别关注。本文对影响系统设计的时钟特性进行了考察,并对信号恶化的原因进行了评估。本文还分析了同步恶化的影响,并对标准化组织为确保传输质量和各种传输设备的互操作性而制定的标准要求进行了探讨。

摘要:

网络同步和时钟产生是高速传输系统设计的重要方面。为了通过降低发射和接收错误来提高网络效率,必须使系统的各个阶段都要使用的时钟的质量保持特定的等级。网络标准定义同步网络的体系结构及其在标准接口上的预期性能,以保证传输质量和传输设备的无缝集成。有大量的同步问题,系统设计人员在建立系统体系结构时必须十分清楚。本文论述了时钟恶化的各种来源,如抖动和漂移。本文还讨论了传输系统中时钟恶化的原因和影响,并分析了标准要求,提出了各种实现技巧。

基本概念:抖动和漂移

抖动的一般定义可以是“一个事件对其理想出现的短暂偏离”。在数字传输系统中,抖动被定义为数字信号的重要时刻在时间上偏离其理想位置的短暂变动。重要时刻可以是一个周期为 T1 的位流的最佳采样时刻。虽然希望各个位在 T 的整数倍位置出现,但实际上会有所不同。这种脉冲位置调制被认为是一种抖动。这也被称为数字信号的相位噪声。在下图中,实际信号边沿在理想信号边沿附近作周期性移动,演示了周期性抖动的概念。

图 1.抖动示意

抖动,不同于相位噪声,它以单位间隔 (UI) 为单位来表示。一个单位间隔相当于一个信号周期 (T),等于 360 度。假设事件为 E,第 n 次出现表示为 tE[n] 。则瞬时抖动可以表示为:

一组包括 N 个抖动测量的峰到峰抖动值使用最小和最大瞬时抖动测量计算如下:

漂移是低频抖动。两者之间的典型划分点为 10 Hz。抖动和漂移所导致的影响会显现在传输系统的不同但特定的区域。

抖动类型

根据产生原因,抖动可分成两种主要类型:随机抖动和确定性抖动。随机抖动,正如其名,是不可预测的,由随机的噪声影响如热噪声等引起。随机抖动通常发生在数字信号的边沿转换期间,造成随机的区间交叉。毫无疑问,随机抖动具有高斯概率密度函数 (PDF),由其均值 (μ) 和均方根值 (rms) (σ) 决定。由于高斯函数的尾在均值的两侧无限延伸,瞬时抖动和峰到峰抖动可以是无限值。因此随机抖动通常采用其均方根值来表示和测量。

图 2.以高斯概率密度函数表示的随机抖动

对抖动余量来讲,峰到峰抖动比均方根抖动更为有用,因此需要把随机抖动的均方根值转换成峰到峰值。为将均方根抖动转换成峰到峰抖动,定义了随机抖动高斯函数的任意极限 (arbitrary limit)。误码率 (BER) 是这种转换中的一个有用参数,其假设高斯函数中的瞬时抖动一旦落在其强制极限之外即出现误码。通过下面两个公式,就可以得到均方根抖动到峰到峰抖动的换算。3

由公式可得到下表,表中峰到峰抖动对应不同的. BER 值。

确定性抖动是有界的,因此可以预测,且具有确定的幅度极限。考虑集成电路 (IC) 系统,有大量的工艺、器件和系统级因素将会影响确定性抖动。占空比失真 (DCD) 和脉冲宽度失真 (PWD) 会造成数字信号的失真,使过零区间偏离理想位置,向上或向下移动。这些失真通常是由信号的上升沿和下降沿之间时序不同而造成。如果非平衡系统中存在地电位漂移、差分输入之间存在电压偏移、信号的上升和下降时间出现变化等,也可能造成这种失真。

图 3,总抖动的双模表示

数据相关抖动 (DDJ) 和符号间干扰 (ISI) 致使信号具有不同的过零区间电平,导致每种唯一的位型出现不同的信号转换。这也称为模式相关抖动 (PDJ)。信号路径的低频截止点和高频带宽将影响 DDJ。当信号路径的带宽可与信号的带宽进行比较时,位就会延伸到相邻位时间内,造成符号间干扰 (ISI)。低频截止点会使低频器件的信号出现失真,而系统的高频带宽限制将使高频器件性能下降。7

正弦抖动以正弦模式调制信号边沿。这可能是由于供给整个系统的电源或者甚至系统中的其他振荡造成。接地反弹和其他电源变动也可能造成正弦抖动。正弦抖动广泛用于抖动环境的测试和仿真。不相关抖动可能由电源噪声或串扰和其他电磁干扰造成。

考虑抖动对数字信号的影响时,需要将整个确定性抖动和随机抖动考虑在内。确定性抖动和随机抖动的总计结果将产生另外一种概率分布4:双模响应,其中部表示确定性抖动,尾部为高斯响应,表示随机抖动分量。

抖动测量 ― TIE、MITE 和 TEDV

时间间隔误差 (TIE) 是通过对实际时钟间隔的测量和对理想参考时钟同一间隔的测量得到的。在给定时间 t,以一个称为观测间隔的时间间隔产生时间 T(t) 的时钟,其相对于时钟 Tref(t) 的TIE 可通过下面公式表示。(x(t) 称为误差函数。)

TIE 表示信号中的高频相位噪声,提供了实际时钟的每个周期偏离理想情况的直接信息。TIE 用于计算大量统计派生函数如 MTIE、TDEV 等。

最大时间间隔误差 (MTIE) 定义为,在一个观测时间 (t=nt0) 内,一个给定时钟信号相对于一个理想时钟信号的最大峰到峰延迟变化,其中该长度的所有观测时间均在测量周期 (T) 之内。使用下面公式进行估计:

MTIE是针对时间的缓变或漂移而定义的。当需要分析时钟的长期特性时,就需要对MTIE进行测量。MTIE 值是对一个时钟信号的长期稳定性的一种衡量。

图 4.TIE 的图形表示

TDEV 是另外一个统计参数,作为集成时间的函数对一个信号的预期时间变化的测量。DEV 也能提供有关信号相位(时间)噪声频谱分量的信息。TIE 图中每个点的标准偏差是对一个观测间隔计算的,该观测间隔滑过整个测量时间。该值在整个上述测量时间内进行平均以得到该特定间隔的 TDEV 值。增大观测间隔,重复测量过程。TDEV 是对短期稳定性的一种衡量,在评估时钟振荡器性能时有用。TDEV 属于时间单位。

高速传输系统中抖动和漂移的原因

最常用的一种时钟体系结构是,在备板上运行一个低频时钟,在每个传输卡上产生同步的高频时钟。低频时钟在集成电路内或通过分立 PLL 实现进行倍频以产生高频时钟。通过典型的 PLL 倍频,倍频后时钟上的相位噪声增大为原来时钟相位噪声的 20*log(N) 次方,其中 N 为倍频系数。此外,PLL 参考时钟输入上的抖动将延长锁定时间,且当输入抖动过大时高速 PLL 甚至无法实现锁定。在备板上采用一种更高速的差分时钟将比采用低速单端时钟具有更好的抖动性能。

由于 VCO 对输入电压变化较为敏感,因此电源噪声是增大时钟抖动的一个主要因素。输出时钟抖动幅度与电源噪声幅度、VCO 增益成正比,与噪声频率成反比。因导线电阻形成的电阻下降和因导线电感形成的电感噪声而造成的电源或接地反弹,会对上述输出时钟抖动产生相似的影响。在系统板上对电源进行充分过滤,靠近集成电路电源引脚提供去耦电容,可以确保 PLL 获得更高的抖动性能。

在系统板内,时钟和数据相互独立,发射和接收端在启动、保持和延迟时间方面的变化对高速率非常关键。因数据和时钟路径中存在不同有源元件而使数据和时钟路径之间出现传播延迟差异, 时钟路径之间的接线延迟差异,数据位之间的接线延迟差异,数据和时钟路径之间不同的负载情况,分组长度差异等等,均可能造成上述变化。在规划系统抖动余量时,必须将不同信号路径的变化考虑在内。

当在一段距离上进行传输时,在发射机和接收机中的很多点上存在抖动累积。在发射机物理层实现中,DAC 非线性或激光非线性等非线性特性会加重信号失真。在传输介质和接收机中,除了外部乱真源(大多在铜导线中)之外,因不同频率和调制效应而导致的光纤失真、因接收机实现(主要与带宽有关)和时钟提取电路实现而导致的信号相关相位偏离,会加重信号流的抖动。

图 5.来自 TIE 图的 MTIE 偏差

具体到 SDH(同步数字系列)传输,有大量的系统级事件会导致抖动。在将 PDH(准同步数字系列)支路映射为 SDH 帧并通过 SDH NE(网络组件)进行传输的典型传输系统中,在 PDH 支路于 SDH 的终端多路分配器解映射之前,将在每个中间节点处出现 VC(虚拟容器)的重新同步。有间隙的时钟用于将各个支路映射到 STM-N 帧和从 STM-N 帧解映射,发出与开销、固定填充和调整位相应的脉冲,因而造成映射抖动。采用调整机会位补偿 PDF 支路中频率偏移的方法会造成等待时间抖动。还有指针调整机制,用于对来自初始 NE 的输入 VC 与本地产生的输出 STM-N 帧之间的相位波动进行补偿。根据频率偏离,VC 在 STM-N 帧中前后移动。这将使 VC 提取点看到位流中的突然变化,导致称为指针抖动的类型抖动。所有上述系统级抖动都将加重总的确定性抖动。

尽管所有上述因素都会加重从源到目的地之间信号传播的抖动,标准要求仍

然规定在传输点需具有比理论值更低的抖动数值。这样,考虑到时钟倍频、电源变化、电-光-电转换、发射和接收影响以及其他致使实际信号恶化的失真信号的影响,在源处驱动信号的时钟将具有一个相对很低的抖动数值。

抖动对收发器的影响

理想情况下,数字信号是在两个相邻电平转换点的中点进行采样的。抖动之所以会造成误码,是由于相对于理想中点,它改变了信号的边沿转换点。误码可能由于信号流边沿变化太晚(在时间上比理想中点晚0.5UI(单位间隔相当于信号的一个周期))或太早(在时间上比理想中点早0.5UI)所致。当时钟采样边沿在信号流的任何一侧错过0.5UI 时,将出现 50% 的误码概率,假设平均转换密度为 0.5。7如果分别知道确定性抖动和随机抖动,可通过上述两个数字和将峰到峰抖动值与均方根抖动值联系在一起的表,来估计误码率。校准抖动,定义为数字信号的最佳采样时刻与从其提取出来的采样时钟之间的短期变化,可以造成上述误码。对于商业应用,源时钟和源发射接口抖动规范将远远低于 1UI。

发射接口抖动规范通常与接收端的输入抖动容限相匹配。对于抖动测量回路滤波器截止频率,尤其如此。例如,在 SDH 系统中,有两种抖动测量带宽,分别规定:一个用于宽带测量滤波器(f1 到 f4),一个用于高频带测量滤波器(f3 到 f4)。数值 f1 指可在线路系统的 PLL 中使用的输出时钟信号的最窄时钟截止频率。低于此带宽的频率的抖动将通过系统,而较高频率的抖动则被部分吸收。数值 f3 表示输入时钟捕获电路的带宽。高于此频率的抖动将导致校准抖动。校准抖动造成光功率损失,需要额外光功率以防各种恶化。因此限制发射机端高频带频谱的抖动十分重要。

漂移对收发器的影响

市场上销售的大多数电信接收机都使用了一个缓冲器,以适应线路信号中存在的随机波动。下面框图6详细表示出这一概念。恢复时钟将数据送入富有弹性的缓冲器,而系统时钟则将数据送出到设备的核心部位。

在准同步传输系统中,发射机和接收机工作在相互独立而又极为接近的频率上,fL和 Fs分别表示发射机和接收机的频率。当两者之间存在相位或频率差异时,弹性存储会将其消除,否则缓冲器将出现欠载或溢出(取决于差异的幅度和弹性缓冲器的大小),造成一次可控的帧滑动(基本速率传输)或一次位调整(高阶异步多路复用器)。

在准同步应用中,根据可接受的缓冲滑动对频率变化和缓冲器深度进行了标准化。最初的网络主要用于语音传输,在一定的频率门限之下不会造成语音质量下降。ITU-T 规范规定该变化为  +/-50ppm。但是随着网络开始传送压缩语音、传真格式的数据、视频以及其他种类的媒体应用,对于差错和重传以及刚刚兴起的同步网络,滑动使效率严重下降。

在同步传输系统中,系统时钟通常同步到用于接收更高时钟等级信号的接口的恢复时钟上。恢复时钟和系统时钟之间相位和频率的瞬时和累积差异将被弹性缓冲器吸收,否则将导致弹性存储器溢出/欠载(取决于缓冲器大小和变化的幅度),造成指针调整而延迟或提前帧传输、帧滑动或系统中某处出现位调整。

在同步系统中,所有网络组件工作在同一平均频率,可以通过指针机制消除帧恶化。这些指针机制将提前或延迟有效载荷在传输帧中的位置,从而调整接收和系统时钟中存在的频率和相位变化。SDH 收发器中的缓冲器比 PDH 收发器中的要小,而且对于 SDH 系统中可能导致的指针移动等不规则性有限制。因此,与 PDH 系统相比,同步系统的要求更为严格。由于网络发展的历史和不同网络之间的互操作连接,在某些阶段或其他阶段,这些同步网络会通过准同步网络来连接。因此 PDH 网络的时钟体系结构也要考虑在内。

MTIE 提供了时钟相对于已知理想参考时钟的峰值时间变化。在同步传输和交换设备的弹性缓冲器的设计中将用到 MTIE 值。在弹性存储中,缓冲器填充水平与输入数字信号和本地系统时钟之间的 TIE 成正比。确保时钟符合有关 MTIE 的时钟规范,将保证不会超过一定的缓冲器门限。因此,在缓冲器设计中,其大小取决于 MTIE 的规定极限。

图6,典型传输系统的接收机接口

系统时钟输出相位扰动对收发器的影响

一个时钟的输出相位变化可以通过分析其 MTIE 信息获得。漂移产生(在自由振荡模式和同步模式中)主要指系统中所用时钟振荡器的长期稳定性,在自由振荡模式中系统的稳定性仅受振荡器的稳定性影响。除了漂移产生之外,输出时钟相位还受到大量系统不规则特性的影响。

特别是对一个系统同步器而言,将参考源从一个不良或恶化参考时钟转换到一个正常参考时钟可能会导致输出相位扰动。传输用高速 PLL 中使用的传统 VCO(压控振荡器)在改变参考时钟时采用了切换电容器组的方法。这种切换转换会对输出时钟造成暂时的相位偏移。采用超低抖动时钟倍频器电路可以解决这个问题。

高性能网络时钟在系统的所有参考时钟都失去时采用一种称为“保持”的机制。这是通过记忆存储技术产生系统最后一个已知良好参考时钟来实现的。进入和退出保持模式可能会对输出造成相位扰动。当处于保持模式中时,由于准确频率的再生不够精确,因此会继续产生输出相位误差。集成电路技术的进步已使保持精度达到了 0.01ppb。输入参考时钟恶化和对系统的维护测试(不会导致参考时钟切换)过少,也会造成输出相位扰动。

系统输出扰动是有限的,取决于系统在较低层次可以接受的输入容限。例如,符合 G.813 选项 1 的时钟,其相位扰动中所允许的相位斜率和最大相位误差被限制为 1μS,最大相位斜率为 7.5ppm,两个 120ns 相位误差段,其余部分的相位斜率为 0.05ppm。这些数字对应于 G.825 标准规定的输入抖动容限,该标准描述了在 SDH 网络内对抖动和漂移的控制。

当输出相位被扰动时,将相位误差的幅度和速率保持在标准组织所建议的极限之内,可确保在端到端系统中对信号恶化进行妥善处理,从而避免数据损坏或丢失。例如,当系统同步器进行参考时钟切换时,如果输出相位误差位于规范要求之内,同步器就可实现“无间断”参考时钟切换,指示存在缓冲器溢出或欠载,造成指针移动、位调整或滑动。

结论

网络同步和时钟产生是所有高速传输网络系统中最重要的部分。本文论述了时钟恶化的不同类型,主要是抖动和漂移。文章还详细论述了造成上述恶化的原因,以及它们如何影响传输系统。对时

钟子系统进行系统性设计和实现,将提高整个系统的性能,降低误码率,易于集成,提供更高的传输质量和效率。

篇3:嵌入式系统中的内存压缩技术

嵌入式系统中的内存压缩技术

摘要:介绍内存压缩技术和一个基于硬件的内存压缩系统模型,探讨内存压缩技术在嵌入式系统中的应用;重点介绍内存压缩系统的硬件要求及操作系统对内存压缩机制的支持;简单介绍内存压缩中常用的算法Lempel-Ziv,并就内存压缩技术在嵌入式系统中的应用问题作一些探讨。

关键词:嵌入式系统 内存压缩 压缩内存控制器 Lempel-Ziv算法

1 内存压缩技术介绍

为节省存储空间或传输带宽,人们已经在计算机系统中广泛地使用了数据压缩技术。在磁介质存储数据或网络传输数据时,人们使用基于硬件或软件的各种压缩技术。当压缩技术在各个领域都很流行时,内存压缩技术却由于其复杂性而一直未得到广泛使用。近年来,由于在并行压缩一解压算法以及在硅密度及速度方面取得的进展,使得内存压缩技术变得可行。

内存压缩技术的主要思想是将数据按照一定的算法压缩后存入压缩内存中,系统从压缩内存中找到压缩过的数据,将其解压后即可以供系统使用。这样既可以增加实际可用的内存空间,又可以减少页面置换所带来的开销,从而以较小的成本提高系统的整体性能。

内存压缩机制是在系统的存储层次中逻辑地加入一层――压缩内存层。系统在该层中以压缩的格式保存物理页面,当页面再次被系统引用时,解压该压缩页后,即可使用。我们将管理这一压缩内存层的相关硬件及软件的集合统称为内存压缩系统。内存压缩系统对于CPU、I/O设备、设备驱动以及应用软件来说是透明的,但是操作系统必须具有管理内存大小变化以及压缩比率变化的功能。

对于大多数的操作系统而言,要实现内存压缩,大部分体系结构都不需要改动。在标准的操作系统中,内存都是通过固定数目的物理页框(page frame)来描述的,由操作系统的VMM来管理。要支持内存压缩,OS要管理的实际内存大小和页框数目是基于内存的压缩比率来确定的。这里的实现内存是指操作系统可的内存大小,它与物理内存的关系如下:假设PM是物理内存,RM(t)是系统在t时刻的实际内存,而CR(t)是压缩比率,在给定时刻t可支持的最大实际内存为RM(t)=CR1(t)×PM。然而,由于应用程序的数据压缩率是不依赖于OS而动态变化的,未压缩的数据可能会耗尽物理内存,因此当物理内存接近耗尽时,操作系统必须采取行动来解决这个问题。(本网网收集整理)

2 内存压缩系统的硬件模型

目前由于内存压缩的思想越来越引起人们的注意市场上也出现了一些基于软件的内存压缩器。这些内存压缩器主要是通过软件对数据进行压缩,但由于访问压缩数据带来的延迟,它在系统性能方面改进并不明显,有些甚至降低了系统性能。本节介绍一种基于硬件的内存压缩系统模型。

图1是一个典型的内存压缩系统的硬件模型,包括了压缩内存、L3高速缓冲、压缩内存控制器等硬件部分。

其中压缩内存(133MHz SDRAM)包含了压缩数据。L3高速缓冲是一个共享的、32MB、4路组相联、可回写的高速缓冲,每行大小为1KB,由两倍数据率(DDR)SDRAM制定。L3高速缓冲包含了未压缩的缓冲行,由于大部分的访问都可以在L3高速缓冲中命中,因此它隐藏了访问压缩主存引起的延迟。L3高速缓冲对于存储分级体系中的上层而言就是主存,它的操作对于其它硬件,包括处理器和I/O来说都是透明的。压缩内存控制器是整个内存压缩系统的控制中心,它负责数据的压缩/解压,监控物理内存的使用情况以及实际地址到物理地址的寻址过程。

数据压缩过程是这样的:压缩内存控制将1KB的高速缓冲行压缩后写入压缩内存中,然后将它们从压缩内存中读出后解压。其压缩算法就是Lempel-Ziv算法,我们会在下一部分介绍这个算法。压缩机制将压缩的数据块以不同的长度格式存放到内存中。压缩内存的存储单元是一个256字节的区域。按照压缩比率不同,一个1KB的内存块(正好是L3每行的大小)可以占据0~4个压缩区域。

压缩内存控制器必须根据长度格式的不同将系统总线上的实际地址翻译成物理内存的中的物理地址。实际地址是出现在处理器外部总线上常规地址。篁 址用来录十压缩内存的256字节区域。实际地址空间存在于L1/L2/L3高速缓冲中,用于立即访问。而其余的内存内容部分以压缩形式存在于物理内存中。内存控制器通过查询压缩翻译表(CTT)执行从实际地址到物理地址的翻译,这个表被保留在物理内存的某个位置。图2是CTT表的格式及内存控制器的寻址模式。

每个1KB内存块的实际地址映射到CTT的一项,而CTT每项共16字节,包括四个物理区域地址,每个地址指向物理内存听一个256字节区域。对于少于120位的块,如一个全为零的块,则使用一种特殊的CTT格式,称为通用行格式。在这种格式中,压缩数据全部存放在CTT项中,代替了四个地址指针。因此,一个1KB的通用块仅占用物理内存中的16字节,其压缩比率达到64:1。

压缩内存控制器中有一系列的寄存器用于监控物理内存使用。Sectors Used Register(SUR)向操作系统报告压缩内存的使用情况。The Sectors Used Threshold Registers,SUTHR和SUTLR,用于设置内存耗尽情况的中断入口点。SUTLR寄存器是PCI中断电路INTA的入口,而SUTHR寄存器是NMI中断的入口。当SUR超过了SUTLR的'值,内存控制器产生一个中断,则操作系统采取措施来阻止内存消耗。

在实际地址到物理地址的转换中,一个有用的方法是快速页操作。它允许控制器仅修改CTT项的四个指针,从而将4KB的页面内容换出或清空。快速页操作通过将与4KB页面相关的CTT项全部修改通用行格式(即全为零),从而将这4KB页面的内容全部清空。同样,一对页面可以通过交换它们相关的CTT项的区域指针来交换页面内容。由于没有大量的数据移动发生,快速页面操作速度相当快。

压缩内存控制器的压缩/解压功能是基于LempelZiv算法来进行的,因此下一节将简单介绍一下该算法的思想。

3 内存压缩算法Lempel-Ziv

绝大多数的压缩算法,包括用得特别流行的Lempel-Ziv压缩算法家庭,都是基于对原子记录(Token)字符串的完全重复检测。这个算法虽然不是最好的算法,但是,Lempel-Ziv算法强调的是算法的简单与取得高压缩率的速率,因此它还是在内存压缩中得到了广泛的应用。

Lemple-Ziv算法(简称LZ)是编码时将一个位串分成词组,然后将数据流描述成一系列的对。每个对组成一个新的词组,它包含一个数字(前一个词组的标识)和一个位(被附加到前一个词组上)。这种编码方式很庞大,可是一旦应用到适合的字符串,它就是相当有效率的编码方式。下面举例说明这种算法是如何编码的。

++表示连接(010++1=0101),U=0010001101是未被压缩的字符串。C是压缩后的字符串。P(x)表示词组数x。先看一下U=0010001101发现,它可以被写为U=0++010001101,因此得到P(1)=P(0)++0。现在继续将其写为U=0++02++0001101,可得到P(2)=P(1)++1。现在我们已经将P(2)描述为上一词组和一个新的位的组合。下一步,U=0++01++00++01101,并得到P(3)=P(1)++0。现在我们注意到,有U=0++01+00+011++01,而P(4)=011=P(2)++1,最后得到P(5)=P(1)++1。运算的步骤如表1所列。

一旦创建了表1,就有了整个编码的图表。要创建Lempel-Ziv数据流,则依照公式创建对。如果公式是P(x)=P(A)++B,则每个对为(A++B)。因此P(1)=P(0)++0变为(00++0),P(2)=P(1)++0变为(01++0),依此类推,将所有这些对连接起来,就得到了最后的字符串,结果如表2所列。这样,C就变成000011010101011,看来比U要长得多。但这里由于U的长度短,因此未能看出优势,而且包含P(0)的公式都没有压缩,所以也引起了长度增加。

Lempel-Ziv字符串的解码是很简单的,就是抓住其中的对,对照表1进行重构。

表1 编码过程

步  骤值公  式

U

0-P(0)001000110110P(1)=P(0)++00++010001101201P(2)=P(1)++10++01++00++01101300P(3)=P(1)++00++01++00++011014011P(4)=P(2)++10++01++00++011++01501P(5)=P(1)++10++01++00++011++01

表2 如何创建编码字符串

公  式P(1)=P(0)++0P(2)=P(1)++1P(3)=P(1)++0P(4)=P(2)++1P(5)=P(1)++1对00++0=00001++1=01101++0=01010=++1=10101++1=011

C

000++011++010++101++011=000011010101011

4 操作系统对内存压缩的支持

在压缩内存系统中,内存大小指的是实际内存大小,它比物理内存大。在引导时,BIOS向操作系统报告的内存大小就比实际安装的物理内存要大。例如,硬件原型安装的是512MB的SDRAM,但BIOS向操作系统报告的内存大小为1GB。当应用程序数据以2:1或更高的比率压缩时,实际内存的工作方式与一般操作系统的内存工作方式是相同的。但当应用程序以未压缩数据来填充内存时(如一个zip文件不可能达到2:1的压缩比率),由于一般的OS只看到实际地址空间,因此不能意识到物理内存已经耗尽。例如,一个操作系统的实际内存为1024MB,而牧师内存为512MB。这时实际内存已经分配了600MB,系统显示还有424MB的空闲内存。但是由于已分配内存的压缩率很低,此时物理内存的耗用已经接近512MB。如果再近一步地分配内存,那么系统就会因为物理内存的耗尽而崩溃,尽管它仍然显示还有424MB的空闲内存。这种情况下,必须由操作系统提供对压缩内存进行管理的支持。

由于内存压缩是一个比较新的概念,一般的情况作系统都没有这样的机制来区分实际地址和物理地址,也不能处理“物理内存耗尽”的情况。不过,只要对操作系统内核做一些小的改动或者在操作系统之上增加一个设备驱动程序,即可达到目的。

一般来说,要从以下几方面对压缩内存进行管理。

(1)监控物理内存使用情况

通过轮询或中断法,查看物理内存的使用情况,并在物理内存耗尽前给出警告。压缩内存管理例程是通过压缩内存控制器中的一些寄存器来实现对物理内存的监控。SUR报告物理内存的使用情况,SUTHR和SUTLR用于设置中断临界值。压缩内存管理算法是基于物理内存使用的四种状态,分别为steady、acquire、danger和interrupt,其临界值的关系是mc_th_acquire

我们可以使用轮询和中断相结合的方法进行监控,并对物理内存使用的变化作出反应。通过时钟中断来驱动轮例程,该例程每10ms读取一次SUR的值,并将它与系统设定的临界值比较。当系统处于steady状态时,不用采取任何行动;当使用超过mc_th_acquire,应该增加nr_rsrv_pages来限制内存分配,但这并未引起内存缺乏;当使用超过mc_th_danger,应该增加nr_rsrv_pages到引起内存缺乏,并导致页面分配器和置换进程回收内存页面,一旦进入到该状态,物理内存管理例程会唤醒置换进程回收内存。

(2)回收内存以及清空空闲页面内容以减少使用

以标准的Linux内核为例,操作系统中有两具主要的变量来管理内存太少的情形。这两个变量是nr_free_pages和struct freepages。为了检测内存是否已耗尽,在分配内存前要进行检查。

if(nr_free_pages

/*内存太少,回收页面*/

}

else

{/*可以进行分配*/

在内存压缩系统中,通过增加一个新变量nr_rsrv_pages来完成此功能。这样就使最小空闲页面数量变为:freepages.min'=freepages.min+nr_rsrv_pages。

通过动态地调整nr_rsrv_pages变量,压缩内存管理例程可以人为地造成内存缺乏的现象,从而引起置换进程回收页面,此时会将调用进程暂时挂起。回收内存包含缩减各种缓冲,并将进程页面置换到磁盘上。当页面返回到空闲页面池时,它们会被清零。我们可以使用前面提到的快速页面操作来减少清空页面操作所带来的开销。

(3)阻塞CPU周期以减少物理内存使用率

当物理内存使用超过监界值mc_th_interrupt,控制器就中断处理器,nr_rsrv_pages进一步增加,然后CPU blocker就开始运行。我们在轮询机制的基础上还使用了中断机制,因为中断机制比轮询机制更加快速。如果在10ms的间隔中,物理内存使用突然上升,硬件中断会比轮询例程更早检测到这一情况。为了更加安全,我们使用CPUblocker来阻塞引起物理内存使用的进程。CPU blocker是空闲线程,它们可以使CPU空忙。由于页面被置换到磁盘是以机器速度运行的,而物理内存使用却可以以内存访问速度运行,速度从而得到增加。当牧师内存使用持续增加,以至换页也无法缓解时,进程需要被阻塞。我们就通过启动CPUblocker来阻塞CPU周期直到换页机制能有效地降低物理内存使用。CPUblocker不会阻塞中断,而且每40ms它就会让出CPU以免其它进程被饿死。

5 内存压缩技术在嵌入式系统中的应用

嵌入式系统是一种特殊的计算机系统,它是一个更大的系统或设备的一部分。通常,一个嵌入式系统是驻留在单处理机底板上的,其应用程序存储在ROM中。事实上,所有具有数字接口的设备――监视器、微波炉、VCRs、汽车等,都使用了嵌入式系统。一些嵌入式系统包含了操作系统,称为嵌入式操作系统。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性中,内存仍然是珍贵的资源,因此研究内存压缩技术在嵌入式系统中的应用具有一定的价值。

内存压缩的思想在一些嵌入式操作系统中,实际上已经得到了体现。例如在VxWorks中,当操作系统下载到目标机上时,其中一种方式是将引导程序和VxWorks映像都存放在ROM中。为了将其解压后再从ROM拷贝到RAM。这种基于软件的压缩方式,可以节省ROM空间,但其引导过程相对较慢。

以上的内存压缩技术在ROM中得到了应用,但对于RAM来讲,基于软件内存压缩技术,由于其访问压缩数据可能造成的延迟和不确定性,会对嵌入式系统的实时性造成和。因此它与虚拟内存技术一样,在嵌入式系统中未得到广泛应用。

本文所介绍的内存压缩系统是基于硬件的。在相同基准下,测试结果显示出,该系统的运行速度比标准系统的运行速度快1.3倍。如果要实现相同大小的内存,采用内存压缩系统的硬件费用比购买RAM的费用要低,而且内存越大,其节省的费用越多,可以达到一半的价钱。因此笔者认为在内存资源极其宝贵的嵌入式系统中,实现基于硬件的内存压缩系统具有较大的价值。

结语

本文介绍的内存压缩系统是基于专门的硬件支持,即L3高速缓冲和内存控制器。在目前大多数Pentium以上架构的硬件平台上,只需要对操作系统内核做一些小的屐,或者增加一个设备驱动及服务程序,即可完成此项功能。由于嵌入式系统对实时性的要求,基于硬件的内存压缩技术可以在增大可用内存的同时不影响系统的实时性,其硬件费用相对RAM的价格更低,具有一定的实用价值。

篇4:嵌入式系统中的内存压缩技术

嵌入式系统中的内存压缩技术

摘要:介绍内存压缩技术和一个基于硬件的内存压缩系统模型,探讨内存压缩技术在嵌入式系统中的应用;重点介绍内存压缩系统的硬件要求及操作系统对内存压缩机制的支持;简单介绍内存压缩中常用的算法Lempel-Ziv,并就内存压缩技术在嵌入式系统中的应用问题作一些探讨。

关键词:嵌入式系统 内存压缩 压缩内存控制器 Lempel-Ziv算法

1 内存压缩技术介绍

为节省存储空间或传输带宽,人们已经在计算机系统中广泛地使用了数据压缩技术。在磁介质存储数据或网络传输数据时,人们使用基于硬件或软件的`各种压缩技术。当压缩技术在各个领域都很流行时,内存压缩技术却由于其复杂性而一直未得到广泛使用。近年来,由于在并行压缩一解压算法以及在硅密度及速度方面取得的进展,使得内存压缩技术变得可行。

内存压缩技术的主要思想是将数据按照一定的算法压缩后存入压缩内存中,系统从压缩内存中找到压缩过的数据,将其解压后即可以供系统使用。这样既可以增加实际可用的内存空间,又可以减少页面置换所带来的开销,从而以较小的成本提高系统的整体性能。

内存压缩机制是在系统的存储层次中逻辑地加入一层――压缩内存层。系统在该层中以压缩的格式保存物理页面,当页面再次被系统引用时,解压该压缩页后,即可使用。我们将管理这一压缩内存层的相关硬件及软件的集合统称为内存压缩系统。内存压缩系统对于CPU、I/O设备、设备驱动以及应用软件来说是透明的,但是操作系统必须具有管理内存大小变化以及压缩比率变化的功能。

对于大多数的操作系统而言,要实现内存压缩,大部分体系结构都不需要改动。在标准的操作系统中,内存都是通过固定数目的物理页框(page frame)来描述的,由操作系统的VMM来管理。要支持内存压缩,OS要管理的实际内存大小和页框数目是基于内存的压缩比率来确定的。这里的实现内存是指操作系统可的内存大小,它与物理内存的关系如下:假设PM是物理内存,RM(t)是系统在t时刻的实际内存,而CR(t)是压缩比率,在给定时刻t可支持的最大实际内存为RM(t)=CR1(t)×PM。然而,由于应用程序的数据压缩率是不依赖于OS而动态变化的,未压缩的数据可能会耗尽物理内存,因此当物理内存接近耗尽时,操作系统必须采取行动来解决这个问题。

2 内存压缩系统的硬件模型

目前由于内存压缩的思想越来越引起人们的注意市场上也出现了一些基于软件的内存压缩器。这些内存压缩器主要是通过软件对数据进行压缩,但由于访问压缩数据带来的延迟,它在系统性能方面改进并不明显,有些甚至降低了系统

[1] [2] [3] [4] [5]

篇5:传输系统中的时钟同步技术

传输系统中的时钟同步技术

同步模块是每个系统的心脏,它为系统中的其他每个模块馈送正确的时钟信号。因此需要对同步模块的设计和实现给予特别关注。本文对影响系统设计的时钟特性进行了考察,并对信号恶化的原因进行了评估。本文还分析了同步恶化的影响,并对标准化组织为确保传输质量和各种传输设备的互操作性而制定的标准要求进行了探讨。

摘要:

网络同步和时钟产生是高速传输系统设计的重要方面。为了通过降低发射和接收错误来提高网络效率,必须使系统的各个阶段都要使用的时钟的质量保持特定的等级。网络标准定义同步网络的体系结构及其在标准接口上的预期性能,以保证传输质量和传输设备的无缝集成。有大量的同步问题,系统设计人员在建立系统体系结构时必须十分清楚。本文论述了时钟恶化的各种来源,如抖动和漂移。本文还讨论了传输系统中时钟恶化的原因和影响,并分析了标准要求,提出了各种实现技巧。

基本概念:抖动和漂移

抖动的一般定义可以是“一个事件对其理想出现的短暂偏离”。在数字传输系统中,抖动被定义为数字信号的'重要时刻在时间上偏离其理想位置的短暂变动。重要时刻可以是一个周期为 T1 的位流的最佳采样时刻。虽然希望各个位在 T 的整数倍位置出现,但实际上会有所不同。这种脉冲位置调制被认为是一种抖动。这也被称为数字信号的相位噪声。在下图中,实际信号边沿在理想信号边沿附近作周期性移动,演示了周期性抖动的概念。

图 1.抖动示意

抖动,不同于相位噪声,它以单位间隔 (UI) 为单位来表示。一个单位间隔相当于一个信号周期 (T),等于 360 度。假设事件为 E,第 n 次出现表示为 tE[n] 。则瞬时抖动可以表示为:

一组包括 N 个抖动测量的峰到峰抖动值使用最小和最大瞬时抖动测量计算如下:

漂移是低频抖动。两者之间的典型划分点为 10 Hz。抖动和漂移所导致的影响会显现在传输系统的不同但特定的区域。

抖动类型

根据产生原因,抖动可分成两种主要类型:随机抖动和确定性抖动。随机抖动,正如其名,是不可预测的,由随机的噪声影响如热噪声等引起。随机抖动通常发生在数字信号的边沿转换期间,造成随机的区间交叉。毫无疑问,随机抖动具有高斯概率密度函数 (PDF),由其均值 (μ) 和均方根值 (rms) (σ) 决定。由于高斯函数的尾在均值的两侧无限延伸,瞬时抖动和峰到峰抖动可以是无限值。因此随机抖动通常采用其均方根值来表示和测量。

图 2.以高斯概率密度函数表示的随机抖动

对抖动余量来讲,峰到峰抖动比均方根抖动更为有用,因此需要把随机抖动的均方根值转换成峰到峰值。为将均方根抖动转换成峰到峰抖动,定义了随机抖动高斯函数的任意极限 (arbitrary limit)。误码率 (BER) 是这种转换中的一个有用参数,其假设高斯函数中的瞬时抖动一旦落在其强制极限之外即出现误码。通过下面两个公式,就可以得到均方根抖动到峰到峰抖动的换算。3

由公式可得到下表,表中峰到峰抖动对应不同的 BER 值。

确定性抖动是有界的,因此可以预测,且具有确定的幅度极限。考虑集成电路 (IC) 系统,有大量的工艺、器件和系统级因素将会影响确定

[1] [2] [3] [4] [5]

篇6:机电一体化系统中的传感器技术

摘 要:随着时代的发展和社会经济的进步,我国的传感器技术也在不断的发展,并且被广泛的应用于机电一体化系统中。

机电一体化是科学技术发展的必然结果,而传感器技术则是机电一体化的基本支撑技术。

本文简要分析了机电一体化系统中的传感器技术,希望可以提供一些有价值的参考意见。

关键词:机电一体化;传感器技术;分析研究

一、前言

传感器技术很好理解,指的是用容易测量的电信号来替代能被测的非电量。

国家相关的委员会对传感器做了一个明确的定义,它作为一种前置部件存在于测量系统中,用可供测量的信号替代原来的输入能量。

随着科学技术的不断发展,传感器在信息采集系统中的作用越来越大。

二、传感器技术在机电一体化系统中的应用

机械加工过程的传感检测技术:众所周知,在机械加工过程中,有很多的地方需要检测。

在机械加工之前,需要自动检查件和所用的加工设备,只有这样,才能够正常的开始加工过程,比如对坯件的夹持方位自动判断和调整,对夹紧力的大小进行确定等等。

完成了加工之后,需要测量工件,保证产品质量符合相关的要求,比如测量工件的尺寸、粗糙度、形状等等。

对于其他的工件,比如齿轮、螺纹等,需要对它的齿距、螺距等进行检测。

最好可以自动开始这些检测,并且在下道工序自动输入这些检测结果。

在加工过程中,对于加工条件也有着严格的要求,这样才能够提高精密产品的合格率,因此,就需要自动检测和自动调整加工过程中的诸多参数,比如切削力、切削扭矩、进给速度等等。

再如切削过程中的传感检测技术,它的目的在于对切削过程中的生产率、制造成本等。

在对机床加工的动态稳定性与加工精度等问题进行研究时,需要相关的仪器对刀架、床身等振动参数进行测量,对机床的动态特性进行检验,将哪些不利于精度提高的薄弱环节给找出来。

通过测量切削力,对金属的切削原理进行研究,将这些必要的切削力数据提供给机床和夹具的设计和制定者,可以有效的提高产品的合格率。

传感器技术在汽车行业的应用:近些年来,随着科学技术的发展,汽车智能化程度越来越高,并且逐步向电子化和小型化的方向迈进。

在汽车行业中,对于传感器的需求也越来越大。

可以这样说,只要是采用电力控制系统的现代汽车,传感器技术都十分的重要,比如汽车制动防抱死系统、驱动防滑系统等等。

尤其近些年来,车用电子装置越来越普遍,比如娱乐装置、通信装置等等,还有那些辅助驾驶装置,用来减轻驾驶人员的疲劳。

在汽车的机电一体化方面,纯机械式控制部件逐渐被自动控制系统所取代,在汽车的全身,都已经覆盖了先进的检测和控制技术。

汽车传感器有一些不同的特点,一是较强的适应性,在恶劣的环境中也可以发挥作用。

因为汽车有时需要在极度恶劣的条件下工作,不管是大风大雨还是尘土飞扬,这样就对传感器的密封性、耐潮湿等提出了要求。

二是有着较强的抗干扰能力,因为在汽车发动机舱中安装传感器,发动机发动时会有高温和高压,并且震动特别强,此外,发动机在工作的过程中,还会有电磁波产生,那么就要求传感器有较强的抗感染能力。

三是有着较高的可靠性和稳定性,对于汽车各种部件的稳定性和可靠性都有着严格的要求,传感器也不例外。

四是价格较低,可以大批量生产,这就需要传感器具有较好的一致性,不需要做出复杂的调整。

传感器在数控机床上的应用:数控机床指的是采用了数控技术的机床,机床的运动过程和加工过程都是由数字信号来控制的。

具体来讲,指的是在程序介质上利用数字化的代码记录将刀具移动轨迹等加工信息记录上去,然后在数控系统中输入这些信息,经过运算过程,将指令发出去,对机床上刀具和工件之间的相对运动进行自动控制,从而保证加工出来的零件在形状、尺寸、精度等方面符合相关的要求。

这种机床就被人称之为数控机床。

主要有光电编码器、接近开关、温度传感器以及电流传感器、电压传感器等传感器技术应用于数控机床上,这些设备来对位置、直线位移、角位移、速度、压力等进行检测。

在数控机床的具体操作中,我们会发现传动轴传动过位的情况经常发生,如果不能够及时发现和解决这些问题,就会有故障存在于机床当中,对于正常的工作产生不利影响。

因此,就需要实时检测数控机床的轴动过位情况,保证故障可以被及时的'发现和消除掉,正常的生产。

再如,在数控机床中,可以利用压力传感器来检测工件夹紧力,如果夹紧力比设定值要小,那么工件就会出现松动的情况,系统在发出报警信息的同时,走刀立即停止。

另外,车刀切削力的变化可以利用压力传感器来测定。

再者,在润滑系统、液压系统以及气压系统中应用压力传感器,可以对油路或者气路中的压力进行检测,如果设定值大于油路或气路中的压力,触点就会发生动作,数控系统及时接收故障信号。

总之,在数控机床中应用传感器,可以将故障及时的发现,并且采取措施及时的解决,工作效率也可以得到大大的提高,数控机床的故障率也可以得到大大的降低。

三、结语

随着机械工业自动化程度的不断提高,要求更高质量的自动检测系统。

经过近些年的发展和创新,传感器技术的应用范围越来越广,取得了不小的成绩。

但是我们需要清晰的认识到,与西方发达国家相比,还存在着不小的差距,需要相关的研究人员继续努力。

参考文献:

[1]成木弟.传感器技术在机电一体化中的应用初探[J].商品与质量,,2(1):123-125.

[2]黎诏权.传感器技术在机电一体化中的应用[J].城市建设理论研究,2011,2(17):87-88.

[3]陈玉祥.浅析传感器技术在机电一体化中的应用[J].黑龙江科技信息,,2(4):21-22.

篇7:路面管理系统中的预防性养护技术

路面管理系统中的预防性养护技术

随着我国公路建设的迅速发展,公路养护管理上的问题日益突出,同时,公路运输车辆的'大型化和超载问题日趋严重,使得公路行驶质量和使用寿命面临严峻考验.为维护公路使用性能,管理部门每年投入大量资金用于公路养护,但在目前公路里程增长迅速、交通荷载大,养护资金不充分等条件下,如何采取正确的技术措施治理病害和消除隐患,提高养护质量,确保公路在设计年限的正常使用,是我国公路养护部门所面临的一个迫切的任务.

作 者:梁宁  作者单位:河北省石黄高速公路管理处 刊 名:交通世界(建养机械) 英文刊名:TRANSPO WORLD 年,卷(期): “”(1) 分类号:U4 关键词: 

篇8:Java技术在嵌入式系统中的应用

Java技术在嵌入式系统中的应用

摘要:J2ME是Java2平台的一个版本,使用在各种各样的消费电子产品和嵌入式设备上。JavaCard技术规范得Java应用能运行在智能卡和更小的嵌入式设备上。本文介绍J2ME和JavaCard的硬件平台和软件体系结构,以及如何进行J2ME和JavaCard应用程序开发。Java在移动通信领域的应用已经引起广泛的关注,本文对此进行了详细的描述。

关键词:Java嵌入式系统Java卡J2ME移动通信

1Java概述

Java是在1991年由Sun公司JamesGoslingPatrickNaughton、ChisWarth、EdFrank以及MikeSherindan等组成的“STAR7”小组所构想出来的。于1995年5月正式推出。Java计算平台包括JVM(Java虚拟机)和JavaAPI(Java应用编程接口)。JVM是一种抽象化的计算机,运行在操作系统之上,可以在它上面执行Java的字节线,使Java应用程序在现有的各种平台上都可以顺利执行。JavaAPI和Java的函数类库,分为基本核心类库和各种外加功能的扩展类库。

1998年12月8日,Sun公司的最新一个版本的JDK(JavaSoftwareDevelopmentKit)正式发布,Sun的升级版本,而且还是完善的Java平台。

Java2定义组成Java企业平台的核心技术包括15个核心API。这15个核心API构成了整个Java2技术的灵魂,包括Applet、AWT、Beans、IO、Lang、Math、Net、Rmi、Security、SQL、Text、Util、Accessibility、Swing和CORBA。与以往的JDK比较,Java2平台具有很多优势,如更灵活的安全模式、更好的性能、与其他企业级系统的互用性、应用开发更容易、全球化的提高以及更好的跨平台性等。

Java2可以根据对软、硬件需求的不同分为4个版本。J2EE(Java2Platform,EnterpriseEdition)用于企业服务器端应用程序开发;J2SE(Java2Platform,StandardEdition)用于个人计算机上的应用程序开发;J2ME(Java2Platform,MicroEdition)用于信息家电等资源有限的设备上的应用程序开发;JavaCardPlatform用于智能卡上的应用程序开发。

Java程序语言在其产生之初,本身就是为嵌入式设备--机顶盒设备设计的。现在Java又凭借J2MEE和JavaCardPlatform回到嵌入式系统开发领域。

2Java卡

(1)Java卡简介

Java卡是Java平台中最小的子集,也是一种特殊的智能卡。智能卡是一种嵌入计算机芯片的卡片,广泛应用于通信、交通、金融、证券和保险等领域。智能卡分为两大类:一类是存储器卡,另一类是微处理器卡。存储器卡仅仅被用于存储器数据。微处理器卡有数据处理的功能:它有自己的CPU、I/O端口、存储器和操作系统,可以被看作是一台微型电脑;可以安装并运行小的应用程序,通过串行通信接口与外部通信。ISO(国际标准组织)制定了智能卡的国际标准ISO7816。

影响智能卡推广的主要因素是其不够开放,不同的卡片制造商生产的卡片的应用程序开发没有统一的标准。为了解决这个问题,工业界提出了能运行Java程序的智能卡--Java卡,并且制定了Java卡的.技术规范,包括JavaCardVM(Java卡虚拟机)和API的详细信息。JavaCardVM位于智能卡的操作系统之一,用通用的编程语言和系统接口屏蔽了不同智能卡硬件和操作系统的区别。Java卡的框架定义了供应用程序开发者使用的API。Java卡的应用程序称为Applet,每个Applet由唯一的AID(应用程序标识符)来识别。

(2)Java卡对硬件的最低要求

512BRAM:主要用于存储应用程序运行时的栈以及I/O缓冲区。

24KBROM:主要用于存储程序代码和系统的运行时系统。

8KBEEPROM:主要用于存储Java卡的Applet和堆。

8位处理器:8位处理器是Java卡的最低要求。

(3)Java卡软件体系结构

Java卡软件体系结构如图1所示。

最底层的CardOS(操作系统)和NativeFunctions(基本函数)相不于个人计算机的操作系统,负责低层的处理工作。

JavaCardVM位于CardOS和NativeFunctions之上,隐蔽了底层智能卡的不同技术,实现了卡接口的统一和编程语言的统一。

JavaCardFramework(Java卡框架)为开发人员定义了一整套API,主要负责运行Java卡Applet以及为Applet运行提供所需要的环境。

CardOS、JavaCardVM和JavaCardFramework共同组成了JCRE(Java卡运行时环境)。IndustrySpecificExtensions是服务方所提供的类,使企业与公司能够提供属于自己的服务程序。例如,如果这张卡是GSM网络的SIM(用户识别模块)卡,那么这一层就是SIM卡所需的接口类。

(4)JavaCardAPI

JavaCard的2.1版包括四个包:Javacard.langpackage、Javacard.frameworkpackage、Javacard.securitypackage和Javacardx.cryptopackage。

Javacard.langpackage提供Java程序语言中重要的类,例如所有Java类的根类Object类。

Javacard.frameworkpackage是JavaCardAPI的核心包,提供了实现JavaCardApplet基本类和工具。其中ISO7816抽象接口提供了ISO7816所使用的常数值。PIN(个人识别号码)抽象接口使其子类能够验证PIN是否合法。Shareable抽象接口使得不同的Applet能够互相通信。AID类使得JCRE能够通过一个AID表来识别Applet。APDU类通过管理一个缓冲区来接收与传送终端的指令以及回传Applet运行结果与状态。Applet类是所有JavaCardApplet的根类,管理JavaCardApplet的生命周期。JCSystem类管理Applet与JavaCard的系统资源,如AID与事务。OwnerPIN类管理卡片持有者的PIN,并提供相关验证与更新等方法。Util类提供了开发中的常用工具。

Javacard.securitypackage负责提供安全机制,包括Key抽象接口、KeyBuilde类和MessageDisest类。

Javacardx.cryptopackage包含了关于加密与安全的抽象接口和类。

(5)Java卡应用的开发

Java卡的生命周期从操作系统、JVM、API库和可选的Applet被写入Java卡的ROM开始。在正式使用之前,Java卡要经过初始化(在卡上写入制造商和发行商名称等通用信息)和个人化(在卡上写入密钥等个人信息)。然后用户就可以购买并使用Java卡了,当然还要与读卡器相配合。Applet的生命周期从被安装并注册到Java卡系统开始,在被从系统注册表中删除时结束,在被选择时激活。

Java卡的应用程序可以用一般的Java编译器来编译。但是由于智能卡只有有限的存储器资源和计算功能,Java卡上的应用开发与普通的Java程序开发有很大的不同,很多Java语言的特性在Java卡应用的开发中都不能使用。Java卡的应用开发(在Windows系统下)过程如下:

①安装JDK和JavaCard2.1.1DevelopmentKit;

②设置有关环境变量;

③编辑Java源代码,可以使用任何Java代码编辑工具;

④编译Java源代码,用Java编译器编译Java源代码,生成class文件;

⑤生成Cap文件,在Java卡上不能直接运行class文件,必须用Java卡转换器(converter)、把class文件转换为Cap文件;

⑥安装Applet,用PC机和与之相连的读卡器把Cap文件安装到Java卡上。

图2为Java卡应用开发过程示意图。

(6)Java卡在移动通信领域的应用

SIM(用户识别模块)作为一张内含大规模集成电路的智能卡,目前主要用于GSM手机。最初SIM卡主要用来存储一些个人身份认证和识别信息,例如IMSI、鉴权密钥等。SIM卡不能向手机发出命令。1998年ETSI(欧洲电信标准化委员会)制定了STK卡(SIM应用工具箱技术)的技术规范,大大增强了SIM卡的能力。STK卡上可以安装运行应用程序,可以向手机发出命令,例如在手机上建立新的菜单。SIM卡还可以收发短消息甚至发起呼叫。这样就可以在SIM卡上运行客户端的软件,通过短消息与服务器交互,同时通过菜单为用户提供友好的界面。

尽管STK对SIM卡的使用方法进行了标准化,但是各个制造商仍旧使用自己的开发工具为自选的芯片掩膜,因此引入开放的SIM卡开放平台成为必要。ETSI已在其协议中增加了有关JavaCard的内容。GSMSIM卡采用JavaCardAPI在保证安全的同时提供开放的SIM开发,使得STK应用在不同制造商的SIM卡上运行。在开发过程中,

软件开发商可采用开放的开发工具,开发出与Java兼容的SIM卡应用程序。

ETSI的协议GSM03.19是STKJava卡的技术标准,规定了STKJava卡的体系结构。最底层是JCRE和GSM文件系统。之上是GSM框架,提供了一些供Applet接入GSM文件系统的API。在GSM框架之上是SIMToolkit框架,负责Applet的触发、注册、安装和卸载,主动式命令的处理,Applet的安全性管理。

3J2ME

(1)J2ME简介

J2ME是Sun公司为资源有限的设备上使用Java编程语言而设计的,使用在各种各样的消费电子产品上,例如智能卡、手机、PDA、电视机顶盒等。J2ME平台是建立在Java编程语言上的,可为资源有限的设备提供最大的功能。

J2ME目前有两种配置层。一种是“面向连接的设备配置”CDC(ConnectedDeviceConfiguration),它采用典型的Java虚拟机技术。这种全功能的虚拟机包含了基于台式机系统上的虚拟机的所有功能,适用于拥有至少几兆字节内存的设备。它的目标是高档的消费类电子产品和嵌入式设备,例如智能通信器、高级“智能”寻呼机、智能个人数字助理(PDA)以及交互式数字电视机顶盒。对于无线设备和其它内存不足的设备,J2ME采用“面向连接的受限的设备配置”CLDC(ConnectedLimitedDeviceConfiguration)技术。

(2)J2ME对硬件的最低要求

CDC与CLDC对硬件平台有不同的要求:

CDC-32位的微处理器,大于2MB的存储器。

CLDC-16位或32位处理器,大于128KB的存储器。

(3)J2ME软件体系结构

图3所示为J2ME软件体系结构。

JavaVirtualMachineLayer(Java虚拟机层)是Java虚拟机的一个实现,它是为特定设备的主机操作系统定制的,而且支持一个特定的J2ME配备。CDC配置的JVM是CVM(C虚拟机),CLDC配置的JVM是KVM(K虚拟机)。

ConfigurationLayer(配置层)定义了Java虚拟机功能和特定类别设备上可用的Java类库的最小集。从某种程序上说,一个配置定义了Java平台功能部件和库的共同性,开发者可以假设这些功能部件和库在属于某一特定类别的所有设备上都是可用的。

ProfileLayer(框架层)定义了特定系列设备上可用的应用程序编程接口的最小集。框架在一个特定的配置上面实现,在配置层上增加适用特定规格的配置文件,如MIDP就是用于移动终端的配置文件。应用程序是针对特定的框架编写的,因此可以移植到支持该框架的任何设备上,一个设备可以支持多个框架。

(4)J2MEAPI

CDC提供支持全兼容Java2虚拟机所必需的最小API集。这一API集包括所有为CDC定义的API和针对文件I/O、网络连接、高级完全性、对象序列等API。其中Java.io支持系统输入与输出,JavalangJava提供编程语言基本类,Java.lang.ref包括了一些特别参考类,Java.lang.reflect提供对反映的支持,Java.math支持数学运算,Java.net提供用于网络连接的类和工具,Java.security提供完全支持,Java.security.cert提供证书支持,Java.text提供文本处理类,Java.util包括集合、日期和时间支持等各种实用工具类,Java.util.jar提供Jar文件支持,Java.util.zip提供Zip文件支持,支持Javax.microedition类属连接。

由于MIDP/CLDCAPI将在一个性能有限的设备上运行,因此Java的一些功能被取消或修改。Java.lang、Java.io、Java.util包是J2SE包中标准类的一个子集。Javax.microedition.io包提供了对网络连接的支持,Javax.microedition.io包中的主要对象是Connector类。可将该类强制转换为不同的连接类型,例如HttpConnection。Javax.microedition.lcdui提供了用于定义midlet用户接口的类。Javax.microedition.rms包用来在设备上实现一个临时存储数据库,当然该数据库的存储和获取信息的性能受到设备的限制。Javax.microedition.midlet中包含有MIDlet的类。MIDlet类执行midlet的生命周期,并且提供getAppProperty(key)方法来由应用属性中获取信息。应用属性设置在jad(Java应用程序描述器)文件中。

(5)Java卡在移动通信领域的应用

CLDC和MIDP为创建移动电话应用程序提供了完整的环境。MID框架的核心是一个MIDlet应用程序,所有应用程序MIDlet都继承MIMlet类,以允许应用程序管理软件对MIDlet进行控制、从应用程序描述符检索属性以及对状态变化进行通知和请示。MIDlet类提供了用于调用、暂停、重新启动和终止MIDlet应用程序的API。应用程序管理软件可以在运行时环境内管理多个MIDlet的活动。此外,MIDlet可以自己发起一些状态变化,并把这些变化通知给应用程序管理软件。

移动电话J2MEMIDP应用程序包括用户界面开发、数据库程序开发和网络程序开发。

Javax.microedition.lcdui包中包括了用于用户界面开发的各种类。用户界面的根类是Display,所有的用户界面类都是在Display里显示出来的Displayable对象,Display对象是其它对象演示的舞台,应用程序道德需要获得Display对象的引用,然后就可以把场景对象放入演示舞台中。MIDP提供了Screen和Canvas两种演示场景。Screen的子类包括Alert、Form、List和TextBox。Javax.microedition.lcdui中定义了Command类来接收用户的输入信息,又在Display类中定义了Screen对象与Command对象组合的方法,使得应用程序能够响应用户的输入。

在Screen场景中可以使用的对象包括Alert(信息窗口)、Form(窗体)、List(选项列表)和TextBox(文本框)。其中Form可以放置Item类,包括TextFiled(文本字段)、StringItem(字符串项目)、ImageItem(图像项目)、DataField(日期字段)、ChoiceGroup(选项集合)和Gauge(标尺)。TextBox使应用程序能够在屏幕上显示文本框;Alert类似于消息框,可以为用户提供一些信息;List类以列表的形式提供选项使用户选择;Form是一个容器对象,可以放置包括文本字段、字符串项目、图像项目、日期字段、选项集合和标尺等在内的Item对象。

Canvas是Displayable中用来给开发者创建整个用户接口的,用于创建复杂的用户界面,例如视频游戏中使用的界面。用户在Canvas对象上的绘画与Applet中的AWTCanvas类似。

Javax.microedition.rms定义了在设备上实现一个临时存储数据库程序开发的类。其中采用由字节数组RMS(记录管理系统)机制,使用称为RecordStore(记录存储区)的小型数据库。每个记录存储区对象是Javax.microedition.rms类的一个实例。记录存储区是由字节数组组成的记录构成的。RecordStore提供了用于用户操作记录和管理存储区的方法,对记录的操作包括增加、删除、更新和查询。

Javax.microedition.io为应用程序开发者提供GCF(通用联机框架),用于网络编程。网络编程的根类是Connecter,通过Connecter提供了HTTP、SOCKET、Datagram(数据报)和SerialPort(串行口)等网络通信方式,其中HTTP为设备的必选项。

(6)J2MEMIDP应用程序的开发过程

Sun公司最近推出的工具包J2MEWTK(Java2MicroEditionWirelessToolkit)简化了MIDlet的开发,为MIDlet开发提供了一个全面的工具包。应用程序的开发过程如下:

①安装J2SE或者JavaRuntimeEnviroment。

②安装J2MEWTK。

③配置仿真器。

④编辑Java源文件,可以使用任何Java代码编辑工具。

⑤编译Java源代码,用Java编译器编译Java源代码,生成Class文件。除了编译以外,编译器还会检查源文件中有没有使用CLDC和MIDP以外的类和属性及方法。

⑥验证字节码。

⑦封装成MIDletSuite,把经过验证的Class文件及应用程序中将用到的资源文件封装成JAR文件,这一步会生成JAD文件和mainfest文件。

⑧测试,然后下载到目标机上运行。

结语

Java本来就是为嵌入式设备而设计的,但昌随着因特网的兴起,Java在台式机和服务器端的应用开发中取得了巨大的成功。Java在应用中充分展示其通用性与完全性等优势,而这在嵌入式设备的应用开发中是至关重要的,这使得Java重返嵌入式应用开发领域成为必然。STKJava卡和J2ME的成功应用昭示着Java在嵌入式系统应用开发中的美好前景。

企业管理水平评价范文

五道常见面试题

公司生产的个人实习报告

对企业感言

PHP笔试题目及答案

技术部工作总结简短

技术部文员年度工作总结

photoshop教学论文

PS制作蛋糕质感文字效果

技术部年终工作总结

浅谈PDM系统中的图档批阅技术
《浅谈PDM系统中的图档批阅技术.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【浅谈PDM系统中的图档批阅技术(集锦8篇)】相关文章:

技术部经理上半年工作总结2023-12-07

技术部部门年终工作总结2023-03-14

PHOTOSHOP教案2022-06-11

PS制作水晶质感斑斓文字效果2023-07-07

工程与伦理的融合分析论文2023-09-03

php 面试题2022-06-12

企业感言2023-09-10

唯品会php面试题2022-07-26

江海联运船舶在黑龙江中下游航行技术分析2022-07-02

铝合金材料在现代汽车制造业的应用2022-11-06

点击下载本文文档