Linux嵌入式系统与硬件平台的关系

发布者:GHR2596最新更新时间:2014-09-16 来源: eefocus关键字:硬件平台  Linux  嵌入式系统 手机看文章 扫描二维码
随时随地手机看文章

       1嵌入式系统设计方法变化的背景 

       嵌入式系统设计方法的演化总的来说是因为应用需求的牵引和IT技术的推动。

       随着微电子技术的不断创新和发展,大规模集成电路的集成度和工艺水平不断提高。硅材料与人类智慧的结合,生产出大批量的低成本、高可靠性和高精度的微电子结构模块,推动了一个全新的技术领域和产业的发展。在此基础上发展起来的器件可编程思想和微处理(器)技术可以用软件来改变和实现硬件的功能。微处理器和各种可编程大规模集成专用电路、半定制器件的大量应用,开创了一个崭新的应用世界,以至广泛影响着并在逐步改变着人类的生产、生活和学习等社会活动。

       计算机硬件平台性能的大幅度提高,使很多复杂算法和方便使用的界面得以实现,大大提高了工作效率,给复杂嵌入式系统辅助设计提供了物理基础。 

       高性能的EDA综合开发工具(平台)得到长足发展,而且其自动化和智能化程度不断提高,为复杂的嵌入式系统设计提供了不同用途和不同级别集编辑、布局、布线、编译、综合、模拟、测试、验证和器件编程等一体化的易于学习和方便使用的开发集成环境。 

       硬件描述语言HDL(Hardware Description Language)的发展为复杂电子系统设计提供了建立各种硬件模型的工作媒介。它的描述能力和抽象能力强,给硬件电路,特别是半定制大规模集成电路设计带来了重大的变革。目前,用得较多的有已成为IEEE为 STD1076标准的VHDL、IEEE STD 1364标准的Verilog HDL和Altera公司企业标准的AHDL等。 

       由于HDL的发展和标准化,世界上出现了一批利用HDL进行各种集成电路功能模块专业设计的公司。其任务是按常用或专用功能,用HDL来描述集成电路的功能和结构,并经过不同级别的验证形成不同级别的IP内核模块,供芯片设计人员装配或集成选用。 

       IP(Intellectual Property)内核模块是一种预先设计好的甚至已经过验证的具有某种确定功能的集成电路、器件或部件。它有几种不同形式。IP内核模块有行为(behavior)、结构(structure)和物理(physical)3级不同程度的设计,对应有主要描述功能行为的“软IP内核(soft IP core)”、完成结构描述的“固IP内核(firm IP core)”和基于物理描述并经过工艺验证的“硬IP内核(hard IP core)”3个层次。这相当于集成电路(器件或部件)的毛坯、半成品和成品的设计技术。 

       软IP内核通常是用某种HDL文本提交用户,它已经过行为级设计优化和功能验证,但其中不含有任何具体的物理信息。据此,用户可以综合出正确的门电路级网表,并可以进行后续结构设计,具有最大的灵活性,可以很容易地借助于EDA综合工具与其他外部逻辑电路结合成一体,根据各种不同的半导体工艺,设计成具有不同性能的器件。可以商品化的软IP内核一般电路结构总门数都在5000门以上。但是,如果后续设计不当,有可能导致整个结果失败。软IP内核又称作虚拟器件。 

       硬IP内核是基于某种半导体工艺的物理设计,已有固定的拓扑布局和具体工艺,并已经过工艺验证,具有可保证的性能。其提供给用户的形式是电路物理结构掩模版图和全套工艺文件,是可以拿来就用的全套技术。 

       固IP内核的设计深度则是介于软IP内核和硬IP内核之间,除了完成硬IP内核所有的设计外,还完成了门电路级综合和时序仿真等设计环节。一般以门电路级网表形式提交用户使用。 

       TI,Philips和Atmel等厂商就是通过Intel授权,用其MCS51的IP内核模块结合自己的特长开发出有个性的与Intel MCS51兼容的单片机。 

       常用的IP内核模块有各种不同的CPU(32/64位CISC/RISC结构的CPU或8/16位微控制器/单片机,如8051等)、32/64位DSP(如320C30)、DRAM、SRAM、EEPROM、Flashmemory、A/D、D/A、MPEG/JPEG、USB、PCI、标准接口、网络单元、编译器、编码/解码器和模拟器件模块等。丰富的IP内核模块库为快速地设计专用集成电路和单片系统以及尽快占领市场提供了基本保证。

       软件技术的进步,特别是嵌入式实时操作系统EOS(Embedded Operation System)的推出,为开发复杂嵌入式系统应用软件提供了底层支持和高效率开发平台。EOS是一种功能强大、应用广泛的实时多任务系统软件。它一般都具有操作系统所具有的各种系统资源管理功能,用户可以通过应用程序接口API调用函数形式来实现各种资源管理。用户程序可以在EOS的基础上开发并运行。它与通用系统机中的OS相比,主要有系统内核短小精悍、开销小、实时性强和可靠性高等特点。完善的EOS还提供各种设备的驱动程序。为了适应网络应用和Internet应
