单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8240|回复: 0
打印 上一主题 下一主题
收起左侧

我对嵌入式系统领域内的一些东西基本理解

[复制链接]
跳转到指定楼层
楼主
daming 发表于 2014-12-30 22:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
还是抽不出时间静下心来写一篇技术方面的东西,总不能让空间闲得发霉,今天就找点儿话题“嵌入式系统”闲扯几句。
由于目前我也只是一个菜鸟,对专业知识的掌握还不够完善。加上本人的语文水平很烂(自打上学那会儿,语文成绩一直是处于及格水平),写起文章来措辞用句不免有些错误,所以,还请“大虾”们不要扔板砖,觉得文章不错的话,就顺便顶一个哈。。。
什么是“嵌入式系统”?这个问题看上去很模糊,很抽象,很难回答。对,没错,它就是一个比较抽象的没有一个统一标准定义的事物。从字面意思上看上去有2个内容构成,即“嵌入式”和“系统”。“系统”给人的第一感觉应该是一个很大的东西。其实,在嵌入式系统领域内,它可以很大,也可以很小。而“嵌入式”从字面意思理解貌似是嵌入到某个东西里面。对,它就是嵌入到一个设备或装备里面的。一般的定义就是:用于控制、监视或者辅助操作机器和设备的装置。这样,我们就可以理解“嵌入式系统”就是一个用来控制、监视或者辅助操作的一个系统。当然,它包括软件系统和硬件系统。目前,国内普遍认同的嵌入式系统的定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等等严格要求的专用计算机系统。呵呵,说了这么一大溜,都是废话。说白了,嵌入式系统就是一个计算机系统,只不过跟我们日常生活中所用的计算机系统不一样罢了。它的软硬件要远比通用计算机系统小,可是它对稳定性和可靠性的要求却远比通用计算机系统高。举个例子,你的通用计算机系统容易中病毒,而嵌入式系统就没有中毒的现象,它的可靠性是非常高的。硬件方面,它也有如同我们日常生活中所用的计算机里面的CPU,只不过这种CPU的性能不如通用计算机里面的CPU性能高而已。软件方面,它可以没有操作系统,也可以搭载操作系统。程序源代码一般都是用C语言编写的,包括操作系统的源代码。
在当代生活中,嵌入式系统的应用越来越多。可以说,从你出生的那一刻起,到你生命的最后一刻,嵌入式系统无时无刻不都在你的身边并且深深地影响着你的生活。例如,你打电话使用的iPhone,你玩游戏使用的iPAD,你看电视节目使用的电视机数字机顶盒和电视机,你上网使用的路由器或者Modem,你出门所驾驶和乘坐的交通工具,你烹饪时所使用的电磁炉和微波炉,你生活中使用的洗衣机、空调、冰箱等等,还有工厂里面自动化生产的机器设备以及医院里面的医疗仪等等等等。可以说,你所看到的任何事物都是嵌入式系统应用的典型代表。所以说,嵌入式系统无时无刻不影响并改善你的生活,就像我的QQ签名所说的一样:嵌入式,让生活更美好。。。
在嵌入式系统里面,我不得不表一表一个极其重要的成员,它就是“单片机”。单片机是啥玩意儿,其实也就是块芯片而已。我从2009年第一次接触单片机,至今已经快4年了。通常我们大家都有1个模糊的概念,都会问:“单片机系统是不是嵌入式系统呢?”Of Course!!!只不过呢,我们现在把它看成一个低端的嵌入式系统。(不过现在ARM内核的32位单片机可已经不低端了哦!真要是和一般的ARM9火拼起来,鹿死谁手还说不定呢!这些高端的单片机干起活来,那也是岗岗滴。。。)所以可以这么说,单片机系统一定是属于嵌入式系统,但是嵌入式系统不一定指单片机系统。高端的嵌入式系统一般指的是像“ARM+Linux”这样结构的系统,它侧重在软件上面搭载操作系统,在操作系统上面还搭载一些应用程序。这样,整个系统设备运行更可靠更智能化。说了这么多,似乎有点抽象。举个例子你就明白了。你买了一款智能手机,像现在的智能手机里面一般都会搭载Android操作系统,这个便是操作系统层。然后应用程序层就是你的这款手机上安装了像腾讯QQ,搜狗输入法,愤怒的小鸟这些应用软件之类的。这样,你手里拿的便是一个高端的嵌入式系统的典型应用案例。
     嵌入式系统里面还有一个更加重要的成员,它就是“ARM”。“ARM”是什么?它的英语原文意思我想不用我说大家都知道它是“手臂,胳膊”的意思。在嵌入式系统里,它是英国的一家电子半导体微处理器的著名企业,公司总部在英国剑桥。ARM公司是专门从事基于RISC技术芯片设计开发的公司,它只作为知识产权的供应商,本身却不直接从事芯片的生产,靠转让设计许可由各家半导体设计公司设计各具自身特色的处理器芯片。目前,世界上各大著名的半导体生产厂商已经从ARM公司购买了其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成了自己的ARM微处理器芯片进入市场。目前,世界著名的半导体厂商ATMEL,NXP,TI,FREESCALE,ST都有了自己的ARM微处理器,其市场呈现出“百花齐放,百家争鸣”的状态。
     那么,ARM微处理器有哪些种类呢?其实,按照ARM内核来分,原来ARM公司走的路线是这样的:最开始,ARM公司设计的ARM7内核是当时主流的嵌入式处理器,该内核是三级流水线和冯·诺依曼架构,我们大家常用的51单片机也是冯·诺依曼架构,好有亲切感,哈哈哈。。。因为其处理速度只有0.9MIPS/MHz,处理能力非常有限,后来就诞生了ARM9。该内核是5级流水线,提供1.1MIPS/MHz的哈佛总线架构,其处理性能明显大大提升。ARM9主要包括ARM9TDMI和ARM9EJ-S等内核,而ARM7内核典型代表就是ARM7TDMI。其实ARM9不仅仅是在处理性能上面比ARM7上一个档次,更重要的是其内部硬件比ARM7更加复杂,支持更多一种指令集技术。最最重要的一点,从ARM9开始,其微处理器开始能够支持加载大型的操作系统,如LINUX,Windows CE,Vxworks,Android等等,这4中操作系统是当今嵌入式领域内最为欢迎的几种。首先,Linux是一种自由和开放源码的类Unix操作系统,其最大的特点就是源码开放,所以它是目前在搞嵌入式技术开发的工程师们当中很受欢迎的一种操作系统。Windows CE操作系统是微软公司的,它很变态,源码不开放,这的确让人很蛋疼,使得想学习它的人可能比较困难。但是,它为什么还有如此好的市场空间呢?为什么还能在如此众多实时操作系统的市场上站住脚呢?其实很简单,原因就在于它的一个特色和靓点:界面非常友好。。。它提供了非常友好的图形化界面,就如同我们日常生活所用的电脑一样,操作简单。就凭这一点,它就能称霸一方,呵呵。。。其实,Windows CE操作系统很像我们以前使用的Windows 98操作系统一样,大家想想就应该知道了。就是因为这一点,Windows CE操作系统在目前汽车电子领域内应用的最多,最主要的就是汽车的车载导航系统。
         等下,喝口水,嘴巴都讲干了呵呵。。。接下来,我们聊一聊Vxworks。这款嵌入式实时操作系统在民用领域比较少。它是美国温瑞尓公司于1983年设计开发的。其良好的可靠性和实时性被广泛的应用在军事,航空,航天等高精尖技术及实时性要求极高的领域中,如卫星通讯,军事演习,弹道制导,飞机导航等等。Android是一种以Linux为基础的开放源码的操作系统,主要用在便携式设备上。如目前在智能手机和平板电脑上使用的最为广泛,当然,其也可以使用在嵌入式平台上面。目前尚没有统一的中文名称,在中国大陆普遍称为“安卓”,“安致”。它是由谷歌于2008年9月份开发的,最主要的应用领域还是在消费领域内电子设备上面。
         以上废话了许多,主要讲了一下在嵌入式开发上面的一些操作系统,有点跑题哈。。。
