基于实时仿真的嵌入式系统结构设计

译者:艾子
欢迎转载,请注明出处
 
 
 
 
 
 
 
标题
 
     基于实时仿真的嵌入式系统结构设计
 
   关键词
 
硬件原型法和软件原型法、系统仿真、实时系统的原型法、FPGAs在系统原型法中的角色、系统确认
 
 
   作者
Carsten Nitsch ( 主要作者)
Karlheinz Weiss
Thorsten Steckstor
 
FZI (电脑科学研究中心)嵌入式系统设计组织
Wolfgang Rosenstiel
(教授、博士)
 
 
 
 
 
   地址
 
电脑科学研究中心
卡尔斯鲁厄大学
76131 卡尔斯鲁厄
德国
 
电话:++49-721-9654-464
传真:++49-721-9654-409
电子邮件:
nitsch@fzi.de
weiss@fzi.de
stecki@fzi.de
 
电脑科学研究中心和蒂宾根大学
信息工程教授办公室
72076 蒂宾根
德国
 
电话:++49-7071-29-75482
传真:++49-7071-29-5062
电子邮件:
rosen@informatik.uni-tuebingen.de
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
基于实时仿真的嵌入式系统结构设计
 
摘要
     这篇文章将介绍一种新的嵌入式系统设计方法。由于硬件和软件在技术发展水平上不平衡的限制,我们开发了基于使用方便的可改变结构的器件的一种仿真方法,如现场可编程门阵列 (FPGA) 。我们使用被称作为敞蓬工具箱的仿真环境;它最适合嵌入式系统的硬件设计仿真。
 
 
1 、绪论
     如今大多数现有的应用技术都被所谓的嵌入式系统统所控制 1 。现在存在许多需要特定的嵌入式系统构架的应用领域。因此,一个普通的嵌入式系统的定义不能被广泛的接收。(参考书[1])
在这个领域,嵌入式系统结构由受环境影响的各个有特定应用的硬件组成。同时一个有特定应用的软件涉及一个微控制器。在最近几年中微电子技术迅猛的发展,在增长微控制器和具有特点应用的硬件的复杂程度的同时,元件的成本却随之降低了。
然而,嵌入式系统的开发人员不得不设计成本低、性能高的系统,而且要将产品投放市场的时间降到最低。一个必须完成且是最重要的步骤是将系统分成两部分。第一部份是涉及一个微控制器的软件。性能强劲的芯片具有数据和指令的高速缓冲存储器,以及可编程的总线接口和更高的时钟频率,极大地提升了系统的性能和简化了系统的设计。这些硬件从根本上允许实时操作系统(RTOS)的运行,这将使得系统迅速提高整体性能和功能复杂度。然而,如果要保证快速的响应时间,位于顶层的软件将由于任务切换机制而成为一个限制性能的因素,而且要运行具有特殊应用的硬件。这可以由正在发展的asic(特定用途集成电路)来完成。由于许多高端电子产品的生命周期越来越少,在巨额的开发费用和 ASICs 的限制使用之间存在着隔阂。在过去几年之内, 所谓的IP核 元件 变得越来越流行。与软件库一样,他们提供重复利用硬件元件的可能性。为了创造这样的IP 核元件 ,系统设计师使用 现场可编程门阵列 代替 ASICs 设计师必须将系统设计分成特定的硬件部分和基本的微型控制器部份。
 
 
2 、设计方法
基本上有两种主要的嵌入式系统设计方法。
 