用。还可以提供TCP/IP协议支持。目前流行的EOS有3Com公司的Palm OS、Microsoft公司的Windows CE和Windows NT Embedded4.0、日本东京大学的Tron和各种开放源代码的嵌入式Linux以及国内开发成功的凯思集团的Hopen OS和浙江大学的HBOS。 

       2、嵌入式系统设计方法的变化

     过去擅长于软件设计的编程人员一般对硬件电路设计“敬而远之”,硬件设计和软件设计被认为是性质完全不同的技术。

      随着电子信息技术的发展,电子工程出身的设计人员,往往还逐步涉足软件编程。其主要形式是通过微控制器(国内习惯称作单片机)的应用,学会相应的汇编语言编程。在设计规模更大的集散控制系统时,必然要用到已普及的PC机,以其为上端机,从而进一步学习使用Quick BASIC,C,C++,VC和VB等高级语言编程作系统程序,设计系统界面,通过与单片机控制的前端机进行多机通信构成集中分布控制系统。 

       软件编程出身的设计人员则很少有兴趣去学习应用电路设计。但是,随着计算机技术的飞速发展,特别是硬件描述语言HDL的发明,系统硬件设计方法发生了变化,数字系统的硬件组成及其行为完全可以用HDL来描述和仿真。在这种情况下,设计硬件电路不再是硬件设计工程师的专利,擅长软件编程的设计人员可以借助于HDL工具来描述硬件电路的行为、功能、结构、数据流、信号连接关系和定时关系,设计出满足各种要求的硬件系统。 

       EDA工具允许有两种设计输入工具,分别适应硬件电路设计人员和软件编程人员两种不同背景的需要。让具有硬件背景的设计人员用已习惯的原理图输入方式,而让具有软件背景的设计人员用硬件描述语言输入方式。由于用HDL描述进行输入,因而与系统行为描述更接近,且更便于综合、时域传递和修改,还能建立独立于工艺的设计文件,所以,擅长软件编程的人一旦掌握了HDL和一些必要的硬件知识,往往可以比习惯于传统设计的工程师设计出更好的硬件电路和系统。所以,习惯于传统设计的工程师应该学会用HDL来描述和编程。

3、嵌入式系统设计的3个层次

嵌入式系统设计有3个不同层次:

(1). 第1层次:以PCB CAD软件和ICE为主要工具的设计方法。

       这是过去直至现在我国单片机应用系统设计人员一直沿用的方法,其步骤是先抽象后具体。

        抽象设计主要是根据嵌入式应用系统要实现的功能要求,对系统功能细化,分成若干功能模块,画出系统功能框图,再对功能模块进行硬件和软件功能实现的分配。[page]

       具体设计包括硬件设计和软件设计。硬件设计主要是根据性能参数要求对各功能模块所需要使用的元器件进行选择和组合,其选择的基本原则就是市场上可以购买到的性价比最高的通用元器件。必要时,须分别对各个没有把握的部分进行搭试、功能检验和性能测试,从模块到系统找到相对优化的方案,画出电路原理图。硬件设计的关键一步就是利用印制板(PCB)计算机辅助设计(CAD)软件对系统的元器件进行布局和布线,接着是印制板加工、装配和硬件调试。

       工作量最大的部分是软件设计。软件设计贯穿整个系统的设计过程,主要包括任务分析、资源分配、模块划分、流程设计和细化、编码调试等。软件设计的工作量主要集中在程序调试,所以软件调试工具就是关键。最常用和最有效的工具是在线仿真器(ICE)。

