异构多核处理器满足自主设备的安全要求

描述

自主设备的出现可能是本十年最令人期待的发展之一。它主要是以车辆的形式进行探索,可以展示某种程度的自动驾驶;市场上已经出现了可以与有限驾驶员协助并行停放的汽车,而谷歌的自动驾驶汽车项目在美国累积了超过150万自治里程。

然而,自主设备有多种形状。希思罗机场的5号航站楼停车场“吊舱”是自动驾驶车辆,可以将乘客从他们的汽车运送到候机室,尽管在规定的路径上行驶并且没有其他道路使用者的阻碍。现在世界上有许多无人驾驶轻轨的例子。除了大规模运输之外,无人机变得更加自主,需要从操作员那里直接输入更少的东西来悬停,改变高度或方向;这里的潜在趋势是无人机变得完全自主,将货物从A点运输到B点而没有任何直接的人为控制。

实现这种自治水平的大部分技术仍在开发中,这项法规将允许其大规模推广。

没什么新东西?

在很多方面,嵌入式设备总是自动运行;不同的是,他们也基本上是静止的。然而,用于开发嵌入式应用程序,特别是嵌入式软件的实践反映了嵌入式设备的性质。它们(通常)存在以执行特定功能并且具有可预测的条件,在这些条件下它们必须具有可清楚识别的刺激。开发高质量嵌入式应用程序的“艺术”是设备处理不可识别的刺激或不可预测的条件的方式。

在大多数情况下,软件将包含一种强有力的逻辑方式来有效地忽略所有那些不直接影响其主要功能的条件。如果设备是打印机那就没关系,如果设备能够按照自己的意愿移动,那就不太好了。正是这一关键差异定义了开发人员在设计自主设备时面临的主要挑战。忽略与主要功能无关的条件或刺激是不可接受的,因为主要功能将无法在不可预测性是主要输入的世界中可靠和安全地导航。

美国国家公路交通安全管理局(NHTSA)使用五个级别的自动化,明确区分驾驶员辅助系统和自动驾驶系统。在0级操作的系统没有表现出汽车(转向,制动,加速器)的主要安全功能的自动化,因此包括当今的大多数驾驶员辅助系统,例如车道偏离或碰撞检测警告。这些定义最终达到了第4级:完全自动驾驶自动化,其中包括无人驾驶车辆。

当然,相同的定义不一定适用于不打算运送人员的自主设备;但是在开发能够对系统未必先前描述的条件做出适当反应的系统方面存在同样的挑战。

处理范例

政府和行业充分意识到自主设备的潜力。在英国,机器人和自治系统(RAS)特别兴趣小组(RAS-SIG)成立于2013年,目的是了解RAS在英国的景观和机遇。它已经确定了很多,包括RAS工具:能够在与环境和人员互动的同时移动自己和其他东西,并规划他们的动作和行动的工具。

这样的系统将更加“可预测”运行'环境比其他形式的自动驾驶汽车,旨在移动城市和农村地区的货物和乘客。在这种情况下,设备需要的不仅仅是前视雷达,以避免碰撞;他们将依靠系统的方法来连接自动道路车辆,使他们能够共享信息,甚至相互学习。新兴的车辆到车辆(V2V)和车辆到基础设施(V2X)通信系统旨在提供这种级别的连接,这是在任何驾驶条件下保持所有道路使用者安全所必需的。

收集和处理此级别信息所需的智能已经可用,并且可以在多核设备和片上系统(SoC)中找到。其中一些设备专门针对汽车市场和ADAS(高级驾驶员辅助系统),但更多设备用于更广泛的应用领域。

这些设备将高吞吐量数据处理能力与实际相结合单个设备中的时间控制功能。多个处理内核的紧密集成允许子系统之间更快的数据交换,同时独立工作以保持安全性和安全性要求。通常,这些设备还将集成专用于特定应用的外围设备,例如传感器接口。当然,传感器将在自主设备中发挥关键作用,并将包括摄像机以及其他类型的传感器技术,例如红外线和各种形式的光传感器,用于检测路径,障碍物和接近度。超声波和雷达也正在开发时考虑到自主设备。

多核有意义

像VF6xx(恩智浦Vybrid系列的一部分)这样的异构多核设备结合了不同但互补的处理子系统,以及模拟和数字外设,使其适用于许多应用。对于VF6xx,有两个内核:具有DSP功能的ARM®Cortex®-M4和ARM Cortex-A5。虽然能够使用网络互连(NIC)系统(构成Vybrid系列中设备的“主干”)来交换数据,但这两个内核旨在独立运行,并在必要时运行不同的操作系统。图1显示了VF6xx的框图。

嵌入式

图1:恩智浦的Vybrid VF6xx具有两个ARM内核,可提供实时控制和高水平的数据处理

例如,Cortex-A5内核可以执行Linux发行版和应用程序代码,而Cortex-M4内核可以运行实时操作系统(RTOS)来实现控制功能。虽然不是专为自主设备开发的,但是在单个设备中的这种分离水平可用于在必须处理来自多个源的大量数据的设备中实现低成本,高效的控制系统,同时保持实时控制电机和执行器。

延迟是实时系统的主要因素,因此需要RTOS。由于所有数据传输必须通过VF6xx中的NIC,因此它旨在最大程度地减少延迟。它还维护总线主控器(内核和DMA)与从器件(外设和存储器)之间的关系。主设备和从设备之间的任何数据传输都会产生延迟,因此系统级架构是设计基于多核SoC的系统的一个重要方面。

虽然VF6xx具有多个内存,可以通过NIC访问两个内核,Cortex-M4还有自己的紧耦合存储器(TCM),这是一个使用本地存储器控制器直接连接到核心的标准SRAM。因此,内核可以在一个周期内访问TCM,使其成为实时控制的理想选择。

高分辨率控制

多核设备现在可用于各种应用程序,通常需要将连接性与精确和自适应控制相结合。这是德州仪器公司的Concerto系列目前定位的地方,尽管可以想象它可以用于自动设备。

它采用了与TI自己的C28x浮点内核集成的ARM Cortex-M3内核;与TI的Piccolo™和Delfino™系列相同的核心。 ARM内核旨在提供通信子系统,而C28x内核则涵盖实时控制。

该架构具有许多可由任一内核访问的模拟外设。其中包括两个12位ADC和六个10位DAC模块(每个模块都包含一个比较器)。

处理器间通信外围设备(IPC)为两个内核提供交换数据和同步程序执行的基础结构。交换通过寄存器和软件中的简单握手进行控制。提供外部外设接口(EPI),也可由两个内核访问,允许高速并行总线与外部外设和存储器连接。 EPI的灵活性意味着它可以使用标准控制协议以及FPGA和CPLD与大多数类型的外设接口。

自主设备的一个主要特点是它们的移动能力,这很有可能使用无刷直流电机(BLDCs)进行运动和“重载”,以及步进电机,可以在操作较小的物品时精确控制“手臂”和“手指”。现在通过脉冲宽度调制(PWM)来控制BLDC的默认方法。 Concerto F28M35x具有9个PWM模块;其中八个是高分辨率。

反馈是控制系统中的关键因素,在自主设备中同样重要。 Concerto解决这个问题的方法之一是通过增强型正交编码脉冲模块或eQEP。这旨在直接连接到线性或旋转编码器,以收集位置,方向和速度数据。图2显示了旋转编码器的典型实现以及eQEP模块检测到的结果波形。

嵌入式

图2:德州仪器的Concerto系列将行业标准ARM Cortex-M3与其自己的C28xx内核结合在一起,提供适用于各种控制的多核处理器应用程序。

结论

自主设备,包括无人驾驶飞行器,下一代“智能工具”,当然还有车辆,预计将在未来几年内变得更加普遍到了我们都熟悉他们在大多数人的生活中的存在。在开发任何类型的自主设备时,安全是一个主要考虑因素,国家和国际标准将继续发展以解决这个问题。今天针对工业应用的所有高度集成的处理器将能够满足当今的安全要求,并使它们处于成为自治时代先锋的绝佳位置。

尽管炒作,自主设备市场目前仍处于起步阶段,因此半导体制造商需要一些时间才能有足够的信心和市场洞察力来开发专用设备来解决这个问题。与此同时,开发人员可以依赖本文中描述的异构多核设备。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分