2.1 硬件优先设计
     应用在工业上的最普遍的方法是以连续的设计流程为基础。如图1说明了这种方法的设计向导:
  
                                      图1   连续的设计流程向导图
 
     这种方法第一步(里程碑1)是嵌入式系统的详细规划,包括功能、电力消费、费用等。完成详细规划之后,紧接着是被称作为“分离”的步骤。设计将被分成两个部分:
   硬件部分 通过在扩展硬件元件像ASICs或IP核上执行功能来实现。
   软件部分,通过在微控制器上运行代码来实现,代码可以单独运行,也可以与实时操作系统(RTOS)一起运行。
     第二步(里程碑2)基本上是依靠系统设计师的经验和直觉,完成这一步之后,将设计和执行全部的硬件结构(里程碑3和4)。当目标硬件可用之后,软件部分就可以执行了。
     连续设计流程的最后一步是测试整个系统,这意味着要评估所有的硬件元件和软件元件。
     不幸的是,开发人员在最后的开发阶段只能核实硬件部分的正确性或软件部分的正确性。如果有任何无法纠正的错误,设计流程必须从头开始,这将导致巨额的花费。因为这个原因,开发人员经常使用众所周知的一个理念“现有的元件比新的可利用的电路更好”。他们希望减少设计失败的风险,以及重复利用现有知识和技术。这对设计小型的系统特别重要,但不适合很复杂的系统。
     这种方法的另外一个缺点就是在硬件结构的设计 和测试完成之前无法进行软件开发。软件开发人员不得不一直等待,直到一个无任何毛病的硬件结构产生为止。图1中里程碑2和里程碑4之间显示出了这种时间上的巨大延迟和金钱上巨额花费。
总的来说,这种方法有如下几种缺点:一旦发生设计错误将导致整个系统重新设计、降低了选择元件的自由度(由于知识和经验的重复使用)的同时也在时间上有延迟。然而硬件优先设计的方法对于设计中低等复杂度的系统来说依然是个不错选择,因为相对其他方法来说,最初的分离步骤是比较节省时间的。高端的嵌入式系统在使用新方法的时候在设计的最初阶段必须进行错误检查。
 
2.2  软硬件协同设计
     图2显示出这种方法的第一个步骤中,最关键的是完成一个详细的正式系统设计规划。这个详细规划不涉及具体的硬件或软件结构,如特定的微型控制器或IP 核心。使用一些数学和计算机科学的方法, 如陪替氏网、数据流图表、系统和并行程序设计语言;这种方法设法建立一个完全的系统行为描述。结果是将系统的行为功能分离,形式是设置许多不同的组件,这些组件将执行不同的功能。由于采用了正式的描述方法,就能发现不同的方法来分配这些组件。
                                     
                                         图2   软硬件协同设计
 
      下一步是被称作为硬件/软件分离的步骤。功能组件将被指定在硬件中执行或在软件中执行。目标是评估组件在硬件和软件中优缺点。根据功能模块的参数,如复杂算法的运行时间,各模块之间的关系来设法发现最佳的选择。
      选择最佳方案之后,下一步就是执行这些组件,图2中显示这些执行分别是软件合成、界面合成、硬件合成。硬件组件可以用VHDL语言来执行,软件代码可以使用Java、C或者C++语言编写。
      最后一步是系统综合,系统综合把所有硬件和软件元件汇集在一起,然后用一个步骤评估这套方案是否遵照系统规范。如果不是,硬件/软件的分离过程再重新开始。
      今天研究的一个根本目标是通过评估各个分离的方案来发现和优选算法。使用这些算法,它从理论上可能实现一个自动化的 软硬件协同设计 过程。
            由于算法是基于软硬件协同设计的概念,所以这种方法具有许多优点。系统设计可以在设计流程过程的前期被核实和修改。然而,使用这种方法会有一些基本的制约:
•  知识不足:如所描述在这个部分,软硬件协同设计是以系统的正式描述和功能的分解为基础。为了实现实际的应用,系统 开发人员 必须使用可利用的组件如 IP 核。 使用这种方法,它必须完整地描述这些 元件 的行为和属性。 由于 IP 核的黑匣子本质,它不可能适合所有的情况。
•  自由度: 实施软硬件协同设计的另一个障碍是无限制的使用软件元件代替硬件元件,反之亦然。在实际应用中,微控制器的自由度很小, 但对于ASIC或IP核来说就有很大的自由度。这是由于相比较微控制器,IP核具有更好的应用能力。
            由于所提到的一些限制,一些工程不适合用软硬件协同设计的方法,如非常复杂的汽车、飞机、太空技术系统。
 
