当前位置:首页 > 概念
  • 颠覆or传承 未来汽车从“概念”变为现实

    颠覆or传承 未来汽车从“概念”变为现实

    如果说往届车展上的概念车仅仅是各家车企对研发实力的“炫耀”,那么本届北京车展已从“概念”变为现实。从极具科技感的乐视LeSEE概念车到上汽与阿里合 作的首款互联网车型荣威RX5,从全车身碳纤维的电动超跑前途K50到续航里程可达200km的电动SUV长江逸酷……这些代表着未来发展潮流和技术方向 的车型,从亮相即给出了量产时间表。 一切都表明,随着互联网巨头对汽车领域的渗透及传统车企创新能力的提升,在颠覆与传承中,未来已触手可及。 互联网汽车试水 曾 被外界称为“PPT造车”的乐视,在本届车展终于亮出了乐视超级汽车LeSEE的全貌。这款有着像鲶鱼大嘴一样前脸的概念车,表情极为丰富,车体颜色伴随 视角转变在蓝白之间过渡。LeSEE的方向盘可以像花瓣一样开合,方向盘更可以隐藏在前壁板下;车内四个屏幕可同时播放体育比赛、电影、音乐会等节目。诞 生于互联网基因下的LeSEE,将这一优势展现得淋漓尽致。 至于量产车推出的时间,乐视超级汽车联合创始人丁磊表示:“目前已有时间计划 表,可以肯定的是,会比大家预期得更快。”据悉,目前乐视汽车95%的大型部件配套供应商已定,有些供应商还在优化中,这些供应商中的80%都在中国有合 资企业、运营基地,由此看乐视汽车在中国国产化已不是问题。“此次展出的LeSEE概念车代表了乐视设计理念和技术的高峰,并不是一般意义的概念车,而是 有技术路线的概念车,体现了乐视对未来智能交通、生态交通的追求。”丁磊补充道。据其介绍,这款概念车是与工程开发平行进行的,很多功能和设计都会在量产 车上实现,目前量产车也在同步开发,并且已经到了工程样车的阶段。在设计定型后,工程车将完全符合量产车要求。 比乐视概念车更快一步,上汽 集团与阿里巴巴历时两年打造的“全球首款量产互联网汽车”荣威RX5也在车展上揭开了神秘面纱。这款车搭载了阿里巴巴的YunOS操作系统,将结合车主的 个人习惯,整合线上线下资源,提供智慧出行服务方案。与乐视LeSEE不同,上汽与阿里的合作成果目前已经走到量产阶段,并将搭载传统动力、插电式混合动 力以及纯电动3种动力系统。 传统模式突围 毫无疑问,互联网造车的速度已经远远超过传统车企,大量使用的计算机模拟技术让其占尽先机。但依靠多年技术积累、延续传统造车模式的一些新兴车企,同样展示出了其不可替代的优势。本届车展,以造电动车为主的前途汽车、长江汽车等,首次参展即引来众多关注。 在 前途汽车展台,带有“蜻蜓”车标的银色敞篷电动超跑独立于舞台中央,乍一看大可与一线跑车相媲美。据工作人员介绍,该车全车身均为碳纤维制造,轻量化是该 车的最大特点,其续航里程可达到300km。“前途汽车是一个全新的品牌,但它的底蕴来自于过去20年、30年,甚至更长的时间。”据前途汽车董事长陆群 介绍,其研发设计团队均有着在汽车行业长时间的从业背景,其本人更是在汽车行业里摸爬滚打了30年。据悉,该车将于2017年年底上市,同时除前途K50 之外的两款全新车型目前也在开发当中。前途汽车表示,未来或不会采用传统的4S店销售模式,而是采用互联网时代的销售方式,不过具体的销售模式并未透露。 和 前途汽车一样,长江汽车也遵循着厚积薄发的发展路线,并严格遵循着正向开发的思路,在本届车展展出了两款商务用车和公务用车及一款小型电动SUV逸酷。长 江汽车公司董事长曹忠表示:“长江汽车的产品都是从0开始正向开发的,中国的汽车产品多数是逆向开发,正向开发我们就必须把核心的零部件这些都要研发出 来。”资料显示,长江汽车作为国内新能源汽车产业崭露头角的新兴企业,是目前国内规模最大、生产设备最先进、产品品类最齐全的专业电动汽车生产企业,其按 照电动汽车的特点全新建设的年产10万辆纯电动客车和纯电动乘用车的生产线4月刚刚宣布下线投产。 不管是互联网造车的速度,还是传统造车的深度,都表达着各自对未来汽车的美好构想。也许当两种思维得以完美结合的时候,未来就已真正到来。

    时间:2016-05-03 关键词: 概念 现实 未来汽车

  • 单片机初学者不好掌握的概念

    一、总线:  我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中 ,连连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各 器件之间的工作必须相互协调?所以就需要的连线就很多了,如果仍如同模拟电路一样 ,在各微处理器和各器件间单独连线线,则线的数量将多得惊人,所以在微处理机中引 入了总线的概念,各个器件共同享用连线,所有器件的8 根数据线全部接到8根公用的线 上,即相当于各个器件并联起来,但仅这样还不行,如果有两?器件同时送出数据,一 个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是是不允许的,所以 要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有 多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称 控制 总线。   在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配 地址,才能 用,分配地址当?也是以电信号的形?给出的,由于存储单元比较多,所以 ,用于地址分的线也较多,这些线被称为地址总线。   二、数据、地址、指令:  之所以将这三者放在一起,是因为这三者的本质都是一样的─数字,或者说都是?串‘0'和‘1'组成的序列。换言之,地址、指令也都是数据 。指令由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的 一一对应关,不可以由 单片机的开发者更改。地址:是寻找单片机内部、外部的存储 单元、输入输出口的依据,内 单元的地址值已由芯?设计者规定好,不可更改,外部的 单元可以由单片机开发者自行决,但有一些地址单元是一定要有的(详见程序的执行过 程)。数据:这是由微处理机处理的 象,在各种 不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况: 1地址(如mov dptr,#1000h),即地址1000h送入dptr。 2方式字或控制字(如 mov tmod,#3),3即是控制字。 3常数(如mov th0,#10h)10h即定时常数。4实际输出值(如p1口接彩灯,要灯全亮,则执行指令:mov p1,#0ffh,要灯全暗, 则执 兄 令:mov p1,#00h)这里0ffh和00h都是实际输出值。又如用于led的字形码,也是实 际?出的值。 理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指 令来 行了。   三、 p0口、p2口和p3的第二功能用法  初学时往往对p0口、p2口和p3口的第二功能用法迷惑不解,认为第二功能和原功能之间 要有个切换的过程,或者说要有一条指令,事实?,各端口的第二功能完全是自动?,不需要?指令来转换。如p3.6、p3.7分别是wr、rd信号,当微片理机外接ram或有外部i/o口 时,它们挥作第二功能,不能作为通用i/o口使用,只要一微处理机一执行到movx指令,就会有相应的信号从 p3. 或p3.7送出,不需要事先用指令说明。事实上‘不能作为通用i/o口使用'也并不是‘不能?而是(使用者)‘不会'将其作为通用i/o口使用。你完全可以在指令中按排一条s etb p3.7的指令,并且当单片机执行到这条指令时,也会使p3.7变为高电平,但使用者不会 这么做,因为这通常这会导致系统当溃(即死机)。  欲知详情,请登录维库电子市场网(

    时间:2019-03-19 关键词: 概念 单片机 初学者 嵌入式处理器 不好

  • 英特尔“摇滚明星”展示未来研究概念和项目

    今天,由英特尔公司举办的2009年英特尔研究日拉开帷幕,向世界展示了未来技术的发展趋势。本次英特尔研究日通过环保技术、3D互联网、企业IT和无线移动等四大技术展区展示了近40项前瞻性研究项目和概念。英特尔还向公众开放了一个测试版网站,用户在网站上可以查询到所提交内容的正反两面观点,从而帮助人们了解同一事物的多面性,分辨实情,免受不实信息的迷惑。  现场还有两位英特尔研究人员出席了本次英特尔研究日:计算机与外围设备的连接标准USB的联合发明人安杰·巴特(Ajay Bhatt)以及无线电源和机器人研究的先锋人物乔舒·史密斯(Joshua Smith)。两人的形象都出现在英特尔公司的新广告“不同的巨星,同样的闪耀”中, 这也是“英特尔,与你共创明天”的全球市场推广活动的一部分。  英特尔首席技术官贾斯汀(Justin Rattner)在研究日上表示:“我衷心希望通过英特尔研究日能让与会者有机会与英特尔研究院( )里的“摇滚明星们”进行深入的交流。今天英特尔研究人员在实验室里所做的工作将会从根本上改变未来的计算和通信,让人们能够享受到更加高效、便捷且能耗更低的计算体验,从而对人们未来的工作和生活方式产生深远的影响。”  作为英特尔高级院士、公司副总裁兼研究院总监,贾斯汀还介绍了近期英特尔对研究项目和重点领域所做的调整,从而让英特尔的研究更好的契合公司在移动、视觉计算和片上系统设计等方面的整体发展愿景。重新整合的英特尔研究院也将致力于在这些领域内寻找技术创新的机会,带来突破性的研究成果。今年的研究日还展示了一系列涉及移动设备能效、浸入式互联体验、移动和企业IT等领域的创新技术。凌动TM处理器驱动未来MID和智能手机,采用英特尔研究新技术。  去年的英特尔研究日首次展示了平台电源管理(PPM)研究项目。该技术也是针对MID的下一代凌动TM处理器平台Moorestown的创新电源管理技术之一。在今年的英特尔研究日上,与贾斯汀同台亮相的英特尔院士兼超便携事业部平台架构总监Ticky Thakkar介绍了更多关于平台电源管理技术的进展,目前的技术可以使平台闲置功耗比现在的凌动处理器平台降低50倍,这也意味着可以实现更长的续航时间。  通过能耗降低技术这一全新方式,芯片可以使硬件在降低能耗方面起到重要作用。硬件将会执行操作系统设定的电源政策,实现更快、更精确的电源管理。计算机将可以快速、主动、智能化地降低能耗;对于没有运行的系统组件,如无线设备和I/O子系统,将会自动断电,并保证在需要使用时立即恢复供电,而不影响用户的体验。有朝一日,平台电源管理将惠及从移动互联网设备到高性能服务器等所有英特尔的产品。  争议查询器:你曾受到不实信息的迷惑吗?  如今,“网络”几乎成了“信息”的同义词。网络上的信息大都很有用,但还是存在很多错误、误导性和不公正的信息。争议查询器源自英特尔研究院的一项早期研究成果,旨在帮助互联网用户轻松穿越这个布满矛盾信息的“雷区”。 用户在线阅读新闻、博客或网站时,如果其它信息来源与某一观点是对立的,页面就会突出显示这段文字。点击该段文字,比如“每日一杯酒有利于健康”,就会跳出一个论点图框,显示对立双方观点信息的来源。类似于维基百科,这里的每一项主张和证据都由用户生成,然后放置在网上的醒目位置,任何人都可以提供自己的看法和论据。  互联网的未来:更少文本  随着英特尔芯片在未来从多核扩展到众核,英特尔研究院的研究人员认为过渡到主流并行计算将使未来的互联网提供更加丰富的3D体验,对文本的依赖将会减少,这样人们将可以享受以超逼真3D可视化和自然人机界面为特点的浸入式互联网体验。想象一下,在实际出行之前,通过一个旅行网站你就能看到所有关于旅行目的地,比如纽约的详细信息。除了查看酒店房间的实景,用户还可以查看附近的时代广场、餐馆、剧院,甚至还能虚拟步行路线估算出酒店与这些地方之间的实际距离。  英特尔已通过使用一个名为ScienceSim的工具在科学界率先开始了3D互联网的原型建设。该工具提供了一个公共的网络区域,科学家可以使用这些功能在线创建视觉仿真,提高协作效率。其理念就是通过可视化来推进研究,例如通过海岸线和潮汐模型研究人类活动对其所产生的影响。  创建更加灵活的互联网在通用计算机上运行  互联网的最早设计者们从未预想过互联网会获得如此惊人的发展和成功。结果导致互联网往往依赖高度专业化的网络设备,通过硬编码支持预先设定的数据包路由功能。而新应用程序快速发展的需求则为互联网带来了新的挑战。英特尔研究人员尝试将路由器块作为一种简单而根本的,通过通用计算机而不是专用设备来搭建网络。英特尔展示的设计原型利用基于英特尔?至强TM服务器集群以及开源软件搭建了高速路由器。无需花费数年时间等待专业路由硬件的演进,未来的网络程序员便可使用他们最熟悉的通用计算机平台对新的路由器功能进行经济、快速的编程。

    时间:2019-01-11 关键词: 概念 英特尔 嵌入式处理器 未来 摇滚

  • 计算机操作系统线程的概念

    计算机操作系统线程的概念

      随着软件设计技术的发展,上述以进程为基础的并发技术出现了一系列的问题。其中,主要问题是系统的并发程度过低,系统在进行进程切换时的时间和空间开销过大。究其原因,就是以进程作为分配处理器资源的基本单位显得过于庞大和笨重。于是,就促使人们把程序的运行过程再分割为更小的单位----线程,即把一个进程再分割为多个线程。这样,应用程序在系统中的运行过程就有了两个概念:进程和线程。 一个在操作系统管理下的程序,在内存中既有一个代表进程的进程控制块,也有多个代表线程的线程控制块。当然,这些线程控制块是归属于进程控制块的,这两者之间的关系可参见图。 如果把进程控制块看作一个家庭的档案,那么线程控制块就相当于家庭成员的档案。 操作系统在进行资源的分配时,对于存储空间资源,系统仍然以进程为单位来进行分配,而对于处理器资源则以线程为单位来进行分配。也就是说,同一个进程中的所有线程共享进程的资源,由于线程是基本运行单位,因此在线程控制块中要包含模块代码的指针和代码运行时所需的私有堆栈。 由于线程没有独占的存储空间,所以系统在调度切换线程时,只是考虑如何给线程分配处理器,而无须考虑其他资源的分配,所以调度工作所需的时间开销就小得多。如果把进程看作一个家庭,那么线程就相当于家庭成员。显然,调动一个家庭成员要比调动一个家庭容易得多。 拥有多个线程的进程叫做多线程进程。一个多线程进程的示意图如图所示。 图 多线程进程示意图 综上所述,在多线程操作系统中,进程是系统分配资源的基本单位,而线程是系统调度的基本单位。线程是进程的组成部分,同一个进程中的所有线程共享这个进程所获得的资源。 欢迎转载,信息来源维库电子市场网() ks99  

    时间:2018-10-12 关键词: 操作系统 概念 计算机 嵌入式开发 线程

  • SOM概念为嵌入计算增加多功能性

    advantech期望etx和com express能够成为2006年的明星,它正在进行模块化i/o概念方面的工作,来为超过标准模块连接能力的应用匹配处理器板和预配置解决方案 。   按advantech的说法,因为模块上系统(som)的概念变得广泛接受,模块化系统计算解决方案将在2006年开始快速增长。该公司将som解决方案视为满足产品数量在1000到1万的应用的理想方案。低于此水平,传统的单板计算方案似乎是更加合适的选项;而在高产量应用中,一个定制方案是更加经济的选择。在1000到1万的范围,advantech对计算问题的理想方案是为特定应用设计一个目标板,它包含特定任务要求的基础计算能力之外的功能。然后它以插在系统板上的som来提供计算能力。该公司说,这种方式采用一种易用的格式提供先进的计算能力,因为设计中的关键部分——靠近cpu的部分——已经存在于一个开发完全的稳定状态下。用户还可选择通过更换模块来改变或升级处理器。  advantech的som系列支持的波形因数(form facto rs)包括com express(picmg派生出来的格式)、etx、 pci总线som-144和a200系列模块。后者是一个基于pxa和其他arm9芯片的risc平台,针对移动低功耗应用。advantech试图说服别人尽管最近的报导倾向于将som概念与高性能处理器联系起来,但是它能将任何级别的cpu(按intel的术语)作为主机,从486到pentium-m或xeon。该公司打算提供一个完全的设计包,将“平台”解释为硬件、软件和任何必需的设计服务。分布的设计中心能够访问advantech公司自己的ip资源,该公司内部的原型产品线能够生产一个板级设计中多达30个样品,从设计到交货的目标时间为两个月。  advantech期望etx和com express能够成为2006年的明星,它正在进行模块化i/o概念方面的工作,来为要求超过标准模块提供的连接能力的应用匹配处理器板和预配置解决方案。

    时间:2019-04-08 关键词: 概念 多功能 嵌入式开发 som

  • 计算机操作系统进程的概念

    资源分配得合理与否是与需要获得资源的对象直接相关的。这就像一个旅游宾馆在对客房的分配一样,是以旅游团作为分配客房的对象.还是把旅游者作为分配客房的对象,其分配结果和客房的利用率显然是大不一样的。所以,为了对计算机的资源进行合理的分配,就必须先明确在计算机系统中究竟是哪些对象需要使用这些资源。  在计算机系统中,为了分配资源,人们引进了“进程”这个最基本、最重要的概念。在操作系统中,进程是享用系统资源的对象,是资源分配的基本单位。  为了提高处理器的利用率,可以像下图所描述的那样使程序并发执行。乍看起来,系统似乎是以参与并发执行的程序为对象来分配处理器这个资源的,或者说是系统以程序为资源分配单位的。其实不然.既然程序可以并发运行,那么就是说,在计算机中可能同时存在着同一个程序的两个甚至多个运行。例如,某人正在用word修改一个文挡,那么极有可能又打开了另外一个word文挡作为参考,这就是说,现在同时有两个word在同时运行。因此,系 统只给一个word分配资源是不行的。  如果需要使用处理器资源的不是程序,那么是什么呢?仔细分析一下就会知道,程序只是 一段可执行代码,它需要的是存储空间而不是处理器的时间,只有当程序运行时才会需要占用 处理器时间。这也就是说,需要占用处理器的是程序的一次运行过程,而不是程序本身。打个比方来说,程序就像一本书,这本书放在桌子上是不会占用读者的时间资源的,只有这本书被阅读时,才会占用读者的时间。更准确地说,占用读者时间的是这个读书的过程。因此,在计算机中,程序的一次运行过程才应该是处理器资源分配的基本单位。为了方便,人们把程序的 一次运行过程就叫做进程。  同样,就像一个读书过程肯定对应着一本书,但同一本书可能有多个读书的过程一样,系统中的一个进程肯定对应着一个程序,但同一个程序可以有多个进程。所以要切记,进程和程 序是相关的,但并不是一回事。  由于并发活动的复杂性,到目前为止,各个操作系统对进程的定义尚未统一。有的操作系 统把进程叫做任务,也有的操作系统把它叫做活动。在国内,一般把进程理解为:“可并发执 行且具有独立功能的程序在一个数据集合上的运行过程,它是操作系统进行资源分配和保护 的基本单位”。这句话首先强调了进程是一个程序运行的动态过程,而且该程序必须具有并发 运行的程序结构;其次强调了这个运行过程必须依赖一个数据集合而独立运行,从而形成了系统中的一个单位。它具有动态性、并发性、独立性、异步性和结构性五大特性。  ●所谓动态性,是指进程是程序的一次活动,程序是进程活动的蓝本,而进程活动是程序的一次运行过程。进程和程序之间的关系,就像话剧和剧本的关系一样;剧本是一场话剧的蓝本,而话剧则是剧本的一次实现;要占用剧场这个资源的是话剧,而不是剧本。一个进程也像一场话剧一样,有诞生(开幕)、运行(表演)、消亡(闭幕)的过程。  ●所谓并发性,是指在一个系统内可以同时存在多个进程,它们交替使用处理器这个资源,并各自按照自己独立的进度推进。  ●所谓异步性,是指进程之间在交替使用计算机资源时没有强制的顺序。因此,在多个进程使用一些共享资源时,为了防止共享资源被破坏,计算机与其操作系统应提供保证进程之间能协调工作的硬件和软件机制。  ●所谓独立性,是指进程在系统中是一个可独立运行的并具有独立功能的基本单位,也是系统分配资源和进行调度的独立单位。  ●所谓结构性,是指为了记录、描述、跟踪进程运行时的状态变化以便对进程进行控制,由系统建立的一套数据结构。系统中的每个进程都有对应的数据结构及其数据表项。  系统正是根据这些数据来感知进程的存在的,而程序也正是通过这些数据结构不停地 循环交替更新而活动的。  上面以处理器资源的分配介绍了进程这个重要的基本概念。其实,系统中其他资源的分配也是以进程为基本单位的。  欢迎转载,信息来源维库电子市场网()

    时间:2019-01-25 关键词: 操作系统 概念 进程 计算机 嵌入式开发

  • 美科学家开发“量子硬盘”概念认证 美科学家开发“量子硬盘”概念认证

    美国加州理工学院( Institute of ,Caltech)已经证实,量子缠结(quantum entanglement)能同步传递整个量子信息区块(),为将来的“量子硬盘(quantum HD)”提供了概念验证。 加州理工学院的研究团队表示,他们所发明的元件可说是量子硬盘的“先驱”;这种量子硬盘透过以缠结进行存取的光学存储器,将挑战传统的储存技术。研究团队成功将4个量子存储器的状态转译为光学讯号,然后再还原;研究人员表示,其原则可以扩展到未来量子硬盘任何数量的存入/读出平行传输。 “我们已经证实,与4个量子通道交谈的4个量子存储器,能藉由电磁透明(electromagnetic transparency)被有条理地吸收,也就是将光线速度降低至0以进行储存。”加州理工大学博士候选人Kyung Soo Cho 表示。电磁诱发透明(Electromagnetically-induced transparency)是一种有条理的光学非线性(nonlinearity),以一种透明介质呈现,能让量子态光线编码被停止在量子存储器元件中。 加州理工学院的缠结技术是利用雷射来将4个量子存储器冷却──每个量子存储器是由100万颗铯(cesium)原子组成,彼此间以磁性隔离约1毫米(millimeter);量子存储器自旋中的每个原子的磁自旋往上或是往下,会集体性描述代表一整个系集(ensemble)的自旋波(spin-wave)。藉由以激光束编码同步辐射量子存储器,4个量子存储器的自旋波会以同样的方式缠结。 以上被称为“量测诱发缠结(measurement induced entanglement)”的技术,是加州理工学院在5年前首创,但只能适用两个系集;现在该校研究人员已经理论性证实,这种技术能够被扩充到任何数量的节点。 加州理工学院的研究团队也将各个节点之间的缠结量子态之衰退(decay)特征化,展示了该种从复杂量子态衰退为经典存储器数值(classical values)的系统衰退,是他们所声称的、符合可预期、可重复的原则。 接下来,该团队将研究适用量子磁性存储器内缠结自旋波的缠结衰退动力学;他们也希望能扩充量子计量学(metrology)的适用范围,透过对一般来说较脆弱的量子存储器状态的量测,让量子态能被产生、储存并传输。

    时间:2018-12-21 关键词: 概念 科学家 硬盘 嵌入式开发 量子

  • 串口通讯的概念及接口电路介绍

    随着计算机系统的应用和微机网络的发展,通信功能越来越显的重要。这里所说的通信是只计算机与外界的信息交换。因此,通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换。由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输。对于那些与计算机相距不远的人-机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍。在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU之间的通信一般都是串行方式。所以串行接口是微机应用系统常用的接口。 许多外设和计算机按串行方式进行通信,这里所说的串行方式,是指外设与接口电路之间的信息传送方式,实际上,CPU与接口之间仍按并行方式工作。 1 串行通信的概念   图1 串行通信 所谓"串行通信"是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。如图1-1所示。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。 由于CPU与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有"接收移位寄存器"(串→并)和"发送移位寄存器"(并→串)。典型的串行接口的结构如1-2所示。   图2 典型的串行接口结构图 在数据输入过程中,数据1位1位地从外设进入接口的"接收移位寄存器",当"接收移位寄存器"中已接收完1个字符的各位后,数据就从"接收移位寄存器"进入"数据输入寄存器".CPU从"数据输入寄存器"中读取接收到的字符。(并行读取,即D7~D0同时被读至累加器中)。"接收移位寄存器"的移位速度由"接收时钟"确定。 在数据输出过程中,CPU把要输出的字符(并行地)送入"数据输出寄存器","数据输出寄存器"的内容传输到"发送移位寄存器",然后由"发送移位寄存器"移位,把数据1位1位地送到外设。"发送移位寄存器"的移位速度由"发送时钟"确定。 接口中的"控制寄存器"用来容纳CPU送给此接口的各种控制信息,这些控制信息决定接口的工作方式。 "状态寄存器"的各位称为"状态位",每一个状态位都可以用来指示数据传输过程中的状态或某种错误。例如,用状态寄存器的D5位为"1"表示"数据输出寄存器"空,用D0位表示"数据输入寄存器满",用D2位表示"奇偶检验错"等。

    时间:2015-03-23 关键词: 概念 串口通讯 接口电路 总线与接口

  • 美科学家开发“量子硬盘”概念认证

    美国加州理工学院(California Institute of Technology,Caltech)已经证实,量子缠结(quantum entanglement)能同步传递整个量子信息区块(block),为将来的“量子硬盘(quantum HD)”提供了概念验证。 加州理工学院的研究团队表示,他们所发明的元件可说是量子硬盘的“先驱”;这种量子硬盘透过以缠结进行存取的光学存储器,将挑战传统的储存技术。研究团队成功将4个量子存储器的状态转译为光学讯号,然后再还原;研究人员表示,其原则可以扩展到未来量子硬盘任何数量的存入/读出平行传输。 “我们已经证实,与4个量子通道交谈的4个量子存储器,能藉由电磁透明(electromagnetic transparency)被有条理地吸收,也就是将光线速度降低至0以进行储存。”加州理工大学博士候选人Kyung Soo Cho 表示。电磁诱发透明(Electromagnetically-induced transparency)是一种有条理的光学非线性(nonlinearity),以一种透明介质呈现,能让量子态光线编码被停止在量子存储器元件中。 加州理工学院的缠结技术是利用雷射来将4个量子存储器冷却──每个量子存储器是由100万颗铯(cesium)原子组成,彼此间以磁性隔离约1毫米 (millimeter);量子存储器自旋中的每个原子的磁自旋往上或是往下,会集体性描述代表一整个系集(ensemble)的自旋波(spin- wave)。藉由以激光束编码同步辐射量子存储器,4个量子存储器的自旋波会以同样的方式缠结。 以上被称为“量测诱发缠结(measurement induced entanglement)”的技术,是加州理工学院在5年前首创,但只能适用两个系集;现在该校研究人员已经理论性证实,这种技术能够被扩充到任何数量的节点。 加州理工学院的研究团队也将各个节点之间的缠结量子态之衰退(decay)特征化,展示了该种从复杂量子态衰退为经典存储器数值(classical memory values)的系统衰退,是他们所声称的、符合可预期、可重复的原则。 接下来,该团队将研究适用量子磁性存储器内缠结自旋波的缠结衰退动力学;他们也希望能扩充量子计量学(metrology)的适用范围,透过对一般来说较脆弱的量子存储器状态的量测,让量子态能被产生、储存并传输。

    时间:2014-07-23 关键词: 概念 存储技术 量子硬盘 美科学家

  • 嵌入式开发中的一些硬件相关的概念介绍

    嵌入式开发中的一些硬件相关的概念介绍

    做嵌入式系统开发,经常要接触硬件,需要对数字电路和模拟电路要有一定的了解,这样才能深入的研究下去。那些刚刚接触嵌入式,总觉得很难,其实做什么事情,都要把最基础的知识掌握牢固,才能最终走上大神的道路。下面我们简单地介绍一下嵌入式开发中的一些硬件相关的概念。电平(Level)在数字电路中,分为高电平和低电平,分别用1和0表示。一个数字电路的管脚,总是存在一个电平的,要么高要么低,或者说要么1要到0(其实,还有另一种状态,后面会提到)。总线(Bus)在嵌入式系统中一定会有一块处理器芯片,此外,还有其它的芯片作为外部设备(后面简称外设),这些芯片与处理器协作实现产品的功能。复杂的产品往往是由大量的芯片组成的。那么不可避免的是我们需要将所有的外设与处理器进行相连,最为简单的是将所有的外设都采用独立(注意是独立)的信号线连接至处理器。这样的好处是容易理解,但问题是:不可行。因为处理器芯片需要引出太多的线了,从芯片的生产和产品的生产角度来看都不实际。加之,处理器(在此我们假设处理器是单核的,而不是多核的)处理事务在微观上是串行的,也就是说在某一时刻如果要对外设进行读写操作,那只可能是对大量外设中的一个进行,即多个外设不可能在微观上被处理器同时访问。需要注意的是,这里提出了微观这一概念,这是为了区别于宏观。从宏观上来讲,一个处理器中可以有多个任务同时运行,但这些任务在微观上却是一个一个运行的(后面会用串行来描述这里所说的“一个一个”),多任务的串行运行实现是由操作系统扮演着重要的角色来实现的。回到我们的话题,即然将每个外设采用独立的信号线连到处理器不可行,且处理器在单一时间内只会对一个外设进行访问,那我们能不能采用共享的信号线将所有的芯片连在一起呢?这就是总线概念的由来。通俗的说,如果我们周围有十个家庭,为了让这十个家庭每两个之间都能往来,我们并不需要为每两个家庭修一条单独(注意是单独)的路(如果这样,要修45条路),而是可以修一条大路,然后,每个家都与大路相连。对于总线,我们往往说总线是处理器的,而其它的外设是挂在总线上的。那有一个问题,我们每一时间只能访问挂在总线上的一个外设,那如何区分这些外设呢?和我们的路一样,我们需要用地址来区分每一个家庭,在总线上,也是采用地址来进行区分的。这样,总线就根据其功能分为两类了。一类是地址总线,这一总线上的数据只会是从处理器向外设“流”,是单向的。另一类则是数据总线,用来将数据从处理器传送到外设(从处理器的角度来说是写操作)或者是将数据从外设传送到处理器(从处理器的角度来说是读操作),显然,数据总线是双向的。也就是说,在我们的嵌入式系统中同时存在地址总线和数据总线将所有需要与处理器进行通讯的芯片连在一起的。总线是有宽度的,正如我们的路分为“三车道”或是“四车道”,我们说32位处理器,是指其数据总线宽度是32位,也就是“有32辆车能同时跑”,显然,宽度越是宽我们的处理器速度就越是快,因为我们从外设芯片存取数据的速度会更快,这就是为什么我们的计算机向64位发展的原因。同样的,地址总线也是有宽度的,对于32位处理器其最大宽度也就是32位。总线的概念有了,那接下来的一个问题是,即使是每一个外设都有一个地址,那这一地址记在哪里呢?是放在外设芯片上吗?如果这样的话,那就有一个问题,每一类外设的地址必须是不能重叠的,而当一个产品中需要两块一样的芯片的话,两块芯片的地址就无法区分了,看来这样操作存在问题。还有,如果这样的话每一个外设也得与(比如,32根)数据总线完全相连,并监听数据线以了解处理器是不是在“叫”自己,这样很是复杂。此外,地址也有可能因为外设种类的增多而用光。总的来说地址不能存放在外设芯片,那如何让外设知道,此时它是被处理器招换从而需要进行读写访问的呢?答案就是芯片的片选(CS, chip select)信号,或者又号使能(ENable)信号。片选(CS或EN)片选信号对于外设芯片来讲,就是一个(也是一根)通知信号,告诉芯片“嘿,请开门,我要放些东西进来,或是拿些东西走”,这里的东西只能是数据,不可能是玉米棒什么的。那有个问题,这个信号源从哪里来呢?显然,只能从处理器来。那是不是也是像总线那样,每一个芯片都共用一根线连在一起呢?如果这样,可能处理器“一叫开门”所有的芯片都将“门”打开了。如果是处理器写数据,那可能所有的芯片都被写入同样的数据。而取数据时,每个外设芯片都向外“扔”数据,这一定会造成数据总线冲突,因为有的芯片向总线上“扔”1,有的则“扔”0,这种情况下处理器一定会“发疯”的,因为它不知道应当得到1还是0。既然这样,那显然不能将所有的片选信号连在一起了,只能是各芯片的片选信号独立。前面提到了地址总线,我们是采用一根地址线连一个外设芯片呢?还是采用其它的方法。如果采用一根地址线连一个外设芯片,那可能最多只能挂接32个芯片了,这显然不行。其实,在现实中,是采用32位的数字来表示一个外设芯片的地址的,比如1可以表示芯片A,而6534可以表示另外一个芯片B,等等。由此看来,理论上我们可以表示2的32次方(4294967296)个设备,之所以说理论上,是因为有的设备要占用大量的地址。即然这样,那还有一个问题,如果将32位的地址总线转换成芯片的一根片选信号呢?这需要引入译码(器)的概念。译码器(Decoder)译码器将一个数据转换成一根信号线上的信号,比如3/8译码器,可以将一个位宽是3位的数据转换成8根(2的3次方)完全独立的信号线,当向数据侧写入二进制的011时,对应的是8根线的第3根,当输入二进制的111时,对应的是8根线中的最后一根。有了译码器,处理器的地址线就简化了,只要32根地址线加上外面的译码器,就可以访问大量的外设芯片了。外部设备的选择问题,我们已经解决了,现在还得回头看一看数据总线。图1 3/8译码器在嵌入式系统中,所有芯片的数据总线可以理解成是直接相连的。之所以用了“可以理解”一词,是因为为了提高总线的负载能力,其中会加入总线驱动器。为了理解,我们看一看我们生活中的自来水,比如,在北京理论上可能所有的水管是连在一起的,但中间可能为了提高水压,存在很多小的水站用来增加供水压力,而不可能全北京所有的自来水自接来自一个水厂。既然所有的数据总线是连在一起的,那就可能会有问题。当向外部设备写数据时,处理器先向地址总线输送目标外设的地址,地址译码器将其转换成一根信号的片选信号送到了目标外设,目标外设收到这一信号后,将“门”打开。接下来处理器将要传送到外设的数据往数据总线上一放,由于只有目标外设芯片打开了“门”,所以数据只会进入到目标外设,而其它的外设什么也不会收到。接下来看一看读。读的话,由于数据是从外设输送到处理器的,尽管我们采用和写一样的方法打开目标外设的“门”,但此时,其它的外设也在数据总线上,它们有可能处于1也可能处于0,是不是会影响处理器读取目标外设的数据呢?结果当然不会,但我们得引入另一个概念:高阻态。高阻态很显然,当处理器从目标外设读数据时,我们希望其它没有被选上的芯片的数据总线不会对目标外设所要传送的数据有影响,那怎么办呢?实际上,当芯片没有被选中时,其数据总线都处于高阻态。所谓的高阻态,我们可以理解成这一管脚在外设芯片内部是断开的,如此一来,显然不会对处理器从目标外设读取数据造成任何的影响了。我们说当一个芯片没有被选中或是没有被使能时,其数据总线一定是处于高阻态的。前面用了“门”的开和关来打比方,那“门”是指什么呢?是指外设的数据总线,片选信号的作用就是控制将外设的数据总线与处理器的数据总线相连或是断开。驱动总线上的数据是谁放上去的我们就说谁是那一时刻的驱动者。也就是说,当处理器向外设写数据时,它是在驱动数据总线的,而当处理器从目标外设读取数据时,目标外设是在驱动数据总线的。对于地址总线,因为只可能从处理器向目标外设写,所以地址总线永远是由处理器驱动的。当一个芯片没有被选中时,我们说它并不驱动数据总线。三态门前面我们说到外设芯片的数据总线在没有被选中时其处于高阻态,当被选中时,其电平可能是高(1)或是低(0)。如此一来,我们说外设的数据总线其芯片管脚是属于三态门的,即存在高电平、低电平和高阻态,三个状态。电平的有效性前面我们了解了什么是片选信号,也讲到了三态门,需要指出的是片选信号通常不是三态门,其只存在两个状态,即高电平或是低电平。前面我们也说了,片选信号是用来“开门”的,而片选信号又有高和低电平,那到底是高电平表示“开门”呢?还是低电平?对于这一问题,我们称如果一个电平对于一个片选信号表示“开门”那么它就是这一信号的有效电平。比如,对于一个片选信号,如果低电平表示“开门”,那么我们说这个片选信号是低电平有效的。虽然,在这里我们用片选信号来解释电平的有效性,但是很多信号都存在有效性的问题,比如,后面我们将要谈的读信号和写信号都存在有效性问题。时序在前面我们说到当处理器要向外设芯片写数据时,需要先将所需访问的外设的地址放在地址总线上,然后,由译码器将地址总线上的数据转换成片选信号,片选信号则使能目标外设芯片,接下来处理器写数据到数据总线上,从而完成一个写操作。显然,在处理器将数据写到数据总线之前地址线上的数据必须一直保留一段时间,否则的话译码器不能长时间的使片选信号有效。当完成了数据的写操作后,处理器就不需要保证地址总线上的地址有效了。我们可以看出,这一系列的操作都有一定严格的时间顺序的,这称之为时序。时序描述了处理器与外部设备的交互信号 “规程”,大家只有按照这一“规程”来操作,才能保证处理器与外部设备之间能正常的通讯。这好比,我们的道路上的红绿灯,如果我们行人和车辆不按照其指示来通行的话,就会出现事故。通常,采用时序图来描述芯片之间通讯的信号“规程”。图2 读时序图图3 读时序图从图中我们可以看出ADDRESS是表示地址总线的,DQ是表示数据总线的,CE是片选信号,且是低电平有效,其宽度要保证在进行读操作时总是有效的。学会看时序图对于做嵌入式系统开发非常有帮助,因为我们不可避免的要与芯片打交道。在时序图中,通常会标识很多的时间需求信息。在写启动代码时需要初始化各地址空间的片选地址寄存器和读写时序,时序的配置依据就是来自于外设芯片的时间需求,这是芯片手册很重要的一部分内容。当一个地址空间中存在多个外设芯片时,我们需要考虑到其中最慢的外设芯片的时间需求,否则的话有的芯片就不能正常工作。读/写信号当处理器需要从外设芯片读取信号时,除了需要产生片选信号外,还需要告诉外设芯片这是一个读操作,是通过读信号来实现的;或者这个信号用于告诉外设芯片,这是一个向外设芯片写数据的操作。I/O端口前面提到了外设(芯片)),现在是对外设进行分类的时候了。大体上外设分为两类,一类是存储器外设,而另一类是非存储器外设,后者常被称之为I/O设备,这里的I/O是Input/Output的简写,即输入、输出。可见,I/O外设是一个非常宽泛的概念。对于存储器外设,其特点是,它所占用的空间是连续的一片。比如,SDRAM内存就是属于存储器外设,如果其容量是8M字节,那么其占用的地址空间也会是8M的。与存储器外设所不同的是,I/O外设所点用的地址一般都很少。比如一个I/O外设可能存在多个控制寄存器,这些控制寄存器从处理器来看就是多个I/O端口(地址),向这个地址写数据就是向外设所对应的寄存器写数据,反之,也可以是读。比如,一个串口芯片可能存在多个寄存器,一个用来查询芯片的状态,一个用来设置芯片的功能,另一个用来读取芯片从串口线所收到的数据,最后,还有一个用来向芯片写数据以向串口线上发送数据。对于这一串口芯片的寄存器,从处理器的角度来看,都是独立的I/O端口。I/O端口存在读、写性问题,有的端口是只读的,有的端口是只写的,还有的端口是即可读也可写,其读写性是由外设芯片的寄存器所决定的,在芯片的数据手册中能找到。需要指出的是,有些存储器外设也存在I/O端口,以对其进行一定的控制。从I/O端口这一名字来看,对于处理器来说,就是对从外面读入数据或是向外面输出数据的一个接口总称。中断中断从硬件的角度来看就是一个能产生高、低电平的一根信号线,但理解它需要从处理器的角度出发。我们说过了,处理器从微观上看,所做的工作是按顺序进行的,其对程序的处理只能是一条指令一条指令的执行。如果存在需要对外设芯片进行访问,而有可能从处理器发出读、写命令后,由于外设通常比处理器慢很多,所以外设芯片需要一些时间来准备好所需的数据。在这种情况下,如果处理器一直等外设芯片的返回数据再执行后续的指令的话,将耗费宝贵的时间,这些时间完全可以用来做其它的工作。别忘了,从宏观上看来处理器常常是多任务的,任务是指操作系统所提供的调度单位。当一个任务因为等待外设芯片的数据而阻塞时,我们可以切换到另外的任务,从而提高处理效率。这就有一个问题,当处理器去处理另一个任务时,如果外设芯片的数据好了的话,如果告诉处理器呢?对了!就是通过中断信号。中断信号的高、低电平可以用来表示是否有中断需要处理器注意以处理特定的事件(比如,外设数据准备好了的事件)。由此看来,中断的引入能大大的提高处理器的运用效率。为了使用处理器上的中断,一开始我们需要初始化好处理器的中断控制器,比如安装好所需的中断服务程序或称之为ISR(Interrupt Service Roune),然后,打开中断屏蔽位。中断服务程序中需要做如下的操作:从外设读入或向外设写数据。读还是写通常需要读取外设的中断状态寄存器来决定。清除外设的中断信号。我们知道,中断信号是由外设芯片驱动的,为了告诉外设芯片,处理器已经处理完了所需做的工作,那么处理器需要通过一定的方式通知外设芯片。这种方式就是向外设芯片的寄存器中的某一位写入一个数据,比如,可能是写入1表示清中断,也可能是写入0表示清中断,这通常在外设的数据手册中能查到。当外设收到了处理器的清中断请求后,其就会驱动中断线使其无效。比如,一个外设的中断线是当其为低电平表示有中断,将其从低电平变为高电平就是驱动为无效。清除处理器的中断信号标识。处理器中往往也会保存外部中断信号是否发生过,当我们处理完了外设芯片的中断时,我们也需要清除处理器上的标识,从而为下一次中断做准备。需要注意的是,清外设的中断必须发生在请处理器中断标识之前!中断还存在一个触发方式问题。有两种触发方式 ,一种是电平触发,另一种是沿触发。电平触发是指电平的高低表示外设是否有中断,而沿触发则是能过中断线上的电平的升或降来表示的,显然,存在两种沿触发方式。一种是中断线从低电平变为高电平,我们称之为上升沿触发,另一处是中断线从高电平转换为低电平,我们称之为下降沿触发。总的来说中断的触发方式有电平触发、上升沿触发和下降沿触发。电平触发方式中处理中中断设置很重要的一个步骤。万用表万用表通常是用来查看电平的高低、电阻的大小等的,是常用且必不可少的工具之一。在嵌入式系统开发中,我们常用的是数字万用表。示波器在嵌入式系统开发中,我们不可避免的要与外设芯片打交道。调试驱动程序时,除了需要完全看明白芯片的数据手册,且在软件高度的过程中,还需要看我们所期望的信号电平是否发生在芯片上。比如,我们在写驱动程序时,需要通过写I/O端口来对外设芯片进行操作,当写相应的I/O端口时,我们知道所对应芯片的片选信号应当有效,有时,我们需要验证是否按预期发生了,这就需要用到示波器。一般的示波器是能同时观测两个信号线的信号状态的。示波器都提供一定的功能,比如设置信号扑捉的方式等等。示波器很重要的一个参数据是其采集频率,根据Nyquist采集定理,如果我们想用示波器查看频率是100M赫兹的信号,那么其采样频率必须至少是其两倍,即200M赫兹。有人可能会问:为什么不用万用表来看呢?因为万用表的采集频率很底,无法采集到很快的信号变化。逻辑分析仪简单的说逻辑分析器就是具有很多信号通道的示波器。通过逻辑分析仪,我们可以看到地址总线和数据总线上的数据。逻辑分析仪都提供一定的编程能力,用于编程什么时候开始对总线上的数据进行采集。1次

    时间:2018-05-30 关键词: 概念 嵌入式 硬件 驱动开发

  • 高速设计基本概念答疑

    问: 什么是EMI?与EMS及EMC有何区别? 答: 在电气干扰领域有许多英文缩写。这里所提EMI(Electro Magnetic Interference)直译是电磁干扰。这是合成词,我们应该分别考虑“电磁”和“干扰”。 所谓“干扰”,指设备受到干扰后性能降低以及对设备产生干扰的干扰源这二层意思。第一层意思如雷电使收音机产生杂音,摩托车在附近行驶后电视画面出现雪花,拿起电话后听到无线电声音等,这些可以简称其为与“BC I”“TV I”“Tel I”,这些缩写中都有相同的“I”(干扰)(BC:广播) 那么EMI标准和EMI检测是EMI的哪部分呢?理所当然是第二层含义,即干扰源,也包括受到干扰之前的电磁能量。 其次是“电磁”。电荷如果静止,称为静电。当不同的电位向一致移动时,便发生了静电放电,产生电流,电流周围产生磁场。如果电流的方向和大小持续不断变化就产生了电磁波。 电以各种状态存在,我们把这些所有状态统称为电磁。所以EMI标准和EMI检测是确定所处理的电的状态,决定如何检测,如何评价。 与EMS和EMC的区别在哪里? EMS(Electro Magnetic Susceptibility)直译是“电磁敏感度”。其意是指由于电磁能量造成性能下降的容易程度。为通俗易懂,我们将电子设备比喻为人,将电磁能量比做感冒病毒,敏感度就是是否易患感冒。如果不易患感冒,说明免疫力强,也就是英语单词Immunity,即抗电磁干扰性强。 EMC(Electro Magnetic Compatibility)直译是“电磁兼容性”。意指设备所产生的电磁能量既不对其它设备产生干扰,也不受其他设备的电磁能量干扰的能力。 EMC这个术语有其非常广的含义。如同盲人摸象,你摸到的与实际还有很大区别。特别是与设计意图相反的电磁现象,都应看成是EMC问题。 电磁能量的检测、抗电磁干扰性试验、检测结果的统计处理、电磁能量辐射抑制技术、雷电和地磁等自然电磁现象、电场磁场对人体的影响、电场强度的国际标准、电磁能量的传输途径、相关标准及限制等均包含在EMC之内。 问:最近出现很多带有干扰这个名词的东西,请问什么是干扰? 答:最近“干扰”的概念使用越来越广泛,与必须存在的东西相对应,一切不希望有的东西都可称做“干扰”。 具体到“电磁干扰”,可以按照下面所列七类进行划分: 按照发生源划分 按照传播路径划分 按照辐射干扰的产生原因划分 按照不同设备的工作原理划分 按照发生的频率划分 按照频率范围划分 不同的交流电源 而且可以在每一类中进一步分类。根据发生源可将干扰细分如图1~图4。   图1 电磁干扰源类别   图2自然干扰源类别   图3人为干扰源类别   图4 内部干扰源类别 从受干扰方面来看,外来噪声是外界干扰,内部噪声是机内噪声。 除此之外,噪声按传递途径分类如图5所示。   图5 按照干扰传输路径分类 干扰传播的途径如图6所示。有通过电源线、信号线、地线、大地等途径传播的“传导干扰”,也有通过空间直接传播的“空间干扰”。 这些噪声并不独立存在,在传播过程中又会出现新的复杂噪声。   图6 干扰传播路径 造成数字电路工作不正常的干扰可分为:①电源干扰,②反射,③振铃(LC共振):上冲、下冲,④状态翻转干扰,⑤串扰干扰(相互干扰、串音),⑥直流电压跌落。 造成开关电源质量下降的干扰分为:①出现在输出入端子上的干扰(电流交流声,尖峰脉冲噪声,回流噪声);②影响内部工作的干扰(开关干扰,振荡,再生噪声)。 按发生的频率分为:突发干扰,脉冲干扰,周期性干扰,瞬时干扰,随机干扰,跳动干扰。 造成交流电源质量下降的干扰分为:高次谐波干扰,保护继电器,开关的震颤干扰,雷电涌,尖峰脉冲干扰,喷射环电弧,瞬时浪涌。 将来可能会将下面这些项目归入到交流干扰内:瞬时停电,瞬时下降,频率变化,电压变化,高次谐波失真。 另外还干扰按频率分为:低频干扰,高频干扰。 如上所述,干扰可以分成很多类别,这些干扰既产生于电气电子设备,又干扰电气电子设备,造成设备的故障和停用,带来经济和人员伤害。为了使各种设备能够互不干扰,正常工作,应运而生了EMC技术。 简而言之,EMC是“不发干扰,不受干扰”。现在国内外都在研究开发EMC技术,并应用于电气电子设备的制造中。 问: 什么是共模干扰和差模干扰?为什么有二种? 答: 从干扰源发出的干扰泄漏到外部的途径、或者是干扰侵入到受干扰的设备中的途径,有电压、电流通过电源线或信号线的传导传输和靠电磁波在空间辐射传输二种途径。[!--empirenews.page--] 电压电流的变化通过导线传输时有二种形态,我们将此称做“共模”和“差模”。设备的电源线、电话等的通信线、与其它设备或外围设备相互交换的通讯线路,至少有两根导线,这两根导线作为往返线路输送电力或信号。但在这两根导线之外通常还有第三导体,这就是“地线”。干扰电压和电流分为两种:一种是两根导线分别做为往返线路传输;另一种是两根导线做去路,地线做返回路传输。前者叫“差模”,后者叫“共模”。 如图1所示,电源、信号源及其负载通过两根导线连接。流过一边导线的电流与另一边导线的电流幅度相同,方向相反。但是干扰源并不一定连接在两根导线之间。由于噪声源有各种形态,所以也有在两根导线与地线之间的电压。其结果是流过两根导线的干扰电流幅度不同。   图1 差模干扰 请看图2,在加在两线之间的干扰电压的驱动下,两根导线上有幅度相同但方向相反的电流(差模电流)。但如果同时在两根导线与地线之间加上干扰电压,两根线就会流过幅度和方向都相同的电流,这些电流(共模)合在一起经地线流向相反方向。我们来考察流过两根导线的电流。一根导线上的差模干扰电流与共模干扰同向,因此相加;另一根导线上的差模噪声与共模噪声反向,因此相减。因此,流经两根导线的电流具有不同的幅度。 我们再来考虑一下对地线的电压。如图2,对于差模电压,一根导线上是(线间电压)/2,而另一根导线上是 -(线间电压)/2,因而是平衡的。但共模电压两根导线上相同。所以当两种模式同时存在时,两根导线对地线的电压也不同。   图2 对地电压/电流与差模、共模电压/电流之间的关系 因此,当两根导线对地线电压或电流不同时,可通过下列方法求出两种模式的成分: VN =(V1-V2)/ 2 Vc=(V1+V2)/ 2 IN =(I1-I2)/ 2 Ic=(I1+I2)/ 2 通过被连接的电路,两根导线终端与地线之间存在着阻抗。这两条线的阻抗一旦不平衡,在终端就会出现模式的相互转换。即通过导线传递的一种模式在终端反射时,其中一部分会变换成另一种模式。 另外,通常两根导线之间的间隔较小,导线与地线导体之间距离较大。所以若考虑从导线辐射的干扰,与差模电流产生的辐射相比,共模电流辐射的强度更大。 与此相反,可以说因外部电磁场干扰在导线上产生的干扰电压/电流,或附近的导线等产生的静电感应、电磁感应等的耦合是一样的。

    时间:2014-04-11 关键词: 概念 电路设计 设计 高速

  • PCB设计的可测试性概念

    产品设计的可测试性(De sign For Testability. OFT) 也是产品可制造性的主要内容从生产角度考虑也是设计的工艺性之一。它是指在设计时考虑产品性能能够检测的难易程度,也就是说设计产品时应考虑如何以最简单的方法对产品的性能和加工质量进行检测,或者产品的设计尽量能使产品容易按规定的方法对其性能和质量进行检测。尤其是电子产品的设计,对产品的性能测试是必不可少的。 DFT 好的产品设计,可以简化生产过程中检验和产品最终检测的准备工作,提高测试效率、减少测试费用,并且容易发现产品的缺陷和故障,进而保证产品的质量稳定性和可靠性。 DFT 设计不好的产品不仅要增加测试的时间和费用,甚至会由于难于测试而无法保证产品的质量和可靠性。所以对产品设计与测试的方法和设备相兼容的可测试性设计,是电子产品设计必须考虑的重要内容之一。 一、印制板设计的可测试性印制极设计的可测试性与可制造性同属于印制板的工艺性设计,同样包括了印制板制造及成品印制板(光板)的可测试性和印制板组装件的可测试性两个部分。这两部分的测试方法和内容完全不同,但是要在同一块印制板的设计中反映出来,对设计者来说,既需要了解印制板上需要测试的性能和方法,又要了解印制板组装件的安装测试要求和方法。对于印制板光板的测试方法和性能要求有统一的标准规定,只要查阅相关印制板的标准就可以找到。对于印制板组装件的测试,应根据电路和结构的特性和要求由设计人员通盘考虑,在布局布线时采取适当措施合理设置测试点或者将测试分解在安装工序中进行。特别是随着电子产品的小型化,元器件的节距越来越小,安装密度越来越大可供测试的电路节点越来越少,因而对印制板组装件的在线测试难度也越来越大,所以设计时应充分考虑印制板可测试性的电气条件和物理、机械条件,以及采用适当的机械电子设备。 二、印制板的光板测试印制板的光板测试是保证待安装元器件印制板质量的重要手段,也是保证印制板组装件质量和减少返修、返工及废品损失的有力措施。光板测试的质量有保证,可以提高印制板的安装效率、降低成本。如果光板的质量不能保证,待印制板安装后再发现板的质量问题时需要拆下元器件,不但费工费时而且可能要损坏元器件,其时间和经济的损失更大。所以在国内外的电子行业都非常重视对印制板各项性能的测试,制定了许多检测标准和方法。主要的检测项目有外观检测、机械性能测试、电气性能测试、物理化学性能测试和可靠性(环境适应性)测试等方面。印制板光板的测试项目很多,但对设计的限制较少。 外观检测一般是在成品印制板上通过目检或适当的光学仪器进行检测,主要是检查制造的质量,外观检测对设计的可测试性要求不多。在这些性能的测试中受印制板设计布局布线影响强大的是电气性能测试,它包括耐电压、绝缘电阻、特性阻抗、电路通断等测试项目且测试点设计应符合测试要求。与设计的可测试性关系最大的是电路通断测试,而该项测试又是保证印制板质量的关键性能需要对每块印制板进行l00%的逻辑通断测试。所以进行印制板设计时。应考虑测试时可能采用测试设备的测试探头与测试电路物理尺寸的匹配问题。否则将会由于印制板上被测点的位置和尺寸误差。引起测试的差错或测试的可重复性差的问题。对于有破坏性的机械、物理、化学性能测出一般采取从同批产品中抽样或设计专用的试验板或附连试验板按标准进行试验和评定。设计时应当熟悉测试板和附连试验板的设计及测试要求和方法。 三、印制板组装件的测试性印制板组装件的测试是指对安装了元器件后的印制板进行的电气和物理测试。影响印制板组装件测试的困难很多,其检测的方法要比印制板的光板检测复杂得多。对组装件的可测试性设计应包括系统的可测试性问题。系统的可测试性功能要求应提交整机总体设计的概念进行评审。印刷板组装件可测试性必须与设计的集成、测试和维护的完整性相兼容。 PCB组装件的可测试性在设计开始之前。应同印制板的制造、安装和测试等技术人员进行评审。以保证可测试性的效果。评审的内容应涉及电路图形的可视程度、安装密度、测试操作方法、测试区域的划分、特殊的测试要求以及测试的规范等。 PCB组装件级的测试主要有两种类型,一种是对有独立电气功能的组装件进行功能测试,在组装件的输入端施加预定的激励信号,通过监测输出端的结果来确认设计和安装是否正确。另一种测试是对组装件进行光学检测和在线测试,光学检测对设计没有明确的制约,只要保持电路有一定的可视性就可以检测,该法主要检查安装和焊接的质量。在线测试对印制板的限制主要是测试点应设计在坐标网格上能与测试针床匹配的地方,并且能在焊接面测试。如果用飞针测试,则既要保证测试点位于坐标网格上,又要在布局时保持有足够的空间能使探头(飞针)撞触被测试点,飞针测试可在板的两面进行,主要检测组装焊接质量和加工中元器件有无损坏。 常用的测试方法有人工检测和仪器自动测试。人工测试通过万用表、数字电压表、绝缘电阻测试仪等仪器进行检测,效率低、记录和数据处理复杂,并且受组装密度的限制,小型化的高密度组装的印制板难于靠人工检测。自动化仪器检测具有精度高、可靠性好、重复性好、效率高的特点并且有的仪器还具有自动判定、记录、显示和自动故障分析的能力。 常用的自动化测试技术有自动光学检测(AOD)、自动X 射线幢测(AX I)、在线测试(ICT) 和功能测试等。在印制板设计时就应考虑印制板组装件的测试兼容性,如果不考虑采用的测试方法和必要的测试机械规则即使在电气方面具有良好的可测试性电路在印刷板组装件上也比较难于测试,如测试点的位置、大小以及测试点的节距与测试探头或针床的匹配问题。在线测试时电气条件设置问题、防止测试对元器件的损坏等都是测试性要考虑和解决的问题。

    时间:2014-07-24 关键词: 概念 电路设计 pcb设计 可测试性

  • 详解串口通讯的概念及接口电路

    详解串口通讯的概念及接口电路

    随着计算机系统的应用和微机网络的发展,通信功能越来越显的重要。这里所说的通信是只计算机与外界的信息交换。因此,通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换。由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输。对于那些与计算机相距不远的人-机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍。在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU之间的通信一般都是串行方式。所以串行接口是微机应用系统常用的接口。 许多外设和计算机按串行方式进行通信,这里所说的串行方式,是指外设与接口电路之间的信息传送方式,实际上,CPU与接口之间仍按并行方式工作。 1 串行通信的概念   图1 串行通信 所谓"串行通信"是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。如图1-1所示。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。 由于CPU与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有"接收移位寄存器"(串→并)和"发送移位寄存器"(并→串)。典型的串行接口的结构如1-2所示。   图2 典型的串行接口结构图 在数据输入过程中,数据1位1位地从外设进入接口的"接收移位寄存器",当"接收移位寄存器"中已接收完1个字符的各位后,数据就从"接收移位寄存器"进入"数据输入寄存器".CPU从"数据输入寄存器"中读取接收到的字符。(并行读取,即D7~D0同时被读至累加器中)。"接收移位寄存器"的移位速度由"接收时钟"确定。 在数据输出过程中,CPU把要输出的字符(并行地)送入"数据输出寄存器","数据输出寄存器"的内容传输到"发送移位寄存器",然后由"发送移位寄存器"移位,把数据1位1位地送到外设。"发送移位寄存器"的移位速度由"发送时钟"确定。 接口中的"控制寄存器"用来容纳CPU送给此接口的各种控制信息,这些控制信息决定接口的工作方式。 "状态寄存器"的各位称为"状态位",每一个状态位都可以用来指示数据传输过程中的状态或某种错误。例如,用状态寄存器的D5位为"1"表示"数据输出寄存器"空,用D0位表示"数据输入寄存器满",用D2位表示"奇偶检验错"等。

    时间:2017-04-26 关键词: 概念 电路设计 串口通讯 接口电路

  • 嵌入式视觉的概念及关键因素

    嵌入式视觉的概念及关键因素

    基于视觉的系统在很多行业和应用领域中已变得非常普遍。实际上,我们中的很多人每天就携着一个嵌入式视觉系统,比如在我们的智能手机中。这些智能设备不仅能够捕获图像和录制视频,而且还能执行增强现实的应用,这些都展示了嵌入式视觉技术是如何被普遍地广为接受。 处理能力、存储器密度和系统集成度的提升,促进了嵌入式视觉在传统和新兴应用领域( 图 1所示实例)的增长。这也使得嵌入式视觉在消费类、产业和政府领域被广泛接受,因而将在十年内实现显著增长。表 1 列出了一些嵌入式视觉的高增长领域,其中有一些显而易见,有些则不是很明显。 图 1 常见的嵌入式视觉应用。 应用 示例领域 CAGR[1] 年 机器视觉 机器视觉 9.1 % 2020 超光谱成像 超光谱 12% 2019 收费系统 监视 11.1% 2020 3D 成像 高级驾驶员辅助系统、医疗 27.5% 2020 面部识别 监视 17.4% 2020 表 1 预期的嵌入式视觉高增长领域   什么是嵌入式视觉? 嵌入式视觉系统包含从所选成像传感器接收光到系统输出的整个信号链。系统输出是指从图像中提取的经过处理或未经处理的图像或信息,并提供给下游系统。当然,嵌入式系统架构师负责根据系统要求确保端到端性能。 为此,嵌入式视觉系统架构师需要熟悉与传感器和后处理系统有关的各种概念和技术。本文作为高级入门手册,旨在让读者对这些技术和概念有一个基本了解。 首先需要熟悉电磁波谱以及希望系统运行的光谱域。人眼只能看到 390nm(蓝光)至 700nm(红光)波长之间的光谱,也就是通常所指的可见光谱;成像设备凭借所采用的技术,则能捕获到更宽泛波长的图像,包括 X 光、紫外线、红外线以及可见光谱。 在近红外光谱及以下范围,我们可以使用电荷耦合器件(CCD)或 CMOS[2](互补金属氧化物半导体)图像传感器 (CIS);到了红外光谱范围,需要使用专用的红外检测器。红外光谱范围之所以需要专用传感器,部分原因在于芯片成像器(如 CCD 或 CIS)需要的激发能。这些器件通常需要 1eV 的光子能量来激发一个电子,然而在红外范围,光子能量介于 1.7eV-1.24meV 之间,因此红外成像器应基于 HgCdTe 或 InSb。这些器件需要更低的激发能量,经常与 CMOS 读出 IC(即 ROIC)配合使用,以控制和读出传感器。 最常见的两种检测器技术分别是 CCD 和 CIS · 电荷耦合器件被视为模拟器件,因此要集成到数字系统中就需要使用片外 ADC 以及所需模拟电压电平下的时钟生成功能。每个像素存储由光子产生的电荷。大多数情况下将像素排列成 2D 阵列,组成多个行,每行包含多个像素。读出 CCD 时通过行传输将每行并行传递到读出寄存器,再通过读出寄存器将每行串行读出。这个寄存器读出过程中,电荷转换为电压。 · CMOS 成像传感器能实现更紧密集成,使 ADC、偏置和驱动电路都集成在同一晶片上。这大大降低了系统集成要求,同时也提高了 CIS 设计的复杂性。CIS 的核心是有源像素传感器 (APS),其中每个像素同时包含光电二极管和读出放大器,因此,与 CCD 不同,CIS 能够读出阵列中的任意像素地址。 尽管大多数嵌入式视觉都采用 CIS 器件,但是 CCD 仍用于非常注重性能的高端科研应用领域。本文的要点内容适用于这两种成像技术。   传感器考虑因素   选择正确的传感器需要了解系统要求,为此,必须从器件的几个方面加以考虑。 第一个要求是我们必须确定所需的分辨率,也就是每行有多少个像素,检测器需要多少行。最终应用对此起决定作用,例如,科研用的天文学应用可能需要高分辨率的 2D 器件,而工业检查成像可能仅需要行扫描方案。 · 行扫描器件在 X 方向上包含单行(有时是几行)像素。如果通过相机或目标的移动生成 Y 方向上的图像,通常采用这类器件。它们用于检查或光学字符识别 (OCR) 领域。有些领域需要采用时域积分 (TDI) 线扫描传感器。这类传感器在 X 方向包含多行,随着目标移动,像素值也从一个向下一个移动,随着电荷在时间上积分,可实现更灵敏的检测。不过,TDI 需要在行传输与目标移动之间进行同步,以防出现模糊和图像缺陷。由于只有几行需要读出,因此帧率可以非常高。 · 2D 阵列包含多个行,每行有多个像素,阵列大小是决定传感器最大帧率的一个因素。通常,为了实现更高的帧速率,2D 器件并行读出多个像素。2D 器件还能执行窗口操作(有时称为兴趣区域),即只读出特定的感兴趣区域,以获得更高帧速率。这类器件可用于众多领域,而且信息包含在 2D 图像中,例如高级驾驶员辅助系统 (ADAS)、监控或科研领域。 确定成像器格式以及所需分辨率之后,我们还必须考虑像素间距。像素间距定义像素的大小,决定能收集多少入射光子产生的电荷。因此,较小的像素间距意味着在积分周期内(传感器暴露在图像中的时间)收集较少的电荷。如果像素间距较小,意味着捕捉图像需要更长的积分时间,这会影响传感器捕捉快速移动图像的能力,并降低低光拍照性能。 确定传感器格式后,我们必须考虑使用哪种技术,CCD、CMOS 还是更为专业的技术。这里的重要参数是量子效率 (QE);该参数是器件通过光子产生电子的效率。通常,我们希望在有用光谱上实现尽可能高的 QE,这对于低光应用也具有重要意义。影响器件 QE 的因素有三个:吸收、反射和透射。QE 降低的一个主因是器件结构。器件结构可能导致像素被传感器中的电路屏蔽,例如金属线或多晶硅栅极电路等。这些结构会吸收或反射光子,从而降低 QE,因此要选好传感器。 · 前照式 — 对于这类器件,光子以上面的介绍的传统方式照射器件的前面,像素可能被遮蔽,QE 相应降低。 · 背照式 — 这些器件经过后期处理,将器件的后部削薄,以便在后面接收光照,从而不受其他设计元件的阻挡。薄型背照式器件能实现最佳 QE。 我们还必须考虑图像传感器中所允许的噪声;有三个主要方面需要考虑。 · 器件噪声 — 这在本质上讲是暂时的,包括散射噪声以及输出放大器和复位电路产生的噪声。 · 固定图形噪声(FPN) — 呈空间分布,由相同光照强度下像素的不同响应引起。FPN 通常由每个像素的不同偏移和增益响应引起;偏移部分通常称为暗信号响应非均匀性 (DSNU),增益部分称为图像响应非均匀性 (PRNU)。有多种方法可以补偿 FPN,最常见的方法是输出信号的相关双采样法。 · 暗电流 — 这由图像传感器中的热噪声引起,甚至在无光照情况下也会出现。暗信号对最终图像质量的影响取决于帧速率;较高帧速率下影响不大,然而,随着帧速率降低(如科研应用)影响会很明显。由于暗电流与温度有关,因此在需要降低暗电流的情况下,通常做法是利用冷却器件(例如 Peltier)来降低成像器件的工作温度。 理解了成像器的噪声模式后,我们就能确定能实现多大的信噪比 (SNR)。 确定器件的噪声性能后,就可以确定图像传感器所需的动态范围。动态范围代表传感器捕获光照强度范围较大的图像的能力,单位是 dB 或以比率形式给出。这意味着图像同时包含高照度区和暗区。 传感器的实际动态范围由像素的满井容量决定,也就是像素饱和前所能承载的电子数量。将容量除以读出噪声,能方便地将比率转换为以 dB 为单位的值。 通常利用光子转换曲线测试法来确定动态范围,画出噪声与容量的关系曲线。 如果器件具有数字输出,可通过下面的公式利用输出端比特数计算该值。 ) 然而,这并不能确保器件可以实现这样的动态范围;只是说明总线宽度所能代表的潜在范围,而没有考虑传感器性能因素。 IO 标准也很重要,不仅用来输出像素数据,还用来输出命令和控制接口。这与帧速率有关,例如 LVCMOS 接口不适合高帧速率应用,但可用于简单的监控摄像头。随着帧速率、分辨率和每像素比特数的增加,成像器件的趋势正朝着采用 LVDS 系列或 SERDES 技术的专用高速串行链路发展。 现在我们已经介绍了图像传感器的多个重要方面,另一个尚未考虑的因素是成像器是彩色还是单色传感器。无论选择哪种,都取决于应用场合。 · 彩色传感器 — 需要在每个像素上使用贝尔图形,在一条线上交替变换红色和绿色,下一条线上交替蓝色和绿色(绿色用得多是因为人眼对绿颜色波长更敏感)。这意味着要对接收到的光子进行滤波处理,使每个像素只接收具有所需波长的光子。我们可对图像进行后处理,用不同颜色围绕像素以重构每个像素上的颜色,从而确定像素颜色,而且不会降低图像分辨率。彩色传感器会使重构和输出图像所需的图像处理链变得复杂化。贝尔图形确实会导致分辨率降低,但是没有想象的那么差,通常降幅为 20%。 · 单色 — 由于图像阵列上没有贝尔图形,因此每个像素能接收所有光子。这样可增大图像灵敏度,使图像的读出更简单,因为不存在颜色重建所需的去马赛克效应。 经选择我们决定使用 CIS 器件,而实际上这些属于复杂的专用片上系统。因此,我们还必须考虑以下关于读出模式和积分时间的问题。 · 积分时间 — 这是读出之前像素的曝光时间。在比较简单的 CCD 系统上,需要接近电子装置在器件外执行该时序。然而对于 CIS 器件,积分时间可通过命令接口由寄存器来配置,然后 CIS 器件针对常用的两种读出模式精确地执行积分时间。 · 全局快门模式 — 这种模式下,所有像素同时接受光照,然后读出。此模式下由于所有像素同时读出,因此会增大读出噪声。如果要对快速运动物体拍摄快照,适合使用该模式。 · 滚动快门模式 — 这种模式下,进行逐行曝光和读出。这种模式的读出噪声较小,然而,在捕获快速运动物体方面不如全局快门模式。 系统开发 选择了合适的传感器之后,在进行系统开发的过程中还需要考虑和解决诸多挑战。 除了技术挑战以外,开发系统时还会面对时间压力,确保在既定时限内将产品推向市场。我们要根据时间限制,重点弄清楚开发过程中的哪部分活动能实现附加价值,然后做出正确选择,分清哪部分应该自己开发(增值活动),哪部分可以购买商用现成产品 (COTS) 或者分包出去。重点关注增值活动并利用硬件、软件和 FPGA 层面的 IP 模块,是满足上市时间要求的重要促成因素之一。 除了上市时间要求,嵌入式视觉系统开发过程中还要经常考虑尺寸、重量、功耗和成本 (SWAP-C) 要求。究竟哪种要求占主导,取决于具体应用领域,例如手持设备在功耗方面就要比驾驶员辅助系统更为严格。然而,对于高级驾驶员辅助系统来说,由于要生产几百万台,因此方案成本就成了主导因素。 要在尺寸、重量、功耗和成本方面获得很好的效果,应该在传感器和处理系统中实现更为紧密的系统集成,即使用数量更少但功能更强的集成组件。 每种应用领域都具有不同增值点以及不同的尺寸、重量、功耗和成本考量,因此几乎所有嵌入式视觉系统都需要我们实现所谓的图像处理流水线。这种流水线可与所选的传感器建立接口连接,并且执行所需的操作以生成适合进一步加工或直接在网络上传输的图像。基本的图像处理流水线包含 · 照相机接口 — 接收来自传感器的原始图像 · 颜色滤波阵列 — 重建像素颜色 · 色彩空间转换 — 转换成针对编解码器的正确色彩空间。 · 输出格式化 — 与输出介质进行接口连接 在图像处理流水线中对接收的图像执行和应用算法。所实现应用不同,算法也会不同;不过,有一些常用的图像处理算法可用来提高对比度,检测图像中的特性、目标或运动,或者校正模糊图像。 应该在一个框架中开发这些算法,以便我们以最短时间将产品推向市场,并鼓励重复使用,降低非重复性和重复性工程成本。有几种现成的框架我们可以考虑使用。 · OpenVX — 用于开发图像处理应用的开源应用程序。 · OpenCV[3] — 开源计算机视觉,多个面向实时计算机视觉的库,基于 C/C++ · OpenCL — 基于 C++ 的开源计算机语言,用于开发 GPU、FPGA 等器件中常见的并行处理应用。 · SDSoC — 赛灵思的一款设计环境,借助该环境开发人员可在 Zynq 或 UltraScale+ MPSoC 器件的 ARM 处理系统中最初实现用 C/C++ 编写的算法,分析代码库特性以找出性能瓶颈,然后利用赛灵思高层次综合功能将这些瓶颈转换到硬件支持的 IP 核,并在器件的可编程逻辑 (PL) 部分运行。 采用 FPGA 或 All Programmable SoC 方案时,将这些框架与 HLS 结合使用,能够高效开发出嵌入式视觉应用,并通过硬件在闭环中快速演示。 图像经过处理流水线后,数据从系统的输出方式也很重要,我们有三种选择。 · 利用视频图形阵列 (VGA)、高清多媒体接口 (HDMI)、串行数字接口 (SDI) 或 DisplayPort 等标准将图像输出到显示器。很多电动车采用触摸式显示屏对系统进行控制和配置。 · 将图像或从图像中提取的信息传送到另一个系统,该系统像云处理应用那样使用图像或提取出的信息 · 将图像存储在非易失存储介质中,供以后访问。 对于绝大多数方式而言,在完成成像链后,我们都需要确定图像格式化方式,以便使用。此时,我们需要决定是否使用诸如 H.264(MPEG-4 Part 10 高级视频编码)或 H.265(高效率视频编码)等行业标准图像/视频压缩算法对图像进行编码,这些实现方案通常称为编解码器。编解码器能提高通信和网络带宽的使用效率,或降低实现高保真度所需的存储空间,因为编码通常存在较大失真[4]。如果因使用编解码器导致失真度无法接受,还可以按原始格式发送和存储图像,或者以无损格式进行编码。 大多数编解码器所使用的色彩空间都与图像传感器输出的色彩空间(前提是系统使用彩色器件)不同。嵌入式视觉中常用的色彩空间是: · 红、绿、蓝 — 包含 RGB 信息作为图像传感器的输出,常用作 VGA 等简单接口的输出 · YUV — 包含亮度 (Y) 和色度 (U 和 V),该色彩空间用于大多数编解码器和一些显示标准。常用的 YUV 格式为 YUV4:4:4 和 YUV4:2:2。两种格式的区别在于:4:4:4 格式下,每像素由 8 位表示,得到 24 位像素。在 4:2:2 格式下,U 值和 V 值在像素之间共享,得到 16 位像素,可节省存储空间。 另一个对图像处理链和 SWAP-C 具有很大影响的决策是:大部分图像处理链应该在哪实现: · 在边缘,即在嵌入式视觉系统之内。这样会提高系统的功耗和处理/存储要求,但能够实现更快的响应。在边缘处理将在大部分嵌入式应用(例如高级驾驶员辅助、机器视觉等)中成为主导。 · 在云中,这需要嵌入式视觉系统捕获图像,并且利用网络技术将图像发送到云。可在云中处理的典型应用包括医疗成像或科研应用。这类应用中,处理非常密集,且不需要实时结果。 为实现处理链,处于嵌入式视觉系统核心的处理内核不仅要能控制所选的图像传感器,还要能接收和实现图像处理流水线,并通过指定网络基础设施传送图像或发送到选定的显示器。考虑到这些严苛要求,因此经常要选择 FPGA,或者越来越多的情况下需要使用 All Programmable 片上系统,例如 Zynq 器件。 Zynq 器件将两个高性能 ARM A9 处理器与 FPGA 架构相结合。这样使得处理系统 (PS) 可用来通过 GigE、PCIe 或 CAN 等接口与主机系统通信,同时执行系统的一般管理和日常事务。器件的另一半,即可编程逻辑 (PL) 可用来接收和处理图像,充分利用 FPGA 架构的并行处理特性。如果要求通过网络基础设施传送图像,那么可使用 Zynq 中的直接存储器访问 (DMA) 控制器高效地将图像数据从 PL 移动到 PS DDR 存储器。图像到了 PS DDR 存储器内,可利用所选传输介质的 DMA 控制器进一步访问。 当然,一旦图像处在 PS DDR,高性能 A9 处理器也可提供进一步的处理操作。Zynq 架构的特点在于还可将处理后的图像从 PS DDR 移回 PL 中的图像流水线。 传感器融合 很多嵌入式视觉系统还要求能够集成更多传感器数据以更好地感知环境。这包括使用很多同类传感器(同类传感器融合)扩大视场,例如高级驾驶员辅助系统的全景功能;或者整合多个不同类型的传感器(异构传感器融合)提供可见光谱下无法看到的视觉内容,例如在常规图像传感器数据上叠加红外信息。 很多情况下,需要将嵌入式视觉应用的输出与其他传感器数据进行融合,使产生的图像包含多个不同传感器的信息。最简单的传感器融合应用是将不同频谱的图像相结合,例如可见光与红外线融合以实现更好的夜视效果。 传感器融合的另一个更为复杂的用途是将成像系统、全球导航卫星系统 (GNSS)、数字地图信息以及不同波长下运行的其他传感器(例如雷达)进行融合,以确定另一辆汽车的相对位置,从而实现避撞功能。 由于要将不同系统融合在一起,并提取信息,因此传感器融合对处理器的要求会非常高。All Programmable 片上系统解决方案能够与多个传感器建立接口连接,并行处理信息,增大数据吞吐量,因而具有多种显著优势。 结论 嵌入式视觉已变得非常普遍,其市场渗透率和应用范围将在下个十年里只增不减。 在传感器和系统层面,有多个因素必须加以考虑。有多种技术、框架和器件可用来实现嵌入式视觉系统。 [1] CAGR – 复合年增长率,年同比增长率。 [2] 我们可以在图像器件上使用不同涂层,以影响它的波长性能。 [3] 请见 XAPP 1167 http://china.xilinx.com/support/documentation/application_notes/xapp1167.pdf [4] 有可能创建无损的编码应用

    时间:2017-01-24 关键词: 概念 传感器 系统开发 因素 技术前沿 嵌入式视觉

  • Embedded Linux 技术与概念解析

     引言 Embedded Linux技术基于开放源码的资源,并且已经是当今最重要的嵌入式应用技术之一。Embedded Linux是烧录在目标装置上的系统,1个Embedded Linux系统包含Linux kernel与 root filesystem 2大部分,Embedded Linux系统到底包含哪些组成要素构成,本文将由概念的层面进行解析。 本文 由于目前的目标装置,都必须嵌入极为复杂的功能,所以嵌入式操作系统(Embedded system)成为嵌入式系统不可或缺的要素。由于嵌入式系统是功能导向的系统,因此必须设计、选择或购买正确(或适合)的目标装置,才能开始实作并嵌入嵌入式系统。因此,嵌入式系统技术是以功能、与目标装置为分类的1种技术。 例如,与PDA相关的目标装置(即硬件)、与MP3播放器相关的目标装置、与3G手机相关的目标装置...等等;使用这些目标装置所开发的特定功能系统,便是PDA的嵌入式系统、MP3音乐播放的嵌入式系统、3G手机的嵌入式系统。 Embedded Linux其实并不是1个操作系统,而是代表应用Linux系统于Embedded system的名词。Embedded Linux的技术核心主轴是在研究如何将Linux系统嵌入至嵌入式目标装置里。 Embedded Linux是基于Linux系统的特殊应用,当然也要符合众多标准才行。LSB与FHS标准是重要的2大标准,跟随标准不但可以提供系统间的兼容性,也可以提供我们1个Linux系统的建构依据。 GNU/Linux的2个标准 由FSG (Free Standards Group) 所主持的 LSB (Linux Standard Base) 项目即是在制定 GNU/Linux 标准。根据LSB标准所发展的GNU/Linux系统,才能提供应用程序最小的可执行环境,并且可在依循LSB标准的Linux distributions上执行无误。例如,我们可以在符合LSB标准的Red Hat Linux上发展应用程序,只要自行发展的Embedded Linux系统符合LSB标准所订定的规范,应用程序就可以顺利移植到Embedded Linux上执行。 LSB标准提供我们发展Embedded Linux的依据,虽然Embedded Linux系统是最小化的Linux,但因为Embedded Linux是嵌入式系统的软件平台,所以我们不能任意精简Linux系统,在精简的过程中仍要保留最基本的操作系统环境,而LSB的标准正是在制定这些基本的需求。 FHS全名为Filesystem Hierarchy Standard,是定义档案与目录标准的文件,FHS的标准,定义了目录与档案的摆放位置,而UNIX-like的系统则是根据这个标准,管理整个档案结构。因此,不管是系统厂商、Linux/UNIX distribution发展者、应用程序作者、套件管理者、系统维护人员都应该要依照FHS的标准来管理UNIX系统的目录与档案。 Embedded Linux的特色是大量使用自由软件、与开放源码软件(FOSS- Free & Open Source Softwar)资源,任何你想要的软件,几乎都能在网络上找到自由软件已经成为Embedded Linux技术的重要支柱。自由软件资源包山包海,举凡应用程序、系统工具、网络工具、链接库、图形接口、小型浏览器、程序发展工具...等等都能找得到。 Busybox Busybox是重要的Embedded Linux工具箱,这个工具箱提供基本的UNIX指令、系统程序(daemon)与开机程序(init process)。Busybox用来建造1个基本、最小化且可开机的Linux系统,由于Busybox里的指令与工具都经过最小化处理,因此已经是目前主要应用在Embedded Linux实作上的开放源码项目了。 Embedded Linux的组成 图 Embedded Linux整体架构 Embedded Linux平台除了Linux kernel外,还包含共享链接库(shared library)。shared libraries是Linux kernel的重要支持,并且也是Linux架构里独立的1层。在应用程序方面,许多现存的开放源码项目都可以直接移植到ARM9平台。但这里所指的移植是对原始码进行跨平台编译(cross compile),并不是BSP(board support package)的移植。 跨平台编译 因为开放源码开发工具的特性,在应用程序级别的移植工具上,可以有1套比较系统化的方法,也有相关的工具与环境可以使用,目前最热门的跨平台编译环境为OpenEmbedded。开放源码软件采用GNU Autoconf与GNU Automake来撰写编译法则(Makefile),因此实务上,要将应用程序移植到ARM9平台,大部分案例只需要做跨平台编译即可。要了解如何将原始码移植到ARM9平台,需要学会GNU Autoconf以及GNU Automake的使用。 GNU Autoconf Autoconf是m4宏的扩充套件,可以用来自动设定软件套件的原始码。Autoconf会产生1个协助程序编译的设定文稿执行档(configuration script),以方便编译原始码前进行系统检查与设定,使用GNU Autoconf时,必须安装GNU m4套件。 GNU Automake Automake是自动产生Makefile.in的工具,需配合Autoconf使用,以产生可以让GNU Make自动编译原始码的”Makefile”档案。 GNU Make GNU Make会根据“Makefile”来自动编译程序,而编译完成的程序为执行文件。GNU Make的重要特点,是没有特定程序语言限制,甚至可以应用在非程序语言编译的环境中,例如:系统维护工作与套件安装,因此GNU Make可以说是系统自动化的好工具。 GNU Make根据“Makefile”档案里所定义的规则,执行Unix命令,简单的Makefile规格,可以利用编辑器手动撰写,但较复杂且与针对不同平台的设定,则建议采用GNU Autoconf/GNU Automake来产生“Makefile”。当我们能够产生使用cross toolchain的Makefile时,就可以将套件编译成ARM9的执行档。 ARM 平台的选择与支持 嵌入式装置的硬件选择当然没有所谓的标准,但若是谈论到嵌入式Linux的应用,在平台的选择上就会有一些考虑。最重要的考虑因素,当然就是处理器对于操作系统的支持,如此一来,没有MMU(内存管理单元)的ARM7平台,就不在主要的选择范围内。以下列出几个目前普遍使用的ARM9应用程序处理器(application processor):[!--empirenews.page--] 在选择解决方案时,若是决定采用Linux做为嵌入式操作系统,首先当然就是要确定厂商是否提供完整的BSP。不过,由于Linux是由社群所维护发展,因此,选择目前Linux kernel内有支持的平台,将会是较好的选择,这也是为什么有许多大厂,主动贡献并提交BSP给kernel.org的原因。 目前在kernel社群比较活跃的ARM9厂商,或是社群主动积极协助维护的SOC平台,像是ATMEL、Samsung与TI OMAP等,这些都是kernel.org的Linux kernel就有支持的处理器,这表示让Linux支持这些平台的方式也很简单,就是到kernel.org下载官方的Linux kernel即可。 Crosstool 针对ARM9或是其它平台的开发,最重要的工具就是Cross Toolchain。Cross Toolchain的制作一直是Embedded Linux开发者的梦靥,大多数人选择由网络下载现成的开发工具,但经常会遇到缺乏链接库的编译错误。完整的Cross Toolchain包含1套基本的gcc cross compiler以及其它的应用链接库;Cross Toolchain是制作基本gcc cross compiler的工具,透过crosstool即可制作ARM9的基本toolchain。 Root Filesystem概念 Root filesystem的建置,即是在建立1个基本的Linux系统(base system),让kernel在完成开机后,进入user mode执行使用者程序。Root filesystem的建置主要是以Busybox为主,并加入(移植)客制化的开放源码(open source)与自由软件(free software)。 因为嵌入式Linux的root filesystem是依照需求加入套件,与桌面环境的Linux distribution不同,因此都是用从头打造的方式做起。在建立root filesystem时,链接库相依 (library dependencies) 的议题是相当重要的项目。当root filesystem缺少必要的library时,程序当然无法执行,甚至系统也会无法顺利启动。分析应用程序所需的相依链接库,观念如下: (1)先利用Cross Toolchain的objdump指令观察ELF格式里的「NEEDED」项目。 (2)必须再检查这些library是否相依其它library。 1个基本且可开机的root filesystem,也称做bootstrap root filesystem,1个可用的bootstrap root filesystem只需要包含busybox与libc即可。传统的Embedded Linux应用,大多是以NFS的方式来测试目标装置的完整root filesystem(full root filesystem)。以NFS进行Embedded Linux开发测试,主要是针对目标装置的full root filesystem做立即(right now)的系统执行测试(run-time),免除不断打包image file、开机的恶梦。这是1种流行很久的Embedded Linux系统测试与开发方式,其概念如下: (1)将target的完整root filesystem(例如ARM9 root filesystem)建置后,存放于host端的某个目录下,例如/home/rootfs。 (2)为target制作1个NFS root filesystem,也就是bootstrap root filesystem+ NFS功能,并使用NFS root filesystem将目标装置开机。 (3)设定host端为NFS server。 (4)以NFS mount方式将host端上的root filesystem目录mount进来,即可在目标装置上执行full root filesystem里的应用程序。 这种方式不但简单,而且方便,需要的基础建设如下: 1.目标装置使用的kernel必须支持NFS。 2.制作bootstrap root filesystem时,需要加入mount指令,并且开启mount指令的NFS功能。 3.加入NFS functionality至bootstrap root filesystem。 4.设定NFS server。 制作完成的root filesystem必须做打包的动作,将整个root filesystem包装成1个映像档(image file)。根据目标装置的不同,我们可以将映像档包装成ROM fs、Compress ROM fs、ext2fs或是compress RAM fs。 ROM file system ROM file system(romfs)是1种只读的档案系统,在Embedded Linux里的主要应用为制作romfs格式的档案系统映像文件。我们将root filesystem制作成romfs filesystem的image檔。开机后,整个filesystem仅能读取。要使用romfs filesystem必须将Linux kernel里的CONFIG_ROMFS_FS功能选项打开。制作ROM fs映像档所使用的工具为genromfs。 Compressed ROM file system Compressed ROM file system(cromfs)即是压缩过的ROM file system,其制作方式相当简单,只要使用gzip将ROM file system的映像档压缩即可。 制作ext2fs映像档 制作ext2fs映像档的方式有2种。1种是使用dd指令产生1个空白的映像档,接着再将此映像档以mkfs.ext2指令格式化成ext2的格式。制作好的空白映像档再以loopback mount方式挂载到1个目录下,再将root filesystem整个复制到此目录下,即可完成ext2fs映像档的制作。 另外1种建立ext2fs映像档的方式是使用genext2fs工具,此工具的好处是,当我们需要在root filesystem里预先建立(pre-built)装置文件时(device file),只需要编写1个装置文件表格,genext2fs工具会在打包映像档时,自动在root filesystem里建立装置文件。 Initial RAM disk(initrd) RAM disk是存在于内存中的虚拟磁盘,也就是将RAM拿来当成磁盘使用。在Embedded Linux的应用中,我们通常会将ramdisk当成暂存目录来使用。例如将/dev/ram1附挂到/tmp目录,以便能让应用程序存放暂时性档案。/dev/ram?为ramdisk的device file。由于整个root filesystem是从真正的储存装置读取并加载至ramdisk,因此有1个重要的特性是对file system所做的任何修改,都不会影响到真正root filesystem的内容。 initrd全名为initialize RAM disk,是1个特殊的RAM disk。bootloader会将initrd载至内存,Linux kernel则可在/dev/ram0找到initrd。initrd会在Linux kernel开机前就加载,initrd正式的用途是用来存放开机时所需要的驱动程序(因root filesystem尚未mount进来)。在Embedded Linux应用上,我们会利用initrd来存放整个档案系统(root filesystem),也就是将root filesystem制作成ext2或romfs格式(或其它档案系统)的映像文件,并在开机时由bootloader加载内存,initrd均位于/dev/ram0。要使用RAM disk与initrd,必须将Linux kernel的CONFIG_BLK_DEV_RAM以及CONFIG_BLK_DEV_INITRD)。[!--empirenews.page--] 使用initrd做为root filesystem装置 将initial RAM disk当成root filesystem来使用,是在Embedded Linux应用上是相当常见的技巧,如果我们想将initial RAM disk当成存放root filesystem的装置来使用,在开机时,只需要配合root=的kernel开机参数即可。 initramfs Linus本人在Linux 2.6时代所提出的 "initramfs" ,是1种更好的 "root=" 做法。简单来说,initramfs就是kernel 2.6 的 initrd,initramfs是属于1种compressed ramfs(ram filesystem)的映像档。 C链接库 在C链接库方面,除了标准的glibc也被广泛应用在嵌入式系统领域外,也有一些专门针对嵌入式系统应用所发展的C链接库,像是uClibc以及Diet libc。但是由于现在的ARM9处理器计算效能都很快,平台也多搭载大容量NAND闪存,所以许多实作都直接使用libc来实作root filesystem。 Linux驱动程序 由于嵌入式系统整体来看,除了软件开发外,也包含硬件客制化,因此驱动程序在嵌入式系统技术领域中,占了举足轻重的地位。学习驱动程序需要确实了解硬件的规格与微处理器架构,并且工程师还要能分得清楚哪些东西是接口(interfacing),也就是与硬件无关的程序(machine-independent);以及哪些是站在第一线做硬件控制的程序(machine-dependent)。各种软件硬接口与汇流排也都要精通。 了解Linux驱动程序的架构,是进入嵌入式Linux领域的重点功课,因为许多针对ARM9平台的驱动程序都是参考框架、或是针对特定开发板的实作,因此必须了解Linux驱动程序的架构,并进行修改,以符合自己的开发板与外围规格。 Linux驱动程序,采取严谨的分层式架构设计(layered architecture),利用分层的架构设计来彻底区分generic device driver(machine independent)与machine dependent driver。 Linux驱动程序透过注册与回呼的机制来清楚区分每1层的关系。分层架构的实作必须在下层将自己注册给上层,上层再回呼下层;上层的驱动程序必须提供注册函数供下层呼叫,下层驱动程序所使用的注册函数也将决定自己的上层架构。 与user application如何互动,是撰写驱动程序时所要考虑的重要一环,因此撰写驱动程序时,要提供什么功能给应用程序引用,就必须事先定义清楚。Linux的 generic device driver层已经帮我们把这些功能定义清楚了。Linux驱动程序如何透过I/O port或I/O memory来控制装置,也就是与芯片组的沟通,方式是使用Linux kernel所提供的I/O函数来存取并控制实体硬件装置。 Linux驱动程序的装置文件 Device files是UNIX系统的独特观念,在UNIX系统底下我们把外部的周边装置均视为1个档案,并透过此档案与实体硬件沟通,这样的档案就叫做device files或special files。 Device file的major number代表1个特定的装置,例如major number 1为”null”虚拟装置,major number定义于kernel文件目录Documentation/devices.txt。Minor number代表装置上的子装置,例如同1个硬盘上的分割区就用不同的major number来代表,但其major number相同。 我们在设计device driver时,会先透过1个“注册”(register)的动作,将自己注册到kernel里,注册时,我们会指定1个major number参数,以指定此驱动程序所要实作的外围装置。当user开启device file时,kernel便会根据device file的 major number找到对应的驱动程序响应使用者。Minor number则是device driver内部所使用,kernel并不会处理不同的minor number。 Linux 2.6的kobject模型 Linux 2.6在驱动程序的架构方面,加入kobject的概念。kobject以更有系统、组织的方式维护系统里的driver(集中式管理),但并非改变现有(kernel 2.4以来)的driver架构。在kobject的模型下,可以看到1个platform driver观念。所谓「platform driver」就是machine- dependent driver,当驱动程序设计师在kernel 2.6底下实作machine-dependent driver时,就要以platform driver的架构来实作。例如,针对我们的目标装置进行硬件层的驱动程序撰写时,就要以platform driver的方式来撰写,实作上,只是多1个注册到platform driver层的动作而已。 Flash装置的支持 针对嵌入式系统经常使用的闪存(Flash)储存装置,Linux kernel支持JFFS2与NFTL 2个专门针对快闪记亿体设计的档案系统。JFFS2(Journaling Flash File System version 2)是专门针对 NOR 型闪存所设计的档案系统。NFTL(NAND Flash Translation Layer)则是专门针对NAND型闪存设计的档案系统。 结论 综合而言,Embedded Linux是1个平台、也是一些工具的集合、也是1个嵌入式软件的开发环境;实作上,Embedded Linux除了会进行kernel的修改、驱动程序的移植或开发外,也会是系统管理与系统整合的再应用,这是一门集大成的技术,并不只是1个嵌入式操作系统,也不只是1套开发工具。

    时间:2014-06-07 关键词: 概念 Linux 技术

  • VxWorks系统概念妙喻

     当前嵌入式系统已无所不在,应用于各行各业。在嵌入式系统中,有一类很重要的成员,即实时嵌入式系统。其中,WindRiver公司的 VxWorks是目前软件工程师采用最多的,用于开发实时嵌入式系统的商用实时嵌入式操作系统,以其可靠性及强大的工具支持著称。很多程序开发人员由 Windows编程转向嵌入式编程时感到困难,因为在Windows的API函数中有不少操作系统内核机制都进行了封装(如信号量、消息等),往往不必了解这些概念,而优秀的VxWorks编程者则需要更加了解与内核相关的概念。下面通过现实生活中的一些事例进行类比来说明这些概念,即使是初学者也能轻松领悟。 1 实时性与非实时性 VxWorks作为实时操作系统,实时性指的是对外部事件的响应在规定的时间内完成。举个工作中的例子,有一种情况:假如你的公司规定对客户的投诉必须在当天予以解决,因而当接到投诉时,你马上去往客户处交涉并解决问题。另一种情况:公司在收到客户投诉后,并不马上解决,而是在一段时间后汇总并根据客户所在地集中解决。第一种情况就好比实时系统,在规定时间内对外部事件进行响应;第二种情况好比非实时系统。很可能出现的一种情形就是,刚解决好一个客户的问题后回公司,得知又一位同一地点的客户要求你去,因此懊悔不已,接到投诉后不如不马上行动。同样,非实时系统也需要付出额外的代价,因此不能简单地说哪种系统效率更高或性能更好。第一种公司制度更让客户满意,因为它能在规定时间内给客户反馈,虽然效率不一定最高。具体选用哪一种管理制度应该结合实际经营情况而定,同理,实时系统也有它适合的应用。比如汽车控制设备、国防系统中,不在预定时间内对外部随机事件作出响应是很不合理的;而在 Windows系统中,鼠标点击在系统繁忙时可能好几秒才响应过来。 2 多任务与单任务 多任务好比一个团队的多个人分工合作完成一项工作,而单任务则是一个人独立完成一项工作。假如这项工作就是去邮局邮寄一份文件,那么一个人足以胜任,多个人反而显得多余。假如这项工作包括去邮局邮寄文件,收取客户Email并及时回复,接听电话,那么一个人就显得杂乱无章,不能及时回复邮件,或错过电话。如果安排两个人完成此项工作就容易得多,一人去邮寄文件,一人留单位接听电话并收取Email.从程序设计角度来说,单任务或多任务都没有绝对优势,因此应用程序是采用何种任务划分,需根据具体应用而定。 还有一个问题,毕竟CPU资源是固定的,如果同时运行多个任务,那么每个任务的处理能力都降低了,整体性能是否提高了呢?假如需要将两个文件从 A地分别送往B地和C地,如图1所示。一个行走速度极快的运动员从A地到B地需要10 min,交接文件需10 min,从B地返回A地需10 min,再从A地到C地需15 min,交接文件需10 min,总共花费55 min.而两个行走较慢的人共同完成该任务,一人从A地到B地需20 min,交接文件10 min,30 min完成;另一人从A地往C地需30 min,交接文件需10 min,总共也就40 min.交接文件时间越长,两个人的优势越明显。在程序中等待慢设备的应答信号就是这种情况,不能将整个CPU的时间花费在等待中。但假如任务就是将文件从A送到B,那么多个行走慢的人就不如一个速度快的人了。 图1 文件派送两地示意图 3 信号量(semaphore) VxWorks系统中,信号量包括互斥信号量、二进制信号量和计数信号量,其他操作系统基本上也是如此。按作用划分为同步和互斥机制。通过信号量的同步和互斥机制可以方便、高效地协调任务。互斥方式的功能是不同任务可以利用信号量互斥地访问临界资源。现实生活中也是如此,比如单位会议室只有一个,可能有多个部门使用会议室,单位采取如下管理方式:使用前向负责人申请,若会议室空闲就可以使用,会议结束后通知负责人;否则,等待负责人通知。这里的会议室就好比临界资源,申请和通知这种方式就好比信号量的互斥机制,如图2所示。 图2 信号量互斥机制与会议室管理机制对比 信号量的同步机制有所不同,提供的任务同步功能是指一个任务可以利用信号量控制自己的执行进度,使自己同步于一组外部事件。好比甲等待乙的电话再一起吃饭。甲接电话之前没有任何行动,好比这个任务阻塞;接到电话好比获取信号量(乙打电话好比释放信号量);去吃饭就好比继续执行任务。 计数信号量与二进制信号量都可以用于任务之间的同步与互斥,不同之处在于,计数信号量能够记录信号量释放的次数,可以用来监视某一资源的使用状况。好比存钱与消费:存入的金额计数累加(释放信号量计数),消费时金额减少(获取信号量计数减少),只要金额不为零就还有消费能力(信号量可用),金额为零就只能等待存入(获取信号量但无信号量可用只能等待其他任务释放信号量)。 4 消息机制 仅通过信号量的同步、互斥是无法提供完善的响应式交互信息的。消息(message)机制通过消息队列保存多个消息,一般来说,消息是按照 FIFO的顺序通过消息队列的。信号量好比是两人相互约定,电话铃响,不用接听,直接出门迎接;而消息机制发送就是,接听电话并根据电话内容执行相应操作。接听电话并根据电话内容办理相应事情,比电话铃响就按约定办理事情多花费时间,同样,消息机制比信号量更耗费时间;但接听电话后根据电话内容办事比前者更加灵活,适应更多的场合,同样,消息机制的使用比信号量更加灵活,并且电话内容可以是临时增加的,类似消息内容的可扩展性。 5 信号 信号(signal)与信号量听起来很相似,其实是完全不同的两种机制,一定需要明确区分。信号是一种由事件触发的软件中断,它可以异步地改变信号接收任务的执行流程,使其转向对应的信号处理程序执行。即使该任务当前处于阻塞状态,一旦接收信号后就会处于准备执行状态,但是当信号处理程序执行之后继续处于阻塞状态。举个例子,上班时你可以随意安排你的工作,就好比任务中程序的顺序执行;单位出现突发事件需要你立刻解决,当前工作被打断,就好比该任务接收到信号,当前程序被打断;处理完突发事件后继续工作,就好比信号处理程序执行完返回原来被打断的地方继续执行。这个突发事件就好比一个信号,该信号影响的任务立刻跳转到指定的程序;这个突发事件是随机、不可预料的,就好比信号接收的不可预料性,在程序中信号机制常用于异常处理。不同于信号量用显式语句表示何时需要获取或释放信号量,信号机制允许程序在任何地方被信号中断而转向相应的处理程序。[!--empirenews.page--] 以上是对VxWorks操作系统一些相关概念的理解和总结,在技术交流中很容易被接受,希望能分享给更多的朋友。

    时间:2014-07-22 关键词: 概念 VxWorks

  • Windows CE开发中常用的概念知识

    Windows CE开发中常用的概念知识

    这篇文章的目的并不是介绍Windows Embedded CE开发的方方面面,只是用一个初涉嵌入式领域的软件开发者的视角来介绍Windows CE开发中最常用的概念和知识,解决大家会在实际开发中碰到的一些小问题,让大家了解嵌入式开发与应用程序开发,到底有哪些不同。 Windows CE概述 从6.0版本开始,Windows CE的名字改为Windows Embedded CE,当然这也是为了结合Windows Embedded品牌作出的改变。CE经过了十年的风风雨雨之后,终于在CE 6.0这个版本上再次浴火重生了。CE 6.0经历了CE历史上第二次内核重写,使CE操作系统更加符合当今嵌入式开发的方向。 CE 6.0在内核方面的改变主要是为了适应嵌入式设备硬件发展的要求,在进程数量方面,从过去最多运行32个进程,改变为最多运行3万2千个进程,内存方面从每个进程最多拥有32M虚拟内存空间改为最多拥有2G虚拟内存空间。在OS布局方面,将关键的驱动程序、文件系统和图形界面管理器(GWES)移到了内核中,这样可以更好解决因为CPU在内核态和用户态间切换而造成的性能损失。 当然,从以上的改变,我们可以看到CE 6.0较之前版本更加“重量级”了。操作系统领域关于“微内核”的争论已经持续了很多年,CE的改变也许会为某个学派的观点提供支持。但我们必须指出的是,正因为目前的嵌入式设备硬件已经可以支持比较“重量级”的操作系统了,所以CE 6.0才会做出如此改变。 CE针对开发者的另一个转变开始自CE 5.0,将开发环境Platform Builder整合到Visual Studio中,这种做法无疑减轻了微软维护两套IDE的负担,从另外一个方面来看,CE的开发者也可以享受到更好的开发体验了。 嵌入式开发流程 也许很多初涉嵌入式开发领域的程序员会被一系列的新名词搞得头昏脑胀,在这里,我希望能够将嵌入式开发的流程展现给大家。 嵌入式开发主要分为三个比较大的部分: 1 驱动程序开发 这部分开发是从硬件设计开始的,硬件工程师会设计PCB板,为我们提供标准开发板(SDB,standard development board)。当我们拿到开发板之后的第一件事情就是编写boot-loader,让开发板启动起来,一般是通过JTGA将boot-loader烧录到开发板中的。我们可以将boot-loader看作PC中的BIOS,负责硬件设备的初始化工作,并且将操作系统运行起来。在此之后,我们需要根据开发板上的硬件开发各种驱动程序,比如串口、USB、鼠标、视频输入等。最后将这些驱动程序和boot-loader打包,称为一个板级支持包(BSP)。 BSP是和开发板的具体硬件紧密相关的。 所以从事这方面开发的工程师往往具有比较强的硬件知识水平。 2 平台定制 我们可以将Windows CE想象为一盒积木,根据不同的应用场景和设备要求,我们要对这盒积木进行定制,堆积出不同形状的城堡、动物和生活用品。这个过程称为“平台定制”,定制产生的平台往往和具体的硬件设备相关,直接将平台下载到硬件设备上就可以运行了。整个开发过程,需要选择不同的组件来搭配出最适合当前硬件的软件平台。所以要对Windows CE的组件,也就是Catalog Item,有相当程度的了解。 3 应用程序开发 嵌入式设备上的应用程序开发与传统应用程序开发类似,只是要借助于硬件模拟器或者实际设备对程序进行调试。最常见的嵌入式设备应用程序开发,就是Windows Mobile的移动应用开发。平台定制工程师会在硬件出厂之前先提供平台相关的SDK,SDK中会包括模拟器。应用开发者可以首先使用模拟器对程序进行开发和调试。等实际硬件出来之后,再将程序转移到实际硬件中。因为Windows CE采用了很多措施,这种“转移”几乎是无缝的,所以我们并没有使用“移植”这个词。 嵌入式领域的应用开发其实是普通软件工程师就可以进行的。0次

    时间:2018-06-04 关键词: WinCE 概念 常用 知识

  • 单片机和嵌入式的概念理解与区分

    单片机和嵌入式,其实没有什么标准的定义来区分他们,对于进行过单片机和嵌入式开发的开发者来说,都有他们自己的定义,接下来,就谈谈本人对这两个概念的理解和感悟。首先明确概念,什么是单片机,单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。比如最经典的51系列单片机,如下图所示,外观只是一块一个拇指大小的长方体芯片,共40个引脚,里面包含了逻辑运算单元。实际上也就是一个cpu。在最开始接触单片机的时候,还曾经有过一个疑问,为什么单片机是黑色的而不可以是别的颜色,后来才知道是单片机材料的限制。对单片机而言,其实一个芯片就是全部,其他的比如单片机最小系统都是为了单片机的正常运作而加入其他元件,比如晶振,5v电源,电感电阻等。当然最小系统只能保证单片机正常运行,几乎实现不了基于单片机的任何应用。为了使单片机实现应用,必须要加入其他外设。比如按键,led灯,led屏,蜂鸣器,各种sensor。这也就是市面上很多公司都在做的单片机开发板。总结,单片机就是完成运算、逻辑控制、通信等功能的单一模块。也就是单片机真的姓“单”。DSP芯片也可以认为是一个单片机。当然它们性能很强大,但是功能依然很单一,总之就是处理数据、逻辑。那么什么是嵌入式呢,一般说嵌入式都是指嵌入式系统,嵌入式系统是将应用程序、操作系统、和计算机硬件在一起的系统,是指以应用为中心,以计算机技术为基础,软硬件可裁剪,其针对的用户应用对功能、可靠性、成本、体积、功耗和使用环境有特殊要求的专用计算机系统。IEEE(Instuteof Electrical and ElectronicsEngineers,美国电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。这是因为嵌入式系统一般用于工业控制,也就是说对外设的控制都是写死的,并不需要人工干预,同时也为了保证系统的稳定和可靠。我们经常可以听到公司招聘的要求是嵌入式软件工程师或者嵌入式硬件工程师,也就是说嵌入式系统包括软件和硬件,其实仔细想想也能明白,都已经跑系统了,当然有软件也有bsp硬件啦。也就是说嵌入式系统是软硬件结合体,国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。接下来将嵌入式分成硬件和软件详细说明 硬件层:硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。其中核心就是微处理器,嵌入式处理器和一般的电脑cpu还有区别,嵌入式微处理器大多工作在特定设计的系统中,比如或者Atmel公司都有很多定位不同的处理器,atmel的SAM系列是专门为物联网设计的,AVR则由于性能十分突出,广泛应用于工业领域。嵌入式微处理器有各种不同的体系,即使在同一体系中也可能具有不同的时钟频率和数据总线宽度,或集成了不同的外设和接口。据不完全统计,全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流的体系有ARM、MIPS、PowerPC、X86和SH等。但与全球PC市场不同的是,没有一种嵌入式微处理器可以主导市场,仅以32位的产品而言,就有100种以上的嵌入式微处理器。嵌入式微处理器的选择是根据具体的应用而决定的。比如arm公司有各种各样的处理器架构,最经典的cortex系列,它属于ARMv7架构,这是到2010年为止ARM公司最新的指令集架构。ARMv7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。下图就是cortex系列的不同定位。在嵌入式领域,可以说arm架构的处理器占据了半壁江山,而arm公司也成为著名的科技公司,而它却没有生产任何处理器,而只是提供了IP,可以看出一流公司做标准。而其他用的比较多的架构就是sparc、powerpc等。嵌入式系统和外界交互需要一定形式的通用设备接口,如A/D、D/A、I/O等,外设通过和片外其他设备的或传感器的连接来实现微处理器的输入/输出功能。每个外设通常都只有单一的功能,它可以在芯片外也可以内置芯片中。外设的种类很多,可从一个简单的串行通信设备到非常复杂的802.11无线设备。嵌入式系统中常用的通用设备接口有A/D(模/数转换接口)、D/A(数/模转换接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太网接口)、USB(通用串行总线接口)、音频接口、VGA视频输出接口、I2C(现场总线)、SPI(串行外围设备接口)和IrDA(红外线接口)等。这一点其实和单片机类似。软件层:也就是操作系统了,包括内核和文件系统,还有就是更为顶层的应用程序,嵌入式操作系统一般都是Linux或者其他类Unix,还有一些实时操作系统(RTOS)比如VxWorks、RTEMS、ucOS等。其中Linux还包括不同的distribuTIon,比如Ubuntu、Redhat、Debian、centos等,他们都是采用Linux的内核,不同的是上面的software和tools,当然不用太过于担心标准问题,这些Linux发行版选择的软件几乎都是比较通用的,比如网页服务器的Apache、电子邮件服务器的postfix、sendmail、文件服务器的Samba等。此外还有Linuxstandard base等标准来规范开发者。类Unix主要是FreeBSD以及Solaris等。嵌入式领域最常用的还是一些实时操作系统,实时操作系统的核心就是实时性,本质就是任务处理所华为时间的可预测性,即任务需要在规定内时限内完成。IEEE对实时系统的定义是“那些正确性不仅取决于计算的逻辑结果也取决于产生结果所花费时间的系统”。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。那么实时操作系统和Linux这种分时操作系统的区别列举如下:(1)多路性。实时信息处理系统与分时系统一样具有多路性。系统按分时原则为多个终端用户服务;而对实时控制系统,其多路性则主要表现在经常对多路的现场信息进行采集以及对多个对象或多个执行机构进行控制。(2)独立性。实时信息处理系统与分时系统一样具有独立性。每个终端用户在向分时系统提出服务请求时,是彼此独立的操作,互不干扰;而在实时控制系统中信息的采集和对对象的控制,也彼此互不干扰。(3)及时性。实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级、百毫秒级直至毫秒级,甚至有的要低于100微秒。(4)交互性。实时信息处理系统具有交互性,但这里人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理服务、资源共享等服务。(5)可靠性。分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失甚至无法预料的灾难性后果。因此,在实时系统中,采取了多级容错措施来保证系统的安全及数据的安全。由于更加可靠和及时。嵌入式实时操作系统更加广泛应用于工业控制、航空航天、军工等领域,比如美国航天局NASA近几年发射的火星探测器等都是采用的RTEMS实时操作系统。中间层:所谓的中间层就是软件层和硬件层之间的接口层,其实严格而言也属于软件层。一般开发者称之为BSP,这一层主要负责的是向下提供硬件的驱动,硬件的配置等操作,向上则向软件开发者提供标准API,进行中间层开发的开发者通常称为嵌入式驱动工程师。从这里也可以看出来,嵌入式设计和软硬都分不开,既要掌握底层硬件的特性以及如何驱动其工作,也要了解操作系统的相关知识,才可以编写相应功能的应用。因此看一个操作系统是否支持某个芯片或者某个开发板,只要看其源码中是否包含相应芯片或开发板的板级支持包。以上就是本人对嵌入式系统系统的理解,接下来再来谈谈嵌入式系统应该跑在什么样的硬件上。谈起嵌入式硬件或者开发板,我想很多人第一印象就是RaspberryPi,是一块只有信用卡大小的微型电脑,别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。树莓派推出后,很多厂商争相推出类似产品,比如香蕉派之类的。在这里用TI的Beagleboneblack板子进行说明,Beagleboneblack板如下图所示:可以看出体积大小和树莓派类似,外设包括有USBhost和USBmini以及网卡接口,,背面还有一个sd卡槽和HDMI接口。接下来看看它的性能参数:下表是BBB板和树莓派的性能参数比较:Beagleboneblack的处理器是一块主频达到1GHZ的Ti处理器,基于arm的cortexa8架构,RAM是512M的DDR3,存储器大小为2GB,支持的操作系统包括Ubuntu、archLinux、Android等。外设有USBhost和一块百兆网卡。BBB的处理器采用的是当前嵌入式系统中最流行的ARMv7指令集。采用当今广泛使用的指令集的处理器可以被更多的软件支持。例如,一些操作系统已经不支持在ARMv6指令集上运行,例如,Ubuntu在2012年4月放弃了对ARMv6指令集的支持。ARMv7相对与ARMv6指令集的另一个优势在于,使用ARMv7的处理器的实际性能更加强劲。ARMv7相对与ARMv6的优势还有很多,比如一些显著的改进:实现了超标量架构、包含了SIMD操作指令、改进了分支预测算法从而极大的提高了某些性能。总结:以上就是一块基本的嵌入式核心板所具有的性能参数,和上面说到的单片机的性能参数相比较,单片机的处理能力较低,主频大多在几十M上下,和嵌入式动辄上百上千M的处理速度还是相差较多,此外单片机并不具有图形界面的处理能力,也就是GPU的缺乏导致单片机几乎不可能带动图形界面;单片机的存储空间和嵌入式处理器也不是一个等级的,单片机通常片内存储只有几k大小,而由于外设的限制也不太可能大范围增加外设emmc,而嵌入式处理器通常有几百兆的RAM,如此巨大的差别导致单片机几乎不可能像嵌入式处理器那样运行操作系统,甚至连TCP/IP协议栈和USB协议栈都跑不起来,一些高端的单片机比如ST公司的STM32系列,可能可以跑一些轻量级的系统os和嵌入式网络协议栈,比如IwIP协议栈。嵌入式处理器丰富强大的性能决定它能完成更多单片机不能完成的应用,比如网络通信功能,视频传输处理功能等,而当外设存储增加后,嵌入式处理器能够轻松运行各种Linux系统,以及图形GUI界面。在开发方式上单片机和嵌入式也有较大差别,也就是编译过程的区别,单片机主要在Windows等图形界面下开发,目前有很多成熟的IDE工具比如keil、IAR、以及ti的CCS等,这些工具集编译、汇编、链接、仿真为一体,并且由于在Windows下开发,具有友好的用户界面,开发者只需编写c代码,然后点击编译链接按键即可,出现错误还可以debug或者仿真,上手还是非常快的。而嵌入式开发一般是在Linux下进行的,要将c代码在自己主机上编译完成,然后通过系统镜像或者uboot引导将编译好的文件烧入开发板,由于主机的处理器的x86架构,而编写的代码是为了运行在arm架构或sparc架构的处理器上,因此存在一个交叉编译链的安装,此外,Linux下没有Windows那样的IDE,也就是编译,链接源代码都需要开发者自己完成,一般都是利用GNUmake脚本编写Makefile以及configure文件来完成,Makefile文件中编写如何对c或者h文件编译,也就是编译规则以及依赖文件是什么。这些都需要开发者自己完成。并且以上过程都是在Linux下的终端也就是命令行中完成,这也给嵌入式开发增加了难度。1次

    时间:2018-05-25 关键词: 概念 嵌入式 单片机 基础教程

  • 龙芯竞争者身影浮现 强调首次提出中国芯概念

       6月27日消息,昨天下午,北京大学微处理器研究开发中心主任程旭应该不会想到,原计划低调发布的“x86微处理器核心技术转让阶段性成果”,竟引来媒体记者会后长达数十分钟的贴身追问。   26日下午14时,北大英杰交流中心,北大正式宣布在对转让的x86技术进行优化和创新的基础上,已经成功在FPGA系统板上启动Windows(包括Win98、Win2000、WinXP、Win2003等)和Linux操作系统,并成功运行应用程序,包括新浪在内的极少数媒体被邀至现场见证。   据悉,这也是AMD两年前转让中国政府x86微处理器技术以来,作为技术受让方的北大首次正式对外公布创新成果。当天下午,程旭们迎来了该项目的贵宾--AMD公司董事长鲁毅智。近年来鲜在中国媒体前露面的鲁毅智出席了会议,并对北大交出的首份成绩单表示满意。   7年前,程旭和他北大实验室里的学生们因为第一颗“中国芯”的研制成功而名声大噪。如今当舆论更多聚焦在“中国芯”的代名词--龙芯上面时,在外界眼中将是龙芯有力竞争者的北大众志-863芯片,却被程旭低调表示不愿与龙芯做比较。   首倡“中国芯”   中国自主研发CPU领域一度兵强马壮,但随着汉芯、方舟等项目的相继搁浅,龙芯逐渐成为媒体眼中竞相追逐的能代表“中国芯”的独苗。此前,少有目光聚焦同样具有自主知识产权的北大众志-863处理器。   一位长期关注北大众志(北大下属公司)相关业务的与会专家告诉新浪科技,北大早在1999年即率先提出“中国芯”的概念,是“中国芯”的发源地。“北大众志-863”处理器属于国家863项目,其开发工作得到有关方面的大力支持。   新浪科技了解到,在2003年“中国芯,心系中国--北京大学微处理器开放周”的开幕式上,科技部曾宣布国家“863计划”超大规模集成电路设计专项重点支持的“北大众志-863 CPU系统芯片” 成功量产,并进入市场推广阶段。   “与北大众志-863一样,龙芯是中国自主知识产权处理器的一种。”上述专家介绍说,目前我国本土处理器主要有龙芯与北大众志这两家。他未正面评论北大众志与龙芯的竞争优劣,只称北大众志的市场化速度更快。   据程旭介绍,北大众志在常州的工厂2006年通过了ISO 9000的认证,形成了20万台测试和生产的能力。目前采用北大众志自主系统的网络计算机已经超过3万部,今年年底将超过4万部。   “我们产品已成功出口到古巴和日本等国家。”程旭表示,北大众志已开发出CPU全套技术,拥有自己的CPU、主板等,产业化能力没有任何问题,且完全有能力进一步实现产业化。   耐人寻味的是,谈起芯片产业滔滔不绝的程旭对龙芯话题同样避而不谈,只表示“北大众志-863处理器是市场上最受欢迎的大陆自己开发的芯片系统”。他同时也向新浪科技强调,北大当年首家提出了“中国芯”概念。   尽管有业内人士认为,龙芯采用MIPS架构,北大众志-863采用UniCore指令集,“两者不是一回事”。不过由于双方定位过于接近,处理器发展目标均专注低成本与低功耗领域,相关产品也主要面向网络计算机、服务器等行业市场,双方未来免不了有一番“暗战”。   两条腿走路   新浪科技设法获悉,程旭在与鲁毅志博士的交流中坦陈,北大众志-863处理器在市场化中遇到的一个关键瓶颈是只能运行Linux,“如果可以运行Windows,它将被更多用户接受。”   据程旭介绍,北大在应用过程中发现,如果能够开发X86技术,并很好支持Windows,将可为客户提供低成本的解决方案。在北大众志-863处理器目前无法突破Windows应用的情况下,程旭提出了两条腿走路的思路:一是用北大自己的CPU加Linux,二是用x86加Windows。   一如上面所述,先迈一步的左腿--北大众志-863已率先打开一定市场,拥有近20个行业的应用。随后跟上的右腿--X86也将在继续创新基础上推出两款产品,它们是面向瘦客户机基于X86的解决方案与面向3C融合市场的超便携PC。   程旭向新浪科技透露,基于北大x86的超便携PC将意味着超便携、超低成本以及超低功耗,它有望在一年之内推向市场。   “在未来半年内,我们会努力实现第一代北大众志86系列产品的规模化生产,希望明年上半年在市场上推出第一款基于X86技术的北大众志86系列产品,而不是样品。”程旭说。   据悉,北大在设计上的目标是形成单芯片的解决方案:即除内存之外所有东西集中在单芯片之上,且必须保证100%兼容Windows,并通过国际相关部门的认证。在接口方面,它还将使用国际主流接口,强调面向高端嵌入和低端接入的应用。   至于市场方面的目标,程旭感觉当前存在一些矛盾因素。实际上,北大两种思路下的业务都将具有低成本优势,但这并非程旭们所要的结果。他认为中国人的技术与产品不等于低价,北大众志未来不一定非走低价路线。   程旭希望未来能靠技术获取高回报,比如以1000元成本卖出5000元价格。不过,目前“这只是一个梦想”。26日下午,程旭在北大英杰交流中心门口深深吸入一口烟,语气中夹着些许惆怅。

    时间:2007-06-27 关键词: 中国芯 概念 龙芯

  • 云计算从概念研讨迈向应用实践

    云计算的兴起是近年来信息产业、互联网领域的热点话题,关于“什么是云计算”的设问已经讨论许久,虽然没有严格意义上的统一定义,但各方对于“云计算”的基本构架和理想化模型都心中有数,与此同时,伴随着一些云技术的实践和一批应用的推出,公众对“云”这一概念的理解也更加直观和深入。 中国电子学会副秘书长林润华对记者表示,在2009年首届中国云计算大会举办时,与会专家和业内人士还在讨论“到底什么是云计算”,当时,对于云计算的认识仍停留在概念研讨阶段。 2010年,业内开始关注云计算的发展将对电子信息产业和现代服务业等产生怎样的影响。 2011年,在第三届云计算大会上,光明网科技频道曾对中软研究院云计算实验室主任冯宇彦进行专访,他当时就表示,“云计算应用才是硬道理”,虽然云计算的发展是首先从技术角度推动的,但云计算更多的趋势体现在应用程度上,只有形成稳定的、实用的产品,并在市场上进行销售,才算是真正实现了云计算的产业化,即实现了云计算的价值。 现在看来,冯宇彦的推断很有前瞻性,2012年的中国云计算大会将以“示范引领、创新实践”为主题,而突出应用则是今年最大的亮点。林润华表示,成功的技术创新和应用示范能够更好的推动云计算在各行各业落地生根;另一方面,通过鲜活的云计算应用案例的展示,公众将直观感受和体验云计算的魅力。 从概念研讨到应用实践,这是一个从量变到质变的过程,是从技术推动到应用示范的转变,也标志着云计算迈出了产业化的坚实步伐。 对于云计算是否存在炒作和过热的问题,同样备受关注。有一些观点认为,中国的云计算产业存在“云跃进”的现象,特别是地方政府对云计算青睐有加,一些以“云”为核心的计划、产业基地以及计算中心等纷纷上马,包括原信息产业部部长吴基传对越烧越热的云计算发展也提出了批评。 事实上,云计算在部分地区、部分领域存在过热是不争的事实,很多地方连云计算的概念都没搞清楚,就仓促上马云项目,不进行必要的论证就大规模投资。如同各地的高速公路或高速铁路建设一样,建设本身顺应了技术和产业发展的潮流,并且是一种必要的“超前投资”,是一件好事,但建设的成本规模、资金周转效率、资源配置等问题则是另一件事。 云计算作为IT产业的革命性技术,整理来讲是进步的潮流,并且是一个不可逆的大趋势。云计算已经成为一个领域、一个产业、一个城市甚至一个国家的基础设施之一,产业规模宏大、市场前景广阔,特别是在与电子政务、医疗信息化、教育信息化、移动互联网以及智慧城市的结合上,云计算将充当基础性的技术保障角色。

    时间:2012-04-28 关键词: 概念 云计算 应用实践

首页  上一页  1 2 3 4 5 6 7 8 9 10 下一页 尾页
发布文章

技术子站

更多

项目外包

更多

推荐博客