嵌入式系统硬件:内存与通信技术解析

1. 内存技术概述

在嵌入式系统和计算服务器中,小内存的架构需确保可预测的实时性能。将存储常用数据和指令的小内存与存储其余数据和指令的大内存结合使用,通常比单一的大内存更节能。目前介绍的内存通常采用易失性内存技术,为实现持久存储,则需使用不同的内存技术。对于嵌入式系统,闪存常是最佳选择;在其他情况下,也可使用硬盘或基于互联网的存储解决方案(如云存储)。

2. 寄存器文件

存储容量对访问时间和能耗的影响,在诸如寄存器文件这样的小内存中同样存在。寄存器文件的周期时间和功耗与内存大小相关,由于寄存器频繁被访问,其功耗问题需重点关注,过热可能影响其性能。

3. 高速缓存

高速缓存的引入旨在提高运行时效率,其名称源于法语“cacher”(隐藏),意味着程序员无需关注缓存的更新,因为这是自动完成的。硬件会检查缓存中是否有与特定地址相关信息的有效副本,这通过比较缓存的标签字段来实现。若缓存中没有有效副本,缓存信息会自动更新。

以Drepper的研究为例,分析遍历线性列表程序的执行时间。对于Pentium P4处理器,不同大小的列表访问所需的平均周期数不同。小列表几乎总是访问一级缓存,随着列表增大,会访问二级缓存,当列表更大时,尽管二级缓存会自动预取以隐藏部分主存访问延迟,但访问时间仍会增加。此外,当列表项大小增加时(如NPAD增大),预取失败,访问时间会大幅增加,这表明缓存架构对应用程序执行时间有显著影响。同时,缓存访问小内存所需能量比大内存少,可提高内存系统的能源效率,但在设计时预测缓存的命中和缺失较为困难,这对实时性能的准确预测造成了负担。

4. 便笺式内存

便笺式内存(SPMs)或紧密耦合内存(TCMs)可映射到地址空间。与缓存不同,SPMs通过选择合适的内存地址进行访问,无需检查标签。当简单地址解码器指示地址在SPM地址范围内时,即可访问SPM。SPMs通常与处理器集成在同一芯片上,属于片上内存的特殊情况。对于n路组相联缓存,读取时通常并行读取n个条目,然后再选择正确的条目,而SPMs避免了这种耗能的并行读取,因此能源效率很高。例如,对于二路组相联缓存,SPM每次访问所需能量与缓存的差异约为三倍。若编译器负责将常用变量保留在SPM中,SPMs可显著且可预测地改善内存访问时间。

5. 通信需求

在嵌入式系统中,信息在处理前必须进行通信,这在物联网中尤为重要。信息可通过各种通道进行通信,通道是具有最大信息传输容量和噪声参数等基本通信属性的抽象实体,通信错误的概率可通过通信理论技术计算。实现通信的物理实体称为通信介质,重要的介质类别包括无线介质(射频、红外)、光介质(光纤)和电线。

不同类别的嵌入式系统有各种各样的通信需求,连接不同的嵌入式硬件组件并非易事,常见的通信需求如下:
- 实时行为 :对通信系统的设计有深远影响,一些低成本解决方案(如标准以太网)无法满足此要求。
- 效率 :连接不同硬件组件可能成本高昂,如大型建筑中的点对点连接几乎不可行,汽车中控制单元与外部设备间的独立电线会增加成本和重量,且难以添加新组件。为降低成本,常需使用中央电源。
- 适当的带宽和通信延迟 :嵌入式系统的带宽需求各异,需在提供足够带宽的同时避免通信系统成本过高。
- 支持事件驱动通信 :基于轮询的系统实时行为可预测,但通信延迟可能过大,因此需要有快速的事件导向通信机制,如紧急情况应立即通信。
- 安全/隐私 :确保机密信息的安全和隐私可能需要使用加密技术。
- 安全/鲁棒性 :对于安全关键系统,必须达到所需的安全级别,包括在极端温度、强电磁辐射等环境下仍能保持可靠通信。
- 容错性 :尽管努力提高鲁棒性,但故障仍可能发生,网络物理系统应在故障后仍可运行,避免像PC那样的重启,通信失败后可能需要重试,但这与实时要求存在冲突。
- 可维护性、可诊断性 :嵌入式系统应能在合理时间内进行修复。

由于部分需求之间存在冲突,需要进行权衡。例如,可能存在不同的通信模式:一种是保证实时行为但无容错性的高带宽模式(适用于多媒体流),另一种是用于不能丢失的短消息的容错低带宽模式。

6. 电气鲁棒性

芯片内的数字通信通常采用单端信号传输,信号通过单根导线传播,以公共地为参考表示电压(较少情况下表示电流)。单端信号传输易受外部噪声影响,且在大量通信系统间建立高质量公共地信号较为困难。

差分信号传输则不同,每个信号需要两根导线。二进制值根据两根导线间的电压极性编码,两根导线通常扭绞成双绞线。差分信号传输具有以下优点:
- 噪声以相同方式添加到两根导线上,比较器可去除几乎所有噪声。
- 逻辑值仅取决于两根导线间电压的极性,电压幅值的变化(如反射或导线电阻引起的)不影响解码值。
- 信号不会在接地线上产生电流,降低了接地线质量的重要性。
- 无需公共接地线,避免了在大量通信伙伴间建立高质量接地布线的问题。
- 差分信号传输的吞吐量比单端信号传输大。

不过,差分信号传输每个信号需要两根导线,并且可能需要负电压(除非基于使用单端信号电压的互补逻辑信号)。它常用于标准以太网网络和通用串行总线(USB)。

7. 保证实时行为

计算机内部通信可采用专用点对点通信或共享总线。点对点通信实时性能好,但需要大量连接,且接收端可能出现拥塞;共享总线布线更方便,通常在多个访问请求存在时采用基于优先级的仲裁,但这种仲裁方式时间可预测性差,甚至可能导致低优先级通信被完全阻塞(饥饿现象)。

为解决此问题,可采用时分多址(TDMA)。在TDMA方案中,每个通信伙伴被分配一个固定的时隙,只能在该时隙内传输。通信时间通常分为帧,每帧开始有用于帧同步的时隙和可能的间隙。每个时隙还包含间隙和保护时间,以考虑通信伙伴的时钟速度变化。TDMA可减少每帧和每个伙伴的最大可用数据量,但能保证所有伙伴的一定带宽,避免饥饿现象。例如,ARM AMBA总线就采用了基于TDMA的总线分配。

计算机间的通信常基于以太网标准。10和100 Mbit/s的以太网版本存在通信冲突问题,采用载波侦听多路访问/冲突检测(CSMA/CD)方法,通信时间可能很长,无法满足实时约束。而载波侦听多路访问/冲突避免(CSMA/CA)可避免冲突,为最高优先级的伙伴保证可预测的实时行为,对于其他伙伴,若高优先级伙伴不持续请求访问介质,也能保证实时行为。高速以太网(≥1 Gbit/s)同样可避免冲突。此外,TDMA方案也用于无线通信,如GSM移动电话标准。

8. 通信总线示例
  • 传感器/执行器总线 :用于简单设备(如开关或灯具)与处理设备之间的通信,由于此类设备数量众多,布线成本需特别关注。
  • 现场总线 :与传感器/执行器总线类似,但通常支持更大的数据速率。常见的现场总线包括:
    • 控制器局域网(CAN) :由Bosch和Intel于1981年开发,用于连接控制器和外设,在汽车行业广泛应用,可减少大量电线的使用。它基于差分信号传输和CSMA/CA仲裁,但CSMA/CA仲裁无法防止饥饿现象,不过有相关扩展方案。
    • 时间触发协议(TTP) :用于汽车安全气囊等容错安全系统。
    • FlexRay™ :由FlexRay联盟开发的TDMA协议,包括静态和动态仲裁阶段。静态阶段采用类似TDMA的仲裁方案,可用于实时通信并避免饥饿现象;动态阶段为非实时通信提供良好的带宽。通信伙伴可连接到最多两条总线以提高容错性,总线保护机制可防止伙伴发送冗余消息。伙伴可使用自己的本地时钟周期,所有伙伴的公共周期定义为本地时钟周期的倍数,通信时隙基于这些公共周期分配。
    • LIN(本地互连网络) :用于汽车领域连接传感器和执行器的低成本通信标准。
    • MAP :专为汽车工厂设计的总线。
    • EIB(欧洲安装总线) :用于智能家居的总线。
  • 集成电路间(I2C)总线 :一种简单的低成本总线,用于短距离(米级)、相对低数据速率的通信。总线仅需四根线:接地、SCL(时钟)、SDA(数据)和电源供应线。数据和时钟线为开集电极线,连接设备只能将这些线拉向地,需要单独的电阻将线拉高。I2C的标准速度为100 kb/s,也有10 kb/s至3.4 Mb/s的版本,电源电压线上的电压在不同接口间可能不同,仅定义了相对于电源电压检测高低逻辑电平的标准,该总线在一些微控制器板上得到支持。
  • 有线多媒体通信 :需要更高的数据速率,例如MOST(面向媒体的系统传输)总线。

综上所述,嵌入式系统的内存和通信技术各有特点和适用场景,在设计嵌入式系统时,需要根据具体需求综合考虑并合理选择,以实现系统的最佳性能和效率。

嵌入式系统硬件:内存与通信技术解析

9. 不同通信技术对比

为了更清晰地了解各种通信技术的特点,下面对上述提到的部分通信技术进行对比,如下表所示:
| 通信技术 | 数据速率 | 实时性 | 容错性 | 成本 | 应用场景 |
| — | — | — | — | — | — |
| 传感器/执行器总线 | 较低 | 一般 | 一般 | 低 | 简单设备与处理设备通信 |
| CAN | 适中 | 一般 | 一般 | 低 | 汽车行业、智能家居等 |
| TTP | 适中 | 高 | 高 | 适中 | 汽车安全气囊等安全系统 |
| FlexRay™ | 较高 | 高 | 高 | 适中 | 汽车电子等对实时性和容错性要求高的场景 |
| LIN | 低 | 一般 | 一般 | 低 | 汽车领域传感器和执行器连接 |
| I2C | 低 - 中 | 一般 | 一般 | 低 | 短距离、低数据速率通信 |
| MOST | 高 | 一般 | 一般 | 适中 | 有线多媒体通信 |

从这个表格中可以看出,不同的通信技术在数据速率、实时性、容错性、成本以及应用场景等方面存在差异。在选择通信技术时,需要根据具体的需求进行权衡。例如,对于对实时性和容错性要求极高的汽车安全系统,TTP和FlexRay™是比较合适的选择;而对于成本敏感且数据速率要求不高的简单设备通信,传感器/执行器总线或LIN可能更为合适。

10. 内存与通信技术的协同关系

内存和通信技术在嵌入式系统中是相互关联、协同工作的。内存的性能会影响通信的数据处理速度,而通信技术的好坏也会影响内存中数据的传输效率。以下是它们之间协同关系的mermaid流程图:

graph LR
    A[数据产生] --> B[存储到内存]
    B --> C[通信传输]
    C --> D[其他设备接收]
    D --> E[处理数据]
    E --> F[结果存储到内存]
    F --> G[可能的反馈通信]
    G --> B

从这个流程图可以看出,数据首先被存储到内存中,然后通过通信技术进行传输,传输到其他设备后进行处理,处理结果又会存储到内存中,并且可能会产生反馈通信再次进入内存和通信的循环。例如,在一个物联网传感器节点中,传感器采集到的数据会先存储在本地的内存中,然后通过无线通信技术(如蓝牙、ZigBee等)传输到网关设备,网关设备处理数据后可能会将控制指令通过通信技术反馈给传感器节点,传感器节点将指令存储在内存中并执行相应操作。

11. 未来发展趋势

随着科技的不断发展,嵌入式系统的内存和通信技术也在不断演进。以下是一些可能的未来发展趋势:
- 内存技术
- 更高容量和更快速度 :随着数据量的不断增加,对内存容量和速度的要求也会越来越高。未来可能会出现更高密度的内存芯片,以满足嵌入式系统对大数据存储和快速处理的需求。
- 低功耗内存 :为了延长嵌入式设备的电池续航时间,低功耗内存技术将成为研究的重点。例如,新型的非易失性内存技术可能会得到更广泛的应用。
- 集成化和智能化 :内存将与处理器等其他组件更加紧密地集成在一起,实现更高的性能和更低的功耗。同时,内存可能会具备一定的智能处理能力,能够对存储的数据进行预处理和分析。
- 通信技术
- 高速无线通信 :随着5G以及未来6G技术的发展,无线通信的速度和稳定性将得到极大提升,这将使得嵌入式设备能够更快速地与外界进行数据交换。
- 低功耗广域物联网(LPWAN) :LPWAN技术(如LoRa、SigFox等)将继续发展,为物联网设备提供长距离、低功耗的通信解决方案,适用于大规模的物联网部署。
- 通信融合 :不同的通信技术可能会相互融合,形成更加灵活和高效的通信架构。例如,有线和无线通信技术的结合,能够在不同的场景下提供最佳的通信性能。

12. 实际应用案例分析

为了更好地理解嵌入式系统中内存和通信技术的应用,下面分析一个实际的智能家居系统案例。

在智能家居系统中,包含了各种传感器(如温度传感器、湿度传感器、门窗传感器等)、执行器(如智能开关、智能门锁等)以及中央控制单元。系统的工作流程如下:
1. 数据采集 :传感器实时采集环境数据(如温度、湿度等)和设备状态数据(如门窗是否打开),并将这些数据存储在本地的便笺式内存(SPM)中。由于SPM的低功耗和快速访问特性,能够高效地存储这些实时数据。
2. 数据传输 :传感器通过无线通信技术(如ZigBee)将存储在SPM中的数据传输到中央控制单元。ZigBee具有低功耗、自组网等特点,适合智能家居系统中大量设备的通信需求。
3. 数据处理 :中央控制单元接收到数据后,对其进行处理和分析。处理过程中,可能会从内存(如高速缓存)中读取相关的算法和配置数据,以实现对环境数据的判断和决策。
4. 指令下发 :中央控制单元根据处理结果,生成相应的控制指令,并通过无线通信技术将指令发送给执行器。执行器接收到指令后,从本地内存中读取指令并执行相应的操作(如打开或关闭智能开关)。

通过这个案例可以看出,内存和通信技术在智能家居系统中紧密配合,实现了数据的采集、传输、处理和控制等功能。

13. 总结

嵌入式系统的内存和通信技术是其核心组成部分,它们各自有着独特的特点和优势。内存技术中的寄存器文件、高速缓存和便笺式内存等在存储容量、访问速度和能耗等方面存在差异,需要根据具体的应用场景进行选择。通信技术方面,不同的通信总线和通信协议在实时性、容错性、成本等方面各有优劣,也需要根据需求进行权衡。

同时,内存和通信技术之间存在着紧密的协同关系,它们共同影响着嵌入式系统的性能和效率。在未来的发展中,内存和通信技术都将朝着更高性能、更低功耗和更智能化的方向发展。通过对实际应用案例的分析,我们可以更直观地看到这些技术在实际场景中的应用方式和效果。在设计和开发嵌入式系统时,需要充分考虑内存和通信技术的特点,合理选择和搭配,以实现系统的最佳性能和用户体验。

总之,深入了解和掌握嵌入式系统的内存和通信技术,对于推动嵌入式系统的发展和应用具有重要的意义。无论是在智能家居、工业自动化还是物联网等领域,这些技术都将发挥着至关重要的作用。

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