2.3  关于以上两种设计方法的结论
      这两种方法都有缺点。硬件优先设计方法不允许在 连续的设计流程前期检查系统设计的正确性, 软硬件协同设计的方法受到对硬件或软件IP核的内部机制了解不够的限制,以及在选择微控制器 元件 的自由度的限制。
      这两种方法都不适合开发具有高度复杂 元件 的嵌入式系统。
      根据以上的分析,我们开发了一种新的方法,这种方法集成了硬件优先设计、软硬件协同设计这两种方法的优点。
 
 
3 、基于仿真的设计方法
     通过分析,我们得到了硬件优先设计方法的主要优点。 开发人员 使用这种方法可以尽可能快的将注意力集中在开发原型上。这种策略主要适合于当今高科技工业的产品投放市场时间的约束。为了降低设计失败的风险和花费巨额的重新设计的费用,系统开发师通常使用已经是众所周知的元件代替新的可以利用的技术。
我们的设计方法试图从快速系统设计的优势中获利,同时摆脱先前两种方法的一些受限制的缺点,这种方法可以用两个步骤来描述:
•  第一步――评估系统设计:这一步最基本的目标是评估在系统设计中有哪些 元件 可以使用。相比 硬件优先设计的方法,这种方法不再局限于使用已知的或已经使用过的硬件和软件 元件 。所有潜在的可以利用的 元件 将通过如功能性、技术复杂性、易测性来分析他们的使用标准。标准的来源可以是数据表、参考手册等等。这一步将完成确定一些有可能要使用的元件,并将这些元件按顺序排列好。
•  第二步――可行性评估: 虽然第一步是基于在功能上是否可行的标准,但系统设计师的经验和直觉将在很大程度上影响方案的选择。为了避免致命的设计错误,第二步将对第一步的选择进行可行性评估。基本的可行性评估方法是进行系统评估。类似于电脑仿真的方法,系统评估可以通过实时检测的方法查出许多问题。非常有必要确认在第一步中使用的标准的正确性,如数据表详细规划的正确性。
 
                                                        图3   基于仿真的方法
            3 显示了这种方法的详细流程,系统设计的详细规划完成之后, 开发人员 将进行初始的软件和硬件分离。结果将产生一套硬件和软件 IP 核,将使用一些潜在的元件来构建系统。这些元件可以从库中选择或是从其他的一些数据库信息中进行选择。
完成以上所述的步骤之后,这种方法接下来的步骤就是将评估和选择的注意力集中到选择标准上,如易测性。这将得到一套 元件 ,这套 元件 是满足特定标准的最佳方案,参考书 [6] 中有这种方法的详细描述。
            建立好标准之后,前面已经说过了,紧接着的步骤就是可行性评估。一个 元件 只有通过了这一步的测试,才能在最终的方案中被采用。
 
3.1  第一步:选择好标准和排列顺序
     先前对这种方法的原理已经做了一个简要的介绍。我们将评估的方法描述为一个过程,这个过程将注意力集中到一个特定的标准以便将 元件按顺序排列好。下面要说明如何如何确定标准和排列顺序,这个标准和排列顺序可以用来漏选元件。
     一个嵌入式系统中最重要的元件是微控制器。这就是为什么只有少数几种控制器可供选择,微控制器的选择就像选择系统总线,电源电压一样。如图4所示,基于仿真的设计方法的第一步就是上述的选择。
     微控制器的特征,尤其是其性能将决定其使用什么软件。一个配备高性能微控制器的系统可以执行一些比较费时的程序,如MPEG解码软件。如果一个微控制器无法完成某一项任务,就需要附加一些其他硬件了。由于ASIC设计花费巨大,所以要选择到正确元件的唯一可能只能从现在可用的芯片或IP核中选择。
                                            
                                                          图4   选择标准
     选择合适元件的下一套标准是微控制器的总线接口。这个标准比图4中的其他标准更重要,如元件的初始化。这就是为什么微控制器对嵌入式系统的最终成本和性能有很大的影响。
     最好是完善微控制器总线与其他元件之间的兼容性。另外一个可能是总线接口都完全不兼容,最于这种类型的微控制器就需要高度复杂的桥连接。这样做的显著缺点就是会加大开销,同时会使得微控制器
