技术嵌入(通用12篇)
技术嵌入 篇1
1 引言
随着信息技术的高速发展, 尤其是电子技术中集成电路技术的革新而出现的计算机, 使现代科学产生了质的变化, 而嵌入式系统的出现给工控领域带来了新的里程碑。由嵌入式微控制器组成的系统, 显著的优点为该系统能嵌入到任何小型装备中。不管是平常生活中时常用到的家用电器、手机、门禁, 抑或其它行业的仪器与设备, 再或娱乐用的大中小型游戏机等等均为嵌入式系统。[1]
2 嵌入式系统的概念
嵌入式系统被定义为:以便于使用为中心、以信息技术为根基、软硬件能够裁剪、适应具体的设备系统。对用途、稳定性、费用、大小、耗能严格要求的专用信息系统。[2]
嵌入式系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序4个部分构成。它为一个能够单独工作的软件硬件相结合的系统。可以根据客户的需要设置不同的外部仪器以及内部相关应用软件。[3]
2.1 嵌入式处理器
嵌入系统硬件层的核心是嵌入式微处理器, 应用面及其多。从开始的4位处理器, 到现在仍广泛使用的8位单片机, 到目前的受到大家注意的32位和64位单片机 (嵌入式) 。嵌入式微处理器的体系结构可以采用冯·诺依曼体系或哈佛体系结构;指令系统可以选用精简指令系统 (RISC) 和复杂指令系统 (CISC) 。嵌入式处理器通常分为如下几类:嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器和嵌入式片上系统。[4]
2.2 嵌入式操作系统
嵌入式操作系统, 主要工作是嵌入系统的软硬件资源管理、控制和协调指令活动。嵌入式操作系统一般包括与硬件有关系的底层驱动程序、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌人式操作系统一般有:嵌入式Linux、μC/OS-Ⅱ、Windows CE、Vxwork等, 以及应用在智能手机和平板电脑的Android、iO S、Symbian等
3 嵌入式技术的发展近况
从硬件方面讲, 各大公司的微处理器芯片由单一核心逐步向多核心发展, 速度逐步变快、性能逐渐变强、功耗逐渐降低, 全世界嵌入式微处理器已经超过1000多种, 体系结构有30多个系列, 其中主流的体系有ARM、MIPS、Power PC、X86和SH等, 其中ARM公司cortex系列处理器销量最好。并且有相关的多种开发包。当前, 底层和平台经过很多年的发展, 已经相对比较完善, 实现多种应用的芯片。而且庞大的市场带来了大量的资金和技术。[5]
从软件角度说, 同样有相当丰富的成熟系统。国外商品化的嵌入式实时操作系统现在进入我国市场的有μC/O S-Ⅱ、WindowsC E、Vxwork等, 国内则有中国科学院凯思集团的Hopen嵌入式操作系统。应用软件上则涉及到嵌入式Web浏览器、嵌入式数据库、嵌入式GUI系统。
4 嵌入式技术发展趋势展望
现在嵌入式技术正处于高速发展阶段, 未来几年内, 这种发展和竞争将愈演愈烈。
4.1 最适合、高性价比MCU受宠
2013年MCU产品的主要特色是网络性、节能性以及安全性。以给客户创造利润为出发点, 高性价比的MCU将是市面上竞争里最强的产品。[6]
4.2 工艺与创新是主旋律
面对新工艺而言, 前段时间生产出新仪器的公司, 现在逐步进入大规模生产阶段。我们发现技术革新正缓缓到来。慢慢的大多数厂商均进入到纳米科技领域, 90纳米和65纳米技术节点将是芯片研发与制造的大方向。[7]
面对创新, 逐步增加的芯片采用标准内核, 外设的创新将是各个厂家展示其产品优势的重要武器。
4.3 质量、方便、快速
低功耗、高效、32位MCU仍然是市场的主打产品“。质量”、“方便”“、快速”均为顾客在意的。2013年上海海尔集成电路会努力提供高品质的产品和服务, 打造“国产MCU第一品牌”。在产品种类上, 也会丰富, 如低功耗产品、32位MCU产品也都会陆续发布。[8]
4.4 易用、低功耗与高性能
易用性:对于易用性来说, 大多芯片企业为顾客提供了足够多的应用设计, 顾客能够较为简单地从芯片企业官网下载到完整的设计并采购样片。
低功耗/超低功耗:即降低功耗的又保证性能是一个难题, 由于低功耗和高性能是相对立的。近期, Microchip又一次减少了其芯片的耗能, 采用最小耗能的设计为设计人员提供了相对完美的答案。
高性能:在嵌入式领域中, 集成无线连接功能的应用面迅速的增加, 其中最为流行的是低功耗包含Wi-Fi支持的物联网系统, 和其它相关协议和标准。同时, 很多同时具有两方面优势的方案逐被发现, 进而帮助设计师实现无线网络的整合。Microchip努力发展自己独特而完整的无线解决方案, 为了让方案真正达到使用方便、实现告诉并包含所有主要的协议。除了提供标准的Wi-Fi和ZigB ee协议之外, Microchip还针对802.15.4的设计人员和不需要许可证的ISM网络系统研发出特有的简化MiW i协议。上述所有协议都能够同Microchip通过机构认证的模块和无线收发器协同工作。该公司同时还致力于Bluetooth连接功能在嵌入式应用中的逐渐增长的需求, 因此购买了Roving Networks和他们多样化的方案。除此之外, 收购Roving引进了许多TCP/IP协议解决方案, 并且能够与任何MCU串行相连, 补充了它的Wi-Fi功能, 从而精简了设计。对于那些需要更高权限来配置协议的设计人员, Microchip现有的Wi-Fi模块可能更适合, 因为协议存储在MCU中。[9]
此外, 智能接口也被称为“桥接芯片”, 是嵌入式世界中无处不在的主力, 能够让开发人员极大地减少开发成本、精简设计进而缩短产品上市时间。
5 新兴的应用领域
物联网, 数字能源, 和许多传统的应用正逐步升级, 例如智能化的仪器仪表。更重要的是智能家居、智慧医院的应用。智能手机的逐步普及, 对身体健康的持续关注, 人们可以通过监测身体的具体指标并将其传到云端记录并处理, 能够使得对自身的情况有进一步的了解和认识。[10]
6 结语
追求低成本、低功耗、低体积是嵌入式系统永远的目标。纵观MCU领域的发展历程, 多核心、整合DSP和MCU等问题是市场关注的, 信息变革的推动令MCU/DSP产品在各行各业广泛的使用。同时又带动了MCU/DSP芯片销量的增长。可以预见, 随着工控、通信设备、汽车行业、智能家居等领域需求的不断增加, 必定会促进嵌入式发展, 乃至同其它技术的融合。
参考文献
[1]Yin Y, Liu B, Ni H.Real-time embedded software testing method based on extended finite state machine[J].系统工程与电子技术 (英文版) , 2012, 23 (2) :276-285.
[2]Yu-shan S, Lei W, GANYong, et al.Design of motion control of dam safety inspection underwater vehicle[J].中南大学学报 (英文版) , 2012, 19 (6) :1522-1529.
[3]Yongfeng Y, Bin L, Deming Z, et al.On modeling approach for embedded real-time software simulation testing[J].系统工程与电子技术 (英文版) , 2009, 20 (2) :420-426.
[4]Lingbo Z, Xue-Fang L-S, Guanzhong D, et al.Design and implementation of platform for embedded Ethernet control system[J].仪器仪表学报, 2008, 29 (6) :1121-1128.
[5]Lian-ying Z, Xue-cheng Z.Co-design for an SoC embedded network controller[J].浙江大学学报A (英文版) , 2006, 7 (4) :591-596.
[6]范贵生, 虞慧群, 陈丽琼, et al.分布式嵌入式系统的自适应能耗管理和分析[J]:软件学报, 2014, 25 (2) :419-438.
[7]吕京建, 肖海桥.面向21世纪的嵌入式系统[J].半导体技术, 2001, 26 (1) :1-3.
[8]万相奎, 丁建平, 秦树人.嵌入式系统及其典型开发模式[J].重庆大学学报 (自然科学版) , 2004, 27 (2) :16-19.
[9]张焕国, 李晶, 潘丹铃, et al.嵌入式系统可信平台模块研究[J].计算机研究与发展, 2011, 48 (7) :1269-1278.
[10]薛江, 王知衍, 曹晓叶.基于嵌入式系统的Tcode识别[J].华南理工大学学报 (自然科学版) , 2013, 41 (5) :61-67.
技术嵌入 篇2
摘要:嵌入式实时系统中断管理技术直接影响到系统的实时响应性能。本文通过对嵌入式内核中断管理技术的研究,归结出“中断前-后段处理”模型;同时,针对一些处理器中多个外部中断共用一个向量的问题,提出一种单向量多中断处理映射技术,并在PowerPC MPC860处理器上实现Delta OS内核时,验证此技术的有效性。
关键词:实时性 中断 中断管理模式 嵌入式实时系统
引 言
??嵌入式实时系统(Real-Time System)是一个能够在指定或者确定的时间内对外部事件作出响应的系统,其重要的特性是实时响应性。
嵌入式实时系统对外部事件的响应一般都是通过中断来处理的,其对中断的处理方式,直接影响到系统的实时性能。
1 嵌入式内核的中断管理模式
1.1 简 介
实时多任务操作系统是嵌入式应用开发的基础平台。早期的嵌入式实时应用软件直接在处理器上运行,没有RTOS支持,现在的大多嵌入式应用开发都需要嵌入式操作系统的支持。实际上,此时的嵌入式操作系统相当于一个通用而复杂的主控程序,为嵌入式应用软件提供更强大的开发平台和运行环境。因为嵌入式系统已经将处理器、中断、定时器、I/O等资源包装起来,用一系列的API提供给用户,应用程序可以不关注底层硬件,直接借用操作系统提供的功能进行开发,此时的嵌入式操作系统可以视为一个虚拟机。
随着嵌入式实时系统的发展,为了方便对中断的处理,系统内核常接管中断的处理,比如提供一些系统调用接口来安装用户的中断,提供统一的中断处理接口等。根据系统内核的可抢占或者非抢占性,系统内核接管中断又有两种不同处理模式,如图1。
图1
在非抢占式内核的中断处理模式中,当在中断处理过程中有高优先级任务就绪时,不会立即切换到高优先级的任务,必须等待中断处理完后返回到被中断的任务中,等待被中断的任务执行完后,再切换到高优先级任务。在抢占式内核的中断处理模式中,如果有高优先级任务就绪时,则立刻切换到高优先级的任务。抢占式内核中断处理模式下的时序如图2。
在时序图中,符号A表示有高优先级任务N就绪。这种处理模式有利于高优先级任务的处理,但相应地延长了被中断的低优先级任务的执行时间。
1.2 嵌入式内核接管中断的处理机制
嵌入式内核接管中断的处理机制主要包括两个部分:面向应用的编程接口部分和面向底层的处理部分。面向用户应用的编程接口的任务之一是供支持用户安装中断处理例程。面向底层处理部分可以分为两个部分:中断向量表部分和中断处理部分。中断向量表部分主要指中断向量表的定位和向量表中表项内容的形式,一般在嵌入式内核中都提供一个中断向量表, 其表项的向量号应与处理器中所描述的向量对应;向量表表项的内容形式一般有两种形式。最常见的形式就是在具体的向量位置存储的是一些转移程序,转到具体的中断处理部分;另一种形式也就是中断向量位置存放具体的中断处理程序,此仅针对向量号之间彼此有一定的距离,此距离足以存放中断处理程序。面向底层部分的中断处理部分,是整个嵌入式内核中断管理的核心,在后面有详细的分析。
(本网网收集整理)
对于嵌入式内核中断管理模式图中的中断处理部分,以Delta OS内核为例,详细说明其中断处理部分。Delta OS内核中断处理部分采用了“统一接管”的思想,即Delta OS 为所有的外部中断都提供一个统一的入口_ISR_Handler。此入口的主要功能是保护中断现场,执行用户的中断服务程序,判断是否允许可抢占调度,中断现场的恢复等。Delta OS内核中断处理的流程如图3。
从Delta OS内核中断处理流程图中,可看出嵌入式内核中一些专用的处理方式。
① 在嵌入式内核中一般有两个堆栈:系统栈和任务栈。系统栈是系统为中断上下文处理而预留的堆栈;任务栈属于任务本身的私有堆栈,用来存储任务执行过程中一些临时变量等信息。因为中断上下文不隶属于任何任务的上下文中,所以嵌入式内核一般都有一个系统栈专门处理中断上下文的。当产生中断且非中断嵌套时,堆栈由被中断任务中的任务栈切换到系统栈;当在中断处理中又发生中断时,堆栈不再切换,仍用系统栈;当退出最外层中断时,堆栈又由系统栈切换到被中断的任务中的任务栈。
② 一般嵌入式内核有两种形式:抢占式和非抢占式。为了更好地支持系统的实时性,很多嵌入式实时内核都是抢占式内核,如Vxworks、pSOS 等。从上面Delta OS 内核中断处理流程可知Delta OS是抢占式内核。因为在中断处理中,当检测到有高优先级任务就绪时,就会切换到高优先级任务里,而不是等到退出中断后,再进行任务调度。
③ 在嵌入式内核中,中断时机和调度时机直接影响到系统的实时性。关中断的时机一般在执行核心操作之前。核心操作包括对链表的操作,对核心数据项(如指示同步,反应重要信息状态)的修改等场合都须关中断。执行完相应的核心操作后,就可以开中断。开调度时机主要提供重新调度的机会,一般在执行操作系统核心调用前关调度,执行完后开调度。系统中开关中断与开关调度的关系大致如下:
开关中断的粒度比开关调度要深,要细。开关中断主要是为实时性提供各种可能的中断时机,允许响应外部中断。中断里也可以执行调度和系统调用,但中断的上下文与任务的上下文是不一样的,因此在中断里只能执行一些特定的系统调用。这些特定系统调用是不会引起调用阻塞的,不要试图在中断里执行获取信号量,执行I/O操作等这些很容易引起调用阻塞的系统调用。
2 中断管理模型
2.1 中断前-后段处理模型
在前面嵌入式内核中断管理模式分析中,嵌入式内核一般采用中断统一接管思想,在中断统一接管中调用用户的中断服务程序。中断管理模式中的中断处理部分又可以细化,如嵌入式Linux系统中关于中断管理机制中提出了“前半部”和“后半部”的处理思想。其实这种中断管理的思想把中断处理部分按照重要性分两部分,将必须要做的中断处理部分归为“前半部”,即这部分在中断处理部分实施;而将中断处理中可以延迟操作且影响不大的部分归为“后半部”,这部分在退出中断服务程序后实施。通过这样的中断管理思想减少的中断服务时间,为其它外部事件的中断响应提供了更多的时机。在实时内核中还有其它的中断处理机制,它们的思想都是尽量减少中断处理的时间。如在一些I/O处理部分,I/O操作所引起的中断处理部分只做标记功能,即只设一个标志或者发一个消息说明外部中断来了,而具体的I/O传输操作放在中断外部实施。根据上面的分析,将前面的中断处理思想归结为:中断“前-后”段处理模型,其模型如图4。
在图4中,“中断前部”主要完成外部事件发生中断请求时,系统对其响应所完成的必要功能,如中断现场保护、数据预取和预放等;“置标”部分主要通知某个任务或者线程已有一个中断发生,且中断的前部已完成;“中断后部”并不是在中断服务程序里执行,而是由接收到标记或者通知的任务或者线程来完成的,主要是完成本应在中断服务里完成的后继工作。举个例子,当网络接口卡报告新的数据包到达时,“中断前部”主要将数据包送到协议层;“中断后部”完成对数据包的具体处理。
在此“中断前-后段处理模型”中,应该注意两个方面:
① 如何划分“中断前部”和“中断后部”。基本的划分标准是,应该立即处理的和必要的功能部分放在“中断前部”完成,可以推迟处理或者可以在中断外处理的功能部分放在“中断后部”完成。
②“中断后部”何时执行,取决于用于完成“中断后部”功能的任务或者线程的优先级。如果要让中断的后继部分较快地执行,则可以通过提高获得标记的任务或者线程的优先级。从极限角度思维,当获得标记的任务或者优先级很高时,在“中断前部”完成退出中断后,立即就执行获得标记的任务或者线程,这相当于获得标记的任务或者线程执行部分就在中断里执行。如果中断的后继部分并不要求较快的执行,则可以赋给获得标记的`任务或者线程为普通的优先级。
2.2 单向量多中断处理映射技术
(1)问题的提出
在前面的嵌入式内核中断管理模式图中,中断向量表部分也属于模式图的一部分,不同嵌入式处理器体系中断向量的支持也不同。在PowerPC 8xx 系列的处理器中,所有外部中断对应的向量都是0x500。为了处理这种多个外部中断共用一个向量的情况,本节提出了单向量多中断处理技术。此技术的思想如下:
当外设中断触发时,首先定位到实向量位置,调用中断统一接口函数,中断统一接口函数对外设中断触发的参数进行测试,寻找到其对应的虚向量,从而触发虚向量处的回调函数,从而实现多个外部中断通过同一的实向量到多个虚向量的映射,解决了单向量多中断处理的问题。
单向量多中断处理映射技术的示意图如图5。
在上面的单向量多中断处理映射图中,V表示多个外设共享的中断请求向量号,V1,V2,…,Vn-1,Vn表示不同外设对应的虚向量号;Fi表示与Vi对应的回调函数(i=1…n)。
(2)实现方法
基于前面的分析,将单向量多中断处理映射技术运用于Delta OS 移植到PowerPC MPC860平台上。PowerPC MPC860处理器的外部中断向量号为0x500。在单向量多中断处理模型图中,V=0x500。设有n个外部设备分别为D1,D2,D3,…,Dn,这些外部设备中断触发时的中断标志分别为 PPC_D1,PPC_D2,PPC_D3,…,PPC_Dn;Delta OS 内核为这些外部设备分配的虚向量号分别为V_D1,V_D2,V_D3,…,V_Dn,在实现中分别取值:0x、0x2100、0x2200等,即每个虚向量号间距256个字节。在Delta OS内核中声明了一个全局虚向量表_ISR_VECTOR_TABLE,通过系统调用delta_interrupt_catch,将用户的中断服务程序安装到指定的虚向量号处。Delta OS 用统一的中断接口函数_ISR_Handler 来处理外部中断。在模型实现中有两个重要的功能模块:用户中断安装模块和中断处理模块。下面分别用伪代码描述这两个模块的功能。
用户中断安装模块delta_interrupt_catch 的伪代码实现如下:
delta_interrupt_catch(vector, new_isr_handler,old_isr_handler){
① 检查向量号的有效性
② 检查新中断服务程序的有效性
③ 保存旧的中断服务程序指针
④ 安装用户指定的新中断服务程序
_ISR_VECTOR_TALBE[vector]=new_isr_handler
}
外设中断触发时,中断处理模块_ISR_Handler的伪代码实现如下:
_ISR_Handler(void){
① 中断现场的
保护
② 中断屏蔽位的设置
③ 外设中断标志的检测
switch ( 标志) {
case PPC_D1:
F1=_ISR_VECTOR_TABLE[V_D1]且执行F1的功能
case PPC_D2:
F2=_ISR_VECTOR_TABLE[V_D2]且执行F2的功能
case PPC_D3:
F3=_ISR_VECTOR_TABLE[V_D3]且执行F3的功能
.
.
.
case PPC_Dn:
Fn=_ISR_VECTOR_TABLE[V_Dn]且执行Fn的功能
default:
执行系统默认的中断处理程序
}
④ 中断屏蔽位的恢复
⑤ 根据调度标志进行调度
⑥ 中断现场的恢复
}
图5
此技术已成功解决了PowerPC MPC860中单向量多中断处理的问题,而且其实现并不影响嵌入式内核的体系,具有较好的移植性。
3 小 结
本文主要研究了嵌入式实时系统中断管理技术,从硬件体系和系统管理两方面阐述了影响中断性能的因素,着重分析了嵌入式内核中断管理模式。在嵌入式内核中断管理中,归结出“中断前-后段处理”模型,并针对一些处理器的多中断共用一个向量的问题,引入了单向量多中断处理的映射技术,并给以实现,对提高嵌入式实时系统的实时性提供了一定的参考价值。
嵌入式计算机技术及其挑战 篇3
关键词:嵌入式计算机技术;应用;挑战
嵌入式计算机以应用为中心,以计算机技术为基础,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序等四个部分组成,用于实现控制、监视或管理等功能。嵌入式系统和具体应用有机结合在一起,其升级换代和具体产品同步进行。嵌入式计算机系统与通用计算机系统有着本质上的不同,嵌入式计算机系统在很多情况下需要考虑的是优化产品性能、生命周期和商业驱动,而不是努力提高其最大计算吞吐量。
一、嵌入式计算机技术
嵌入式计算机主要应用以下几个方面的技术
(一)处理器技术
为嵌入的便利,嵌入式计算机传统采用Intel公司的8080、80826、Pentium系列、其他片式、单片微控制器等处理器,随着芯片科技水平的提升,68K、DSP等也越来越多的应用。
(二)总线技术
总线速度对整体处理速度有直接影响,嵌入式计算机往往使用无总线全速运行的模式,即使局部设总线,处理速度仍有上升空间。
(三)实时技术
嵌入式计算机相比通用计算机更强调实时时钟和中断技术,在精度和处理数量上都明显占有优势
(四)接口技术
嵌入式计算机必然涉及接口,而且接口多,要求高,除外部设备接口外,还需要D/A、A/D、1553、通信同步及多样化的专用接口.
(五)硬件结构微型化及灵活配置技术
嵌入式计算机既然要嵌入使用,体积、重量、功耗等都必须尽可能缩减,而且由于嵌入
式计算机的程序比通用计算机简单,其需要依靠硬件的裁剪和生成使之形成较小內核的层次结构,并在此基础上应用软件的中断处理和调度法则,使嵌入式计算机满足其宿主精准操作的需要
(六)应用软件开发支持技术
嵌入式计算机的语言相对通用计算机很不成熟,软件开发和支持是嵌入式计算机技术的主要研究方向之一,面临的实际问题较多,开发较困难。
二、嵌入式计算机技术的应用
嵌入式计算机技术目前在生产生活中的应用主要表现在仪表领域、监控系统应用领域以及办公生活应用领域三方面:
仪表领域主要表现在工业生产自动化利用嵌入式计算机可以使仪表在体积缩减、耗能降低、功能提升的基础上实现传感测量、信息处理、自我诊断、补偿计算、风险预警与信息共享等功能,工业仪表的测量准确性实时性更有保证。
监控系统应用领域
随着社会发展,居民小区、医院、交通等场所实时监控的需求逐渐加大,嵌入式计算机使计算机应用技术与通信技术的融合更具有可能性,而且有体积小、耗能少等优点,为实施监控提供了可能。
办公生活应用领域,嵌入式计算机凭借快速响应速度、高水平自动化及小频率软件代码等优势,极大地方便了居民的生活,提升了办公效率
而且,嵌入式计算机的应用范围在持续扩大,交通领域、军事领域、科研领域都在积极尝试引用嵌入式计算机。
三、嵌入式计算机面临的挑战
(一)系统自身发展升级挑战:
一是单片机向多模块组合转变。随着用户要求提高,嵌入式系统从过去单一的单片机应用模式,转变为能提供不同层次方案的多样化模式。通过重用和组合IP核构件技术实现的片上SoC系统,是目前嵌入式系统能够实现的前沿形式,利用FPGA和IP模块进行功能组合PSoC/SOPC设计,彻底改变了过去单片机独打天下的单一设计局面。
二是对设计技术的要求更高。目前高端嵌入式系统是建立在RTOS基础之上的,很多非计算机专业技术人员需要学习全新的RTOS技术。
三是开发工具需要更新,而且开发的系统性要求更高。嵌入式设计从8/16位转向功能更强大的32位MCU。升级后的开发环境不仅加大了系统投资数目,对其技术也有了更高要求。
四是需要多种技术协同设计。目前业界已经开发Polis、CosYma及Chinook等多种方法和工具来支持集成式软硬件的协同设计,系统可以跨越硬件和软件平台复用。
(二)应对市场的重点性能挑战
应用市场的挑战主要包括:操作实时响应和嵌入系统安全性(可靠性、可用性、安全性、保密性)。其中,由于任何现有计算机系统中的保密技术和网络安全措施都有利于保证数据的安全,但也无法做到绝对保证,所以系统设计技术加入入侵检测模块作为最后防线提升嵌入系统的保密性意义重大。
四、结语
嵌入式计算机系统作为当今信息技术的核心部分,对我国的各行各业产生了深远影响。嵌入式计算机系统设计技术,则是嵌入式计算机系统开发的核心环节。嵌入式系统本身的升级,也使其设计技术面临挑战。嵌入式计算机系统在市场上的需求日益增大,用户的要求也在向多样化和高标准的趋势发展,目前已经突破低端应用范围向高端行业扩展,而且得到高端行业的广泛认可,特别是IT技术与嵌入式计算机有机结合后,为其发展提供了强大动力,其市场广阔、发展空间巨大,需要不断的深化才能满足实际应用的需求,其技术研发任重道远。
【参考文献】
[1]刘洪涛,孙天泽.嵌入式系统技术与设计[J].21世纪高等学校计算机规划教材,2009,1:12-13
嵌入式构件技术探究 篇4
构件化的软件开发方法是一种基于分布对象技术、强调通过可复用构件设计与构造软件系统的软件复用途径。基于构件的软件系统中的构件可以是COTS(Commercial-Off-the-Shelf)构件,也可以是通过其它途径获得的构件(如自行开发)。CBSD体现了“购买而不是重新构造”的哲学,将软件开发的重点从程序编写转移到了基于已有构件的组装,以更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担 ,从而降低软件开发的费用。
软件复用已经是软件工程研究的主流,被视为是使软件开发真正走上工程化和产业化道路的希望。人们在实践中认识到软件复用是一个涉及到技术、方法学、管理和文化等多个方面的复杂问题。除了日常隐含发生的对专业知识和经验的复用之外,最为典型的复用活动表现为借鉴、理解、修改和集装各种不同抽象层次 (从产品的概念、系统模型和违约到程序源码甚至目标码 )、不同粒度 (从系统构架、框架、类簇到代码片断 )、不同形式 (黑盒构造块、生成器、模板、设计模式等 )的可复用软件构件来构造新系统和实现系统演化过程。
构件(component)是可复用的软件组成成份,可被用来构造其他软件。构件具有相对独立的功能和可复用价值。它可以是被封装的对象类、类树、一些功能模块、软件框架 (framwork)、软件构架 (或体系结构Architectural)、文档、分析文件、设计模式 (Pattern)等。构件分为构件类和构件实例,通过给出构件类的参数,生成实例,通过实例的组装和控制来构造相应的应用软件。
软构件技术是支持软件复用的核心技术,其主要研究内容包括:
1) 构件获取:有目的的构件生产和从已有系统中挖掘提取构件;
2) 构件模型:研究构件的本质特征及构件间的关系;主要的模型有3C模型,北京大学提出的青鸟构件模型等
3) 构件描述语言:以构件模型为基础,解决构件的精确描述、理解及组装问题;
4) 构件分类与检索:研究构件分类策略、组织模式及检索策略,建立构件库系统,支持构件的有效管理;
5) 构件复合组装:在构件模型的基础上研究构件组装机制,包括源代码级的组装和基于构件对象互操作性的运行级组装;
6) 标准化:构件模型的标准化和构件库系统的标准化。
从软件开发方法上,CBSD引导软件开发从应用系统开发转变为应用系统集成。在基于构件的软件系统开发时,就要对一个新的功能模块的设计考虑其重用性。与传统的嵌入式软件不同,构件化的嵌入式软件是由构件构成的,这些构件的一个或者几个组合成一个完整的应用系统;而且,新的应用也可以使用已有的构件,从而实现嵌入式软件的重复利用。
接口和框架是软构件的基本结构组成,利用构件开发应用系统就是对构件接口、构件上下文以及框架环境一致性的逐渐探索过程。构件间信息通信的机制就是构件接口,对构件接口进行定义是CBSD其中的关键技术;构件组装技术是基于构件的软件开发的核心技术。
构件的接口可以理解为构件的访问点,原始的接口是特征的集合,一个特征可以是一个数据类型,也可以是一个抽象方法。构件的特性从接口信息表达,它对于有效管理和使用构件是非常重要的,优质的构件接口设计是降低构件之间耦合性的关键。一个构件不仅给外界提供服务接口,而且,还可能向其他构件提出接口要求。完美的构件模型应该具有服务接口和请求接口,实际的构件可以没有请求接口,但不能没有服务接口,没有请求接口的构件是一个不需要客户进行控制和定制的接口。
在嵌入式软构件的接口设计中,还要求有配置属性,这是用于改变构件功能和性能参数的接口。构件的配置要根据应用环境的需要,通过参数的改变,可以使构件具有个性化的灵活性。
如果要实现构件的价值,就必须经过组装应用于应用系统才行,构件组装是CBSD技术中的核心技术。目前构件的组装方法按对构件内部细节了解的程度分为黑盒子、白盒子和灰盒子。简单说,白盒子就是对用户公开的,黑盒子就是对用户保密的,灰盒子就是对用户有所保留又有所公开的。目前我们一般都是使用灰盒子。
有了构件,还需要组建构件管理库(component base man-agement system ,CBMS),对构件进行观测、定制和测试是构件管理库要完成的功能,内容丰富、组织良好的构件库是软件重用的核心。组建构件管理库系统的要求包含:构件库的建立、存储和管理功能、构件组织、构件库定义功能、构件存取功能、构件库运行管理功能和维护以、支持构件组合。构件管理库系统的核心部分是构件库运行管理功能,它包含构件提取、构件执行、构件库内部维护等。
总之,良好的构件接口定义是构件可以方便复用的关键因素和基础,只有定义优质的构件的接口才能更好完成构件的组装和构件管理库系统的组建。
构件化软件开发方法强调真正的软件重用和高度的互操作性,它侧重于构件的组成和装配。利用这种方法来开发应用系统,特别是对于嵌入式系统开发来说,其优势是明显的,主要表现在以下几个方面。
1) 构件化软件开发方法继承并发展了面向对象设计方法。构件化设计并没有摈弃面向对象的程序设计方法,而是在系统各个层面上利用了对象技术的优势。
2) 系统模块化。采用构件技术毫无疑问必须使系统模块化,模块化的软件工程带了得最大好处就是灵活、可重新配置、利于系统升级和维护。
3) 增加了系统的可靠性。由于每个构件在系统集成前都进行了充分的测试,提高了基于构件的系统可靠性。
4) 降低开发成本。嵌入式系统构件可以在不同的硬件系统中重复使用这些构件,降低后续系统开发的成本,良好的构件库是嵌入式系统开发的珍贵资源。
基于构件的软件开发促进了软件的模块化和复用能力,正在被逐渐应用于嵌入式系统。由于嵌入式系统资源受限的特性,嵌入构件除了具有传统构件的基本特征外(如:构件的实现与构件的接口定义被隔离的特性),与一般的软件构件相比它体现出了嵌入式构件的新特点:
1) 嵌入式软件开发者必须保证在低处理能力和有限的内存环境下系统执行的完整性和有效性。
2) 由于嵌入式目标系统系统比一般的企业软件具有更复杂的多样性,构件模型需要更加关注可复用的内核,因此,嵌入式系统构件结构和模型设计尽可能简单和轻型。
3) 以静态结构为主要特征(即编译时动态性),支持少量运行时的动态性。这意味着组件不能在运行时创建和销毁,也不能在运行时建立新的连接和断开已有的连接。
4) 另外由于嵌入系统的平台依赖性比较强,嵌入式构件被分为应用软件构件和系统构件。
随着嵌入式构件技术的不断发展,嵌入式构件模型作为基于构件的嵌入式系统开发的关键技术被广泛研究,许多构件模型被提出,目前影响比较大的嵌入式构件模型有以下几种:
1) MinimumCORBA:是OMG组织于2000年下半年推出的一种面向嵌入式系统应用的构件模型。它是CORBA模型面向嵌入式等资源受限系统进行的简化版本,删除了CORBA中体现组件动态的特性。它对于嵌入式系统开发仍然有许多不足如:运行时不需要的资源消耗依然存在,另外对于开发者来说系统限制太多,灵活性不够。
2) Koala:Koala该模型于2000年由Rob van Ommering等提出,是Philips研究实验室的研究成果,该模型是面向电子消费品的嵌入式构件模型。组件被分别得进行设计,每个组件拥有与其它组件连接的接口,但接口是在配置时被绑定即组件的组装,仅在编译时和设计时的具有可扩展性[30]。
3) PECOS(Pervasive Component System):是由Michael Win-ter等在2002年提出的,该项目旨在利用构件技术来开发嵌入式系统,节省开发费用。在该模型中组件被定义为具有端口的黑盒子,在设计时组装,在运行时没有被组装的可能,也没有知识仓库支持。PECOS的构件模型是一个特定的专用构件模型,它的结构简单、支持设计时(design-time有时也称编译时)构件集成(这种构件又称为静态构件),适合于状态可预知和需求确定的小型的嵌入式构件系统开发。
通过上述构件模型分析,它们都有个共同的特点就是基本不支持运行时的动态性和可扩展性,基于上述构件模型开发的嵌入式目标系统不具有运行时的多态性和可扩展性。
摘要:嵌入式网络视频监控系统是新一代的监控系统,它体积小易于布控、功耗低、稳定性高、具有良好的性价比,与传统的基于PC机的监控系统相比具有强大的优势。随着硬件的变革,嵌入式网络视频监控软件系统也需要从基于PC机的开发转移到基于ARM的嵌入式系统的开发上,嵌入式系统有不同于通用PC的诸多新特点,对嵌入式系统下视频监控系统开发提出新的要求。
关键词:嵌入式系统,远程控制,软构件,插件,构件模型
参考文献
[1]高文国.基于ARM的嵌入式视频监控终端的设计与实现[D].北京:中国科学院研究生院,2006.
[2]徐力,孔岩.视频监控系统的现状和发展趋势[J].软件开发与应用,2005(4):60-62.
[3]王志坚,费玉奎,娄渊清.软件构件技术及其应用[M].北京:科学出版社,2005.
[4]童恒庆,聂会琴,李锡品.CORBA/COM/EJB三种组件模型的分析与比较[J].计算机应用研究,2004(4):66-67.
[5]陈新,高凤梅,曹玲芝等.嵌入式数据库SQLite在电梯B/S监控中的应用[J].电子技术应用,2006(5):59-61.
[6]周晓峰.基于语义的软件构件匹配方法及在水利领域中应用的研究[D].南京:河海大学,2006.
[7]王克宏.认识基于构件的软件开发方法[EB/OL].http://indus-try.ccidnet.com/art/3089/20060314/476481_1.html,2006-3-14.
嵌入式系统中的内存压缩技术 篇5
摘要:介绍内存压缩技术和一个基于硬件的内存压缩系统模型,探讨内存压缩技术在嵌入式系统中的应用;重点介绍内存压缩系统的硬件要求及操作系统对内存压缩机制的支持;简单介绍内存压缩中常用的算法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]
嵌入式系统SD卡接口技术分析 篇6
关健词:Windows CE.NET;SD卡技术;存储技术
中图分类号:TP310.89文献标识码:A文章编号:1006-8937(2009)10-0018-02
1SD存储卡技术及SD主控制寄存器概述
存储卡的最大应用领域一直是数码相机领域,而随着消费电子市场对存储容量的需要日益迫切,尤其是智能手机和掌上电脑等产品的销量不断增长,消费电子市场将成为存储卡最主要的市场。目前在手机和掌上电脑等消费电子产品上应用的存储卡有:SD卡,MMC,mini-SD,RS-MMC,MMC Plus,记忆棒,CF 存储卡等,SD和 MMC由于占有绝对的市场份额而成为事实的标准。
S3C2410A微处理上,SD主控制器接口的32bit功能寄存器物理地址从0X5A000000开始下面简单介绍SD 主控制器接口的重要寄存器。
①SDICON(SDI Control Register,SD接口控制寄存器),该寄存器中的功能位用来设置SD主控制器的时钟类型,SD主控制器的FIFO复位,读写等待条件,是否响应SD主控制器的SDIO中断和SD主控制器读写数据时候的字节顺序。
②SDIPRE(SDI Baud Rate Pre-scaler Register,SD 波特率因子寄存器),设置该寄存器中的bit 0~7,可以对系统的PCLK进行分频,然后提供给SD主控制器使用,分频公式为:Baud Rate=PCLK/2/(SDIPRE+1)。
③SDICCON(SDI Command Control Register,SD命令控制寄存器),该寄存器存放发送给SD主控制器的命令,主控制器是否等待响应,命令是否带有数据等。
④SDICSTA(SDI Command Status Register,SD命令状态寄存器),该寄存器包含命令是否正在传输,命令是否超时,响应CRC校验失败等标志位。
⑤SDISP(SDI Response Register,SD响应寄存器),共有4个,只读属性。当响应是短响应时,只用SDISP0,否则就需要使用四个响应寄存器。
⑥SDIBSIZE(SDI Block Size Register,SD数据块大小寄存器),该寄存器只使用了bit 0~11,所以数据块最大为4095字节,当使用流模式传输时,该寄存器忽略。
⑦SDIDCON(SDI Data Control Register,SD数据控制寄存器),bit 0~11为传送数据块的数目;剩下的状态位标识数据传输模式,DMA通道使能,数据总线宽度(1bit 或4bit模式),传输停止方式,传输响应,SDIO中断周期等。
⑧SDIDSTA(SDI Data Status Register,SD数据状态寄存器),包含数据收发状态,传输完成,是否超时,CRC 校验,FIFO失效,SDIO中断等状态位。
⑨SDIDAT(SDI Data Register,SD数据寄存器),该寄存器用来保存SD控制器用来传送或接受的数据。
⑩SDIDAT(SDI Data Register,SD数据寄存器),该寄存器用来保存SD控制器用来传送或接受的数据。
当需要对SD主控制器接口进行控制时,我们必须先要将SD主控制器的寄存器初始化,然后对相应的SD接口寄存器进行读写来完成工作。
2接口硬件设计
N30系统是一款针对中低端用户设计的掌上电脑,基于成本和功能的考虑,我们选择Samsung的S3C2410A 16/32bit的RISC处理器芯片,内部扩展USB、SD接口,支持红外线和蓝牙数据传输接口,努力维持一个较低成本的同时,使得整个系统有一个较高的整体性能。在此基础上使用GPIO引脚扩展的方法,对标准SD接口进行扩展,设计并实现N30掌上电脑的SD卡接口。
N30中选用的是Samsung的S3C2410A嵌入式ARM微处理器,采用ARM920T核心,内部还有液晶显示屏控制器,IIC总线和IIS总线控制单元,3通道的UART,4通道DMA控制器,电源控制单元,时钟发生电路,USB主机控制器、USB设备接口和SD主控制器等,工作频率可达到266MHz。适用于低成本的嵌入式应用,满足我们的设计需要。ARM9系列采用五级流水线和哈佛结构,提供1.1MIPS/MHz的性能,是高性能和低功耗的硬宏单元。ARM920T和ARM922T具有全性能MMU、指令和数据Cache以及高速AMBA总线接口,适用于高性能、低功耗的应用。
N30系统由于采用Samsung的S3C2410A芯片,内部支持内存控制、NAND Flash和SD卡接口等。Flash存储器采用的是一Samsung的K9F5608U0C,32MB的NANDFlash;RAM采用的是两片Samsung的K4S561633C,构成 16M*16bit*2的64MB内存空间;SD卡接口采用APLS公司的SCDA1A0100 SD卡连接插槽,通过GPIO扩展其 SD卡检测引脚信号和电源使能信号等。
N30掌上电脑的硬件系统的主要模块有:嵌入式处理器,电源模块,LCD和触摸屏,音频模块,时钟,USB 接口等,另外还有用于调试的JTAG和串行接口。
嵌入式处理器是整个系统的核心,它主要负责整个系统的运行,控制各个部件的工作和协议转换。
电源模块负责整个系统的供电,主要向嵌入式系统提供2.5V,3.3V和5V的直流电压,向LCD模块提供3.3V、5V、12V的直流电压。同时采用TI的MSP430F1111A微控制器,负责电池的温度、电量监测和电池充电,以及控制LED灯的状态。
音频模块采用 Philips的UDA1380音频编解码芯片,连接外部话筒和耳机,同时经过音频放大之后连接到内部扬声器,音频模块和CPU之间采用IIS总线连接。I2S(Inter IC Sound)总线是飞利浦半导体公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的数据传输,广泛应用于各种多媒体系统中。I2S数据通过DMA或者PIO方式与系统内存交互。
摸屏和LCD显示屏是主要的人机交互接口,负责响应用户的触摸笔输入和显示输出,显示屏是3.5寸 65536色的TFT 液晶显示屏,分辨率为240*320,内部集成触摸屏电路和背景灯电路。
时钟模块由32.768KHz、13MHz的晶振和时钟发生电路组成。32.768KHz的时钟提供给RTC实时时钟,用于低精度的系统计时。13MHz的晶体振荡器经过时钟发生电路升频以后,输出FCLK,PCLK和HCLK三路。其中 FCLK专用于ARM920T核心;HCLK用于AHB高性能总线,提供给内存控制单元、中断控制单元、USB主机控制器单元等;PCLK用于APB高性能外部总线,提供给 SD/MMC、SPI接口等。
USB接口分为两个模块:USB主机控制器和USB设备端口。主机控制器可以连接USB鼠标、键盘等USB设备,扩展PDA的功能;USB 设备端口可以用于PDA和 PC端的USB连接,将PDA的存储设备和PC连接起来,使得PDA成为PC机的移动存储设备。
3驱动设计与实现
S3C2410A芯片内部支持SD主控制器的基本接口,通过GPIO的扩展完成了SD接口的硬件设计,本章主要针对SD卡扩展的存储接口进行分析、设计和实现。我们为 N30掌上电脑上运行的 Windows CE系统开发了SD 主机控制器的驱动程序。Windows CE下,驱动程序是用户态的动态链接库(Dynamic Link Library,DLL),这些 DLL向内核提供一些接口函数,这样设备管理模块就可以通过这些函数与具体的硬件设备进行通信。
其中,驱动软件架构分析如下。Windows CE的驱动程序模型主要有2种类型:流式接口驱动(Stream Interface Driver)和本地设备驱动(Native Device Driver)。流式设备驱动向上层提供统一的流式设备接口,而本地设备驱动可以根据具体设备要求提供相应接口。N30掌上电脑系统中,SD Host的驱动程序采用流式接口驱动模型。驱动程序要实现相应的XXX_Open( ),XXX_Close( )等响应的流式设备接口函数,其中XXX为设备驱动的前缀,应用程序可以通过文件操作来控制设备。为了减少了 SD Host驱动程序设计的复杂性,使其具有较好的可移植性,采用BSQUARE提供的SD Host DDK,它在 BSQUARE SD协议栈的基础上,提供了平台独立的总线和客户端驱动和一组标准化的API供使用。在该体系结构下,SD主控制器驱动负责检查SD卡的插拔状态,检测插入的卡的类型,设置SD主控制器时钟等SD接口的硬件操作;SD总线驱动则负责上层卡驱动的装载和移除,维护每一个插槽的总线请求队列等。该结构的设计很大程度上减少了SD Host驱动程序设计的复杂性,使SD Host控制器驱动程序设计可以专注于硬件相关的部分。总线驱动是SD卡客户端驱动程序和SD Host 驱动程序之间的一个抽象层,它为SD卡客户端驱动提供平台独立的服务接口。SD Host驱动程序需要完成处理器和硬件平台相关的处理,向上层驱动提供统一的服务接口。
参考文献:
嵌入式技术市场及其特点 篇7
MCU市场概览
据Gartner估计,2008年全球MCU总收入达到了136亿美元;2009年,由于全球经济衰退的影响,这个数字可能将会下降到约100亿美元。由于其较多出现在于汽车市场上,因此,MCU市场的下滑幅度将会超过整个半导体市场。
就增长速度而言,32位产品市场持续高于8位和16位MCU产品市场。2008年,每一产品细类中处于领先地位的商家仍旧保持其领军地位——Microchip公司在8位微控制器 (MCU) 产品市场上仍占据榜首地位;而Renesas (瑞萨) 和NEC电子则仍然分别引领着16位和32位MCU产品市场的发展。
MCU市场上一些行业发展趋势体现在以下几个方面。
更多的销售商关注于其MCU产品组合。就利用落后于行业发展前沿需要的制造技术以较低的资本投入获利而言,MCU市场的商业模式证明是令人满意的。Microchip是该市场上一个众所周知的成功故事。作为一家主营MCU产品的供应商,截止于2008年年底,Microchip已经连续73个季度实现盈利。
Microchip公司的成功引发了2008年市场上的激烈竞争。业内几家主要的半导体公司开始转变其经营策略,为了使竞争更为有力,他们开始更多地关注于能够获得更多盈利、形成更大规模的市场部门。新近出现的一些显著变化包括:
●Atmel公司开始向专营MCU公司的方向转变;
●为了保持公司的发展,赛普拉斯 (Cypress) 公司正在将成功寄希望于可编程片上系统 (PSoC) 上;
●飞思卡尔 (Freescale) 公司已经决定退出亏损不断的无线产品市场,转而将其投资重点放在兼营汽车部门之外的核心MCU业务上;
●TI正在逐步削减其无线基带业务,优先发展嵌入式处理市场;
●NXP已出售其无线运营业务,正在优先发展其多市场半导体业务。
并购活动不断升温。随着竞争压力的不断增强,多家微处理器 (MCU) 供应商已采取措施,通过并购的方法来消除竞争压力和缩短产品面市时间。
2009年中最近公布的并购活动包括世界头号和2号微处理器 (MCU) 销售商——瑞萨和NEC电子公司间的计划合并,此举将占去整个MCU市场的三分之一。TI则收购了Luminary Micro公司。
M C U市场倾向于标准处理器核。在过去的几年中,通用MCU市场中ARM处理器核的发展势头愈演愈烈,2008年的情况也是如此。从图1我们可以看到,2006年至2008年期间,基于ARM的32位MCU产品的销售量不断提高,这主要是由Atmel、NXP、三星 (Samsung) 、意法半导体 (STM) 和TI公司的产品销售推动的。2008年,基于ARM的32位MCU产品的销售增长了26%,该数字高于整个32位MCU产品市场 (12%) 和总体MCU产品市场销售 (-2%) 的增长速度。
这样就有可能造成基于ARM的MCU产品种类繁多、销售商家云集、产品价格富有竞争力以及软件代码可重用的情况,因此,转向标准处理器核产品的最大好处就是嵌入式设计人员从中可以获得更多的选择。
瑞萨:以低电压、高性价比为目标
瑞萨电子 (上海) 有限公司市场与工程技术事业部单片机产品部市场应用工程部高级总监上村省一
在MCU产品方面,瑞萨以更低电压、低功耗、以及提高性价比为目标。同时,开发环境也非常重要,为了使顾客能以更低的成本实现简便的开发过程,瑞萨致力向顾客提供价廉物美的开发工具,并提供丰富的应用技术资料。
在工业领域,瑞萨在安全性设备和电机控制机设备的MCU份额持续扩大。在民生领域,随着小型家电的电子控制化率的提高,将以8bit MCU为中心向这些领域进军。
在中国市场,譬如下一代EPM (Electric Power Meter,电子电表) 和数字广播C M M B等的标准规格等正在被热烈讨论着,我们预计今后以民生和工业为中心,制定有中国特色的新标准。具备前瞻性的发展动向,及时向顾客提供合适的解决方案,就是我们与其他竞争公司差异的关键所在。
Silicon Labs:低功耗、小型化、人机交互趋势
MCU业一个很明显的趋势就是减少MCU的功耗。Silicon Labs对MCU进行了超低功耗的优化和运行制度的优化。典型的MCU在工作和睡眠模式中进行了低消耗的优化,包括当时只有实时时钟工作电流。除了上述的操作模式外,Silicon Labs的MCU具有包括如“突发模式”的模数转换器的功能,这就减少了业务子系统运行的时间,从而降低了系统功耗。除了通过经营模式和集成外围设备来降低功耗外,Silicon Labs通过降低工作电压来减少耗电量。耗电量是电压和电流的乘积。当工作电压降低,整体的能耗降低也成正比地降低。Silicon Labs的MCU运作低至0.9V,可确保系统运作中的碱性电池的整体可用范围。
便携式和手持产品小型化的发展趋势已经愈发显现。许多产品现在“可穿戴”,并要求极小型封装。对于M C U来说,这意味着不仅要有更小的尺寸,更重要的是要整合进更多的功能。一个很好的例子是C8051T606—世界上较小的MCU—在精巧的2mm×2mm封装中提供超高的功能密度,包括进一步集成了电压监测和精密振荡器。
人机交互功能是MCU产品一个日益增长的趋势。MCU外围设备越来越先进,能够有效地实现这些功能。一个范例是创新的电容到数字转换器 (CDC) ,即在C8051F700单片机中集成。这个外围设备允许非常小的电容变化的直接测量,以便有效地实施电容式触摸感应。在疾病控制中心,像CDC这类的先进外设可以在没有任何外部组件的情况下,进行低功耗、低噪音的强大测量工作。
响应客户的要求。M C U的开发工具在过去的几年有了很大的改善,简化了开发步骤。一个主要的创新是采用以USB为基础的评估工具,简单易用且成本低。现在MCU“ToolStick”的开发工具系列有几十种选择,使得开发工作简单,快速,无故障硬件评估。
与无线应用组合。最近我们看到MCU产品和短距离无线产品组合的趋势。大量新系统正在研制并用于低功耗MCU-GHz ISM频段的无线连接。典型的应用领域有安全、家庭/楼宇自动化和射频识别。Silicon Labs的低功耗C8051F900MCU系列和EZRadioPRO无线电产品系列一直在这些领域中做着贡献。我们已经制作了开发套件、评估工具和软件包号码,以方便开发人员执行MCU/无线系统。
普芯达:SoC化和低价化
MCU技术的发展特点主要体现在两点。
第一,SoC化。MCU发展至今,已经是越来越成熟的产品,应用也是越来越整合,我们希望依靠MCU可以完成一个系统的工作,甚至可以完成几乎所有的功能。于是集成在一块芯片上完成一个系统的功能,集成化就是我们发展的方向,我们归结为So C化。
普芯达公司总经理
第二,低价化。在整个市场范围内,成熟的MCU产品为了取得更广泛的应用,价格将趋于更加合理。在大家都去使用的前提下,价格将趋于低价化,应用范围将会变得更为广阔。
当前,MCU的热点应用主要在小家电、LED节能控制、玩具游戏、防盗类产品。
普芯达主要集中在行业用户方面,以MCU平台为基础,贴近客户,有针对性地为客户提供整体解决方案。
Microchip:电池供电对MCU的挑战
市场对电池供电或功耗限制应用的需求,特别是消费类应用,正处于增长之中。它要求电池供电器件工作的周期更长—有时需要几年—无需重新充电或者更换电池。例如,烟雾或一氧化碳探测器,以及新兴的家用医疗诊断设备。它们和其他先进的测量或监控设备结合在一起,例如,恒温器、固定资产跟踪系统或门禁系统。
这些电池供电或功率限制应用有一个最重要的共同之处:他们大多数时间处于开启但不工作的状态,这使得他们有别于不使用时通常处于关闭状态的应用。这也意味着,器件不工作时所节省的功率是决定器件寿命的一个仅有的最重要的因素,并且是着眼于延长器件寿命时需要关注的最重要的一个方面。这种趋势要求现有的通过改善晶体管性能发展而来的低功耗技术能够使器件在等待状态下消耗尽可能少的功率。
M i c r o c h i p已经将其最新的nanoWatt XLP系列PIC单片机 (MCU) 定位于这类应用,这一系列单片机代表了世界上在休眠模式下最低功耗的MCU,消耗的电流仅为20nA,甚至更少。这意味着他们在其大多数的工作周期中要比现有的其他MCU消耗更少的功率,实际上将功率限制器件的使用寿命延长到了20年或20年以上。
低功耗工作的关键是先进的nanoWatt XLP超低功耗技术。它引入了一个额外的深度休眠模式,允许MCU架构中越来越多的部件在不活动的很长一段时间内处于关闭状态。
微芯 (Microchip) 科技公司大中华区总经理
Freescale:新兴市场是MCU的沃土
飞思卡尔工业和多元市场MCU部亚太区市场经理
在新兴市场,通用MCU产品正以前所未有的速度在扩展,这些市场以前从未使用过MCU。强大的通用产品组合不仅能帮助公司占领新兴市场,而且能够帮它在同一个市场发展ASSP (专用标准产品) 扫清障碍。我们已经认识到,一个成熟的大型市场需要ASSP。飞思卡尔 (Freescale) 创建的商业模式能够支持ASSP,甚至全部定制产品。
中国政府出台的经济刺激计划促进与基础建设相关的许多市场开始复苏,如低端家电、医疗设备、智能电表及交通运输市场等。今年这些市场的发展态势将好于去年。
为了满足不断变化的市场需求,飞思卡尔从未停止开发新技术和新产品,即使在经济下滑的年份同样如此。2008年公司宣布重点是工业细分市场,如医疗、楼宇控制、能源和家电设备等,2009年我们将继续在这些应用领域进行投资,因为飞思卡尔相信这些市场将会带领整个市场走出低谷。
液晶显示器 (LCD) 已经成为我们家庭、办公室、汽车和工厂中电子产品的核心和日益普及的用户界面。为了进一步壮大用于LCD应用的MCU解决方案系列的阵容,飞思卡尔为工业控制应用推出了MC9S08LG32 MCU系列。8位S08LG MCU具有集成的LCD驱动,是飞思卡尔广受欢迎的L系列8位MCU的成员,为各种工业控制和汽车设计提供了经济高效的LCD控制解决方案。S08LG系列为电表应用、HVAC控制、数字恒温器、家用电器和健身器材提供经济高效的嵌入式控制和用户界面解决方案。此外,S08LG器件还是各种车身控制应用的理想选择,如用于新兴市场入门级车辆的组合仪表。
中国是亚太市场的中心,预计到2012年,亚太市场将占整个工业和消费类MCU市场的近50%。对此,飞思卡尔新增了在亚太市场的投资,包括研发和销售及管理。飞思卡尔MCU解决方案部自2000年起开始组建本地研发团队,而且从2007年开始进行市场推广。这些市场推广和设计团队,协同天津的生产团队,共同针对中国市场推出3个系列的MCU新产品,其中包括低成本的电表系列。这些投资现在已经开始带来不错的投资回报。据i Suppli最新报告显示,2008年飞思卡尔在中国市场的MCU供应商中排名第二。我们相信,飞思卡尔强大的本地团队将交付更具竞争力的产品,从而在中国占领更大的市场份额。
英飞凌:三大产品线布阵
在《电子产品世界》2009年第9期 (63页) ,介绍了我们对MCU技术市场特点的理解。本文介绍了英飞凌嵌入式MCU产品线,可分为8位、16位、16/32位和32位。
在8位M C U产品方面,英飞凌向客户提供XC800产品系列。该系列产品经过优化,适合成本敏感型的嵌入式实时控制应用,如电机控制 (例如空调、泵类和风扇中的电机) 。XC878系列产品是最早推出的8位M C U之一,它们既支持功率因素校正 (PFC) ,也支持磁场定向控制 (FOC) 。利用FOC扭矩动态控制,可以显著降低电机的噪音,提高电机的能源利用效率,将电机的能效提高至95%。
英飞凌的新型XE166系列产品是一种16位实时信号控制器 (RTSC) ,具有先进的中断响应和即时关联转换功能,特别适合工业应用。该系列产品可提供64kB至1.6MB的闪存容量,封装引脚的数量为64至176。XE166系列产品继续采用C166v2内核,并沿用了历史悠久的C166结构 (后者在市场上的销售量超过5亿块) 。执行单周期指令时,XE166产品的性能达到100MIPS。片上MAC单元提高了电机控制算法 (如FOC或数字PFC) 等应用的DSP计算能力。
英飞凌亚太区市场部高级经理
英飞凌的XC2000系列16/32位MCU是专门满足苛刻车载应用要求的MCU,拥有三个子系列,分别满足不同的车载应用要求。通过实施“零缺陷”战略,英飞凌将MCU的缺陷率降低至1 dppm以下,满足了车载市场对高质量的要求。与XE166一样,客户可以方便地从现有C166设计转换为XC2000设计。
英飞凌的32位三核系列产品是市场上功能最强大的控制器产品之一,用于嵌入式实时控制应用。该款MCU带有高效的外设。该款控制器的推出,使英飞凌成为对实时性能具有苛刻要求的应用 (如汽车动力系) 的领先供应商。英飞凌的32位内核“Tricore”集RISC、CISC和DSP功能于一体,这些强大的功能、多总线结构以及集成的协处理器—外设控制处理器 (PCP) —为CPU节省了大量的计算能力,使CPU可以将更多的计算能力用于应用软件的运行,从而满足了高度复杂的嵌入式控制系统对实时性的要求。
TI:MCU的发展特点
MCU从问世发展至今,一个大的趋势就是更新换代的速度非常快。更多的功能被集成到设备中,新产品层出不穷,也给用户创造了更大的余地。
其次,8位、16位、32位MCU有着各自相应的应用市场,仍将继续并存下去。但在目前这个市场里,8位MCU的份额正在下降,与之相反的,32位和16位的MCU市场份额会稳步增加。
第三,从用户的角度上看,他们的某些特定需求也对技术演进提出了新的要求。比如,我们发现客户群越来越注重环保,这是我们在服务中国客户的时候看到的一个非常显著的趋势。对此,TI (德州仪器) C2000系列能把应用的效率提高,而MSP430能让系统的功耗降到最低。
此外,客户对性能的提高和成本的降低也有较高的要求。多年以来中国市场对这两点的需要非但没有减弱,反而越发强烈。对此,TI通过提高产品的集成度来满足客户需求,比如TI刚刚收购的Luminary的32位单片机上就集成了MAC+PHY、USB、CAN,这些都大大降低了系统成本。另外,TI在设计新产品时采用新工艺,从而把产品的成本降到最低,使客户用更低的价格获得更好的产品与性能。
TI中国区ASP业务拓展及应用总监
同时,客户对新技术和新产品的要求十分迫切,对产品的易用性也有比较高的要求。我们在进行研发的时候,同时也开发了一些经济实用的软件,使客户在应用的时候能够更顺利。
最后还有一个趋势,就是整个世界变得越来越小,客户也需要更小的封装。所以我们也在不断加强这方面投入,为客户提供更加精巧的封装技术。
TI认为,在嵌入式产品线里,单片机是非常重要的一环。中国的MCU市场已经达到20亿美元的规模,预计在三到四年内,将会达到30亿美元。在这个市场里,8位MCU的份额正在下降,与之相反的,32位和16位的MCU市场份额会稳步增加。这对TI来说是非常有利的,因为TI在相关领域的投入都集中在16位和32位微处理器。TI的单片机产品阵营将主要由MSP430超低功耗MCU (值得一提的是,TI的MSP430是全系列超低功耗,而不仅限于少数产品) 、C2000系列高性能实时控制微处理器以及Stellaris系列 (Luminary公司的CortexM3产品系列) 等共同构成。
ARM:在MCU上的规划
随着32位MCU的成本越来越低,它正在逐渐取代一些过去的16位和8位占据主导地位的市场。成本固然是一个重要原因,而另一个重要原因是:8位和16位MCU由于自身的限制,已经无法满足一些应用的需求。例如,对连接性、用户界面、综合成本、性能等要求不断增加的MCU应用,传统的8位和16位MCU开始渐渐无法满足这些需求。这为32位MCU的进一步发展带来了契机。
ARM中国区总经理兼销售副总裁
A R M一直致力于提供适用于MCU的高性能、低功耗、低成本的处理器架构,例如ARM Cortex-M系列处理器。最新推出的Cortex-M0处理器是市场上现有的最小、能耗最低、最节能的ARM处理器,使得MCU开发人员能够以8位处理器的价位,获得32位处理器的性能。
ARM架构是现在业界最为流行的架构之一,拥有较为广泛和完善的生态系统和资源。现在每年基于ARM架构的芯片出货量已经达到了40亿,而ARM的授权业务模式使不同的厂商都能提供基于同一架构的产品,这样有利于打破垄断,降低成本。此外,ARM根据不同应用的特点,推出了不同的产品路线图。现在,ARM的合作伙伴所设计生产的MCU产品基于ARM7、ARM9、Cortex-M等不同的核,各有针对,能够满足不同的需求。
英特尔:当今市场的驱动力
英特尔嵌入式与通讯事业部嵌入式计算事业部总经理
今天有哪些市场驱动力量?实际上四个因素在推动着嵌入式市场的发展。金融危机让全世界的政府都在进行很多投资,特别是在健康、交通、能源等方面,因此需要提高这些领域的效率,计算能力的提高能够在这方面有所帮助。在社会方面,我们要改善人机交互的界面,要提高安全和便捷性,这些都需要互联功能更好的平台。还有经济方面,我们需要更低的总体拥有成本,并要执行新的任务,如提高广告的效能和提高零售、安全等等。在技术方面,对于无线互联的新技术,对于顾客身份识别的新技术,还有其他传媒信息的技术,都是需要嵌入式平台拥有更高的性能。
例如数字标牌,这样一个平台需要更强的计算能力。比如当你进入到电梯里,电梯的墙上就有一个显示屏介绍今天有什么活动;机场里的广告牌会播放一些广告和航班信息等。此时,信息系统能够集中地管理和控制那些数字标牌,能够减少这些数字标牌的总体拥有成本,而且提高性能将使广告能够更加吸引客户的注意力。例如,在一个加油站,一个数字标牌可以播放广告,广告里面是关于便利店里面所销售产品的情况,它可以进行识别,如果是男性顾客,加油时出现的广告就是针对男性的广告;如果是女性在加油,会针对女性展示广告。客户现在更加依赖无线网络,所有的这些广告必须是互动、需要经常进行调整的。我们的能耗要控制得非常好,如果没有顾客的话,就可以把数字标牌关掉。你不需要派人去关这些显示器,远程控制关闭就可以了。而且标牌出了故障,系统远程就可以侦测到出了怎样的问题,通常用远程操控就可以修复这些问题。我们的匿名视频分析不仅可以识别客户的性别,还可以识别有多少人看了这个广告,看了多长时间,所以我们就可以客观地来评估这些广告的效果。英特尔能够提供各种各样的产品,从高端的产品,比如酷睿i5、i7等,到低端产品,而且英特尔芯片有很好的可扩展能力。
英特尔认为未来十年嵌入式市场将会发展非常快,英特尔进行了很大的投资,不仅仅对于产品,而且对于产品以上的这些技术都进行了投资,包括管理和软件等等方面。
微软:从嵌入式系统到专用设备
微软公司Windows Embedded中国区高级市场经理
除了P C和智能手机以外,其实还有一个更广阔的领域,这个领域更加分散。在这个更广阔的专用设备的领域里,用户的体验更加地千差万别。这个专用设备领域是各种各样的,而且专用设备的发展是越来越融合、更加智能化、更加强大,需要连接到网络上,需要有更多的连接。
与PC业不同,嵌入式系统行业有如下特点:
首先,客户支持时间更长。微软提供长达15年的生命周期支持和更新。
其次,与PC业不同,微软不需要向最终用户提供微软的品牌,即基于Windows技术的体验都是设备制造厂商的体验,在开机的时候最终用户可能看不到Windows的标识。
再有,多样化需求。因此Windows Embedded家族主要有四类产品:Windows Embedded Enterprise,是全版本的Windows用在专用设备上,例如ATM机上;Windows Embedded Standard是组件化的Windows;Windows Embedded Server是针对专用服务器的,例如保安摄像机的后台服务器管理;前三种主要支持x86架构,Windows CE (在1年内,新一代产品将更名为Windows Embedded Compact) 则支持四种架构:x86、ARM、MIPS、SH架构。另外,还有针对POS机、PND导航仪等专用领域的平台产品。
最后,在性能上,嵌入式设备有实时性和可靠性等特点。以实时性为例,什么叫实时性?到底是1微秒、1毫秒是实时性?这要根据不同的需求。例如,假如你在控制一些传感器,这可能需要毫秒级;如果是一个数据的备份,可能都不需要当天。从这个角度来看,Windows Embedded就有整个一条产品线,来针对不同的时间要求。如果是毫秒级的实时性需求,那就是Windows CE,如果是微秒级的,Standard可以达到;如果你需要的是稍微慢一点的,用Windows Embedded Enterprise就可以实现。
但是,现今的嵌入式系统又有些新的特点。
更多体验、更快上市。Windows Standard新产品最大的特点是更少的组件化,在XP版本的时候微软提供了1.3万个组件。但在Windows 7版本的时候只有1千多个组件。为什么会有这么大的差别呢?我们看到客户的需求尤其是新的应用领域,细化组件带来的好处是可以把操作系统做得更小,内核几十兆都可以做到。但是,随着硬件由于存储成本、硬件预算能力的提高,这些成本对设备制造商已经变得非常小了。比如增加了500MB的内存成本可以是忽略不计的,像某些显示屏应用,一个设备十几万元,增加内存根本不是要考虑的问题。要考虑的是怎样带来更多、更强的体验,诸如全高清和无缝移植。再比如,能不能最快把这个产品项目推向市场?如果在产品开发的时候多花一个月的时间,这带来的潜在风险是很大的。所以大家关心的是能不能低风险地把项目、设备推向市场。
无缝连接。专用设备千变万化,如何管理?可以想象,如果这些专用设备上运营的都是一家公司的操作系统,管理会很方便。
从嵌入式设备到专用设备演变。从前我们都讲嵌入式,很多时候是从技术的角度来定义的。今天我们讲专用设备,更多是从应用的角度出发的。我们看到这个发展已经远远超出了从前嵌入式设备低功耗、小型化、实时性的要求。专用设备变成了一个更广阔的舞台。
嵌入式软件测试技术研究 篇8
随着信息技术的不断发展, 与硬件发展日益稳定相比, 软件故障却日益突出, 因此软件测试的重要性已经越来越被人们所重视。嵌入式软件有着开发工具昂贵、内存较小、实时性要求较高、CPU种类繁多、I/O通道较少等特点, 为此, 嵌入式软件的测试也与一般PC应用软件的测试有很大的差异。
1 嵌入式软件测试概述
1.1 嵌入式软件特点分析
嵌入式软件测试的主要目的在于验证软件的可靠性, 与通常的PC应用软件相比, 嵌入式软件的测试有如下几个特点: (1) 嵌入式软件是针对在特定硬件环境下开发的, 其运行和测试也需要依据特定的硬件环境; (2) 实施性要求较高, 除了要求有正确的输出结果以外, 还需要考虑是否能够在规定的时间内得到运行结果。
1.2 嵌入式软件测试环境分析
一般采用交叉开发环境来搭建嵌入式软件的测试环境。例如单元测试、集成测试等可以在PC机上完成的测试, 通常都在PC机上进行测试, 从而可以避免硬件环境的影响, 提高测试效率。在后期的集成测试中, 需要在具体的嵌入式软件硬件环境中, 搭建交叉测试环境来完成嵌入式软件的测试。交叉测试环境的搭建需要注意以下几个方面的内容:
(1) 主机与目标机之间的通信问题。可以通过以太网或者串口进行主机与目标机之间的物理连接, 主机与目标机之间的数据格式可以预先进行定义。
(2) 主机对目标机的测试控制。主要包括主机如何向目标机发送测试用例, 如何跟踪目标机的测试, 查看是否正常进行。
(3) 目标机测试结果的反馈。通常运行嵌入式系统的目标机没有视频显示等便利的测试结果输出端口, 因此目标机上的异常、错误信息和正常响应信息等测试结果都需要返回到主机上进行显示和输出。
在嵌入式软件测试环境的搭建过程中, 需要测试嵌入式系统与已建设备是否协调, 硬件设备电气特征是否正常, 以及主机与目标机之间的物理信道是否通畅等, 从而保证测试结果不受到嵌入式软件以外其它因素的影响。
1.3 嵌入式软件测试策略
嵌入式软件不同的测试阶段有不同的测试策略。
(1) 单元测试。为了提高嵌入式软件的测试效率, 一般会将较大的嵌入式软件系统划分成若干相对较小的任务单元进行测试。由于宿主机上有更加丰富的资源, 同时也为了方便对嵌入式软件的调试, 一般在宿主机上进行单元测试。单元测试一般采用白盒测试策略, 尽可能测试到单元模块中的每一个程序语句, 每一个分值, 从而提高代码测试的覆盖率。
(2) 集成测试。为了找出系统逻辑结构错误和各个功能模块之间的数据传递错误, 需要采用黑盒和白盒相结合的方式进行嵌入式软件集成测试。需要通过最大程度地模拟嵌入式软件实际运行环境。集成测试分成两个部分, 首先可以在宿主机上测试软件是否存在逻辑结构错误, 以及测试各功能模块之间是否有传递错误;然后, 通过构建真实的嵌入式软件运行环境, 来测试软件是否存在内存定位和分配上的错误。
(3) 确认测试。确认测试必须是嵌入式软件运行在真实的硬件目标环境中, 主要测试嵌入式系统是否由于测试环境的移植而受到影响。由于受到硬件目标环境资源不足、测试结果输出方式等限制, 嵌入式软件的确认测试一般采用黑盒测试方案。
2 嵌入式软件测试技术
2.1 静态测试技术
静态测试可以充分发挥人的逻辑思维能力, 包括代码检查、静态结构分析以及代码质量度量等方式。
(1) 代码检查。代码检查主要包括对嵌入式软件开发的代码审查、代码走读等工作。代码检查的内容主要包括分析代码是否遵循嵌入式软件设计、开发标准, 数据是否正确, 接口是否正确等内容。
代码检查能够快速地找到嵌入式软件的缺陷, 可以发现70%以上的编码和逻辑设计缺陷。因此, 在实际应用中, 代码检查可能比动态测试更加有效。
(2) 静态分析。静态分析是借助测试工具对软件代码进行分析的方法, 只可以分析是否存在内存泄露等特定的缺陷, 受其他模块的影响较小。静态分析主要包括对数据流的分析、对控制流的分析以及对软件度量的分析等。
嵌入式软件的静态测试, 主要是通过开发、测试人员对软件源代码进行审核分析, 不需要进行测试用例的设计, 因此嵌入式软件不需要特定的测试环境。
2.2 动态测试技术
根据是否需要了解软件内部结构的区别, 嵌入式软件的动态测试包括黑盒测试和白盒测试两种。
(1) 白盒测试技术。在对嵌入式软件进行白盒测试时, 需要对软件进行如下几个方面的检查:至少对系统中所有独立路径进行一次测试;至少在循环限内和循环边界对循环测试一次;对所有的逻辑判定都需要测试一次;对内部数据结构的有效性进行测试。
与通用的PC应用软件相比, 嵌入式软件的白盒测试需要更高的代码覆盖率。而且嵌入式软件的白盒测试不需要在目标硬件环境中运行。
(2) 黑盒测试技术。黑盒测试需要知道用户需要哪些功能, 可能会遇到什么样的问题, 在嵌入式软件自动化测试时, 采用黑盒测试技术较为方便。但是, 黑盒测试的代码覆盖率较低, 一般仅为总代码量的30%左右。
2.3 覆盖测试技术
覆盖测试技术根据嵌入式软件的内部结构来进行测试用例的设计, 是白盒测试技术的一种。覆盖测试的基本准则是:所设计的测试用例要能够尽可能覆盖嵌入式系统的内部结构, 从而发现嵌入式系统的问题和错误。覆盖测试的内容包括提高测试覆盖率、未被测试用例激活代码的测试、代码冗余检测等。因此, 覆盖测试也是一个提高软件质量的手段, 覆盖测试一般在嵌入式系统的单元测试中应用。
2.4 程序插桩技术
程序插桩技术是覆盖测试的一个重要实现手段, 其含义就是通过对程序测试状态的跟踪, 来发现嵌入式软件中的缺陷。
程序插桩的基本思想包括:
(1) 探针插入。可以在嵌入式程序中插入计数器、打印语句或者赋值语句来采集程序运行状态。
(2) 探针编译。根据设计好的测试用例, 重新编译嵌入式软件, 通过执行探针来获取嵌入式软件执行的动态信息。
(3) 特征数据处理。对特征数据进行分析和处理, 从而获得嵌入式软件的数据流或者控制流信息, 并且最终得到嵌入式软件的判定覆盖、语句覆盖等信息, 并且形成最终报表。
由于嵌入式软件运行的真实运行环境往往会受到输出方式的限制, 为此嵌入式软件的程序插桩测试通常都采用宿主机和目标机结合的方式, 其测试流程如图1所示。
在插桩完成之后, 需要对嵌入式软件进行重新编译, 并且将编译好的程序下载到目标机中, 同时通过宿主机与目标机的通信, 来对探针的运行以及探针运行结果进行分析。
3 嵌入式软件测试内容
嵌入式软件测试的内容主要为:软件代码测试、编程规范标准符合性测试、代码编码规范符合性测试、开发维护文档规范符合性测试、用户文档测试。
其中软件测试服务范围包括:系统级测试、应用测试、中间件测试、BSP及驱动程序测试、嵌入式硬件设计测试。
其中, 按照嵌入式软件有无操作系统将嵌入式系统分为两大类:无操作系统的嵌入式软件、有操作系统的嵌入式软件。
3.1 无操作系统的嵌入式软件
无操作系统的嵌入式软件主要包括C语言代码、汇编语言代码、Apa代码等。
C语言模式软件测试:硬件设备及其他宏定义 (编译阶段处理) 、API函数测试、模块初始化 (包括系统初始化) 、中间功能件测试、功能模块测试、中断处理测试、任务调度测试、区域功能测试、总体功能测试。
汇编语言模式软件测试:硬件设备及其他宏定义 (编译阶段处理) 、模块初始化 (包括系统初始化) 、中间功能件测试、功能模块测试、中断处理测试、区域功能测试、总体功能测试。
3.2 基于操作系统的嵌入式软件
基于操作系统的嵌入式软件主要包括应用软件测试、系统软件测试、整体性能测试。
应用软件测试:模块初始化 (包括系统初始化) 、中间功能件测试、功能模块测试、区域功能测试、总体功能测试。
系统软件测试:硬件设备及其他宏定义 (编译阶段处理) 、API函数测试、模块初始化 (包括系统初始化) 、中间功能件测试、功能模块测试、中断处理测试、区域功能测试、总体功能测试、标准符合性测试。
其中, 操作系统的标准符合性测试依据的标准主要包括:
整体性能测试:基于操作系统之上的嵌入式系统整体软件测试, 主要采用应用软件测试, 着重分析性能、内存分配、代码覆盖率、软件执行流程, 并采用仿真器、逻辑分析仪等硬件测试工具进行整体性能的测试。
4 嵌入式软件测试工具
用于辅助嵌入式软件测试的工具很多, 下面对几类比较有用的嵌入式软件测试工具加以介绍和分析。
4.1 内存分析工具
在嵌入式系统中, 内存约束通常是有限的。内存分析工具用来处理在动态内存分配中存在的缺陷。当动态内存被错误地分配后, 通常难以再现, 可能导致的失效难以追踪, 使用内存分析工具可以避免这类缺陷进入功能测试阶段。目前有两类内存分析工具———软件工具和硬件工具。基于软件的内存分析工具可能会对代码的性能造成很大影响, 从而严重影响实时操作;基于硬件的内存分析工具价格昂贵, 而且只能在工具所限定的运行环境中使用。
4.2 性能分析工具
在嵌入式系统中, 程序的性能通常是非常重要的。经常会有这样的要求, 在特定时间内处理一个中断, 或生成具有特定定时要求的一帧。开发人员面临的问题是决定应该对哪一部分代码进行优化来改进性能, 常常会花大量的时间去优化那些对性能没有任何影响的代码。性能分析工具会提供有关的数据, 说明执行时间是如何消耗的, 是什么时候消耗的, 以及每个例程所用的时间。根据这些数据, 确定哪些例程消耗部分执行时间, 从而可以决定如何优化软件, 获得更好的时间性能。对于大多数应用来说, 大部分执行时间用在相对少量的代码上, 费时的代码估计占所有软件总量的5%~20%。性能分析工具不仅能指出哪些例程花费时间, 而且与调试工具联合使用可以引导开发人员查看需要优化的特定函数, 性能分析工具还可以引导开发人员发现在系统调用中存在的错误以及程序结构上的缺陷。
4.3 GUI测试工具
很多嵌入式应用带有某种形式的图形用户界面进行交互, 有些系统性能测试是根据用户输入响应时间进行的。GUI测试工具可以作为脚本工具在开发环境中运行测试用例, 其功能包括对操作的记录和回放、抓取屏幕显示供以后分析和比较、设置和管理测试过程。很多嵌入式设备没有GUI, 但常常可以对嵌入式设备进行插装来运行GUI测试脚本, 虽然这种方式可能要求对被测代码进行更改, 但是节省了功能测试和回归测试的时间。
4.4 覆盖分析工具
在进行白盒测试时, 可以使用代码覆盖分析工具追踪哪些代码被执行过。分析过程可以通过插装来完成。插装可以是在测试环境中嵌入硬件, 也可以是在可执行代码中加入软件, 也可以是二者相结合。测试人员对结果数据加以总结, 确定哪些代码被执行过, 哪些代码被巡漏了。覆盖分析工具一般会提供有关功能覆盖、分支覆盖、条件覆盖的信息。对于嵌入式软件来说, 代码覆盖分析工具可能侵入代码的执行, 影响实时代码的运行过程。基于硬件的代码覆盖分析工具的侵入程度要小一些, 但是价格一般比较昂贵, 而且限制被测代码的数量。
5 结语
嵌入式软件的测试主要是为了保证嵌入式软件系统的高可用性和高质量。嵌入式系统的特殊性, 使得嵌入式软件的测试在整个软件的开发过程中都占有非常重要的地位。为此, 对嵌入式软件测试的研究势在必行。在具体的嵌入式软件测试过程中, 应该根据嵌入式软件自身特点, 开发具有针对性的测试工具来提高嵌入式软件测试的效率和质量。
参考文献
[1]张君施.嵌入式软件测试[M].北京:电子工业出版社, 2004.
[2]王璞, 张臻鉴.面向实时嵌入式机载软件的测试技术研究[J].航空计算技术, 1997 (4) .
探究嵌入式软件测试技术 篇9
1 嵌入式软件测试的总体概述及特点
嵌入式软件在开发的过程中与普通软件存在着一定的差异, 需要有对应的嵌入式的开发环境。嵌入式系统不提供软件的开发环境 (即所谓的宿主机环境) , 而只提供软件执行环境 (即所谓的运行环境) , 这便是嵌入式系统的嵌入性特点。开发平台与运行平台的不一致使得嵌入式软件的测试工作与一般软件的测试工作也存在着不同。嵌入式软件测试的目的是为了保证嵌入式软件产品能够满足用户的需求, 尽量避免由于软件的问题, 产生的巨大的经济损失, 满足软件的需求规格。所以, 嵌入式的软件产品必须要有一套专门的测试技术来保证嵌入式产品的质量, 嵌入式软件的测试是嵌入式产品得以生存和发展的重要基础。
嵌入式软件测试主要有以下几个特点:第一, 嵌入式软件对实时性的要求非常的严格。在进行测试的时候要保证软件系统的实时性和可靠性, 在测试过程中, 要考虑到系统实时响应的问题;第二, 嵌入式系统常出现内存的问题。嵌入式软件的测试需要对软件的内存进行充分的测试, 主要针对的是软件中内存的泄漏、内存碎片等问题来进行;第三, 嵌入式软件的测试与特定的硬件环境是分不开的, 在嵌入式软件的测试中, 对嵌入式软件和硬件的兼容性测试是至关重要的。
2 软件测试工具
嵌入式系统对性能有严格的要求。嵌入式系统测试的最重要的任务是要提高嵌入式软件的可靠性。其中, 内存问题在影响可靠性因素中占的比例最大, 在嵌入式系统中, 对内存的约束是有限的。动态内存一旦被错误的进行分配后, 通常都难以再现, 可能出现的失效也很难再进行跟踪。任何测试都不能实现完全的覆盖, 为了能够在有限的时间里达到最优的测试效果, 就要利用覆盖分析工具对测试中的覆盖情况进行分析, 分析哪些分支、语句是必须要覆盖的, 并要对最终的覆盖情况进行综合的分析, 通过测试工具的评估结果, 分析对测试结果的影响, 以此来提高测试人员的测试质量和工作效率。
提高测试质量和测试效率最好的方式就是利用测试工具, 在选择测试工具的时候, 最先要考虑的是该测试工具提供的功能是否能够满足测试的要求, 其次要看该工具对硬件平台和嵌入式操作系统的支持能力, 除此之外, 还要考虑测试工具的可视化。因为软件测试是枯燥且工作量巨大的一项工作, 所以, 可视化的设计在测试中是非常重要的。
3 测试实例
就如修车需要工具一样, 测试人员应该能够熟练运用各种软件测试工具, 帮助快速准确的找到软件中的错误[1]。不同的工具, 有不同的使用范围, 有不同的功能。在众多的嵌入式软件测试工具中, Nucleus PLUS因自身拥有开放的源代码和良好的性能得到了广泛的应用。该系统包含了多个模块, 如:文件系统、浏览器、内核等。仿真平台的建立是在Window的环境下, 采用的是Visual C++6.0。仿真平台可以将用户给出的调试方法形成嵌入式的目标代码, 将代码转移到仿真平台上进行合理的操作与调试, 仿真平台在此过程中是最佳的嵌入式平台。整个嵌入式程序可以依照程序库编译和设定的配置环境来进行, 此时生成的程序能够在仿真平台上进行正常的运行。仿真平台进行调试操作的基础是VC++IDE环境, 与之进行搭配的测试工具是Rational Test Studio, 把相对应的其它环境变量和编译器进行设置, 这些程序进行完之后, 就可以利用该测试工具对测试的对象进行检测。
4 国内外发展
嵌入式软件测试技术在国际上的发展速度较快。在国外, 软件测试是一项非常重要的工程, 国外利用先进的测试技术, 在软件测试领域占有重要的地位。在国外, 测试也是一项非常独立的职业。现在嵌入式的测试技术正在朝着标准化、智能化的方向发展, 其测试的主要思路是:从设计的过程开始, 要用共同的策略, 使后一阶段的研制能够利用前一阶段的开发成果, 并且在研发的过程中要缩短研发的时间, 使用商业通用的标准来进行。
嵌入式系统在我国属于快速成长的阶段, 现在它已经被广泛的应用在各个领域。嵌入式系统的复杂性和集成度越来越高, 软件部分在整个系统中占的比例也越来越大, 我国在该项技术的研发中付出了不少的人力、物力和财力, 也取得了比较明显的成绩。在嵌入式系统中, 测试工具是十分重要的, 同时, 还要考虑软件与操作系统和硬件平台系统的集成。我国在相关技术的研究中要对每次的测试结果进行认真、准确的分析, 避免人为判断中会出现的失误, 降低测试结果中可能会出现的偏差, 借鉴国外先进的测试技术和方法, 对我国的测试技术进行不断的完善, 在实践中求得更好的发展。
5 结语
现如今, 嵌入式系统在人们的生活和工作中发挥着巨大的作用, 面对着日新月异的计算机技术和复杂的嵌入式系统, 相关的测试人员要进行不断的努力, 在实践中发展嵌入式系统的测试技术, 针对测试软件自身的特点, 运用合理的测试技术和方法[2]。同时, 要选择合适的测试工具。在所有测试的程序和工具都完备的情况下, 才能更好的发现软件中存在的错误和缺陷。嵌入式的软件测试技术能够使软件有良好的运行环境, 保证软件使用的质量和可靠性。
参考文献
[1]何永太.嵌入式软件可靠性设计研究[J].电子世界, 2014 (08) .
嵌入式数据库技术研究 篇10
1 嵌入式数据库简介
1.1 含义
在科学技术不断发展的过程中, 相关专业人员有效融合了嵌入式操作系统及数据库系统, 促使高度集成得以实现, 在这种情况下, 数据库引擎不必独立运行, 程序调用能够直接进行存取数据的工作, 其优点为代码开源和可移植性强等。传统数据库需要占用较大的空间, 在数据逐渐增多的背景下, 嵌入式数据库能够有效弥补这一不足, 能够较少的对CPU、RAM等资源进行占用。
另外, 完备的功能, 可以满足使用者有效管理数据库的需求, 因此提升数据库技术具有重要意义。从现阶段嵌入式设备的功能来看, 其拥有相对透明的管理能力, 日志管理、备份等多项功能能够自动进行。在嵌入式数据库当中, 通常会出现硬复位, 因此应当保证嵌入式数据库在运行过程中能够保持较高的强性[1]。同时, 其可移植性促使其能够有效应用于多种软件当中;同时, 开源代码能够有效降低生产成本, 有效提高后期稳定运行。
1.2 常见类型
首先, SQ Lite。该嵌入式数据库在应用过程中包含代码生成器、分析器及接口等子系统, 在运行过程中, 多个子系统能够在一定程序下有序进行。该种类嵌入式数据库在应用过程中, 代码生成器高度优化, 能够更快速的对代码进行生成, 同时质量较高, 而B树是处于对底层的子系统, 在运行过程中能够有效进行页码缓存。该数据库在应用过程中拥有自有共享文件及零配置等优点。
其次, Berkleley DB。该嵌入式数据库拥有相对广泛的应用范围, 能够在各应用程序及程序内容进行有效应用。与此同时, 该数据库还具有软件开发库的功能, 专业人员能够在程序中对其进行嵌入, 而独立服务器是该应用程序的主要特点, 在应用该嵌入式数据库的过程中, 能够促使定制数据库逻辑得以实现。
2 嵌入式数据库技术
作为一种知识密集型的集成系统, 嵌入式数据库系统的产生是在有效融合信息技术、电子技术和半导体等技术的基础上产生的, 在使用过程中, 通常拥有嵌入式及外围两个组成部分。而控制器、存储程序等是外围的主要构成。
2.1 系统设计分析
在对嵌入式数据库进行设计的过程中, 为了提升其功能性, 同步模块、PC主数据源及PDA嵌入式数据库这三个部分称为该系统的主要组成部分。
其中, PDA嵌入式数据库处于整个系统的最上层, 在使用过程中, 其较高的便携性有效提高了微型化数据库的安全性, 其在应用过程中, PC机是其主要存放位置, 这样一来就能够保证主数据源与嵌入式数据库二者之间保持高度的同步, 这样一来交换能力在同步模块当中就能够得到有效提升, 可以促使三个重要组成部分进行有效结合, 同时促使该系统当中的功能得到最大程度的优化, 有效预防功能不足和容量较小而造成的系统缺陷。
2.2 系统实现
嵌入式数据库在日常应用过程中, 主要针对三方面内容进行:一方面, 将嵌入式数据库管理系统有效构建与PDA之上;另一方面, 接口程序PDBC应构建于PC机上, 从能够有效访问后台数据库;最后, 通信管理的同步程序应当存在于PDA和PC两端。根据不同的系统功能, 四个功能模块存在于该系统当中:首先, 管理模块。该模块在日常运行过程中能够有效的删除、添加及修改等部分数据;其次, 同步模块。该模块在应用过程中重要是实现串口的同步, 促使通信管理在PDA与PC机当中得以实现, 这样一来该系统当中就能够有效进行双向传输数据;最后, 界面模块。该模块在日常运行过程中, 能够满足数据库的通用操作[2]。
在进行嵌入式数据库研究的过程中, 对其软件的研究需要从PDA和PC两个方面进行。针对PDA端软件而言, 对其进行控制的是该系统当中的应用程序界面, 在输入PDA用户过程中, 应对当地PDA数据库与该数据之间的可融性进行分析, 一旦二者相符, 数据请求就能够实现, 若二者不能够相符, PDA数据管理系统将收到被返回的数据请求。同时, 在该数据管理系统收到相关请求时, 该请求的合法性是该系统最先进行分析的步伐, 如果该请求合法, 对嵌入式数据库的访问将被允许, 同时还能够给出处理结果, 一旦该请求不符合要求, 则应用程序将接收到返回的数据请求, 同时将错误信息进行发送[3]。在这种情况下, 能够有效连接PC, 同时后续处理工作由PC同步程序进行。
3 结论
在信息和科学技术不断进步的背景下, 各行各业对数据库系统的要求越来越高, 嵌入式数据库以其较小的体积及较完备的功能得以广泛应用。在这种情况下, 加强嵌入式数据库技术研究具有重要意义。现阶段典型的嵌入式数据库有Berkeley和SQ Lite, 其中同步模块、PC主数据源及PDA嵌入式数据库在嵌入式数据库当中发挥了不可替代的作用。本文从系统设计及系统实现的进行了详细的探讨, 希望对该系统的长期发展起到促进作用。
参考文献
[1]陈锦强.嵌入式数据库技术在煤矿井上监控系统的开发与应用[D].昆明理工大学, 2007.
[2]黄昂.基于Vx Works的水下机器人嵌入式数据库开发[D].哈尔滨工程大学, 2007.
技术嵌入 篇11
【关键词】嵌入式;互联网技术
1.前言
网络技术的飞速发展,尤其以互联网为代表。互联网是一个突破过去与电脑网络节点的概念,连接,网络正逐渐成为各种测量仪器,现场仪器和家用电器设计发展方向。根据预测的权威,在未来十年,所有与网络访问功能的产品的数量将超过PC,我们将进入所谓的“个人电脑”的时代。互联网技术的发展,促进了嵌入式网络设备和产品的市场需求,使设备和产品连接到互联网成为趋势。
2.嵌入式Intrnet简介
嵌入式Internet技术是互联网发展历史里程碑,它是基于互联网技术的发展,网络技术和嵌入式技术。在嵌入式系统的应用领域,基于互联网技术,嵌入式系统与互联网相互连接在一起,实现嵌入式系统和互联网之间的资源共享、信息交流和控制功能,连接和使用被称为嵌入式系统和互联网之间的嵌入式Internet。互联网的主要优势是,它可以嵌入网络从设备的角度来看,嵌入式网络设备,称为嵌入式网络设备(EID),以这种方式来促进设备的操作,简化了远程控制。嵌入式Internet使用最常见的以太网硬件连接,使用全球TCP/IP协议以取代那些不统一的传输协议。因此,嵌入式系统的基础和网络连接。此外,嵌入式浏览器作为嵌入式系统网络将与用户界面交互,作为一个通用的浏览器软件,浏览器实现统一的人机界面。
3.选择合适的嵌入式Internet技术解决方案的综合分析
网络可以连接方法与以太网或电话线和其他媒体。在大多数工作场所配备以太网,电子设备通过一个中心可以插入。在家里,还有一个电源线和电话线可以用作载体。如果它连接局域网,只需要设置好设备的IP地址。如果您使用的是电话线,可以使用电话用户ID。现在嵌入式电子设备访问连接,几乎没有问题。因此嵌入式Internet技术的关键问题是如何实现TCP/IP通信协议互联网广泛应用于单片机。TCP/IP协议是基于数据链路层,网络层,传输层和应用程序层协议,根据其内容和应用程序可分为实时操作系统(RTOS),支持TCP/IP协议TCP/IP协议,委托网关使用的硬件和软件固化嵌入TCP/IP协议栈。
3.1 嵌入式系统接入Internet难点
因为嵌入式系统处理信息的能力与台式机相比,远不如后者,同时,嵌入式系统的自身资源量也非常有限,所以,嵌入式系统接入Internet很大程度上受到这些因素的影响。
3.2 TCP/IP完整协议栈和TCP/IP嵌入式协议栈
完整的TCP/IP协议栈基于伯克利软套接字,和嵌入式TCP/IP协议栈的基础上特别的套接字API(应用程序编程接口)。
3.3 系统的存储容量需要综合考虑。
发送/接收系统,大量的信息必须是32个强大的微处理器和实时操作系统(RTOS)和大容量内存。
4.嵌入式系统的Internet接入技术
有几个互联网嵌入式设备的基本方法,开发人员应该根据硬件特点,嵌入式系统开发成本、开发周期来确定特定需求。
4.1 直接接入技术模型
实现嵌入式系统与互联网直接连接通过添加网络接口硬件的嵌入式系统本身,增加相应的软件支持,和相应的接口程序实现。现状的综合分析,结合不同的嵌入式设备访问到常见的互联网应用方案。
(1)单片机(32级及以上单片机)+操作系统+以太网接口芯片。
(2)和低单片机(8或16位单片机)+精益软件TCP/IP协议和以太网接口芯片。
(3)和低单片机(8或16位单片机)+特殊芯片+TCP/IP以太网接口芯片通过廉价的单片机和芯片内部固化的TCP/IP协议栈系统核心。
4.2 嵌入式网关技术模型
嵌入式网关模型称为间接访问模式。为了克服直接访问模式(即主要的缺点,每个设备需要IP地址),使用代理服务器的间接方式/网关实现嵌入式系统访问互联网。代理服务器/网关可以使用台式电脑或高端嵌入式处理器作为嵌入式特别设计的微型网关也可以使用。嵌入式网关提供网络或互联网通信和嵌入式系统管理服务。如防火墙、协议转换、运行、监控嵌入式设备提供Web服务器。这种技术需要一个专用的嵌入式网关,网关和嵌入式系统通信之间的限制,将是轻量级的网络协议。嵌入式系统处理器速度的要求,资源相对较低,低发展困难,可以解决各种各样的嵌入式系统接入互联网的问题,特别适用于嵌入式系统越来越集中。缺点是访问成本相对较高,不利于大规模推广。该方案适用于大型互联网或昂贵的工业设备的需求,不适合低成本的设备。对于嵌入式系统来说,8/16速度慢和小内存系统性能缺陷是Internet访问的实现问题需要考虑。首先,嵌入式系统和嵌入式网关通信,连接使用传统的RS232,RS482,RS485,IIC,SPI,USB,LIN总线和其他轻量级的网络协议。然后嵌入式网关负责TCP/IP协议的实现,并连接到互联网,信息完整的嵌入式系统和网络的交互。
4.3 嵌入式系统+TCP/IP协议芯片
硬件的TCP/IP协议的网络芯片,标准网络协议(TCP/IP)一直延伸到嵌入式设备,嵌入式系统实现网络功能,每个设备可以连接到互联网。几种典型的嵌入式系统网络方法1PC网关解决方案。人们使用电脑+网络+采集卡以太网网关、协议转换、现场总线的分布式系统接入以太网连接站点设备,将对以太网管理PC机,形成一个更大的控制系统。组成成本非常高,只适用于自动控制系统。
4.4 嵌入式系统网关
在二十世纪90年代后期,人们使用嵌入式系统和以太网+收集卡片以太网网关实现嵌入式Internet技术。嵌入式系统在这个阶段实际上是可以根据客户的硬件和软件需要一个PC机。
4.5 单片机系统实现的方案
自2000年以来,人们使用单片机以太网接口芯片嵌入式Internet网关。这实际上是一个流行的嵌入式网关的进一步发展,推广。单片机取代PC机,取代太网以太网接口芯片,整个系统的价格几百元。这使得该设备以低成本,简单的网络设备变为现实,以太网分布式控制系统得到快速发展。
5.嵌入式Internet应用
嵌入式网络技术有广阔的应用前景,其应用领域包括:
(1)智能高速公路。包括交通管理、车辆导航、流控制、监视和汽车服务信息等。
(2)植物工厂。特殊的工厂车间,如远程监控和控制野生珍稀中药材栽培和种植、无土栽培技术的应用、智能种子工程等。
(3)虚拟现实(VR)机器人。交警、警卫、家用机器人。
(4)信息设备。网络冰箱、空调等家用电器。
(5)工业制冷。超市冰箱,中央空调,冰箱等。
(6)VR仓库。粮食、石油、食品等。
(7)VR精品。客户可以看到互联网实时库存状态。
6.总结
我们看到,嵌入式系统访问互联网以多种不同的方式处理的软硬件环境不同的TCP/IP协议。随着科学技术的发展,嵌入式Internet技术将越来越广泛应用于各个领域,嵌入式设备将以更好的形式访问互联网,速度更快。
参考文献
[1]薛静.嵌入式Internet接入技术研究[J].学科教学在线,2008.
[2]付国荣.周庆敏.嵌入式Internet应用研究[J].微处理机,2008.
[3]陈雅茹.嵌入式Internet互联网技术应用分析[J].中国新技术新产品,2011.
[4]张毅,赵国锋.嵌入式Internet的几种接入方式比较[J].重庆邮电學院学报,2002
快速高效数字水印嵌入技术的研究 篇12
数字化进程的不断推进以及互联网的迅猛发展, 为人们提供了快捷、准确、廉价的数字传输手段与信息传播方式, 但随之而来的非法复制和盗版却严重影响了产品的版权。数字水印技术是利用数字作品中普遍存在的冗余数据与随机性, 向数字产品中加入不易察觉但可以判断区分的秘密信息--水印 (一段文字、标识、ID等) , 通过对载体的使用情况进行跟踪, 从而达到版权保护、完整性认证等目的。但以网络为基础的数字水印算法却面临着一个挑战, 即如何在既保证水印鲁棒性, 不可见性和安全性特性的前提下, 又能保证水印嵌入的速度, 以便客户端无延时地接收媒体。本文通过对数字水印算法的分析, 提出了三种快速高效的水印算法, 该三种方式不仅可以保证网络媒体分发的有效性, 而且也很大程度地提高水印的嵌入速度。
2、数字水印算法分析
数字水印算法一般包含水印嵌入、水印提取和检测三部分, 数学描述分别为:
(1) 水印嵌入:设原始媒体为I, 原始信息为m, 水印信号为W, 密钥为K, 嵌入函数为Em () , 则水印嵌入可用如下公式来描述:
Iw=Em (I, W, K)
其中Iw为含印载体。
(2) 水印检测和提取:设待检测的图像I'w (含印载体Iw可能遭遇攻击) , 密钥为K, 提取函数为Ep () , 则水印提取的过程可用如下公式描述:
W*=Ep (I'w, K, I)
在网络环境下, 当客户访问含印媒体时, 媒体所有者首先对客户信息进行实时确认, 然后根据应答信息生成含印媒体, 为了保证客户无延时地获得媒体, 嵌入水印信息的速度必须相当高。通过降低水印嵌入算法的复杂性虽然可以提高水印嵌入的速度, 但嵌入算法的简单化必然会造成鲁棒性的降低, 本文对水印嵌入算法进行了改进, 既保证了嵌入的速度也保证了水印的鲁棒性。
3、嵌入算法策略
针对不同的水印算法和媒体的性质, 本文提出了三种改进算法, 分别为水印容器方法、客户-服务器水印方法和网络网格水印方法, 具体实现过程如下。
3.1 水印容器方法
水印容器是将水印的嵌入过程分成预处理和实施两个阶段, 水印密钥仅在第一个阶段需要, 第二阶段把一个固定长度的任意位序列嵌入到媒体的少部分。当需要多个副本时, 重复第二阶段即可。数字水印算法必须满足以下两个条件才能使用该方法:
(1) 水印算法能够计算原始媒体与含印媒体之间的差异, 该方法通过将二者的差异添加到原始媒体上产生含印载体, 该含印载体的质量与直接用水印算法产生的含印载体差别很少。
(2) 媒体可以被分割成多帧或多个片段。其实现过程如下 (以音频为例) :
(1) 水印预处理阶段:
·首先将音频媒体分割成多帧, 对于其中的一帧A, 嵌入位"1"和位"0"后的结果为帧A (0) 和帧A (1) , 分别计算各自的差异:
DA (0) =A-A (0) ;DA (1) =A-A (1) ;
·利用ADPCM压缩生成CA (0) 和CA (1) ;
·将帧A、CA (0) 和CA (1) 保存到水印容器。
(2) 水印实施阶段
快速预处理保存在水印容器中的文件。例如, 对于帧A (0) , 首先从水印容器中读取其压缩帧CA (0) , 接着将其解压缩为DA (0) , 并将其添加到帧A上得到帧A (0) 。
(3) 重复以上过程, 计算其它的位, 如"01……", 得到各自的含印帧A (0) , B (1) ……。
3.2 客户-服务器水印方法
对于客户-服务器系统模式, 传统模式下有两种方式实现水印的嵌入:一种是在客户端实现水印的嵌入, 另一种是在服务器端实现水印的嵌入。客户端嵌入水印的缺点是, 需要在不安全的环境中将水印算法转移到客户端;服务器端嵌入水印的缺点是, 需要将整个媒体转移到服务器端。
客户-服务器水印方法则避免了以上两种情况的弊端, 可以实现性能和安全的统一。该方法把水印的嵌入过程分成客户端和服务器两部分, 工作流程如图1所示:
(1) 客户端:大部分耗时的处理工作都在客户端完成。如从空域到频域的转换或视觉模型的计算, 这些过程既独立于嵌入的水印, 也与水印算法的安全性无关。
(2) 服务器端:服务器仅执行与安全性相关的嵌入过程。如水印算法的核心部分、水印嵌入区域的选择等。
利用该方法后, 既不需要把水印算法传递给客户端, 也不需要把整个原始媒体传递给服务器。既保证了水印算法的安全, 也提高了嵌入的效率。
3.3 网络网格水印方法
网络网格是建立在Internet和Web基础之上的一种新的网络服务框架, 其目的是实现Internet上所有资源的全面贯通和共享协同。共享与协同是网格的本质。共享是将网络上海量、自治、分布、异构、动态的资源进行有效组织, 以服务方式为网格用户提供统一透明的访问机制。
通过将大型的媒体文件分割成簇 (单个片段) , 对每个簇生成一个水印Job, 并将其传递到WMS系统, 每个簇的水印嵌入工作平行完成, 因此采用网络网格水印方法可以大幅度地提高单个媒体文件的嵌入速度。其工作流程如图2所示:
·客户端是用户的接口, 从此处向网格发送请求。对每个请求, 生成一个网格Job (其描述执行哪个应用) 。对水印来说, 生成的文件中既包含了水印本身的信息, 又包含了与水印有关的参数, 如水印长度、媒体文件路径与安全密钥。接着将该文件传递给负载管理系统WMS (Workload Management System) 。
·WMS接受到从用户接口传递来的网格Job后, 对该Job进行分析, 将其分发给合适的计算单元。计算单元拥有执行相应网格Job的工作单元的列表, 其可以把从WMS接收来的网格Job分配到空闲的工作单元, 并实现水印的嵌入。
4、仿真实验
为了验证本文算法的有效性, 对不同方法采用了不同类型的媒体文件进行了测试, 音频序列是时间长度为10s、采样频率为44.1kHz、分辨率为16的音乐片段, 图像序列为256x256的Lena图像, 表1显示了不同方法下的嵌入速度, 通过实验结果可以看出, 本文所提方法的嵌入效率明显提高。
5、结束语
本文在既保证水印安全性, 又保证水印嵌入的速度, 以便客户端无延时地接收媒体的情况下, 提出了三种快速高效的水印算法--水印容器方法、客户-服务器水印方法和网络网格水印方法, 虽然三种方法适用的水印算法不同, 每种方式都有各自的优缺点, 但恰当合理地利用不同水印嵌入策略, 必然会提高网络环境下媒体分发的有效性和水印嵌入的效率。
摘要:本文提出了三种提高数字水印嵌入算法速度的策略, 通过此三种策略不仅可以保证网络媒体分发的有效性和安全性, 而且也可以很大程度地提高水印嵌入的速度, 保证客户以较少的延时接收含印媒体。
关键词:数字水印,水印容器,客户-服务器水印,网络网格水印
参考文献
[1].P Moulin, M K Mihcak.A Framework for Evaluating the Data Hiding Capacity of Image Sources[J].IEEE Trans on Image Processing, 2002, 11[9]:1029-1041.
[2].赵翔, 郝林.数字水印综述[J], 计算机工程与设计, 2006, Vol.27, P1946-1950.
[3].In-Kwon Yeo, Hyoung Joong Kim.Modified Patchwork Algorithm:A Novel Audio Watermarking Scheme.IEEE Transactions on Speech and Audio Processing.2003, 11[4]:381-386.
【技术嵌入】推荐阅读:
嵌入与链接技术05-17
嵌入式系统技术06-19
嵌入式控制技术10-27
智能嵌入式技术11-01
嵌入式RFID技术06-26
嵌入式软件技术08-03
Linux嵌入式技术12-06
嵌入式网络安全技术07-04
物联网与嵌入式技术08-25
嵌入式移动数据库技术11-25