跟着Internet技能与信息家电、工业操控技能等的结合日益严密,嵌入式设备与Internet的结合已成为大势所趋。此时期新的微处理器层出不穷,要求嵌入式操作体系的规划愈加便于移植,支撑更多的微处理器。嵌入式体系的开发需求强壮的硬件开发东西和软件支撑包。通用核算机上运用的新技能、新观念开端逐渐移植到嵌入式体系中,如嵌入式数据库、移动署理、实时CORBA等。各类嵌入式Linux操作体系在全球数以百万计爱好者的合力开发下迅速开展,因为具有源代码敞开、体系内核小、履行效率高、网络功用强,多媒体人机交互界面友爱等特色,很适宜信息家电等嵌入式体系的需求。
一嵌入式体系的技能特色
前期的嵌入式体系规划办法,一般选用“硬件优先”准则,即在只大略估量软件使命需求的情况下,首要进行硬件规划与完结。然后,在此硬件渠道上再进行软件规划。因此很难到达充沛运用软硬件资源,获得最佳功用的效果。一起,一旦需求对规划进行修改时,整个规划流程将从头进行,这对本钱和规划周期的影响很大。这种传统的规划办法只能改进软件/硬件各自的功用,在有限的规划空间不行能对体系做出较好的功用归纳优化,在很大程度上依靠
于规划者的经历和重复试验。
上世纪90年代以来,跟着电子体系功用的日益强壮和微型化,硬件和软件也不再是截然分隔的两个概念,而是严密结合、相互影响的。因此呈现了软硬件协同(codesign)规划办法,即运用一致的办法和东西对软件和硬件进行描绘、归纳和验证。在体系方针要求的指导下,通过归纳剖析体系软硬件功用及现有资源,协同规划软硬件体系结构,以最大极限地开掘体系软硬件才能,防止因为独立规划软硬件体系结构而带来的种种弊端,得到高功用低价值的优化规划方案。
二嵌入式体系的开展趋势
在网络、通讯、微电子开展的基础上,以及势不行挡的数字化信息产品的强壮需求推进下,嵌入式技能具有宽广的开展立异空间。
(1)低功耗、高功用、高可靠性的体系需求对我国芯片规划是一个机会。以嵌入式处理器为领头的国产CPU、片上体系(SoC)、片上网络体系(NoC)将有很大的开展。
(2)Linux正逐渐成为嵌入式操作体系的干流;J2ME技能也将对嵌入式软件的开展发生深远影响。现在自在软件技能备受喜爱,并对软件技能的开展发生了巨大的推进效果。嵌入式操作体系内核不只需求具有微型化、高实时性等基本特征,还将向高可信性、自习惯性、构件组件化方向开展;支撑开发环境将愈加集成化、自动化、人性化;体系软件对无线通讯和能源办理的功用支撑将日益重要。近几年来,为使嵌入式设备更有效地支撑Web服务而开发的操作体系不断推出。这种操作体系在体系结构上选用面向构件、中间件技能,为运用软件乃至硬件的动态加载供给支撑,即所谓的“即插即用”,在战胜以往的嵌入式操作体系的局限性方面显示出显着的优势。
(3)Java虚拟机与嵌入式Java将成为开发嵌入式体系的有力东西。嵌入式体系的多媒体化将变成实践。它在网络环境中的运用已是不行抵抗的潮流,并将占据网络接入设备的主导地位。
(4)嵌入式体系与人工智能、模式辨认技能的结合,将开宣布各种更具人性化、智能化的实践体系。智能手机、数字电视,以及轿车电子的嵌入式运用,是这次机会中的切入点。随同网络技能、网格核算的开展,以嵌入式移动设备为中心的“无所不在的核算”将成为实践。
三嵌入式体系在机器人技能中的运用
不论是在工业操控中,仍是在商业范畴里,机器人技能都得到了广泛的运用。从用于出产加工的传统工业机器人到丰厚群众日子的现代文娱机器人,都与嵌入式体系密不行分。现有的大多数机器人,都选用单片机作为操控单元,以8位和16位最为常见,其处理速度较低,没有操作体系,无法完结丰厚的多使命功用,体系的潜力没有得到充沛的开掘和运用。
根据ARM9的机器人视觉体系的方针是在选定好的S3C2410渠道上移植并装备Linux操作体系,针对渠道和运用的特色,制造适宜的文件体系,为机器人视觉体系构建安稳的软硬件开发环境。其次编写运用程序,通过S3C2410渠道,从USB摄像头实时收集图画,并运用这款嵌入式处理器的强壮运算才能,对图画进行后期的处理,完结方针辨认与定位,作为机器人动作单元的输入。终究针对机器人关节所运用的电机,编写特定的设备驱动程序,保证操作体系可精确地操控机器人动作,呼应视觉处理的成果,开发一套完好的“机器人视觉体系”。
1。硬件渠道的选型和树立
机器人体系如图1所示。全身由24个舵机组成,操控24个关节。通过对舵机的操控,可完结机器人的动作。
(1)视觉体系
选用USB摄像头作为视觉收集器材。其长处是接口通用,驱动丰厚,传输速率快。一起,Linux操作体系关于USB设备的支撑较好,便利了运用程序的编写和调试。网眼(WebEye)v2000摄像头,选用了ov511芯片(Linux源代码中有相应的驱动程序),适宜用于开发。
这儿选用高端的32位嵌入式微处理器:根据ARM体系结构的S3C2410芯片(由三星公司出产),其主频为200MHz。它供给了丰厚的内部设备:分隔的16kB指令Cache和16kB数据Cache、MMU虚拟存储器办理、LCD操控器、支撑NANDFlash体系引导、体系办理器、3通道UART、4通道DMA、4通道PWM定时器、I/O端口、RTC、8通道10位ADC和触摸屏接口、IIC-BUS接口、USB主机、USB设备、SD主卡和MMC卡接口、2通道的SPI以及内部PLL时钟倍频器。S3C2410选用了ARM920T内核,0。18μm工艺的CMOS规范宏单元和存储器单元。
(2)硬件渠道组成
见图2,一块中心母板,装备CPU、16MB的NORFlash、64MB的NANDFlash、32MB的SDRAM,并设置体系从NANDFlash发动;一块外设电路板,担任体系和外设器材的衔接,布设有2个USB接口、1个UART口、24个3针插座(用于操控机器人的关节)以及电源接口等。中心母板与外设电路板通过内存插槽进行衔接。
分隔规划的优点有:晋级中心母板可完结体系处理才能的进步;而替换外设电路则可习惯不同的运用。这样就大大节省了硬件本钱,关于开发和调试也是十分有利的。一起,中心母板自身便是一个最小体系,在嵌入式体系规划中,保证最小体系的可靠性是开发的第一步。
调试中心母板以及外设电路至作业正常。保证开发板与PC机通讯(运用Windows下的超级终端东西,通过串口线衔接开发板与PC机)。
2。软件渠道的构建和装备
现在,越来越多的嵌入式体系选用了Linux作为操作体系。Linux功用强壮,运转安稳,驱动完全,装备灵敏,内核紧凑,历来就与嵌入式体系有密不行分的联系。Linux内核版别许多,其间2。4系列比较老练,在嵌入式渠道中运用广泛,资料完全。这儿运用Linux-2。4。18-rmk7-pxa1版别。
a。装备开发板软件环境
将体系引导程序(俗称bootloader,其功用相当于PC机中的BIOS)烧写进入S3C2410中心母板。这儿选用了三星公司引荐的vivi程序。通过对vivi中参数的设置,完结对Flash的分区。
b。装备、编译、下载内核
(1)下载源代码,在PC端树立穿插编译环境;armv4l-unknown-linux-gcc能够将Linux内核编译为适用于ARM体系结构的二进制代码;
(2)装备内核:运用makemenu-config指令,将USB设备支撑、USB摄像头驱动(针对OV511芯片)、NANDFlash驱动,以及挂载嵌入式文件体系所需求的驱动程序静态编译到内核中;
(3)编译内核:运用穿插编译东西,将源代码编译为可履行二进制内核镜像,生成文件zImage;
(4)下载内核:将zImage通过串口线,运用vivi的数据烧写功用,下载到Flash的内核分区中(kernel);
c。制造文件体系
嵌入式体系中常见的文件体系有CRAMFS、JFFS、JFFS2、YAFFS等。考虑到实践的需求,这儿选用了CRAMFS。在内核装备时对CRAMFS的驱动代码进行静态编译,而且运用mkcramfs东西制造通过细心裁剪的文件体系映像,运用vivi的烧写指令下载到Flash的root分区。终究的文件体系映像小于3MB,这是由嵌入式体系较为严重的存储资源决议的。
发动体系,通过PC机的超级终端,可看到发动信息:包含内核的版别、Flash分区表、穿插编译器的版别,以及内核中静态编译的组件等。
3。驱动程序的编写和运用程序的开发
视觉功用的终究完结,首要需求为机器人的关节电机编写驱动程序,使操作体系可完结对机器人动作的操控,作为对视觉成果的呼应。视觉绝非终究意图,而是机器人获取信息的一种途径,其底子意图在于为机器人的动作、行为供给战略或数据支撑。单纯的视觉并没有意义。
机器人全身的关节均为舵机。舵机结构简略,操控便利,外部只要3个引脚:电源、地、PWM信号。对舵机的操控实践上便是要发生频率、脉宽适宜的PWM波。
S3C2410芯片内部集成4个PWM发生单元。驱动程序运用其间的一个作为机器人头部电机的操控信号源,通过改写寄存器的值,改动频率和占空比,发生希望的PWM波。
将驱动程序穿插编译为模块,在体系发动后动态地刺进内核中。模块加载前独立于内核,便利了驱动程序的调试。编写简略的测验程序,供认关节电机能够正常作业。
这儿为机器人视觉体系树立了一个实践的运用场景:活动的方针小球在布景中运动,希望机器人能够辨认方针并对其定位,终究操控头部跟从方针运动(如同机器人在盯着活动方针调查相同)。
机器人视觉处理程序的首要功用为:
(1)从USB摄像头实时读取视频数据,进行简略的预处理;
(2)随后进行图画处理,首要完结空域的图画增强。通过对图画进行二值化,将方针小球从布景中提取出来;
(3)核算方针的方位,从而核算出机器人头部的旋转视点,通过舵机驱动程序,操控机器人头部转动到方针地点视点,完结对方针物体的盯梢。
通过试验,机器人头部可较好地盯梢方针,完结了视觉原型体系。
4。拓展性作业
机器人视觉体系的开发仅仅嵌入式体系在机器人范畴中运用的一个方面。事实上,还有许多值得咱们持续去完结的子体系,比如语音体系(语音辨认、语音输出)、行走操控(规划算法,完结平稳的行走)、网络体系(未来的机器人将不再会是独立的个别,多机器人的协同作业是必定的趋势;一起,机器人同其他设备的衔接需求也越来越火急)等等。应当供认,尽管现在的嵌入式处理器现已具有了比较强壮的功用,可是受功耗、体积、本钱要素的约束,在实时视频(音频)处理、多媒体协同核算等方面,其速度依然无法满意需求;所以,更微弱的嵌入式处理器也是将来在为机器人挑选操控单元时的重要考虑要素。
四嵌入式体系的远景
从本文所述的机器人视觉体系中就可看出嵌入式体系的强壮功用与宽广运用范畴。在当今数字信息和网络技能高速开展的后PC(Post-PC)年代,嵌入式体系已被广泛运用于移动核算渠道(PDA、掌上核算机)、信息家电(数字电视、机顶盒、网络设备)、无线通讯设备(智能手机、股票接纳设备)、工业/商业操控(智能工控设备、POS/ATM机)、电子商务渠道、乃至军事运用等许多范畴,其远景无疑是令人十分达观的。