和新增加的元件之间有明显的通讯延时。前面已经提过了,有可能通过使用总线接口标准来构建一个排列系统从而选择最佳的元件。至于其他的标准,如初始化、易测性、给PCB板添加元件的复杂性等,都是用相似的方法。更详细的信息可以查阅参考书[6]。
 
3.2  第二步:仿真确认
     为了能进行硬件和软件元件的仿真,我们开发了敞蓬系统。敞蓬系统的基本思想是通过进行实时仿真从而获得复杂嵌入式系统的详细内部系统信息。以前,这些工具被用在不同的研究项目,这方面的知识在参考书[3、4、5]中有介绍。敞蓬系统目前由两个元件组成:
•  SVX2 板――可以用来仿真具有特定应用的硬件或用来测试IP核。这块板包含了嵌入式系统的硬件确认部分(如图3)。
•  SCP2 板――可以用来在实时环境中仿真软件元件。我们开发了一个支持VxWorks 1 RTOS 的板。由于可以利用BSP,可以测试和基准许多种软件IP核技术。回头看图3,你可以发现硬件部分和软件部分是在同一时间被仿真和检查。这样就可以避免在传统的设计方法,如硬件优先设计方法中的由于硬件设计和软件设计之间的间隔而造成的时间延迟和巨额花费。
     下一代的板正在开发中,新的板除了包含上面两个平台外,还将具有基于网络构建的特征。这个新平台将提供开发人员一个全球共同开发的环境。详细信息请查阅参考书[4]。
 
3.3      SVX2 仿真平台
  
                                        图5 SVX2的结构
             
     板的最基本的元件是一个与BG432类型包裹相 关的Virtex FPGA。因此,从XCV300到XCV800之间的FPGA芯片都可以实现。图5显示了SVX2的结构。
Virtex FPGA 通过一块专门的PCI 接口芯片与PC紧密的联系在一起。这个特征既可以简单的实现下载位图到Virtex芯片,也可以通过PCI总线实现PC与Virtex FPGA上运行的应用程序之间的通讯,PCI总线可以提供高性能的带宽。它们之间的通讯使得运行的程序,如专门的IP核等在综合进嵌入式系统之前就可以进行评估。使用PC的外设(如显示器、硬盘、键盘)代替专门的微控制器可使评估过程更简单一些。
     两个强有力的扩展帧头使得在Virtex FPGA与特定硬件单元(如微控制器和它的主要环境)的更多应用之间建立联系成为可能,也就是为了仿真而建立一个完善的嵌入式系统结构。这些端口与敞蓬系统由底板所涉及的其他一些工具是兼容的,这些工具可以提供不同类型的微控制器。一个明显的特征是具有通过逻辑分析器(9个高密度连接器)而连上板上所有信号的能力。这些连接器为调试过程提供了强有力的支持。电源为Virtex FPGA提供其所必需的电压:最大电流为10A的 VCore  ( 内核电压)=2.5V、最大电流为4A的 VIO  ( 输入输出电压)。在 ICore IIO 的不同电流系统路径内部使用两种电流测量的方法可以用来测量电源的消耗。在PLX9080和三种不同下载方式之间有一个判断器,这个判断器用来用来控制本地的PCI总线,现将这三种下载方式做一个总结:
•  通过PCI总线下载,设置Virtex为从属模式
•  主要通过外部方式下载,如微控制器单元,设置Virtex为从属模式
•  通过连续的EEPROMs下载,设置Virtex为主要模式,使用单机模式
     另外,板上的两个规格为128kx32的SSRAM也可以进行应用程序仿真,不过需要一个大容量的外部存储器,如画图的或大型过滤应用程序。参考书[2]中有更多对应的使用手册和数据表。
 
3.4 SCP2 仿真平台
                                     
                                      图6  SCP2 的基本结构
