DigiKey全面性满足客户的各种应用需求
2024-03-05
DigiKey应用与技术网页
为了满足客户在应用上的不同需求,DigiKey的应用与技术网页提供各式各样应用相关的资源,将有助于工程师更快的进行设计。从应用面来看,DigiKey针对汽车、自动化与控制、物联网解决方案、能量收集等提供不同的解决方案支持。
网页列出不同的嵌入式系统与微控制器技术
更进一步,这网页列出不同嵌入式系统与微控制器技术涵盖各种指令集架构、评估板、开发板、模块上系统、扩充板、实时操作系统、嵌入外设组件、微处理器、数字信号处理器、单板机、微控制器、现场可编程门阵列等特点。
我们将陆续介绍嵌入式系统网页内相关的各种应用与技术,如评估板与实时操作系统(RTOS)、微处理器(MPU)与各种控制器(DSP、SBC、MCU、FPGA),以及外设(内存、时钟、通信、I/O、电源)的介绍。以下将率先为您介绍嵌入式系统与微控制器的相关技术与应用。
嵌入式系统和指令集架构的选择
嵌入式系统(Embedded System)是一种特定用途的计算机系统,通常被嵌入到其他设备或系统中,以执行特定的任务或功能。这些系统通常是专为特定应用或产品而设计,并且由相对较小、专注的硬件和软件所组成。想要建置一套嵌入式系统,首先得确认想要采用的指令集架构(Instruction Set Architectures, ISA),各家的指令集架构各有其拥护者与优缺点,本文将为您进行嵌入式系统的概念介绍与指令集架构的选择考虑。
嵌入式系统和指令集架构的选择
嵌入式系统应用领域相当广泛
嵌入式系统的应用范围相当广泛,通常被设计用来执行特定的功能或任务,从日常生活中的家电产品到汽车电子系统、医疗设备、工业自动化等各个领域都有存在,它们在提高产品智能化、效能和功能性方面发挥了关键作用。此外,许多嵌入式系统需要实时处理和响应,这意味着它们必须在特定的时间限制内完成任务,这在需要实时控制和反应的应用中尤其重要。
另一方面,由于嵌入式系统通常嵌入在资源有限的环境中,因此它们的硬件资源(如处理器、内存)和功率都受到限制。因此,软件必须被精心设计以充分利用这些有限的资源,加上嵌入式系统的硬件配置通常是固定的,并且无法或难以进行硬件升级,这使得软件的优化和效能至关重要。
当前的多数嵌入式系统都需要与其他设备或系统进行通信,以执行协同任务或传送数据,这使其必须支持多种通信协议,可能包括有线或无线通信,例如蓝牙、Wi-Fi、CAN(Controller Area Network)等。
嵌入式系统也必须搭配嵌入式软件,才能执行功能运作,嵌入式系统的软件通常是专门为其硬件平台设计的,这可能包括实时操作系统(RTOS)或特定应用的软件栈。
嵌入式系统应用领域相当广泛
选择指令集架构是开发嵌入式系统的第一步
嵌入式系统通常是接收、解释和发送信号的电子系统的协调部分,其功能来自于硬件和软件的结合,对于刚接触嵌入式系统的人来说,C编程语言可以成为软件开发的良好起点。想要进行软件开发,便必须从选择整体主题(如指令集架构)开始,到一些较大的产品类别(如微控制器)结束。
指令集架构(ISA)也称为计算机架构,是一种如何将程序代码指令、数据类型和支持的硬件组合在一起,形成微处理器单元(MPU)的定义。通常ISA不会交叉兼容,因此为一种ISA设计的系统并无法在另一种ISA上运作。例如,x86系统和软件无法在采用ARM的芯片上运行,因为两者处理程序代码指令和数据集的方式不同。
当然,市面上有几种不同的解决方法可以解决兼容性问题,包括通过仿真不同ISA操作条件的软件,或通过将不同ISA组合到单一软件工具包中。例如ARM创建了一种名为ARM big.LITTLE的混合架构,这是一种异质多处理架构,通过将高功率和低功率处理内核组合到一个系统中,可以对高功率进程进行优先排序,并与低功率和低优先级请求分开处理,实现更大的灵活性和更精确的电源管理。
指令集架构主要可以分成精简指令集(RISC)和复杂指令集(CISC)架构。RISC的概念可以追溯到20世纪80年代,旨在使用简单的指令集在计算过程中执行单步骤操作,主要的想法是通过减少用于加载、评估和存储数据的简单指令的数量来使硬件更简单。一般来说,可以视为每个程序代码指令只为计算机系统执行一个动作,更简单的操作可以实现更快的完成速度并降低功耗,这使得它们在便携式装置或其他以电源效率为驱动因素的应用受到欢迎。
相较之下,CISC则允许在计算过程的每个步骤中发生多个指令和程序代码操作,通常包括加载和存储步骤的复杂指令。一般来说,CISC可以被认为是除了RISC之外的所有指令集架构,因为这个术语是为了响应采用RISC的芯片和系统的发展而开发的。虽然CISC没有官方的定义,但它们通常可以被认为具有更复杂的设计系统,因此通常需要更多的功率来运作。
RISC与CISC这两种想法其实都想要使CPU的执行速度更快,RISC是通过减少每个指令的周期,以减少每个应用程序的指令总数为代价,而CISC则是通过最小化每个程序的指令数,以更复杂的硬件为代价。
选择指令集架构时,有多种考虑因素,这些因素通常会涉及到硬件、软件和系统集成等方面,包括应用所需的性能、功耗、成本、软件生态系统、兼容性、扩展性、安全性等。总体来说,选择指令集架构是一个复杂的决策,需要综合考虑多个因素,并根据具体的应用场景和需求做出适当的选择。
各种指令集架构满足不同应用需求
目前主流的指令集架构有许多种类,每种都有其特定的特点和应用领域,常见的一些主要的指令集架构包括RISC-V、x86、ARM、MIPS和Power等,以下将针对最常见的RISC-V、x86和ARM进行介绍。
RISC-V
RISC-V是一种基于RISC架构的开放标准ISA,与其他芯片设计不同,RISC-V完全开源并具有开放架构,具有可扩展性和自由授权的特点,这意味着任何人、任何地方都可以制造RISC-V芯片,而无需支付任何授权费用,使其吸引了广泛的关注,成为了开源社群中的热门选择。然而,虽然RISC-V的内核是开源的,但可能还有其他不被视为公共领域的附加和扩展。RISC-V在嵌入式系统、物联网设备和一些新兴市场中取得了一些成就,并在某些特定领域中快速崛起。目前市面上已经有一些RISC-V开发板推出,包括Sparkfun RED-V与Digilent RVfpga,可以加快采用RISC-V指令集来开发嵌入式系统。
Sparkfun的RED-V开发板 Digilent的RVfpga开发板
x86
CISC处理器最古老的指令集架构系列之一,其中的x86处理器系列始于1970年代末,做为Intel 8位微处理器的扩展,经过不断调整和改进,成为当今最常见的计算机处理器类型之一。x86拥有丰富的指令集和通用缓存器,它最初是为桌面计算机和服务器应用而设计的,x86芯片通常用于笔记本计算机、桌面计算机、服务器、工作站和超级计算机和部分嵌入式系统,专为最佳效能而设计。目前用于开发x86架构的开发板包括LattePanda x86板与Udoo x86板等。
ARM
ARM最初称为“Advanced RISC Machines”,但现在则简称为“ARM”,是由Arm LTD开发和授权的RISC处理器系列。ARM是一种RISC架构,注重简洁和节能,由于ARM的功耗较低且发热量低,因此ARM的芯片广泛采用于移动设备和便携式设备、嵌入式系统和低功耗需求的应用,例如智能手机、平板、嵌入式系统、物联网装置,和某些笔记本计算机和其他低功耗设备。常见的ARM开发板包括STMicroelectronics NUCLEO与STMicroelectronics IOT等。
STMicroelectronics的NUCLEO开发板 STMicroelectronics的IOT开发板
|
RISC-V是当前最具发展潜力的指令集架构
开发CPU设计是一个漫长且成本高昂的过程,由于ARM等供应商会对使用其设计的开发者收取专利费,以支付开发成本,因此开放、免授权费的RISC-V架构成为当前最具发展潜力的指令集架构。
RISC-V与其他指令集架构(ISA)的区别在于该标准是开源的,并且免费供个人、学术和商业用途。此外,它还定义了处理CPU中最重要功能的基础,它本身就是可以实现简化的通用型计算机。这个基础可以通过使用延伸指令来扩充,这些延伸指令被指定为与基础一起工作,并且彼此之间不会发生冲突。例如,您可以实现具有64位基本整数指令集的CPU,并包含一个支持单精度浮点指令的延伸,以及另一个用于整数乘法和除法的延伸。
目前已经有一些制造商实现了RISC-V ISA,您也可以从使用此类CPU的各种开发板中进行选择。其中之一是LoFive R1,它是对RISC-V生态系统的简易且经济的开始,它具有您期望从开发板(如Arduino)获得的所有功能,而且价格低廉。
GroupGets LLC的LoFive R1 RISC-V评估板
结语
嵌入式系统与微控制器是当前最热门的话题,选择ISA则是嵌入式系统开发的第一步,DigiKey提供了多种ISA开发板供客户选择,并提供相对应的支持,设计师也可以到应用与技术网页参考更详细的应用与技术介绍,以加速系统的开发速度,若有更多需求,也可与DigiKey联系以获得更多详细的信息。
更多相关技术前沿与精选内容:
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。