当前位置:首页 > 嵌入式 > 嵌入式硬件

许多系统设计师将执行软/硬件协同设计周期,即同时开发硬件和软件。理解硬件与软件功能之间的关系以及对两者进行划分有助于确保完全和正确地实现系统需求。

定义和分析需求的初期阶段,系统开发者需要与设计工程师紧密合作,将要求实现的功能分配给硬件或软件。这是根据早期系统仿真、建立原型和行为建模的结果,再加上对前面提及的多种因素的折衷以及过去的设计经验来进行分配的。一旦完成这种分配,就将开始详细的设计和实现。当同时进行硬件和软件设计时,各种不同的分析技术将被应用到实时系统的开发过程中,它们包括:硬件和软件仿真、硬件/软件协同仿真、可规划性建模(如速率单调性分析)、建立原型和增量开发。

能够用于各种不同抽象级的仿真技术可以对性能做出早期评估。低抽象级的仿真能够用于对总线带宽和数据流建模,而且它们对评估性能也非常有用。高抽象级的仿真能解决功能交互问题,并研究硬件/软件的折衷方案和验证设计的有效性。运用仿真方法,复杂的系统能够被抽象为基础的元件和行为。仿真能帮助解决功能方面的问题(数据和算法)、行为方面的问题(处理的先后顺序)或性能方面的问题(资源利用率、吞吐量和时序)。

嵌入式实时系统的优化十分重要。因为这些系统设计用于解决相对较窄范围的问题,所以硬件和软件经优化后只要能执行好单个应用就行。目标是在硬件与软件达到最佳平衡的条件下来设计系统。这个阶段的主要影响因素包括处理器的选择、如何在硬件与软件之间分割应用以及整个系统的集成。

在为嵌入式实时系统选择处理器时,应考虑以下因素:

1.性能:处理器必须具备足够的性能来处理任务,并能支持产品的生命周期。

2.实现:根据具体的应用,需要的处理器可能是高度集成的产品,甚至于符合军用规范。对于一个DSP应用,它可以在几种方案中进行选择。一种选择是ASIC。这种器件能被用作DSP协处理器,但对许多通用信号处理应用而言,它不是非常灵活。另一种选择是RISC处理器。这种器件具有极快的时钟速度,但可能不具备可伸缩性,而且可能还存在其它实时问题。FPGA是一种快速器件,能非常迅速和高效地执行某些DSP功能,但与DSP相比,它们仍很难开发。

在DSP中,一个简单的程序就能完成这些相同的功能。如果应用是宿主信号处理应用,那么选择一款功能更强大、功耗更高的通用处理器可能没有问题。如果信号处理应用要求能快速升级,那么像DSP这样的可编程器件将比定制的硬件解决方案更有吸引力。

3.工具支持:支持软件创建、调试、系统集成、代码调整和优化的工具对于整个项目的成功非常重要。

4.操作系统支持:嵌入式系统应用的复杂性要求采用有益的抽象来降低复杂度。针对所选处理器优化的商用操作系统能够缩短应用开发周期和产品上市时间。

5.过去的经验:以前使用所选处理器或处理器系列的经验可以减少学习新处理器、工具和技巧所需的时间。

6.仿真支持:周期精确的仿真技术在某些种类的应用中十分重要,尤其对于数字信号处理,它的大部分功能是依靠仿真技术来验证正确性的。嵌入式系统的软/硬件协同设计模型也使得处理器仿真器成为开发流程中的一个有用工具。

7.应用支持:支持方式分为许多种——从通过热线或网站提供的应用指南到预打包的软件;从应用框架到可用的测试基准。某些DSP处理器还一并提供用于外围设备的驱动程序、板支持包以及其它“启动套件”。这些软件使应用开发者不必再编写没有增值意义的软件,如设备驱动程序,转而专注于为应用开发增值功能,它们将使产品在市场上表现出个性化特色。

8.成本:嵌入式应用对成本非常敏感。几美分的成本差异就能决定产品在市场上的成败。

9.功耗:许多便携型的嵌入式实时系统是依靠电池供电的。因此,电池寿命成为系统的一个重要参数。在这种情况下,应考虑采用针对便携式应用优化的低功耗器件。

10.遗留代码:选用需要移植现有代码的处理器可能会显著延长开发周期。选择一款代码兼容的器件则可以缩短或省去移植代码的步骤。

11.算法复杂性:特定处理器能很高效地运行特定算法。选择的处理器应该尽可能与应用相匹配。例如,包含大量控制代码的有限状态机应用应该选用RISC器件,如ARM处理器。而诸如编码、解码和回波消除等信号处理应用则应当选用DSP或带有信号处理加速器的某些器件。

12.面市时间:项目的最终期限可能会影响处理器的选择。这与前述的几项选择标准有密切关系,如操作系统和其它软件的可供应性以及代码的可移植性问题等。

因为嵌入式系统的预算不断缩减,实时操作系统(RTOS)和TCP/IP堆栈等商业技术已经得到增强,加上对嵌入式系统的需求不断扩展,所以采用现成商业技术的做法正变得越来越流行。使用现成商业技术可以缩短开发周期的某些阶段,包括编码、调试、单元测试和代码检查等。

不过,如果决定购买而不是自主开发,那么这将改变一家公司的基本开发流程。选择购买现成商业技术的公司预计要进行的一些新工作包括:研究和评估供应商、产品评估以及后续与供应商的互动和关系维护等。

很重要的一点是应该让终端用户和技术人员参与选择现成商业技术供应商的过程。在选择的过程中,不仅要考虑技术问题,还要重点关注商业需求。影响成本的因素包括:易学性、易用性、供应商的信誉和稳定度、许可协议以及培训事宜。在选择供应商时的主要任务包括:研究和理解技术标准;向供应商征询建议;评估供应商的建议并对他们作出排名;选择一家供应商并与之签署合同。

嵌入式系统供应商已经认识到,他们需要通过提供软件模块和框架,来加速软件开发进程。在DSP领域,供应商提供了数百个DSP软件给DSP设计师,供他们在产品和系统开发中使用,其中包括参考框架。

在应用开发的早期阶段,已经设计好的参考框架对于设计师而言是能够用以启动项目的解决方案。参考框架包含在许多应用中可以通用的源代码。设计师可以选择最能满足其系统需要的特定参考框架,然后将参考框架与算法(由其他供应商销售的DSP商业现成技术或者它们自己开发的算法)整合在一起,从而为一系列终端设备创造特定应用,包括宽带、语音、视频成像、生物测定和无线基础设施等。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2024年4月18日,国民技术第四代可信计算芯片NS350 v32/v33系列产品正式发布并开始量产供货。NS350 v32/v33是一款高安全、高性能、超值可信密码模块2.0 (TCM 2.0)安全芯片,适用于PC、服...

关键字: PC 服务器平台 嵌入式系统

2024年,嵌入式系统将走向何方?如何才能走在趋势的前沿?从工厂到家电,从医院里昂贵的医疗设备,到随处可见的可穿戴设备,我们身边的联网设备越来越多,生活更加绿色低碳,嵌入式系统功不可没。ST于3月19日成功举办STM32...

关键字: 嵌入式系统 可穿戴设备

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM
关闭
关闭