新的高性能的SCP2板已经快速的开发完毕,具有不错效益的嵌入式软件和硬件开发主要应用在自动控制业、通讯业、和汽车工业。这种板被设计用来运行、测试和评估具有特定应用的的软件元件,如系统设计公司自己开发的软件或第三方的IP核。图3显示了设计方法,SCP2的设计流程中包含软件部分。
     图6显示了这块板的基本结构。核心部分是一个基于新型的32位日立SH3 RISC微控制器,这个微控制具有一个可选择的DSP(数字信息处理)模块。将1MB的EPROM、4MB的SDRAM和1MB的闪存集成到一起后,系统将具有足够的条件来运行高级的软件元件。由于得到VxWorks的全力支持,它可以测试基于软件的大型RTOS。
     SCP2 提供了一个非常重要的接口,这个接口可以用来与外界进行通讯。一个标准的连续接口、一个自适应的CAN控制器以及一个以太网接口(同轴细缆或双绞线)。以太网的特征允许一块板在基于以太网的快速开发环境中进行综合。例如Tornado 1 工具箱。
     两个VG96扩展帧头可以用来整合额外的硬件元件。它允许使用额外的具有特定用途的硬件,如额外的存储器、图形控制器或其它的I/O设备。所有的总线信号可以通过微连接器进而使用逻辑分析器。
     与SVX2板一起使用或者是单独使用,SCP2板的应用领域正在日益扩大。这块板能在最大程度上优化性能以及降低电源消耗。它具有很多种操作和开发配置用法,可以用在绝大多数的通讯设备上。它支持新型的设计方法和工具,SCP2板可以在短时间内开发、修改和测试新的设计,完成高质量的设计。
 
 
4 、分布式的开发环境:SVX3
     目前正在开发的下一代电路板是SVX3板。这套系统提升了 敞蓬系列的性能。它的结构中最重要的特征是具有可量测性和可能性来整合仿真系统,这个仿真系统处在一个基于网络的,全球性的分布式环境。
 
4.1  可量测性
     为了进行嵌入式系统设计的仿真,必须测试一些元件和在同一时间内这些元件之间的通讯。虽然 敞蓬系统可以高质量的对硬件元件和 IP 核元件进行确认,但在使用复杂的 FPGA 芯片的时候还是会受到一些限制。在理论上有 3 种方法来移除这些障碍:
            1. 使用更高门电路密度的 FPGA :这种方案可以使用在一些特殊的设计上,这种设计需要固定数量的 门电路来进行仿真。由于花费的日益增加以及在测试具有数百个针脚的芯片时碰到的技术问题,这套方案不适合普通开发的仿真环境。
    2. 使用一种被称为“ 运行时可重构 ( RTR ) ”的方法可以有效提升 FPGA 的门电路容量。 运行时可重构是一种将注意力集中到临时的硬件设计的方法。这种方法将产生一套独立的时间功能元件。这套元件中只有一个能在时间 t0 的时候起作用。 RTR 的目标是可以在需要的时候加载新的设计。使用RTR可以实现比FPGA的物理门电路容量更大的设计,这是因为并不是所有的元件都在同一时间起作用。使用RTR的一个重要限制就是必须存在一个专门的时间设计元件。
    3. 设计一个可升级的仿真系统
     新一代的仿真系统使用了第三方工具。虽然现在的SV系统由底板上的5块电路板连接起来使用,但在配置FPGA的时候还是会受到一些限制。在进行FPGA系统编程的时候,一定要通过PCI总线将电路板和主PC连接起来,这是由于PC有可量测性方面的限制(PCI插槽数目有限)。对于汽车、飞机等工业,开发人员常常需要在没有任何附加设备(如PC)的条件下对嵌入式系统进行测试。他们需要一个可以独立工作的,且功能强大和可升级的仿真环境。
     考虑到这些情况,我们决定开发一个可升级的仿真平台,这个平台具有可用于配置和通讯的TCP/IP接口。
                                           
                                            图7  SVX3 的基本结构
     图7显示出SVX3具有一个出色的可升级的环境。与SC板或SV板一起使用,开发人员就可以拥有一个灵活且强大的仿真环境,从而可以在没有原型的条件下测试嵌入式系统的设计。SVX3的配置接口是一个基于运行实时操作系统VxWorks的日立SH3 CPU。由于TCP/IP堆栈可以使用,所以这个接口兼容所有的TCP/IP协议,例如HTTP、FTP或一些私有的协议。
     图9显示了我们的基于FTP的接口,主要部分 是一个FTP服务,这个FTP服务运行在实时操作系统 VxWorks 和基于DOS文件系统的闪存上。我们开发了这个服务和闪存驱动来提供一个便于使用的配置环境。图8显示了软件的结构。
                                               
                                                     图8  SVX3 的软件结构
     这个结构提供了一套硬件设计或IP核。这些IP核由来自VHDL库或其它文件格式的软件工具产生,类似位图的使用。这些图片在被挑选后将加载到Virtex FPGA设备。如图8显示,基本上有两个资源接进了设计文件。第一个是本地文件系统,它基于稳定的闪存文件系统或不稳定但快速的RAM磁盘。第二个资源是外部的全球网络服务,它通过板上的以太网接口和VxWorks的TCP/IP堆栈来实现。改良后的FTP服务处于开发人员的PC环境中,这个FTP服务用来管理和整合所有的资源。图9显示了这种用户接口的工作方式。通过使用一个标准的FTP客户端程序,开发人员可以进入到仿真板的本地文件系统(背景窗口),也就是开发人员的PC上存的设计文件或外部服务(突出的窗口)。我们的FTP服务的最重要的一个特征是“特别目录”。对使用的人而言,这些目录就是一个常规的文件夹,但它们是和设备驱动程序相关联的。
 
                         图9   基于FTP的接口
     将一个FPGA映像文件上传到一个目录(图9中的Spyder I),这个文件不会保存到目标闪存的文件 系统,而会通过一个驱动程序转到 Virtex FPGA 设备。它可以简单的拖动文件从而实现重新配置FPGA。由于使用的是FTP协议,开发人员可以使用任何构架的计算机,如基于Windows的PC、Unix工作站或苹果电脑。
 
