时间:2023-06-01 08:56:11
序论:速发表网结合其深厚的文秘经验,特别为您筛选了11篇嵌入式设计系统范文。如果您需要更多原创资料,欢迎随时与我们的客服老师联系,希望您能从中汲取灵感和知识!
中图分类号:TP368.1 文献标识码:A 文章编号:1007-9416(2012)12-0104-01
1、序言
本系统是设计一款基于ARM的嵌入式开发平台,该嵌入式开发平台是基于AT91SAM9263(基于ARM926EJ-S芯核)的嵌入式系统,可以在此系统上运行嵌入式操作系统,并在上运行嵌入式数据库、人机窗口等应用程序,此系统包括硬件和软件两部分,本文主要介绍硬件部分。
2、系统硬件设计
本系统硬件由核心板和母板组成,核心板将系统扩展可能用到的总线都引出来,与母板之间通过针形接插件连接,为以后产品开发提供了稳定、经济而又方便的平台,此种设计的好处,其一把高速和低速分开,降低了硬件之间的干扰,提高了稳定性。其二是当系统需要扩展某些特殊接口时,则只需要对母板进行修改,缩短了开发周期。
其中核心板设计这部分是任何一个ARM系统要正常运行所必备的电路,因此称为核心板,这些基础电路,包括存贮程序用的Flash存贮器,运行程序和缓冲数据所必须的SDRAM、复位模块、时钟模块、JTAG接口等。这部分电路集中在较小空间里,因此相对比较密集,而且这部分的信号是超高速信号,且电路的设计要求比较高,所以核心板采用购买成熟的核心板。
系统母板设计了大部分的电路,因为模板上的信号都是低速信号,所以从成本角度考虑,母板采用二层电路板设计,其主要电路包括了电源部分、USB接口部分、串口及10/100M以太网接口、LCD接口、CAN总线以及底板与核心板之间通过针形接插件相连的接口等,其结构如图1所示。
下面将分模块介绍电路原理。
2.1 串行接口电路设计
系统设计了一个RS-232、RS-485接口,方便与其他设备通信。具体的电路采用MAX3232作为电平转换芯片,它本身提供两组驱动器和接收器,并接有数字隔离器ADuM1201,此芯片提供了两个信道的通道,具体电路如图2。
系统的RS-485串行接口,是由ADM2483来实现,ADM2483本身是带有隔离的高速RS-485转换器,不需要其它额外的电路。
2.2 以太网接口设计
系统选用DM9161作为以太网的接口芯片,因为系统工作在100BASE-TX模式下,所以选择RMII作为DM9161与AT91SAM9263的接口模式,具体电路如图3所示。
2.3 CAN接口电路设计
本系统的CAN总线接口的实现,是通过外接CAN收发器来实现的,系统选用的是MCP2551作为系统的收发器,其特点是有差分发射和接收能力,自动检测TXD输入端接地错误及较强的抗噪声特性。
3、结语
本系统设计了基于ARM系统的嵌入式硬件平台,在此之上可以提供各种实时操作系统,从而构成一个完整的平台,其硬件部分电路已经进行了信号完整性分析具有一定的可靠性。
参考文献
关键词:
公交清洗小车;嵌入式系统;超声波测距;平台升降控制
0引言
为解决公交车的高效便捷清洗问题,青岛理工大学韩旭东教授的团队设计了一款“垂直滚筒式公交清洗小车”[1]。但在该设计中,仅对机械结构与工作原理做了介绍,缺少相关的控制电路与控制程序的设计,给清洗小车的使用带来了极大的不便。本文在原产品的基础上,针对小车与公交车之间距离的控制不准确的问题,设计了超声波测距系统;针对平台升降控制不方便的问题,设计了手动/自动双模平台升降控制系统。有效地提高了该产品的实用性,完善了该产品的设计。
1超声波测距系统
1.1设计目的
清洗小车由人力推动并控制方向,但由于路面不平,人力控制精度有限,会使小车与公交车车体间的距离发生改变,距离过近会使滚筒挤压车体表面,阻碍滚筒旋转;距离过远,则会使滚筒毛刷与车体表面间间隙过大,影响清洗效果。需要一套测距系统使小车与公交车车体间的距离始终保持在一个合理范围之内。
1.2测距方式的选择
超声波测距是利用机械波反射来测量距离,适用于短距离测距,原理简单,成本低,远距离测量精度较低。公交清洗小车的使用环境比较复杂,对测距系统的精度要求不高,测量的距离在1~2m,且要求结构简单、成本低廉、性能稳定。根据需要和集中测距方式的特点,本文选择超声波测距方式。
1.3超声波测距原理
超声波在均匀介质中的传输速度为一恒定值,由发生器发射超声波,在遇到测量目标后反射回来,由接收器接收并记录由发射到接收经历的时间,便可以计算出发生器与测量目标之间的距离[2]。公式如下:L=12C•Δt。式中:L为测量距离;C为超声波在当前介质中的传输速度(空气中常温下速度为340m/s);Δt为从发射到接收经历的时间。
1.4设计内容
本文利用AT89C51单片机、HC-SR04超声波测距模块、LED灯组成了一个超声波测距警报系统。当距离过近时,指示距离过近的红灯点亮;距离适中时,指示距离适中的绿灯点亮;当距离过远时,指示距离过远的红灯点亮。工作人员可以根据灯光指示调整小车位置,使之与车体表面间的距离保持在一个合理范围。1.4.1HC-SR04超声波测距模块工作原理本文所采用的HC-SR04超声波测距模块,具有成本低、体积小、精度高、使用简单方便等优点,其基本工作原理为:1)采用I/O口TRIG触发测距,提供至少10μs的高电平信号;2)模块自动发送8个40kHz的方波,自动检测是否有信号返回;3)有信号返回,通过I/O口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间[3]。1.4.2程序控制过程利用AT89C51单片机自带的定时计数器资源,通过I/O口给超声波模块一个发射信号并开始计时,当收到超声波模块的反馈信号时,结束计时并计算距离。
2手动/自动双模平台升降控制系统
2.1设计目的
现行大多数公交车的高度在3m左右,为能够确保清洗整个车体表面,原产品采用双丝杠旋转驱动平台升降的设计,并利用直流电动机产生动力。为方便用户使用,能够快捷高效操作平台升降,提高清洗效率,本文设计了一套手动/自动双模平台升降控制系统。
2.2设计内容
根据计算,清洗平台需调整2次高度才可将车体表面清洗完毕,为了方便工作人员操作,本文设计了手动/自动双模控制系统。该系统采用AT89C51单片机,配合L289直流电动机驱动模块,通过控制电动机的正反转实现平台的升降,设计原理图见图4[5]。操作过程为:启动系统后,在自动模式下,按UP键,平台会上升一个固定高度;按DOWN键,平台会下降一个固定高度。该高度值是为实现最高清洗效率,以3m高的车身为标准,经优化计算得出的最适高度。因为公交车的型号差异,车身高度也各不相同,所以为满足实际使用要求,我们又设计了手动控制模式。在手动模式下,按住UP键,平台会上升,松开立即停止;按住DOWN键,平台会下降,松开立即停止。为防止工作人员误操作,本文增加了按键防抖动延迟,防止工作人员误触按键;如果UP和DOWN键同时按下,则电动机停转,直至其中一个按键松开。
软件的革命
近年行业中最大的变化是低成本微处理器的运用。微处理器最初用于实现计算器,然后用于个人电脑。由于具有动态重新配置特点,它们取代了许多硬连接数字系统电路,将真实的“嵌入人工智能”带入先前“笨拙”的器件中。
微处理器成功的关键不在于器件本身,而在于它让工程师们将重要的设计难题从硬连接环境转换为“软”领域的能力。板级硬件平台设计继续使用熟悉的“硬连接、现用器件”模式,但是平台中的产品特性或智能的开发可以为“软件”。使用这种基于平台的方法,制造相同物理硬件的风险大大降低了,因为构建硬件后还可以修改其特性。
微处理器最初作为一种高效的可升级工具,现在最终改写了电子器件的规则。它不再满足于价格便宜、性能可靠、工作效率高,现在的电子器件需要“智能”。
将软设计提升一个水平
FPGA本身是一个胶合逻辑应用,要超出这一应用需要更广阔的视野,包括充分利用可编程器件,把尽可能多的硬件引入到软领域之中。这包括引入处理器功能本身,目前FPGA内的软处理器越来越普通。
根本上说,引入基于FPGA实现的软处理器结构灵活、板卡尺寸更小、更简单。但深层次的应用会带来更引人注目的优点。嵌入式开发人员利用了FPGA的可编程特性获得处理器顶层的抽象级别。不仅能在软件中实现抽象级设计,而且也在硬件中实现抽象级设计。
考虑这样一个系统:处理器通过可配置的硬件(本质上是一个硬件包)与其内存和外设连接。这就抽象了处理器的接口。简单地对FPGA重新编程就改变了硬件包,系统设计师可以轻易改变处理器内核,甚至在硬的或软的处理器间转换,无需修改其他系统硬件。从系统角度来看所有处理器都是相似的,简化了硬件设计流程。当然,把这延伸到应用软件领域也需要可以在处理器之间提供C级别兼容性的编译器。
这种系统的优点是不需要“事先”对处理器做出选择。系统可能使用某种处理器开发,如果在开发阶段发现需要更高的性能,则可再采用更快的器件。处理器可以是软的、硬的甚至是FPGA内部的硬件处理器内核,而不会影像周围的硬件。
在这个方案中,FPGA成为有效的系统互连结构,可为嵌入式系统的所有部件提供通用的连接性。
最后,在处理器之上引入透明的包裹层会创建出基于FPGA的开发环境,提供真正的处理器独立性。软件和硬件开发速度都提高了,处理器选择可放到设计后期进行,有效的软件/硬件协同设计成为可能。
传统设计方案的失败
关键一点是它导致了设计流程复杂性和相互依赖程度的增加。随着更多设计转入“软”平台,传统设计领域如硬件、软件和FPGA间的界限越来越模糊。采用不同工具独立处理这些设计元素变得越来越困难且效率低下。
在单个流程中转入到更高抽象级别可处理特定的复杂度问题。当然,最终这些单个的设计元素必须集成在一起创建一个最终产品,但每个组件的专业化程度的增加导致最终产品更难装配。这将消耗大量设计时间并最终妨碍产品创新。
在本质上,与此相承的单点式工具电子产品设计方法已是昨日黄花。产品开发团队面临保持市场竞争力的压力,因此不断寻求新途径来更快速地将更高级智能的设计推向市场,同时处理整个设计流程中不断增加的设计复杂性。
硬件设计软件化
随着最近FPGA技术的发展,分析专家认为我们正处于电子设计的转型中。FPGA刚一面世,就达到了这些器件的价格/容量曲线分水岭。它们能提供ASIC的许多好处,而无需高昂的成本和长期的开发周期。
这些器件内在的可重新编程特性大量削减了设计时间,带来了现场硬件升级的可能性。然而,要充分利用可编程硬件的潜力,工程师需要能在更广的设计流程中发挥技术优势的工具。
在对大型FPGA进行板级布线时,智能的管脚输出流程自动化要求PCB设计编辑器十分了解目标FPGA器件的物理特性和功能,及FPGA设计师施加的优先约束条件,同时也需要FPGA和PCB设计环境间的紧密联系,以便迅速重复FPGA和PCB级设计间的约束,达到优化方案,平衡FPGA内的时间需求和板卡可布线问题。
一体化的设计环境
诸如FPGA这样的可编程技术的真正潜力在于其不再区分硬件和软件。随着我们不断利用该潜力,硬件、软件和可编程硬件的设计就不断融合。从设计工具角度来看,这一融合将驱动传统设计工具边界间的自动流程需求。要成功做到这点需要的不仅是不同设计工具集表面的集成,而是要涉及到所有不同设计环境的完整统。
Altium在Altium Designer系统中体现了这一必然要求。AltiumDesigner提供单一、统一的环境,把PCB级的硬件设计、可编程逻辑设计和嵌入式软件开发集成在一起。这样工程师、设计师和开发人员就能充分利用可编程硬件的特点创造更加智能的电子产品,而不用考虑其FPGA水平如何。
统一的硬件设计框架
Altium Designer中实现了这一目标。它将硬件和软件开发统一在平台内,从而加快了软件/硬件共同设计的进程。Altium De-signer的根本需求是开发人员能方便一致地操作分立和基于FPGA的“软”硬件。这通过把传统HDL方法转为FPGA设计,并将现成易用的、基于组件的设计用于可编程器件来实现。在这种环境下,使用描述板级电路相同的方法和语言来描述FPGA内部实现的系统组件。
在开发时使用预先合成的逻辑块(元件)而不是基于HDL的源库,具有几个优点:首先,在硬件综合时把块视为“黑盒”,从而加快进程的处理;第二,与板级的分立组件的使用一样,在无需了解底层的代码结构的情况下,基于FPGA的组件块即可被使用。尽管,组件背后的原理很复杂,但设计者只需要知道基本的功能即可。
开发电子产品,提供当今市场上真正的差异化产品,其根本在于利用可编程器件,以软件和“软”硬件的形式为嵌入智能提供一个可重构的平台。这需要有一个统一硬件、软件和可编程硬件设计的系统和可重构的平台,支持软设计模式带来的开发自由。
近年来,视频监控系统已经遍布人们生活的各个角落,广泛应用于交通、电力、银行、商场等场所,在维护社会秩序方面起到了一定作用。然而,随着科学技术的发展,一种基于嵌入式技术的视频监控系统逐渐取代传统的视频监控系统。嵌入式系统开发的目的是强化其应用性,适用范围更广,通过对视频流进行编码、压缩,可经过互联网在获得授权的数字终端上观看视频。
1 嵌入式视频监控系统的框架
为达到实时监控的目的,设计人员将用于录像的摄像头放置于被监控点附近,通过视频线缆将图象传送至监控室。因此,嵌入式视频监控系统包括服务器端与客户端两大部分,服务器端的组成有硬件开发平台、嵌入式计算机操作系统(以Linux为主)、应用层软件、视频采集卡、无线传输模块,客户端则由计算机、操作系统、应用软件组成,嵌入式系统的框架如图1所示。
服务器端是嵌入式视频监控系统的核心,其硬件核心是嵌入式微处理器,结合多种外设(摄像头、无线网卡等),为客户端提供图像资源。客户端则是将服务器端编码、压缩处理后的视频进行解码,并通过显示器播放视频图像。基于无线传输与互联网技术的嵌入式视频监控系统实现了视频的远距离传输、控制,这解决了嵌入式视频监控系统在大面积假设过程中的布线问题。
2 嵌入式视频监控系统应用软件的设计
根据嵌入式视频监控系统的组成,在设计相关应用软件时,需要分别考虑服务端软件与客户端软件的不同,通过软件设计流程图对比,不同组成部分的软件设计思想存在明显差异。
由此可以看出,服务器端应用软件与客户端应用软件之间是相互关联的,服务器端所采集到的视频数据需要在客户端应用软件发出请求后进行传输。基于视频处理方式的不同,服务器端应用软件主要实现的视频信号的压缩、编码,而客户端应用软件则是对受到的视频信号进行解压、解码,并在显示器上进行播放。
2.1 服务器端应用软件的设计思想
根据视频监控系统的实际需要,服务器端需具备多线程任务处理能力,其中有3个线程需要占用一定的系统资源,分别为主线程、视频信号采集线程、视频信号发送线程。其中,主线程的任务是对系统外设进行初始化,保证参数设置的正确性。视频信号采集线程则负责将摄像头录制的视频信号采集至视频信号缓存区,同时经过视频采集卡完成视频的压缩、编码过程。视频信号发送线程则将位于缓存区的视频信号通过制定接口对外发送,这一过程的结束则意味着服务器端的主要任务完成。
2.2 客户端应用软件的设计
与服务器端相类似,嵌入式视频监控系统的客户端软件依然需要同时运行多个线程,其中主要包括主线程、视频信号接收线程和视频信号解码显示线程。在客户端通电之后,客户端程序开始运行,完成相关配置的初始化过程,主线程保证客户端软件的正常工作,避免大数据流下导致的软件崩溃,当主线程向服务器端发送视频信号请求线程后,视频信号接受线程开始工作,将接收到的视频信号交由视频信号解码显示线程,最终将视频信号投放在显示器上。在此过程中,客户端应用软件需要调用recvform()不断接受服务器端发送来的UDP数据包,此类数据包被存放于客户端计算机的缓存区,并按照一定的顺序进行排列,以便于下一步的MJPEG解码过程,解码后的视频通过调用SDL进行播放。
3 嵌入式视频监控系统测试
为保证系统测试的准确性,关于嵌入式视频监控系统的测试一般选择有线传输和无线传输两种模式,从使用的角度看,基于无线传输技术的嵌入式视频监控系统将成为未来发展的主流,所以,这里以无线传输模式下的嵌入式视频监控系统为例。
首先,在对嵌入式视频监控系统进行测试之前,需要记录服务器端与客户端的IP地址;其次,检测检查客户端应用软件对摄像头的控制命令;再次,在视频监控系统客户端的控制矩阵上对显示画面进行选择性切换,检查切换画面是否正确;最后,将已经保存的录像进行拷贝,检查该录像能否通过解码在其它客户端上播放。
检查视频录像保存结果的主要原因在于无线网络传输环境的不稳定性所带来的数据包丢失问题,视频传输过程中的数据包丢失较为普遍,然而,如果出现连续性的数据包丢失,则会导致视频播放错误。以在无线传输环境下的视频监控系统数据传输测试为例,具体如表1所示。
由此可见,无线传输环境下的嵌入式视频监控系统的信号传输依然保持了较高的稳定性,丢包率维持在较低水平,四次测试的丢包率分别为0.0932%、0%、0.15%和0.181%,平均丢包率为0.1065%。
在画质方面,由于无线传输模式通过互联网进行数据的传输,相比较有线传输模式,无线传输模式下的嵌入式视频监控系统画质较好。导致这种情况的主要原因是有线传输模式存在能量的衰减,在无信号放大器的情况下,随着服务器端与客户端的距离增加,图像质量将不断下降。
总的来说,嵌入式视频监控系统的稳定性较以往有所提高,无线传输技术的使用,在降低嵌入式视频监控系统设计成本的同时,也实现了对嵌入式技术的有效利用,推动了嵌入式视频监控系统在社会各领域的广泛应用。
4 总结
嵌入式技术的广泛使用,现了视频监控系统的小型化、节能化和低成本化,这对于视频监控系统的推广应用有着积极意义。通过不断完善嵌入式视频系统的硬件设计,开发具有多种功能的应用软件,使嵌入式视频监控系统同时具有便携性与灵活性的特点,结合无线传输技术,使视频监控系统真正摆脱远距离传输信号质量差、成本高等一系列问题。
参考文献
[1]何苏勤,杨美荟.嵌入式视频监控系统实时性研究[J].计算机工程,2009(04).
[2]郭向勇,吕利昌,何晓青.基于嵌入式视频多媒体集中控制系统实现的关键技术研究[J].现代电子技术,2008(04).
[3]张莉,周兵,柳松.嵌入式视频监控组件的设计与实现[J].微计算机信息,2007(35).
[4]李豫东,金龙旭,任建岳.高分辨率嵌入式视频监控设备的设计[J].微计算机信息,2009(08).
作者简介
中图分类号:TP311
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式计算机系统与通用计算机系统有着本质上的不同,嵌入式计算机系统在很多情况下需要考虑的是为其产品性能,生命周期和商业驱动做优化,而不是努力提高其最大计算吞吐量。对于一个有市场适应能力的嵌入式计算机系统来说,产品的成功与否更重要的是其在性价比上的优势。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
由于嵌入式计算机系统自身功能和具体应用环境的限制,其在设计技术上会面临如下两个方面的挑战:
1 系统自身发展升级挑战
应用领域的不断扩大和用户要求的逐渐提高推动了嵌入式计算机系统功能的升级,而在升级过程中,嵌入式计算机系统设计技术作为系统开发的核心环节,无法避免的要面对来自整个系统的全面挑战。
1.1 单片机向多模块组合转变
随着用户对备选方案数量要求的提高,嵌入式系统从过去单一的单片机应用模式,转变为能够提供更多不同层次方案的多样化模式。通过重用和组合IP核构件技术实现的片上SoC系统,是目前嵌入式系统能够实现的最高形式。通过利用FPGA和IP模块进行功能组合PSoC/SOPC设计,彻底改变了过去单片机从底层全权包揽的单一设计局面。
1.2 对设计技术的要求更高
经过几年发展,目前高端嵌入式系统都是建立在RTOS基础之上的,所以很多非计算机专业技术人员就要学习全新的RTOS技术。这无疑是一次设计技术的重头再来,需要设计人员做到从观念认识到设计技术的一次彻底转变。
1.3 运用新开发工具进行系统开发
嵌入式设计从8/16位转向功能更强大的32位MCU,升级之后,开发工具的投入就成为了系统开发过程中最大的障碍。升级之后的开发环境不仅加大了系统投资数目,对其使用的技术有了更高要求,其开发工具较之前也有了更复杂的变化。使用新系统进行开发时,如何正确选择处理器架构、评估嵌入式操作系统,以及使用陌生的开发工具,都是一个新的挑战。
1.4 多种技术协同设计
嵌入式系统对软硬件的协同配合有着超高的要求,所以在设计过程中,软硬件设计的同步与集成是主要问题。由于技术细节处的不断增加,控制软硬件一致性与正确性需要消耗极大的时间。目前业界已经开发Polis、CosYma及Chinook等多种方法和工具来支持集成式软硬件的协同设计。这使得系统可以跨越硬件和软件平台复用,并支持设计空间探索。是一种统一软硬件的开发方法。
2 应对市场的重点性能挑战
嵌入式计算机系统设计技术在满足用户多样性需求和自身不断升级方面的提升与完善是信息技术发展的必然趋势,但是其最根本的基础性能提高则是市场判定该系统是否卓越,亘古不变的标准。在设计过程中,基础性能设计的重点如下:
2.1 操作实时响应
嵌入式计算机系统嵌入到对象系统中的计算机应用系统,嵌入系统在运行时不仅要求得到正确的结果,更要满足时间交互过程的响应要求。在设计过程中,有时需要要求设计技术按照软件运行最坏情况下的时间进行预留,因为软件运行耗费的时间会立刻增加系统响应的时间,致使系统不能满足嵌入对象系统提出的响应时间。“信号处理系统”、“紧急任务处理系统”就是典型的实时性要求很强的系统。
2.2 嵌入系统安全性
嵌入式计算机系统通常应用于安全性很高的情况下,这就要求设计技术能够保证系统极高的安全性能和可靠性能。
(1)可靠性能。嵌入式计算机系统的可靠性是衡量其设计技术的重要标准,它要求设计技术满足增长系统生命周期,拓宽系统适用范围,减少系统中的错误,增加系统的稳定性,甚至要降低嵌入式系统的维护费用。为满足如上诸多要求,嵌入式系统设计技术应该从工作温度,抗震动,抗电磁干扰,抗辐射等方面着手进行全面加强。
(2)可用性能。嵌入式计算机系统为达到提供预期的功能要求提高系统的可靠性,在系统设计时,通常需要采用故障避免、故障检测与故障容错等设计技术。
(3)安全性能。嵌入式计算机系统的安全性,要求系统的设计技术尽量使系统能够无错误的完成预期功能,同时降低系统的危害程度,安全完成运行任务。
(4)保密性能。保密性能在网络嵌入式计算机系统中尤为重要。通过现有的保密技术和网络安全措施基本可以保证数据的安全,但也无法做到完全保证。这就需要我们通过系统的设计技术加入入侵检测模块来提升嵌入系统的保密性。使入侵模块成为整个系统的最后防线,在系统遭受威胁或被攻击后,通过分析攻击行为,有效保护系统免受同样攻击。
通常在设计时,都是利用技术通过提高嵌入系统的抗入侵能力来提高保密性,在遭到入侵时,嵌入计算机系统能够进行安全的现场重编程及提供重建保护等。
3 结语
互联网在日常生活与工作中的作用越来越大,信息技术的发展日益迅速。嵌入式计算机系统作为当今信息技术的核心部分,对我国的各行各业产生了深远影响。嵌入式计算机系统设计技术,则是嵌入式计算机系统开发的核心环节。更高的应用需求,对嵌入式计算机系统的设计技术提出了更高的要求。与此同时,嵌入式系统本身的升级,也使得嵌入式计算机系统的设计技术面临更大的挑战。本文通过以上对嵌入式计算机系统设计技术的几点分析,主要分析了嵌入式计算机系统的设计技术为更好的适应和满足市场,而需要面对的诸多挑战。可以看出,嵌入式计算机系统在市场上的需求日益增大,用户的要求也在向多样化和高标准的趋势发展。这就要求系统的设计技术,一方面要不断与时俱进熟练掌握新升级技术,来适应市场满足多样化需求;另一方面要保证系统基本的实时性与安全性。只有这样抓牢基础,不断提高才能在当今的信息化社会中站稳脚跟,不会被市场淘汰。
参考文献:
[1]刘洪涛,孙天泽.嵌入式系统技术与设计[J].21世纪高等学校计算机规划教材,2009,1:12-13.
[2]冯立杰,傅民仓,李文波.多CPU嵌入式系统的设计方法[J].现代电子技术,2006,6:33-34.
中图分类号:TP336 文献标识码:A
嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。其主要由嵌入式处理器、 相关支撑硬件、嵌入式操作系统及应用软件系统等组成。使用嵌入式系统技术,不仅可以实现硬件和软件的集成优化,而且具有多任务和网络化功能。
嵌入式系统是将计算机技术、半导体技术、电子技术与各个行业的具体应用相结合后的产物 ,是一种技术密集、资金密集、高度分散、不断创新的知识集成系统。
1嵌入式系统的技术特点
嵌入式系统由构成软件基本运行环境的硬件和操作系统两部分组成。其运行环境和应用场合决定了嵌入式系统有别于其它系统。
1.1嵌入式处理器
嵌入式处理器可以分为三类:嵌入式微控制器MCU、嵌入式微处理器MPU、嵌入式数字信号处理器DSP 。
嵌入式微控制器又称为单片机,它将CPU、存储器 、I/O接口封装于同一片集成电路,常用的是以8051为内核的各种单片机。嵌入式微处理器就是和通用计算机的微处理器对应的CPU,应用中一般将微处理器装配在专门设计的电路板上,在母板上保留与嵌入式有关的功能,以满足嵌入式系统体积小和功耗低的要求。嵌入式DSP专门用来对离散时间信号进行高速处理 ,多用于数字滤波、FFT、图像处理等领域 。
1.2微内核结构
多数嵌入式操作系统采用了微内核结构,内核只提供基本的功能,如:任务的调度、任务之间的通信与同步、内存管理、时钟管理等。其它的应用组件,如:网络功能、文件系统、GUI系统等均工作在用户态,以系统进程或函数调用的方式工作。因而系统都是可裁减的,用户可以根据自己的需要选用相应的组件。
1.3任务调度
大多数的嵌入式操作系统支持多任务,依靠CPU在多个任务之间切换、调度,每个任务都有其优先级。 任务的调度有三种方式:可抢占式调度、不可抢占式调度和时间片轮转调度。多数嵌入式操作系统对不同优先级的任务采用基于优先级的抢占式调度法,对相同优先级的任务则采用时间片轮转调度法。
1.4硬实时和软实时
对时间要求较高的嵌入式系统,称为实时系统。实时系统分为软实时系统和硬实时系统。软实时系统并不要求限定某一任务必须在一定的时间内完成,只要求各任务运行得越快越好;硬实时系统对系统响应时间有严格要求,一旦系统响应时间不能满足,就可能引起系统崩溃或致命的错误。工业控制多采用硬实时系统。
1.5内存管理
多数嵌入式系统针对没有内存管理单元MMU的处理器设计,故不能采用虚拟内存管理技术,而是实存储器管理策略。对内存的访问是直接的,对地址的访问不需要经过MMU,而是直接发送至地址线输出,所有程序中访问的地址都是实际的物理地址。多数嵌入式操作系统对内存空间没有保护,各个进程共享一个运行空间。一个进程在执行前系统必须为它分配足够的连续地址空间,然后全部载入主存储器的连续空间。
2嵌入式系统的基本设计思路
从图1可知,嵌入式系统的工程设计分成三个阶段:分析、设计和实现。
(1)分析阶段:确定要解决的问题及需要完成的目标;
(2)设计阶段:主要解决如何在给定的约束条件下完成用户的要求;
(3)实现阶段:主要解决如何在所选择的硬件和软件的基础上进行整个软、硬件系统的协调实现。
嵌入式系统的工程设计包括:处理器、硬件部件、操作系统、编程语言、软件开发工具、硬件调试工具、软件组件等内容。
2.1建立硬件平台
2.1.1选择处理器
嵌入式处理器是嵌入式系统的核心部件。目前全世界嵌入式处理器的品种总量已超过一千种,流行系列有三十多个,仅32位的CPU就有100种以上嵌入式微处理器。鉴于嵌入式系统设计的差异性很大,故而选择是多样化的。Motorola、Intel、AMD、ARM、MIPS等公司均生产微处理器,其中ARM是近年来在嵌入式系统有影响力的微处理器制造商。
选择处理器时要考虑的主要因素有:
(1)处理性能
处理器的性能取决于时钟频率、内部寄存器、指令是否对等处理所有的寄存器等多个因素。要选取能够完成作业的处理器和I/O子系统,不在于挑选速度最快的处理器。
(2)技术指标
许多嵌入式处理器都集成了设备的功能,减少了芯片的数量,降低了整个系统的开发费用。首先考虑的是,系统所要求的一些硬件能否无需过多的胶合逻辑(GL,Glue Logic)就可以连接到处理器上。其次是考虑该处理器的一些支持芯片,如DMA控制器、内存管理器、中断控制器、串行设备、时钟等的配套。
(3)功耗
嵌入式微处理器最大并且增长最快的市场是手持设备、电子记事本、PDA、手机、GPS导航器、智能家电等消费类电子产品。这些产品中选购的微处理器典型的特点是要求高性能、低功耗,使用普通电池供电即可。若用于工业控制领域,则可不考虑这方面因数。
(4)软件支持工具
较好的软件开发工具是必不可少的。 比如,交叉编译器。
(5)内置调试工具
处理器如果内置调试工具,可以大大缩小调试周期,降低调试的难度。
(6)软件对硬件的依赖性
软件是否可以在硬件没有到位的时候并行设计或先行开发。
2.1.2尽量选择普通硬件
在 CPU 及架构的选择上,总原则为:只要有可替代的方案,尽量不要选择 Linux 尚不支持的硬件平台。
2.2建立软件平台
嵌入式的软件开发主要为:代码编程、交叉编译、交叉连接、下载到目标板和及调试等步骤,因此软件平台的选择也涉及到以下几个方面:低端无MMU(Memory Management Unit,存储器管理单元)的CPU,要使用uClinux 操作系统;相对高端的硬件,则可以用普通的嵌入式 Linux 操作系统。
选择操作系统应考虑的因素:
(1)操作系统提供的开发工具
有些实时操作系统(RTOS)只支持该系统供应商的开发工具,因此,还必须向操作系统供应商获取编译器、调试器等;而有些操作系统使用广泛,且有第三方工具可用。
(2)操作系统向硬件接口移植的难度
操作系统到硬件的移植是关系到整个系统能否完成的一个关键因素。因此,要选择那些可移植性程度高的操作系统,避免操作系统难以向硬件移植而带来的种种困难,加速系统的开发进度。
(3)操作系统的内存要求
考虑是否需要扩充RAM或EEPROM来满足操作系统对内存的需求。
(4)对操作系统的熟悉程度
(5)操作系统是否提供硬件的驱动程序
(6)操作系统的可剪裁性
有些操作系统具有较强的可剪裁性,如嵌入式Linux、Tornado/VxWorks。
(7)操作系统的实时性能
2.3选择编程语言
编程语言的选择主要考虑以下因素:
(1)通用性
汇编语言不通用;
高级语言与具体机器的硬件结构联系较少,通用性较好。
(2)可移植性
汇编语言与具体的微处理器密切相关,移植性差;
高级语言对所有微处理器都是通用的,可移植性较好。
(3)执行效率
汇编语言来进行应用程序的开发,编程复杂、开发周期长;
越高级的语言,其编译器和开销就越大,应用程序就越大、越慢。
因此,必须在开发时间和运行性能间进行权衡、取舍。
(4)可维护性
汇编语言可维护性不高;
高级语言程序通常采用模块化设计,各个模块之间的接口是固定的,模块化设计便于系统功能的扩充和升级。
应用较多的高级语言有:Ada、C/C++、Modula-2和Java等。C语言具有广泛的库程序支持,目前在嵌入式系统中是应用最广泛的编程语言。
2.4集成开发环境的选择
集成开发环境IDE(Integrated Development Environment)主要考虑以下因素:
(1)系统调试器的功能
系统调试及远程调试。
(2)支持库函数
库函数和模板代码。
(3)编译器是否能持续升级
(4)连接程序是否支持所有的文件格式和符号格式。
2.5选择硬件调试工具
好的硬件调试工具会有事半功倍之效。常用的硬件调试工具有:
(1)实时在线仿真器ICE (In-Circuit Emulator)
ICE是一个可被控制的MCU。ICE支持常规的调试操作,如单步运行、断点、反汇编、内存检查、源程序级的调试等。
(2)逻辑分析仪
逻辑分析仪常用于硬件调试,亦可用于软件调试,主要用于监视系统总线的事件。
(3)ROM仿真器
ROM仿真器用于仿真ROM芯片。将程序下载到ROM仿真器中,然后调试目标程序。
(4)在线调试OCD(On-Chip Debugging)或在线仿真(on-chip emulator)
2.6软件组件的选择
免费软件可靠性稍差;
授权软件费用一般较高,但经过严格的测试,可靠性高,调试时间短。
3结语
嵌入式技术是计算机发展的一个重要分支,其设计、开发、应用是一个长期的课题。以信息家电为代表的互联网时代,嵌入式产品不仅为嵌入式市场展现了美好前景,注人了新的生命,同时也对嵌入式系统技术提出了新的挑战。随着信息化、智能化、网络化的发展,嵌入式系统技术也将获得更广阔的发展空间。
参考文献
一、嵌入式系统设计
嵌入式系统由软件模块以及硬件模块组成,其中软件模块需要在硬件模块中运行才可以实现其功能。嵌入式系统中的硬件部分是嵌入式系统的基础部分,主要提供嵌入式系统的I/O端口、外设接口等,而软件是嵌入式系统的控制核心,通过运行,给硬件提供指令,指示硬件进行相应的动作,也就是说软件必须在硬件部分上运行,才可以起到很好的作用。
二、嵌入式系统趋向低功耗的必要性
1.节能的需求
嵌入式系统是一个相对复杂的系统,各个模块工作时工作量是很大的,这就需要电源供应正常,保证系统的正确运行。而随着系统的不断扩大,各个模块会造成更大的功耗,因此,为了更有效的利用嵌入式系统,延长嵌入式系统的工作时间,需要采取节能措施。
2.增强抵抗能力
在嵌入式系统工作的过程中,难免会受到外界的干扰,特别是嵌入式系统中敏感电子元器件,更应该做好防磁的措施,如果处理不当,不能很好的增强抵抗力,将严重影响系统的正常工作。嵌入式系统的功耗越高的话,电磁辐射能量就会越大,这样嵌入式系统自身以及外设都会受到影响,造成精度的降低。
三、利用嵌入式系统硬件设计方法降低功耗
对于嵌入式系统而言,硬件功耗问题是主要原因,对于嵌入式系统低功耗设计的影响因素最大,处理好硬件低功耗设计,会对嵌入式系统低功耗做出重大贡献。
1.优先选择低功耗芯片、元器件
在嵌入式系统工作的过程中,芯片元器件对电源的消耗非常的大,因此,在嵌入式系统设计前,对于元器件的选择,除了满足设计性能指标的需求,还需要满足功耗问题,尽量选择低功耗芯片。现在比较成熟的工艺主要有两种,一个是TTL工艺,另一种是CMOS工艺,其中CMOS工艺耗能很少,可以优先选择。对于芯片的设计或者焊接时,需要注意的是芯片引脚不要出现悬空端,悬空端容易引进外界噪声信号,对嵌入式系统的电源会产生很大的影响,造成高低电平的转换。在默认的情况下,如果高低电平转换,功耗会很大,这个时候,最好选择高电平输出,确保耗能降到最低。
2.采用不同步供电技术
一个完整的嵌入式系统包含很多部分,比如说包含AD采样、DA转换、UART异步串行通信等等,这些模块在系统工作时不会同时工作,有可能在进行完一个模块后才进行下个模块,为了降低功耗,可以选择不同步,即采取分时方法,当某一模块工作完后如果需要隔很长时间才会再执行操作,那就可以选择执行完后将此模块设置为休眠状态,从而降低功耗。
3.合理利用I/O端口资源
嵌入式系统工作时,需要频繁的使用I/O口,I/O口在输出的情况下可以输出约为20mA的电流,对于次,可以采取有效的措施,很好的利用这一电流,对其他外设采取供电的办法,当然,外设对电流的需求需要小于20mA。采取这种办法,可以很好的利用这一资源,得到充分的利用,更好的降低功耗。
4.加强智能电源设计工作
解决好嵌入式系统低功耗的问题,需要注意的就是减少耗能问题,而解决好耗能问题,还可以从另一个角度解决,优化电源设计,趋向于智能化方向发展。在智能电源中安装自动检测芯片,这样可以确保系统处于不同的情况下时,采取不同的策略,及时的做出处理,这样就可以对CPU以及外设模块采取不同的处理措施。比如说,当系统在外部正常供电时,这个时候电源供应可以采取正常供电的方法,提供正常的工作频率,保证电压的正常使用;而如果电源模块检测到系统工作在外部电池状态下,那这个时候,根据检测的结果,可以降低系统主频率,将电压降低到最小运行值,确保嵌入式系统工作在低功耗的状态下。
四、利用嵌入式系统软件设计方法降低功耗
1.减少编译运行时间
嵌入式系统的工作离不开软件的执行,一个小模块的正常运行往往需要很多条代码执行编译。嵌入式系统在运行中需要几个模块先后都运行,也就是说,需要大量的代码执行编译过程,这样的话,就会直接造成功率极大消耗。针对于此,可以对程序进行优化,因为代码有单周期、双周期、四个周期之分,对代码优化,尽量选择与底层密切、周期短的指令,这样,程序代码在编译的过程中,会提高处理速度,降低功耗。一般来讲,低级语言,比如说汇编语言,相对高级语言,比如说C语言、C++语言功耗要低很多。
2.鼓励使用软件代替硬件,硬件代替软件的方法
嵌入式系统在执行某个指令或者为了实现某个功能某块时,可以既选择硬件模块实现,也可以用软件方法实现,比如说软件程序FIR滤波与硬件设计模拟低通滤波,这两种方法都可以实现滤掉高频信号,确保低频信号全部通过。这个时候,可以比较这两种方法,哪一种最优,最节省功耗。软件中处理器需要时间,编译消耗功率,而硬件中电路工作也会消耗功率,因此,通过比较,可以做出最佳选择。
3.采用快速运算处理的计算方法
嵌入式系统在处理接收到的数据时,往往需要大量的运算,才会得到期望的结果。为了有效的降低功耗,提高处理速度,对一些算法可以进行优化。比如说在进行DFT傅立叶变换时,传统的思想是利用DFT设计,求出结果,但是这种设计相对FFT快速傅立叶变换而言,运算量大,时间也很长,这个时候就可以采用FFT的方法。在进行设计时,对各种算法都进行充分比较,在需求的精度都满足的情况下,优先选择算法处理快的。
4.软件设计建议多采用中断程序
嵌入式系统在工作时,当系统上电初始化时,主程序只会实现系统的初始化,这其中包括各个模块寄存器的初始化,外部设备的初始化。对于系统软件降低功耗,还可以采取的办法就是当程序没有动作需要执行的时候,可以将系统设置在低功耗状态,而当系统有动作要发生时,这个时候,可以利用中断程序,让系统跳到要执行动作的程序中,也就是说此时仅仅中断程序会消耗功率,其他模块不会。待中断程序执行完之后,系统继续回到低功耗的状态,节省电量的消耗。
五、结束语
随着社会的发展,科技不断进步,嵌入式系统日益趋向于智能化、自动化方向发展。在各行各业中,嵌入式系统都得到了很好的应用。不过随着功能的增强,应用增多,电源供应成了问题,很多嵌入式系统的耗能都很严重。考虑到嵌入式系统由软件以及硬件两大部分组成,因此,为了降低嵌入式系统的功耗,可以通过硬件措施以及软件措施,实现目的。对硬件方法主要考虑到硬件的电源、芯片选择以及I/O的有效利用;而对于软件而言,主要就是对程序进行很好的优化,充分将软件与硬件结合,只有这样,才能更好的解决嵌入式系统的功耗问题,促进嵌入式系统更好的发展。
参考文献
[1]郑杰.嵌入式系统中的低功耗设计[J].设计技术,2005(2).
[2]王怀瑞.嵌入式系统中的低功耗设计研究[J].河北省科学院学报,2008(4).
[3]王志超.基于硬件构件的嵌入式系统低功耗研究[J].信息化研究,2010(5).
[4]杨天池.嵌入式系统的低功耗设计[J].仪器仪表学报,2006(6).
[5]张健.嵌入式系统低功耗电路设计[J].光电技术应用,2005(6).
中图分类号:TP391.41文献标识码:A文章编号:1009-3044(2010)08-1987-02
1 概述
随着科学技术的发展,更高速,更可靠,更低成本成为各种技术开发的要求。因此,设计能实现实时视觉图像采集、视觉图像处理控制,使其结构更紧凑,甚至完全不需要计算机的介入,提高处理速度,并能有效降低成本的专用机器视觉控制系统,使得该系统具有安装方便、配置灵活、便于携带等突出优点。为此,本课题提出了基于嵌入式机器视觉测控系统的研究,在嵌入式系统上实现实时视觉图像采集、视觉图像处理及控制,构成处理速度快,成本低,结构紧凑,不需要计算机介入的专用嵌入式机器视觉测控系统。
2 系统总体设计
2.1 设计方案
目前,用于图像采集处理系统的嵌入式核心器件一般有FPGA、DSP和ARM芯片,出于成本控制与测控系统性能要求的考虑,这里选用FPGA方案。
FPGA内嵌的NiosII软核处理器是32位的,主要包括CPU微处理器、I/O中断、计时器、UART串口及大量通用寄存器。选用FPGA方案的优点在于,在单个芯片上既可以完成图像采集等复杂逻辑的控制,又可以用内嵌的NiosII处理器完成对图像的处理和识别,电路设计简单,成本低。
对于机器视觉测控系统,在选用了嵌入式处理器实现图像采集的功能之后,需要将视频图像进行数字化处理,这里采用标准工业摄像机+视频图像数字化模块的方法实现。标准工业摄像机的输出信号一般是PAL制式或NTSC制式的模拟信号,信号在进行数字图像处理前必须经过刀D转换,即视频采集。视频采集是整个系统中的一个重要组成部分,它是对模拟视频信号实现数字图像处理的第一个步骤。该方案具有通用性好、成本低的优点。
2.2 总体结构设计
1) 硬件设计
硬件设计包括系统硬件电路的连接和FPGA内部逻辑电路的设计。
FPGA内部逻辑电路的设计是以QuartusII为开发环境,用VHDL语言编程实现图像采集、SRAM总线切换等模块的功能,用SOPC Builder配置、产生NiosII软核处理器及必要的外设(用户自定义外设用VHDL编程实现),然后一起编译并下载到FPGA的配置芯片中,再由配置芯片完成对FPGA的上电配置,由此形成硬件逻辑电路的连接,实现图像采集、处理、存储、显示、实时控制等功能模块。
2) 软件设计
用SOPC Builder生成NiosII处理器系统的同时,也会生成相应的SDK软件开发包。在这个软件包的基础上,开发者可以利用NiosII IDE,移植嵌入式实时操作系统μc/OS-II,编写C或者C++程序来完成对图像的二值化、区域分割、特征提取、模式识别等处理过程,最终实现对目标轨迹的跟踪,实时控制机器人沿规定轨迹运行。
3 关键技术问题探讨
3.1 图像采集CCD模块设计
图像信息的获取就是捕捉待处理目标的图像信息并将其转换成适合一体机处理的数字信号,这一过程主要包括图像捕获、光电转换及数字化等几个步骤。目前图像信息获取可以使用CCD、CMOS、CIS等传感器,其中以CCD的应用最为广泛。
本设计模块采用1/3寸逐行扫描型黑白面阵CCD图像传感器ICX424AL。ICX424AL有效光敏单元为659×494,灵敏度高、暗电流小,带有电子快门。由三相垂直脉冲(V1、V2、V3)和两相水平脉冲(H1、H2)驱动工作,水平驱动时钟频率为24.154MHz,驱动电压5V。曝光之后,每一列成像势阱中的电荷在脉冲的驱动作用下被移至势阱旁的垂直寄存器当中,然后垂直驱动脉冲发挥作用,每次脉冲驱动垂直寄存器组中的像素电荷向下移一行,而此时最下面一行的像素电荷则被移动到水平寄存器当中。之后水平驱动脉冲发挥作用,脉冲驱动水平寄存器中的像素的电荷向输出口移动。被移出像素电荷,经过放大器后形成电压信号输出。水平寄存器被移空后,剩余电荷再次向下移一行,在水平驱动脉冲作用下,水平寄存器的电荷再次被依次移出。上述过程一直重复直至所有像素电荷被移出。
ICX424AL的驱动时序由CCD信号处理器AD9929产生。AD9929有一个三线式串行接的串行通信接口,通过该接口可以对AD9929时序发生器的相位寄存器组进行操作,发送配置信息或读取AD9929的工作状态。AD9929可直接与CCD传感器相连接,CCD像素模拟电压信号在AD9929驱动脉冲的作用下,由CCD_IN引脚输入到AD9929中,经模拟前端采样、放大和A/D转换后,产生8位的数字信号由DOUT[0-11]引脚输出,这些数字信号即为CCD图像传感器捕捉到的待测目标的原始图像信息。
3.2 图像实时跟踪算法设计
由CCD模块负责采集图像,那么嵌入式系统必须要有完善的图像跟踪算法,才能够实现智能机器人对目标的跟踪,传统的图像跟踪算法由于运算量较大而存在实时性较差的问题,因此,有必要对图像跟踪算法进行实时性优化设计。
目标图像跟踪是一个序列图像处理、识别和测量过程。在跟踪过程中,目标可能出现大小、形状、姿态等变化,加上实际环境中的各种干扰,以及图像处理最小计量单位的精度问题,相关跟踪得不到绝对最佳的匹配位置,存在测量误差。因此,为了保证跟踪的稳定性,需要对图像跟踪模板进行自适应更新。图像跟踪模板的更新是目标跟踪中要解决的重要问题之一,图像跟踪模板更新过快或过慢,都有可能丢失所跟踪的目标。判断图像跟踪模板是否需要更新要根据相关的置信度信号,如果相关匹配的置信度高,就可以根据本帧图像的匹配点处的坐标来更新图像跟踪模板;如果置信度低,则说明匹配不稳定,要沿用以前的匹配图像跟踪模板对下一帧进行相关匹配。
相关置信度信号是在分析相关匹配算法的基础上设计出来的,它是一个非常重要的参数。经过分析可知:若匹配点处的峰值很大,且峰值与其它非匹配点的均值之差越大,则表明跟踪越可靠。定义帧内相关置信度为:
式中:C0是帧内相关置信度;maxR是当前帧匹配点处的误差累加次数;R是同一帧内M个依次比maxR小的误差累加次数的均值,如果maxR和R相差越大,则说明该匹配点越可靠。本算法可根据计算速度的需要对M取值,一般可以取M等于20~100的任何值。若C0大于阈值T0,则认为相关匹配值maxR符合帧内置信度,更新图像跟踪模板;否则,相关匹配不可靠,不更新图像跟踪模板。阈值T0根据图像的质量和经验来确定,这里我们取T0=0.6。
实践证明,在序列图像跟踪过程中,若单纯地利用当前图像的最佳匹配位置处的图像跟踪模板作为依据进行下一帧图像的匹配,则跟踪结果很容易受某一帧发生突变的图像的影响而偏离正确位置。因此,本系统采用基于置信度的加权自适应模板修正算法:如果当前帧匹配质量很差,则该帧图像数据不进行修正;而若当前帧匹配质量很好,则该帧图像数据进行修正,加权修正算法表示如下式:
上式中,T(i,j,t)为当前帧使用的图像跟踪模板,O(i,j,t)为当前帧最佳匹配位置的子图像,T(i,j,t+1)为预测得到的下一帧图像坐标,α为加权系数(0≤α≤1),该系数的大小根据帧内相关置信度C0,按照下式计算:
4 结束语
本文在嵌入式系统与机器视觉控制系统的交叉点展开研究,目的是将具有重要意义的机器视觉控制系统应用到具有广泛基础的嵌入式系统平台上,拓展机器视觉的应用范围。通过对机器视觉控制系统及嵌入式系统设计方案的选择,并对基于嵌入式机器视觉控制系统的关键技术问题展开研究,以此为依据,设计了相应的硬件系统和软件系统,并将其应用到智能机器人视觉的控制上。
参考文献:
[1] 王耀南,李树涛,毛建旭.计算机图像处理与识别技术[M].北京:高等教育出版社,2001.
(四川信息职业技术学院,广元 628017)
(Sichuan Information Technology College,Guangyuan 628017,China)
摘要:嵌入式技术是继IT网络技术之后,又一个新的信息技术发展方向。嵌入式技术发展潜力巨大,很多院校都开设嵌入式技术专业,但是由于专业门槛高,市场需求动手能力强的毕业生。所以,在嵌入式专业的课程中实践训练环节就必不可少。为此我们开发了一套智能家居系统实训平台来满足师生及有关工程技术人员嵌入式项目开发、嵌入式综合实训、嵌入式竞赛等。
Abstract: Embedded technology is a new development direction of information technology following IT network technology. Embedded technology has a huge potential for development, and embedded technology major is opened in many colleges, however, because of high professional threshold, the market demands graduates with strong hands-on ability. So, practice training is indispensable in curriculum of embedded technology major. On this base, we developed a set of training platform of intelligent household system so as to meet the teachers and students as well as related engineering and technical personnel's embedded project development, comprehensive training, competition and so on.
关键词:嵌入式技术 智能家居系统 ARM开发板 传感器
Key words: embedded technology;intelligent household system;ARM development board;sensor
中图分类号:TP39文献标识码:A文章编号:1006-4311(2011)20-0129-02
0引言
嵌入式系统是嵌入到对象体系中的专用计算机系统,以嵌入式计算机为核心的嵌入式系统是继IT网络技术之后,又一个新的信息技术发展方向。目前,嵌入式设备已广泛应用于制造业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费电子等领域。巨大的嵌入式技术商业市场使许多高校看到了发展方向,纷纷开设嵌入式技术课程。高职院校进军嵌入式领域已取得了不小成绩,但目前高职院校在嵌入式人才培养方面,特别是综合实训环节的开展上,还存在很多不足,影响了人才培养质量。开发一套完整的嵌入式综合实训系统以及配套的实训项目,对开展学生科学实践活动具有积极意义。
1系统分析
智能家居系统由ARM开发板、系统扩展板、GSM模块、USB摄像头、无线网络等接口设备组成,系统架构如图1所示。其中:①开发板平台基于ARM9的OK2440,主要完成视频数据采集、无线视频数据传输、对GSM收发的短消息进行解析和处理、以及对系统扩展板进行控制;②扩展板电路主要负责传感器数据的采集、家用电器开关的控制、接收和处理来自开发平台的控制信息以及将传感器报警信息、家用电器开关状态信息反馈给平台;③GSM模块负责短消息的收发;④USB摄像头负责视频数据的采集;所有的监视信息通过无线网络系统传输到小区的服务器中,从而实现对危及人民生命和财产安全如火灾、煤气泄漏、外人非法入侵等情况需要有效的监视。下位机控制系统是STC89C52低功耗可在线编程单片机。ARM开发板以S3C2440嵌入式微处理器为主控制器,结合了光电传感器、煤气传感器、温度传感器等传感器技术及通信技术。
该系统中融入家电智能控制,GSM通信,视频监控,传感器监测,internet网络通讯,是一个适用于多种环境的集成系统。
本系统使用VMware+Red hat linux操作系统,软件开发平台采用嵌入式Qt-2.3.7,用户界面采用嵌入式Qtopia-1.7.0,视频处理采用Intel开源的OpenCV,GSM通信采用SMS的AT指令集。
2用户界面设计
为了使系统更加方便使用,我们使用QT编写图形用户界面。Qt/Embedded是一个多平台的C++图形用户界面应用程序框架,其对象容易扩展,可移植性好,支持多个GUI平台的交互开发。Qtopia是Trolltech公司为采用嵌入式Linux操作系统的消费电子设备而开发的综合应用平台,它基于Qt/Embedded框架,所以在编译Qtopia之前先要搭建好Qt/Embedded框架。
系统窗体界面包括:GSM窗体(设置接收手机号码,短信服务中心号码),传感器状态显示窗体(包括红外,煤气,烟尘传感器的状态),摄像头应用程序窗体(显示现场图像),网络应用程序client窗体(设置服务器IP)。
要使窗体控件响应相应的事件,必须给控件添加相应的 “信号与槽函数”的映射。首先在类当中添加槽函数然后在cpp文件当中添加对应成员函数,最后添加信号与槽映射函数,即通过调用QObject对象的connect函数来将某个对象的信号与另外一个对象的槽函数相关联。
3软件设计
3.1 单片机与ARM串口通信(图2、图3)
串口通信主要是采集串口数据,内核通过提供read、write、select、open、close供应用程序调用,在设计串口通信类,就是对这几个函数的运用。
3.2 网络通信编程(图4)Internet上的TCP/IP网络编程,必须用到Socket接口。Socket接口是TCP/IP网络的API,Qt Socket对Socket函数接口进行一个很好地封装,使得程序员可以通过Qtsocket提供的接口,实现网络编程。
3.3 视频数据采集该功能模块主要实现:数据的采集与显示、视频数据发送、发送视频数据。采用OpenCV编程处理图像,OpenCV是Intel资助的开源计算机视觉库。它由一系列C函数和少量C++类构成,实现了图像处理和计算机视觉方面的很多通用算法。构建OpenCV开发环境需要执行make install命令安装,安装后OpenCV将编译好的的库文件保存在/usr/local/lib目录下,头文件被复制在/usr/local/include/opencv目录中。
主要的库文件:libhighgui.so.0.9.7、libhighgui.la、libcxcore.so.0.9.7、libcxcore.la、libcvaux.so.0.9.7、libcvaux.la、libcv.so.0.9.7、libcv.la及相应的符号链接。摄像头数据采集流程如图5。
3.4 GSM 收发短信SMS协议规范:SMS(Short Messaging Service)是最早的短消息业务协议,而且也是现在普及率最高的一种短消息业务协议规范。目前,这种短消息的长度被限定在140字节之内,这些字节可以是文本的。
AT指令集是从终端设备(TE)或数据终端设备(DTE)向终端适配器(TA)或数据电路终端设备(DCE)发送的。通过TA,TE发送AT指令来控制移动台(MS)的功能,与GSM网络业务进行交互。用户可以通过AT指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。对SMS的控制就是基于AT指令的PDUMode。GSM模块与计算机之间的通信协议是一些AT指令集,AT指令是以AT作首,字符结束的字符串,AT指令的响应数据包在中。
5结语
本文讨论了嵌入式实训平台的实现方法及应用的主要技术,主要使用飞凌嵌入式开发板再加单片机扩展板实现平台监控室内的煤、气、电、温度、湿度等。由于仅仅满足学生实训的要求,所以该平台还存在自身电路的局限,工业现场的环境干扰造成电路还不够稳定,系统功能还有待于完善。
参考文献:
[1]嵌入式Linux系统开发.深圳市亿道电子技术有限公司,2009.
[2]OK2440 Linux实验指导手册.保定飞凌嵌入式技术有限公司,2009.
【文章摘要】
本文在针对当前嵌入式视频监控系统发展的基础上,介绍了一种基于ARM 的嵌入式视频监控系统,并对系统的实现和嵌入式Linux 内核的编译与移植等问题进行了详细的分析和阐述。
【关键词】
视频监控;嵌入式;ARM
当前在我国的视频监控市场当中主要包括两种不同类型的监控系统,一类为数字控制的模拟视频监控;另一类则为数字视频监控。这两类监控系统在技术方面都已经非常的成熟,性能也变得非常的稳定,并在实际的工程当中被广泛的应用。而其中的数字监控系统是以计算机技术和图像技术作为基础,兴起的一种新的视频监控系统。该技术因为可有效的解决模拟系统的部分弊端而被广泛的推广和发展。目前,我国的视频监控系统则正处在数值模拟和数字系统混合应用的转变。
1 ARM 处理器
ARM 公司作为专门从事RISC 技术芯片设计的公司,主要为知识产品的提供商,并不直接从事对芯片的生产,而是将技术转让给许可的合作公司。各种不同的芯片被世界各大生产商购买,并从ARM 购买其设计的微处理器核,然后根据自己行业的特点,对外围的电路进行设计,从而形成独具特色的ARM 处理器芯片。ARM9 作为公司设计的一种类型的处理器,被广泛的应用,其主要的原因在于该芯片其具有以下的特点:1) 具有5 级整数流水线, 指令执行效率高;2) 提供l.lMIPS/MHz 的哈弗结构;3) 支持32 位ARM 指令集和16 位Thumb 指令集;4) 支持32 位的高速AMBA 总线接口;5) 全性能的MMU, 支持Windows CE、Linux 等多种主流嵌入式操作系统;6) 支持数据cache 和指令cache, 具有更高的指令和数据处理能力。
2 系统整体设计
结合视频监控系统的实际需求,本文设计的系统的整体结构如图1 所示。包括S3C2440 处理器、Flash 闪存、USB 接口、LCD 显示器等组成。
3 系统主控芯片简介
3.1 S3C2440 处理器
在该系统中选用三星公司生产的ARM9 内核的S3C2440 处理器。该处理器其典型的优点在于其最高的主频可达到400MHz, 为同类ARM 处理器当中最快的设备。该处理器其是基于ARM920T 内核的16/32 位RISC 嵌入式微处理器, 主要面向远程监控终端、面向手持设备的高性价比和低功耗的应用。同时ARM920T 中, 其MMU 单元可以管理虚拟的内存,并拥有高速缓存独立的16KB 地址和16KB 的数据高速Cache。
3.2 寄存器
在该主控芯片中,其包含37 个寄存器,其指令的数量不多,字长较大,并且其寄存器的数量也比较多。其中包括31 个32 为的通用的寄存器,6 个程序状态的寄存器。
3.3 地址空间
在S3C2440 芯片的外部可以找到的存储空间为1GB,其被分为8 个不同的存储模块,每个模块的空间大小都为128MB,S3C2440 芯片其外部存储空间主要存在着以下的特点:第一,其支持小端/ 大端的模式;第二,在系统的8 个外部存储空间当中,其中的6 个主要用于ROM 和SRAM 存储,其余的2 个可用于ROM、SRAM 和SDRAM 的存储;第三,在8 个存储空间中,其中的7 个为包含着固定的起始地址,而最后的一个起始地可以进行适当的调整,并且最后的2 个模块空间的大小可编程;第四,所以存储器块的访问可编程;第五,在其中的SDRAM 当中,其可以进行自主的刷新。
3.4 存储器
存储器作为系统整个开发的重点,其大多的应用程序等都放置在该存储空间当中。本文主控芯片所采用的NAND Flash 具有容量大、价格低的特点。其在启动的时候,存储器上的前4KB 会被装载到缓冲器当中,并执行对代码的启动。在启动代码后则将其复制到到SDRAM 中,组后主程序都全部在SDRAM 执行。
4 系统设计
4.1 存储器设计
对存储器的设计采用三星公司的K4S561632C,这是一款比较常用的SDRAM 存储器,其时钟的频率则可以达到133MHz。其具体的电路图设计如图2 所示。
4.2 LCD 电路接口
S3C2440 芯片支持型号为TFT 型的LCD 的触摸屏,其只需要在LCD 驱动板上根据其固定的标准从CPU 引出LCD 控制信号即刻进行使用。本文则主要采用的是LCD24 位,显示时其RGB 则各位8 位。
4.3 网卡控制器
在本文中选择DM9000 作为网卡,其主要原因在于该模块为集成和符合成本效益的单芯片的快速以太网模块。分别支持8 位,16 位和32 位接口访问内部存储器, 依次可以支持不同的处理器。同时, 在DM9000 网卡的物理协议层接口可支持10MBps 的3 类、4 类、5 类非屏蔽双绞线和为100MBps 下的5 类非屏蔽双绞线。
4.4 JTAG 接口
JTAG 技术作为嵌入式的一种调试技术,主要是在芯片的内部封装一个专门的测试电路,通过其专用的JTAG 的测试工具,从而对系统内部的节点进行不同的测试。通过该JTAG 接口其可对芯片内部的所有的部件进行访问,因此使得该技术成为一种对系统调试的高效的手段。本系统对NOR FLASH 的烧写选用JTAG 进行, 对于NAND FLASH 的烧写采用USB 进行。
5 结语
本文通过对ARM 和S3C2440 微处理器相关性能的了解,最后对存储器、LCD 接口、网关控制等电路进行了设计,从而实现了视频监控系统。
【参考文献】
[1] 涂继辉, 余厚全, 佘新平. 基于ARM 的视频监控系统的设计与实现[J]. 长江大学学报( 自科科学版) 理工卷,2010,07(2).
[2] 纪波, 王辉, 张亚军. 基于嵌入式Linux 的视频监控系统的实现[J]. 电脑知识与技术,2011,07(8)
[3] 李浩. 基于嵌入式Limix 的视频图像采集系统设计[A]. 第二十届全国测控、计量、仪器仪表学术年会论文集[C].2010.
[4] 叶琳, 邱龙辉. 基于ARM 的嵌入式手姿态跟踪设备控制系统研究[J]. 新技术新工艺,2009,08:21- 23.
【作者简介】
物联网时代,物联网系统中的嵌入式系统对互联网开放。本质可靠的嵌入式系统有可能遭遇互联网病毒或恶意入侵的攻击事件而出现安全问题,这是物联网时代嵌入式系统面临的新挑战。在物联网系统的安全架构中,有一个明显的非安全入侵界面,设立归一化安全交互通道、实现交互通道界面的安全管理,是物联网系统中嵌入式系统安全性设计的重要原则。
1电子系统的智能化与集群化
我们从电子系统的时代变革中,可以明显看出电子系统的智能化、集群化趋势。传统电子系统,是孤立的泛性产品系统(没有归一化内核);智能电子系统,是归一化微控制器内核基础上智能产品系统,并从单个产品走向集群(分布式集群、总线集群、局域网集群);物联网电子时代的嵌入式系统,是普遍具有互联网接入功能的智能电子系统,有紧耦合与松耦合接入两种状态。松耦合的智能电子系统是一个独立的产品系统,通常在网下使用,需要时接入,如手机、桌面电脑、智能家电等;紧耦合的智能电子系统与互联网构成一个物联网应用系统,如市政交通管理系统、小区物业安全管理的实时监视电子系统。目前,传统电子系统基本被淘汰,智能电子系统与物联网电子系统会长期并存。与3个电子时代相对应的开发环境变迁,是产品开发的平台化与可靠性设计内容的变迁。传统电子时代是电子工程师单打独斗的时代,电子产品的功能性设计、低功耗设计、可靠性设计完全依靠电子工程师的聪明才智,由电子工程师独立完成。智能电子时代,产品硬件体系设计是电子工程师在微控制器、大规模集成电路的功能模块基础上的配置设计;产品的软件体系设计是集成开发环境、操作系统、计算机工程方法基础上的应用程序设计。微控制器、集成电路、集成开发环境、操作系统、计算机工程方法等,构成了形形的知识平台。这些平台不只是简单的知识集成,而是具有人工智能、可以代替人类个体脑力劳动的知识力量平台。例如,原先设计一个数据采集系统时,电子工程师必须了解模拟信号到数字信号的转换设计的知识与技术,如今,有了A/D转换芯片,便可省去电子工程师的这部分脑力劳动。又如,没有实时多任务操作系统时,电子工程师设计嵌入式程序时,必须认真考虑多任务系统程序的实时协调与管理,有了实时多任务操作系统,所有这些任务的协调与管理都由操作系统依靠协议自动实现。因此,智能电子时代的电子产品系统设计,进入到人工智能的平台化开发时代。与智力替代的平台开发模式相对应的是可靠性设计内容的变迁。传统电子系统的可靠性完全依靠电子工程师的精心设计。智能电子时代,电子系统的可靠性、安全性设计进入到智能化、平台化的设计时代,从而使智能电子系统的可靠性、安全性设计到达最高境界。物联网电子时代,智能电子系统对互联网开放,导致互联网中各种不安全因素对智能电子系统的入侵。因此,物联网电子系统安全性、可靠性设计的一个重要方法是对入侵窗口的管理设计。
2物联网系统的安全性架构
物联网安全体现在一个个具体的物联网系统中,进行物联网安全性设计时,应充分了解物联网系统的安全性架构。
(1)物联网与物联网系统
通常,人们用应用层、网络层、感知层来概括物联网。应用层描述了物联网应用中形形的物联网应用系统,人们通常论及的物联网都是一个个具体的物联网系统。早期,人们用应用层、网络层、感知层来描述物联网,缺失了控制层,在许多物联网系统中,控制层是必不可少的内容,我们可以用网络层、感知层与控制层来构建物联网系统模型。
(2)物联网系统模型
图1是一个由互联网与嵌入式集群系统构成的物联网系统最简模型。嵌入式集群系统通常都是一个嵌入式系统的局域网,互联网直接服务于物联网的网络层与管理层,每个局域网中的嵌入式应用系统都有可能直接与互联网相连。感知层、控制层由嵌入式系统构成,嵌入式局域网将它们联接起来,形成嵌入式集群系统。当这个嵌入式集群系统与互联网相连后,便构成一个具体的物联网系统。通常,嵌入式集群系统是一个安全、可靠的嵌入式系统局域网。接入互联网时,会出现新的可靠性、安全性问题,即互联网恶意入侵产生的安全性问题。在物联网系统模型中,它体现为一个非安全的入侵界面。
(3)物联网系统的安全性架构
从图1的模型可以看出,物联网系统是本质可靠的嵌入式系统与本质非可靠的互联网构成的交互系统。嵌入式系统与互联网可以有多个渠道交互(因为嵌入式系统都有独立的互联网接入功能),这些交互渠道都可能会带来可靠性、安全性问题。在嵌入式系统的高可靠性基础上,物联网系统安全性设计的重点是入侵界面的管控与感知层、控制层的安全防护设计。
3物联网系统的安全性设计原则
物联网应用系统中,许多安全性问题最终都会反映在嵌入式系统的感知层与控制层上。嵌入式系统的安全性问题是由互联网的安全性因素引起的。因此,最大限度地减少互联网对嵌入式系统的入侵渠道,是物联网应用系统安全性设计的重要原则。物联网应用系统的安全性设计模型如图2所示。物联网系统的安全性设计目标,是要建立一个归一化的安全性管理界面。所有交互行为都通过归一化界面进行管理,可以大大减少互联网的入侵渠道,有利于减少安全漏洞与实现系统安全性的集中管理,防止出现安全患。实现界面安全的防入侵管理是入口的验证环节设计。密码验证是最常使用的一种方法,还有数符密码与生物特征密码(指纹、掌纹、人脸、虹膜等)。除此以外,在交互中实时使用的校验码也是行之有效的方法。感知层、控制层的安全防护设计也是物联网系统安全设计的重要一环。感知层能迅速感知系统的应急状态,并即时启动系统的应急处理(关闭并进入安全状态)。2016年3.15晚会,恰逢谷歌“AlphaGo”掀起的人工智能热潮,央视在会上演示了让人惊心动魄的智能电子系统的安全漏洞。画面上演示了不法分子通过手中的设备侵入无人机系统,接管了无人机,而无人机机主无能为力;一位黑客在一户人家的外面成功入侵该住宅的Wi-Fi,并控制了该家庭的所有智能设备,包括智能洗衣机、烤箱和智能摄像头,可以让滚筒洗衣机空转、让烤箱的温度飙升到危险数值甚至引发火灾,让智能摄像头随意转动拍摄,偷窥用户的室内活动和隐私等。这些都是物联网时代嵌入式系统的安全隐患。嵌入式系统本身是安全可靠的,因为它是一个是封闭型的本质安全系统。多年来,家庭中的洗衣机、电冰箱、烤箱、微波炉、电视机等智能设备从来没有出现过上述的安全事故。只有嵌入式应用系统开放后,才会出现安全漏洞。上述安全事故是在智能设备接入Wi-Fi网络或互联网后,形成的非安全的入侵渠道所致。物联网系统中智能硬件的安全漏洞在于对互联网的开放,这个安全漏洞是可控的。只要减少互联网接入的通道数量,在这些接入通道中设立可靠的校验、准入管理环节,就能保证系统安全。