有了ARM9以后,在一般的应用场合都能够胜任,都能见到它的身影。然而,在消费类领域特别是在音视频处理领域内,ARM9还是不能很好的胜任它的。如果要用一款ARM9来播放一端视频文件,它会卡死极其严重,数据吞吐量完全吃不消。所以,就在这种背景下,ARM公司后来又开发出了ARM11内核。ARM11系列主要有ARM1136J,ARM1156T2和ARM1176JZ三种内核型号,分别针对不同的领域。ARM11是基于ARMv6架构的专门为新一代消费类电子、无线设备、网络应用和汽车电子产品需求而制定的。ARM11的媒体处理能力和低功耗特点,特别适用于无线和消费类电子产品。大家都有这样的一种经历,平常用手机的时候,非常希望自己的手机待机或者续航能力持久,然而往往却很难达到要求。其实,这就是要求电子产品和设备的低功耗能力要超强。并且,ARM11的高数据吞吐量和高性能的结合非常适合网络处理应用。
         按照ARM公司以往走得路线来看,ARM11时代过了以后,ARM公司应该继续开发出ARM13,ARM15甚至更高的处理器内核。但是,ARM公司从ARM11以后就没有走原来的路线了。据有些人说,ARM公司毕竟是西方国家的,13这个数字对西方国家来说是个很不好的数字,就如中国人不喜欢4这个数字一样。所以,后来ARM公司开发出了新的内核,它有3种,分别如下:ARM Cortex-A系列,ARM Cortex-R系列,ARM Cortex-M系列。很有意思的是,这三个系列正好拼在一起就是“ARM”,哈哈,有意思吧。。。
   其中,A是英文Application的缩写,它是应用的意思,意思就是ARM Cortex-A系列的处理器目标市场就是高端设备的应用场合,如现在的很多手机,平板电脑就是该系列的处理器,像苹果的iPhone就是A5处理器啊。R是英文Realtime的缩写,它是实时的意思,意思就是ARM Cortex-R系列的处理器目标市场就是一些对实时性能要求较高的场合,如军事,航空,航天领域最为典型。M是英文Microcontroller的缩写,它是微控制器的意思,也就是单片机,哈哈,我们大家都很熟悉并且津津乐道的玩意儿。对,ARM Cortex-M系列目标市场就是单片机市场,不用多说,你懂的。。。嘿嘿。。。
         现在,常常有些朋友总是问道我这样的问题:你用的ARM到底是ARM9还是ARM11啊?你用ARM9干嘛不用ARM11啊?每当被问及这个问题,我只能很无语,我不知所云。大家伙总是一味的追求高端,总是以为追求高端就很NB,其实大错特错。并且,大家伙貌似对ARM的认识和了解也就只知道ARM9和AMR11,却不知道还有其它系列就妄下结论选型,这点我不得不一笑回之。要知道,在嵌入式技术开发这一领域内,对设备的稳定性,可靠性和成本有着极其苛刻的要求。对于一个低端的应用,你硬是搞个非常高端的芯片来使用,那纯属是浪费,就如你杀鸡硬是用宰牛刀一样,典型的就是2B一个。。。
         目前,我正在使用的是飞思卡尔半导体公司于2011年下半年刚推出的一款基于ARM Cortex-M4内核的微控制器。这款芯片功能非常强大,也是目前M系列内最新的一款控制器,资料较少,上手难度较大。但我相信,这款芯片在未来肯定有非常大的市场前景,I Belive In。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 转播转播 分享分享1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表