(2). 第2层次:以EDA工具软件和EOS为开发平台的设计方法。

       随着微电子工艺技术的发展,各种通用的可编程半定制逻辑器件应运而生。在硬件设计时,设计师可以利用这些半定制器件,逐步把原先要通过印制板线路互连的若干标准逻辑器件自制成专用集成电路(ASIC
)使用,这样,就把印制板布局和布线的复杂性转换成半定制器件内配置的复杂性。然而,半定制器件的设计并不需要设计人员有半导体工艺和片内集成电路布局和布线的知识和经验。随着半定制器件的规模越来越大,可集成的器件越来越多,使印制板上互连器件的线路、装配和调试费用越来越少,不仅大大减少了印制板的面积和接插件的数量,降低了系统综合成本,增加了可编程应用的灵活性,更重要的是降低了系统功耗,提高了系统工作速度,大大提高了系统的可靠性和安全性。

       这样,硬件设计人员从过去选择和使用标准通用集成电路器件,逐步转向自己设计和制作部分专用的集成电路器件,而这些技术是由各种EDA工具软件提供支持的。

       半定制逻辑器件经历了可编程逻辑阵列PLA、可编程阵列逻辑PAL、通用阵列逻辑GAL、复杂可编程逻辑器件CPLD和现场可编程门阵列FPGA的发展过程。其趋势是集成度和速度不断提高,功能不断增强,结构趋于更合理,使用变得更灵活和方便。

       设计人员可以利用各种EDA工具和标准的CPLD和FPGA等,设计和自制用户专用的大规模集成电路。然后再通过自下而上的设计方法,把用半定制器件设计自制的集成电路、可编程外围器件、所选择的ASIC与嵌入式微处理器或微控制器在印制板上布局、布线构成系统。
(3). 第3层次:以IP内核库为设计基础,用软硬件协同设计技术的设计方法。

       20世纪90年代后,进一步开始了从“集成电路”级设计不断转向“集成系统”级设计。目前已进入单片系统SOC(System o-n a chip)设计阶段,并开始进入实用阶段。这种设计方法不是把系统所需要用到的所有集成电路简单地二次集成到1个芯片上,如果这样实现单片系统,是不可能达到单片系统所要求的高密度、高速度、高性能、小体积、低电压、低功耗等指标的,特别是低功耗要求。单片系统设计要从整个系统性能要求出发,把微处理器、模型算法、芯片结构、外围器件各层次电路直至器件的设计紧密结合起来,并通过建立在全新理念上的系统软件和硬件的协同设计,在单个芯片上完成整个系统的功能。有时也可能把系统做在几个芯片上。因为,实际上并不是所有的系统都能在一个芯片上实现的;还可能因为实现某种单片系统的工艺成本太高,以至于失去商业价值。目前,进入实用的单片系统还属简单的单片系统,如智能IC卡等。但几个著名的半导体厂商正在紧锣密鼓地研制和开发像单片PC这样的复杂单片系统。

        单片系统的设计如果从零开始,这既不现实也无必要。因为除了设计不成熟、未经过时间考验,其系统性能和质量得不到保证外,还会因为设计周期太长而失去商业价值。
为了加快单片系统设计周期和提高系统的可靠性,目前最有效的一个途径就是通过授权,使用成熟优化的IP内核模块来进行设计集成和二次开发,利用胶粘逻辑技术GLT(Glue Logic Technology),把这些IP内核模块嵌入到SOC中。IP内核模块是单片系统设计的基础,究竟购买哪一级IP内核模块,要根据现有基础、时间、资金和其他条件权衡确定。购买硬IP内核模块风险最小,但付出最大,这是必然的。但总的来说,通过购买IP内核模块不仅可以降低开发风险,还能节省开发费用,因为一般购买IP内核模块的费用要低于自己单独设计和验证的费用。当然,并不是所需要的IP内核模块都可以从市场上买得到。为了垄断市场,有一些公司开发出来的关键IP内核模块(至少暂时)是不愿意授权转让使用的。像这样的IP内核模块就不得不自己组织力量来开发。

 



        这3个层次各有各的应用范围。从应用开发角度看,在相当长的一段时间内,都是采用前2种方法。第3层次设计方法对一般具体应用人员来说,只能用来设计简单的单片系统。而复杂的单片系统则是某些大的半导体厂商才能设计和实现的,并且用这种方法实现的单片系统,只可能是那些广泛使用、具有一定规模的应用系统才值得投入研制。还有些应用系统,因为技术问题或商业价值问题并不适宜用单片实现。当它们以商品形式推出相应单片系统后,应用人员只要会选用即可。所以,3个层次的设计方法会并存,并不会简单地用后者取代前者。 初级应用设计人员会以第1种方法为主;富有经验的设计人员会以第2种 方法为主;很专业的设计人员会用第3种方法进行简单单片系统的设计和应用。但所有的设计人员都可以应用半导体大厂商推出的用第3种方法设计的专用单片系统。

        目前,在我国3个层次的设计分别呈“面”、“线”、“点”的状态。习惯于第1层次设计方法的电子信息系统设计人员需要逐步向第2层次过渡和发展;第2层次设计方法要由“线”逐步发展成“面”;第3层次设计方法需要国家有关部门根据IT发展战略和规划,组织各方面力量攻关、协调发展。第3层次设计方法要由“点”逐步发展成“线”。
