◆李源 李英 闫青 刘春霞
嵌入式系统对开源平台的探索与设计
◆李源 李英 闫青 刘春霞通讯作者
(太原科技大学 山西 048011)
随着电子、计算机和信息技术领域的迅速发展,设计并实现了不同类型的嵌入式系统,并用于诸多不同的需求和目的,同时也衍生出许多实际应用。此类系统的设计和开发使用将最大限度地适应具体应用,并高效执行所需的特定功能。此外,这类系统应尽可能简单,尽可能小尺寸,低成本,极少地消耗能源。始终是针对某些特定目的的专门和优化的系统,几乎可以用于人类活动的所有领域。本文将系统性阐述嵌入式系统的设计理念以及在对开源平台开发过程中应注意的事项,并结合分析多个嵌入式系统的优缺点案例,分析对系统的影响以及如何使设计更加趋于合理化。
开源平台;嵌入式系统;SCADA;RFID
嵌入式系统是硬件和软件集成性很强的电子系统,旨在执行某些特定功能。这些系统是内置于另一个系统的基于计算机的电子系统,为它们提供了稳定的功能和性能。同时作为特殊用途的系统,它完全由其控制的设备进行封装。该类系统执行一至多项预先设定的任务,通常具有非常具体的操作要求。由于系统执行特定任务的原因,开发人员可以在运行速度上进行优化,同时降低系统尺寸和重量、功耗和成本。该系统通常为大规模生产和大规模消费的产物,且该类系统基于微机实现其功能。
嵌入式系统的一些基本特点是:它用来执行特定任务,有较为广泛的CPU处理器支持,实时限制,而且价格相对便宜。在操作系统使用方面,它通常是实时操作系统(RTOS)。在大多数情况下,此类系统可作为电池供电和低功率系统,通常习惯于在极端环境条件下运行,具有仅可用于具体用途所需的系统资源。这种系统会把所有的对象代码都保留在ROM中,并需要使用特殊的方法对其进行设计。
提及嵌入式系统,大家大都不会感到陌生,它的应用范围很广,这种系统通常耗资非常低廉,几乎可以用于每一种电子产品。嵌入式系统当前生产生活环境下应用的一些主要领域包括:计算机外围设备、汽车电子工业、飞机电子工业、火车、电信、医疗系统、军事特殊应用、平台认证系统、消费电子、工业制造设备、智能建筑和智能云机器人的研发应用。嵌入式系统的特点是交叉开发,不过它通常用于软件开发。一般情况,系统工程师会在一个平台上对嵌入式系统软件进行开发,并在另一个平台上参与执行。此外,它还需要在机器语言中获得尽可能高效的程序。由于现有编译器无法生成高效的机器代码,因此我们经常使用组装语言编程对其进行操作。但是,嵌入式应用程序正变得越来越复杂,需要在高级编程语言中使用编程。一般来说,并没有理想的编程语言来编程嵌入式系统。嵌入式系统中目前最常用的编程语言是:C、C++、Java等。
嵌入式系统的许多实际需求和应用并不需要高性能、高速度、低功耗等大量的解决方案。在这种应用中,最重要的是满足所需的系统功能,尽可能缩短系统开发和实施时间,尽可能降低系统开发和实施成本,并尽可能优化和最小化硬件和软件,以达到所需的运行速度。此外,它要求系统的体积、重量和功耗尽可能小,可靠性高,易于维护,价格尽可能低。因此,我们可以通过采取针对开源平台设计的嵌入式系统。这种设计概念可以简化和加速开发、设计和实现过程,减少所有活动所需的时间,降低所有过程的成本。它还支持模块化方法,以方便、加速和降低系统修改和维护成本。可根据用户需求优化软硬件资源,平衡整个系统所需的功能和价格。开源硬件平台的使用(寻找合适的开源板平台)使得硬件集成系统的开发、设计和实现过程更加简单和廉价。我们只需要根据这一目的的需要选择最适合特定应用的开源平台,同时还需要选择一些附加的硬件模块来添加到所选的开源平台。如果需要特定的应用程序,则启用模块化硬件方法。硬件设计的其他活动包括定义系统如何连接到环境、传感器和执行器以及用户。因为现有的硬件开源平台为互联和通信提供了大量的方式和电路。在该设计中,力求对整个系统的硬件进行最小化和优化,满足系统的具体应用。通过对系统硬件的设计和实现,证明了该方案的可行性和可靠性,并且总体成本很低。
使用开源软件平台(合适的开源软件开发工具)可减少软件和整个系统的开发、设计和实施过程,使开发设计和实施过程更加简单价格低廉。开发工具包括开源编程语言和软件工具、操作系统和调试工具,只需选择最合适的开源软件工具进行具体应用。它主要使用编程,目的是尽可能多地使用高水平的编程语言。此类方案的优点是简化、快速和成本较低,问题是它只能在需要极其高速运行的应用程序中,当在高水平编程语言中编程无法满足所需速度的应用程序时,在这种情况下我们可以使用组装语言编程。但是,它将使该计划的开发过程复杂化、减速和增加成本。对此,在必要的情况下,尝试在高水平编程语言中通过编程,组装语言编程仅在程序中需要尽可能高速度的部分使用。还必须实施可用于设计完整系统软件的软件模块。如果在具体应用中有必要,则启用了这种模块化软件方法。此外,在此类系统中,它不必使用操作系统,但可以使用一些开源操作系统。由于操作系统会减慢系统的运行速度,并且需要更多的硬件资源(更大的内存),因此它不用于需要高速运行和小硬件资源的应用。在不重要的应用程序中,最好使用一些开源操作系统。操作系统的使用非常方便,加快了整个系统的软件设计、实施、修改和维护。它可以简化、降低软件和整个系统开发和实施的所有活动的成本。软件开发的进一步活动包括系统与环境和用户通信的编程。全系统的硬件和软件的最佳集成在嵌入式系统设计中也非常重要。这能够并确保实现系统的最佳特性,满足所有要求,并实现系统的硬件和软件的平衡。在系统设计中,需要决定硬件将实现什么,软件实现什么,它始终需要最大限度地减少硬件的使用,并最大限度地利用软件。应尽可能少地通过硬件实现功能,并尽可能多地通过软件实现功能,最大限度地减少整个系统的尺寸、重量、能耗和成本。因此,在开发和实施这种嵌入式系统时,应该从一开始就兼并同时实现系统硬件和软件的设计及其集成和验证。所有这些在此类嵌入式系统中也得到了简化,因为主要使用同一制造商的开源硬件和软件平台。
微机嵌入式系统几乎存在于人类活动和环境的每一个环节。这种系统的应用使得许多已实现的系统具有低成本的功能、移动性和自治性。其中许多系统应用程序包括:从进程获取、处理和存储数据、监控过程。加强过程中的安全。所有这些导致所谓的监控和数据采集(SCADA)系统,工业系统的监测,控制和数据采集。所谓的射频识别(RFID)通常被用作识别流程参与者的安全技术。RFID是识别物体和用户的标准技术。在很多情况下,由于非接触式的身份识别,它具有相对高速、简单和廉价的特点。
在这里,我们建议考虑和描述的可能性,设计、实施和应用嵌入式SCADA和RFID系统使用开源技术。
对于标准SCADA系统可使用PLC设备。PLC 是一种基于微机的一种特殊类型的控制器,可用于实时控制流程和系统。在当前控制系统中PLC的使用非常常见,因为它对环境条件、可靠性、功能、编程和维护的易用性抗干扰力较强,为开发和实施嵌入式基于微机的SCADA系统提供了很大的创造性,可以随着微机的进展和扩展而进行的具体应用。这些系统的主要优点是:优化系统硬件、软件、速度和存储需求:根据应用要求实现最大采用,成本合理。SCADA 系统包括:测量设备(传感器)和执行单元(执行器)、远程输入/输出模块、远程站(终端单元)、通信系统和中央站。
我们通常对软件编程模拟CPU硬件设备的设计习惯采用标准的微型CPU,在符合系统稳定和系统标准负荷的环境下,我们多采用可搭配的软件模块对其进行设计开发,用这些可配置的软件模块来达到某种外设的功能的实现应用。同时将其采取配置、升级、重组的方式使其完成特定的操作。在此应说明的是,我们所知的所有硬件并不是所有外设的功能都可以完全由软件实现替换,我们对其设计方法的初衷是希望它可以尽可能在系统允许的条件下尽量“以软代硬”的方式最大化实现,以尽可能少的硬件损耗开销来获得最佳的性能比。
数字电子技术的发展历程使嵌入式系统可以针对不同的需求和应用进行设计和应用。这些系统最适合具体应用,并针对特定目的进行专项优化。不同的软,硬件平台可用于设计和实现该类系统。特殊设计的平台最常用于此类目的。但是在许多实际需求中,使用开源软硬件平台要方便得多。
在这里我们建议使用开源硬件和基于软件的微机技术,为许多实际应用设计和实施嵌入式系统来作为这种方法及其好处的例证,分析研究这两种实际设计和实施的嵌入式系统,如用于系统硬件实现的开源微机板、适当的传感器、执行器等,用于系统软件实现的开源软件工具和程序以及操作系统。同时对系统设计还可以采用模块化方法,使系统易于扩展、简化维护和适应用户的需求,它可以极大程度地实现系统功能和成本之间的平衡。
在接下来设计和实施这个嵌入式系统时,我们可以根据系统需要对所有已使用的组件和工具进行优化设计,对所有的硬件和软件设计进行系统性能优化。这样,系统在功能和成本上实现了相对平衡。与其他的设计和实现方式相比,这种嵌入式系统最主要优势是:成本更低,应用优化,尺寸和重量更小,电能消耗更低。但同时它也带来的一些缺点是:出于可靠性较低,确定性较低,对系统设计需要的应用受到限制等等一系列问题。
[1]李海华.数据加密技术在计算机网络通信安全中的应用探析[J].计算机光盘软件与应用,2013(08).
[2]周哲熙.基于平台和中间件的嵌入式系统软硬件协同设计[J].电子测试,2018(12).
[3]李岩,屈媛,陈仪香.软硬件协同设计中的软硬件划分方法综述[J].单片机与嵌入式系统应用,2017,17(8).
[4]韩旭.嵌入式系统在电子信息技术中的意义[J].考试周刊,2019(11).