4.2  分布式的仿真环境
     由于使用了VxWorks的TCP/IP设备,所以简单的主/从开发环境将不再限制仿真环境。虽然FTP接口提供了一个合适且灵活的工作环境,然而使用SVX3的网络功能可以得到很多更强大的方法。
     现在已经是全球化经营模式,传统的工作环境正在被逐步的淘汰。想象一下一个虚拟的公司正在研发高端的电子产品,软件开发机构在美国,硬件开发人员在欧洲,产品实验室却在亚洲。开发团队可以工作在不同的地方,一些人开发系统(如ASICs)的各个部分,另外一些人则将这些部分整合到嵌入式系统。
     要建立一个分布式机构意味这要构建一个很方便的交流平台。传统的通讯方式,如电子邮件、环球网虽然很强大,但还是有其局限性。这种局限性主要是由在一起合作的开发人员所掌握的知识不一样而造成的。软件开发人员擅长调试任何源代码,但他们却无法理解复杂的硬件设计。开发一些复杂的系统,如飞机、太空船的时候,每一个开发人员都仅仅了解他们自己的设计领域,我们可以设想下接下会发生什么。硬件开发团队要开发一个由数百万个晶体管构成的高端ASIC。由于这个芯片太复杂,就需要更多的团队,每一队负责芯片的某一部分。系统设计师不得不将ASIC整合到嵌入式系统。由于这块芯片太复杂,这些人碰到了一个黑箱。为了解决IP核设计的一个缺陷,正常情况下,ASIC开发团队将改变他们的设计进而改良ASIC的性能,当然他们要保证方案是可行的。由于改良的过程是如此的复杂,以至于只有ASIC的原开发团队才能完成这项工作。实际情况是ASIC开发团队为FPGA设计了一个新的映像文件,于是系统设计师为了使系统正常工作必须将这个映像文件加载到指定的FPGA中。不幸的是,这项工作要各团队之间进行详细的交流,而这要花费大量的时间。
     一个解决方案是使用SVX3的网络功能来避免以上的问题。使用一个配置接口,如FTP服务或基于JAVA的软件,这使得通过网络来改良系统的部分或全部硬件成为可能。IP核的开发人员可以处理好他们开发的硬件的各个部分,并且只是通过仿真系统而并不需要系统综合师的帮助。系统开发人员可以将他们工作的注意力集中到整个嵌入式系统。
 
 
5 、成果
     在介绍完我们开发的基于仿真的设计方法和 敞蓬工具箱后,由必要展示一下我们的成功,同时记录我们的系统经验。在过去的三年里,我们开发的革新的嵌入式系统在自动化工业、通讯、汽车领域取得了显著的成效。由于多家公司的奋力合作,嵌入式系统已经可以又有了工业应用。
 
5.1  自动化工业
     通过与多家公司的合作,主要的工程已经完成了同时也引起了执行器、执行器接口(ASI)的发展,也就是所谓的ASI专家。ASI是一个新的系统,它运行将最大数目为128的双重执行器、执行器设备与使用独立双绞线的适当控制单元连接起来。另外一个关键要素是这项工作可以在全球通过因特网进入到ASI专家,这可以得到一些增值服务,更详细的信息请查阅参考书[7]。这项工程目前使用的是VxWorks RTOS。
     在最开始分离软硬件的时候,RTOS上运行了4项任务,两个是实时任务,另外两个则不是。
        1. Int_ 服务任务必须是实时任务,配合从动装置负责数据交换。它可以生产当前的进程数据映像。
2. 控制任务也必须是实时任务,使用当前的进程数据映像来计算控制指令。
3. 服务任务不需要实时,通过因特网负责数据和指令交换。
4. 嵌入式 C_ 服务任务也不需要实时,它在运行在客户计算机上的 JAVA 程序与 ASI 专家之间传递指令。
     敞蓬 系统的基本思想是获得复杂嵌入式系统的详细内部系统运作。相比较其它的方法,如电脑仿真,这种仿真可以检查出一些严重的问题,如实时运作。 敞蓬 系统仿真显示出如果响应时间减少到与任务切换时间相同的延时的时候,此时大部分资源将被RTOS消耗。为了解决这个瓶颈,在最开始分离软硬件的时,划分为软件部分的 Int_ 服务要改成硬件部分。更详细的信息请查阅参考书 [4]
 
5.2  汽车工业
     过去的几个月里,我们与一家汽车公司合作开发了一些运行在RTOS上应用程序。这家公司使用了硬件优先设计的方法。完成了复杂的原型设计之后,软件开发人员开始编写应用程序。
     当汽车公司还在开发硬件的时候,我们开始用
VxWorks RTOS 来试验我们的SCP2仿真系统,这可以使用户在没有硬件的情况下工作。看到我们的系统可 以很方便的调试之后,在汽车公司完成硬件开发之前, VxWorks 就决定在两周内使用我们的系统。
     使用 敞蓬仿真系统,将目标微控制器连接到一个逻辑分析器上,可以分析出它的结构运作的详细信息,这使得找到并修复一些棘手的缺陷成为可能。因为仿真系统本身经过测试,开发人员可以将注意力集中到调试程序上,而不需要关心原型是否可用。
     由于可以从基于仿真的设计方法中获益,汽车公司决定以后要使用我们的系统。
 
 
6 、总结
     我们从设计嵌入式系统开始介绍我们的高级方法,且将注意力集中在软/硬件部分。我们说明了传统方法的一些局限性。我们用一种新的设计方法来解决这个局限性,它包含两个步骤:
•  漏选元件
•  仿真确认
     我们的方法的主要优势在于可以保证设计流程中的软硬件平衡、快速设计原型以及可以避免危险的设计风险。我们用自己的方法设计了 敞蓬仿真系统。这种方法和敞蓬工具箱已经成功运用在工业上的 OEM 项目开发。我们以后的工作将把注意力集中到用我们的仿真环境来进行因特网综合。我们的主要目标是完成在4.2小节中介绍的全球范围的分布式开发环境。
 
参考书目
 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值