关键字:硬件平台  Linux  嵌入式系统 引用地址:Linux嵌入式系统与硬件平台的关系

上一篇:基于气动人工肌肉的双足机器人关节设计
下一篇:基于嵌入式微处理器EP9315的二次开发技术

推荐阅读最新更新时间:2024-03-16 13:41

【重温经典】mini2440驱动程序之LED驱动(基于Linux-2.6.32.2)
一、LED资源介绍 1、LED对应的GPIO(已上拉) LED1 nLED1 GPB5 LED2 nLED2 GPB6 LED3 nLED3 GPB7 LED4 nLED4 GPB8 2、硬件电路 二、驱动代码(mini2440_leds.c) 以混杂设备注册,主要实现了ioctl接口,应用程序操作时,只需要打开这个设备文件,然后发一个ioctl的命令就会进入到内核空间,接着调用该驱动的ioctl函数来设置相应的状态。 (1)、设置GPIO为输出模式 for (i = 0; i 4; i++) { s3c2410_gpio_cfgpin(led_table ,
[单片机]
【重温经典】mini2440驱动程序之LED驱动(基于<font color='red'>Linux</font>-2.6.32.2)
你用了高性能CPU,我就可以窥探你的密码
  电脑运行的时候,所有用到的数据都必须经过内存。这里面既有你至关重要的银行密码,也有你故意和非故意打开的莫名其妙小网站小程序。下面就随嵌入式小编一起来了解一下相关内容吧。   怎么让这些外面来的野路子程序碰不到关键信息呢?   今天的电脑设计了层层防线,其中至关重要的一层发生在电脑的计算核心—— CPU 上。 CPU 会负责检查程序有没有在不属于自己的地盘上探头探脑,如果发现它碰了别人的数据,就会启动枪毙流程。设计者认为,这样就能竖起一堵高墙,把每个程序隔离在自己的小屋里。   但是他们错了。这堵高墙上有一个十分隐蔽的缝隙,刚刚被公开出来。整个行业为之震动。   这个缝隙虽然隐蔽但是危害极大,研究者已经成功通过它偷出来了浏览器
[嵌入式]
基于Geode TMGX1的嵌入式系统设计
摘要:介绍国家半导体公司(NS)的Geode TMGX1处理器及协同芯片,说明如何利用该芯片组进行嵌入式系统设计,并讨论一些设计难点的处理。 关键词:信号完整性 信息家电 阻抗匹配 引言 近些年,嵌入式技术迅速发展, 嵌入式应用深入金融、航空航天、电信、网络、工业控制等各个领域,并进一步渗透到日常生活领域——信息家电。信息家电市场的日益发展需要高效、灵活的嵌入式解决方案。 美国国家半导体公司(NS)的Geode TMGX1处理器是一款专门针对信息家电市场的集成处理器,具有低功耗、高性能、低价格及X86体系的兼容性与可扩展能力。GX1与其协同芯片为瘦客户机、交互式机顶盒以及个人Internet接入等信息家电应用提供了灵活
[应用]
ARM笔记:虚拟机Linux系统和开发板通过USB转串口连接的方法
一、让虚拟Linux系统直接和物理串口相连 1. 启动虚拟机,进入Linux系统,点击虚拟机菜单栏的【虚拟机】选项, 接着点击【移除设备】接着选择【prolific USB-serial Controller】 选择【与 主机 连接或断开连接】 通过以上操作可以让USB转串口设备与主机断开连接,即让USB转串口设备直接和虚拟机内的Linux系统直接连接,通过以上操作,Linux系统内/dev目录下会出现一个ttyUSB0的字符设备文件,接着我们在minicom串口通信工具中配置,具体如下: 选择【Serial port setup】设置串口 输入【a】选择串口驱动,写入刚才出现的串口控制终端文件/dev/ttyU
[单片机]
ARM笔记:虚拟机<font color='red'>Linux</font>系统和开发板通过USB转串口连接的方法
一种改进型UML在嵌入式系统中的应用
摘要 在后PC时代,越来越多的领域需要嵌入式系统的支持,传统嵌入式系统的开发手段已不能满足日益增长的复杂性和质量要求;而UML技术在软件领域所取得的巨大成就为嵌入式系统开发带来了希望。因此,如何把基于软件领域的UML作为通用和完善的方法引入到嵌入式系统领域,将成为一个迫切需要考虑和解决的问题。 关键词 后PC 嵌入式系统 UML 软件工程 引言   随着计算机技术、网络技术和通信技术的迅速发展,当前的信息社会已从当初传统的个人计算机时代进入了后PC时代;而后PC时代的主要特征就是以嵌入式系统的广泛应用与发展为标志的。   关于嵌入式系统的定义虽然有很多种,不过国内普遍认可的定义是 : 以应用为中心,以计算机技术为基础,软硬件可
[嵌入式]
基于嵌入式系统的网络变频器软硬件设计
1 引言 随着现代控制理论、电力电子技术、计算机控制技术和传感器技术的发展,整个拖动领域正在进行一场革命,交流电机的调速理论取得了突破性的进展,交流传动取代直流传动已成为不可逆转的趋势。变频器以其节能显著、过载能力强、调速精度高、响应速度快、保护功能完善、使用和维护方便等优点在交流传动领域的应用将越来越广泛。本文研究了一种基于嵌入式系统的网络变频器设计过程。 2 变频器的硬件设计 2.1 主电路设计 变频器根据主电路的设计不同,可以分为交-交、交-直-交变频器和电压型、电流型变频器,它们均有各自的特点。本文设计的变频器属于交-直-交电压型,它的主电路由三相全波整流、电容滤波和智能功率模块PM20CSJ060所构成,如图1所
[单片机]
基于<font color='red'>嵌入式系统</font>的网络变频器软<font color='red'>硬件</font>设计
ARM处理器Linux下浮点运算单元运用
1). 浮点运算单元(FPU)简介 Float Point Unit,浮点运算单元是专用于浮点运算的协处理器,在计算领域,例如三角函数以及时域频域变换通常会用到浮点运算。当CPU执行一个需要浮点数运算的程序时,有三种方式可以执行:软件仿真器(浮点运算函数库)、附加浮点运算器和集成浮点运算单元。 区别于以往的ARM9处理器,目前基于Cortex构架的ARM处理均集成了浮点运算单元。如Nvidia Tegra 2, Tegra 3和 NXP/Freescale i.MX 6集成了VFPv3浮点运算单元,NXP/Freescale i.MX 7 则集成了VFPv4浮点运算单元。ARM 浮点架构 (VFP) 为半精度、单精度和双精度浮
[单片机]
基于MAX194在ARM单片机系统中的设计
火力发电厂和大型工业锅炉,通常采用向炉水中添加少量磷酸盐以防止钙、镁水垢的生成,磷酸根浓度不够,不能有效防止结垢,磷酸根离子含量过高,会导致炉水的pH值变高。因此磷酸根离子浓度是炉水检测的重要参数。ARM处理器具备高性能、低功耗、低成本等优点,将其应用于在线磷酸根离子分析仪的管理控制系统,可以提高磷酸根分析仪的处理速度和精度。 1 结构及测量原理简介 磷酸根离子分析仪整体结构包括光路系统、水路系统和管理控制系统三个部分。 光路系统主要包括:专用的单色LED冷光源、比色皿和光电传感器。 水路系统由比色皿、柱塞泵、多通道切换阀、流通池、样水/标液切换阀、流量计、排污阀、溢流管等组成。 利用化学吸光法原理,即在一定的
[单片机]
基于MAX194在ARM单片机系统中的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved