0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

专业工程师的快速系统原型设计

星星科技指导员 来源:嵌入式计算设计 作者:Brandon Lewis 2022-11-24 16:24 次阅读

Arduino和Raspberry Pi不能为商业产品中的电子硬件提供足够的模拟。专业工程师需要工业级原型设计解决方案。他们需要一个“工业圆周率”。

除了易用性之外,像Arduino和Raspberry Pi这样的快速原型平台最好的一点是它们的成本极低。除非你是专业工程师。

所谓的“创客板”最初是为大规模的STEM教育环境设计的,因此必须尽可能便宜。因此,它们集成了许多不适合商业部署的电子元件。换句话说,它们很便宜。

虽然出于显而易见的原因,快速原型的概念对工业设计师很有吸引力,但Arduino和Raspberry Pi级设备通常不能为将用于其成品的电子硬件提供足够的模拟。这些开发人员需要更多的工业级原型设计平台,这些平台仍允许他们快速完成设计迭代。

为什么不是模块上的计算机 (COM)?

为什么不是用于工业原型的 COM?

COM 架构在 2000 年代末和 2010 年代初开始在工业、商业、医疗和运输行业中流行,作为延长电子系统部署寿命的一种方式。他们通过双板架构实现这一点:

首先,将包含系统可能需要的所有I/O和接口的专用载板设计到一台机器中。

然后,计算模块插入载波顶部,以提供最终应用使用的处理、内存和 I/O 控制器

为了确保设计间隔数年或可能数十年的电路板之间的兼容性,开放式COM标准指定了在模块和载波之间传输信号连接器。迄今为止,这些行业标准中最成功的是PICMG的COM Express,Qseven和SGET SMARC。

这种体系结构的好处是它可以防止硬件过时。例如,如果一台机器需要运行比最初设计时更强大、更复杂的软件堆栈,工程师可以简单地将现有的计算模块换成具有更高计算机和内存性能的模块。载体保持不变,系统中的其他所有内容也是如此。

例如,像 LEC-PX30 这样的 SMARC 模块本身设计用于满足工业嵌入式应用苛刻的平均故障间隔时间 (MTBF)、长生命周期和严格的版本控制。

因此,如果您可以使用COM将已部署的系统从A点带到B点,为什么不使用COM将设计从原型带到生产呢?好吧,COM传统上不被用作原型平台,因为:

为了优化设计的性能、尺寸和成本,系统集成商或最终用户通常会设计自己的专用载板。这可能很耗时。

将软件从一个目标优化到下一个目标可能是劳动密集型的,因此专业开发人员通常希望在实施生产质量软件之前确定最终硬件。

工业级 COM 比业余爱好者的替代品更昂贵,但它们通常不提供与创客板相同的即插即用功能。

快速原型板和工业级COM之间的中间地带是什么?

工业树莓派,或“I-Pi”。

工业 Pi 的构建块

凌华科技最近推出了I-Pi,这是一个工业物联网原型平台,允许专业工程师使用基于COM的平台快速证明他们的设计。

该套件由上述LEC-PX30SMARC模块组成;简化的现成SMARC载板;以及类似于树莓派生态系统中使用的硬件附加顶部 (HAT),可将 DSI 信号转换为 HDMI(图 3)。HAT 通过 40 针扩展针座插入 I-Pi 载波,而 LEC-PX30 模块通过 SMARC 2.1 MXM 3.0 连接器连接到 I-Pi 载波

files-aHViPTYzODY3JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzVmMWI0ZmMyODRhOTEuanBnJnZlcnNpb249MDAwMCZzaWc9ZjljZjY3ZDA1YzdmOTE3ODBjMmIzNzVhMGYxYzI0MjM253D

图3.SMARC 2.1规范中使用的MXM 3.0连接器在SMARC计算模块和载板之间传输大量信号,最终有助于简化整体系统设计

如图 3 所示,MXM 连接器在 I-Pi 载波和模块之间传输各种信号,连接两个 10/100 Mbps 局域网、四个 USB 2.0 端口和一个 USB 2.0 OTG 端口、四通道 MIPI DSI、双通道 MIPI CSI 以及 CAN、SPI、UARTI2C 等串行接口。但设置的真正美妙之处在于,实际I-PI基板上唯一的高速信号是PCI Express和HDMI。

当然,在原型设计阶段完成后,可以在优化的特定应用载板中更改这些信号。但是,将更复杂的走线限制为PCI Express和HDMI可以降低I-Pi的复杂性,并提高工程师的易用性。事实上,每个模块都包含PCI去耦电容和锁,因此工程师在更改硬件配置时所要做的就是确保处理器板和载卡之间的走线对齐。

这使得在原型设计过程中将具有一组接口和性能的SMARC模块换成另一组接口变得轻而易举。

例如,LEC-PX30 基于瑞芯微 PX30片上系统,其中包括四核 Arm Cortex-A35 CPU 和安全扩展(图 4)。该板还配备了 2 GB 内存和 Microchip 的 ATT ECC608A 加密认证芯片。但是,I-Pi运营商支持SMARC模块,其处理器与顶级英特尔阿波罗湖处理器一样先进。

pYYBAGN_Km2ADxzKAAH00t8wKW0485.png

图4.瑞芯微PX30 SoC包含一个四核Arm Cortex-A35 CPU和Mali G31 GPU,以及用于通用工业应用的广泛多媒体、安全和连接模块

这就把我们带到了软件。在大多数情况下,在不同的计算模块之间转换,更不用说具有不同处理器架构的计算模块,如基于 Arm 的瑞芯微 PX30 和基于 x86 的英特尔凌动处理器,意味着重新开始原型设计过程。然而,鉴于I-Pi平台广泛的硬件灵活性,凌华科技通过为其所有SMARC模块配备MRAA功能来解决这个问题(图5)。

图5.MRAA 硬件抽象层 (HAL) 是一个集成了 Java、JavaScript 和 Python 的 C/C++ 库,允许用户轻松地将软件从一个硬件平台移植到另一个硬件平台,例如不同的 SMARC 计算模块(来源:Eclipse UPM)。

MRAA 是最初由英特尔开发的开源硬件抽象层 (HAL)。它是一个具有 Java/JavaScript 和 Python 集成的 C/C++ 驱动程序和 API 库,允许开发人员无缝集成新的硬件组件,而无需任何代码修改。因此,工程师可以简单地用一个SMARC模块代替另一个,即使一个模块支持瑞芯微PX30,另一个托管恩智浦i.MX8M SoC;他们可以添加所需的任何传感器 HAT;他们甚至可以将软件从Raspberry Pi或Arduino环境移植到他们的I-Pi COM中,而无需对其进行返工。

MRAA可以通过Github下载,也可以通过MRAA扩展的Useful Packages & Modules for MRAA折叠到Eclipse IDE中。它可以使用模拟平台(如英特尔 Apollo Lake 平台和 Docker 容器)以及标准和嵌入式 Linux 发行版在 Windows 环境中运行。

I-Pi本身原生支持Android,Ubuntu,Debian和Yocto。

poYBAGN_Kn-AFIOjAAEcsCwkjcg222.png

图6.所有凌华科技SMARC模块都集成了MRAA硬件抽象层(HAL),以实现从一个目标到另一个目标的无缝软件可移植性,即使该代码是在Arduino或Raspberry Pi编程环境中开发的

其他与I-Pi平台兼容的开源软件组件包括凌华科技Vortex数据分发服务(DDS)网络中间件的一部分,这是一个发布/订阅软件框架,允许物联网工程师以安全,可扩展,容错和确定性的方式连接他们的设备。

poYBAGN_Ko6AWrZ1AAOqDWu8grs763.png

图7.凌华科技Vortex数据分发服务(DDS)中间件是一种网络抽象软件,以发布/订阅格式可靠、确定、安全地传输消息

利用 Pi 级风险加速工业原型设计

从硬件和软件的角度来看,I-Pi的模块化方法使其尽可能接近Arduino或Raspberry Pi的开箱即用用户体验。这就只剩下成本问题了。

如前所述,工业级组件本质上比创客板采购的技术更昂贵。毕竟,I-Pi COM支持高达-20ºC至+85ºC的工作温度范围,以及符合IEC 60068-2-27/64和MIL-STD-202 F的冲击和振动容限。为了降低即将投产的客户的载板成本,凌华科技还将USB和PCI开关集成到他们的SMARC模块上,这增加了这些模块的价格。而且,当然,您必须考虑到I-Pi实际上是三个工业板封装在一个套件中。

对于为商业可部署的产品寻找快速原型解决方案的专业工程师来说,这一点也不差。

审核编辑:郭婷

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

    关注

    112

    文章

    16156

    浏览量

    177270
  • 计算机
    +关注

    关注

    19

    文章

    7392

    浏览量

    87681
  • Arduino
    +关注

    关注

    187

    文章

    6461

    浏览量

    186570
收藏 人收藏

    评论

    相关推荐

    FPGA算法工程师、逻辑工程师原型验证工程师有什么区别?

    的设计和实现。他们使用硬件描述语言(如 Verilog 或 VHDL)来编写代码,构建复杂的数字逻辑系统。工作包括模块的设计、功能的实现、时序的优化以及与其他硬件组件的接口设计等。 FPGA 原型验证工程师
    发表于 09-23 18:26

    寻求专业工程师帮助设计USB多口充电器

    嗨, 我正在开发一款USB多口充电器,现寻求一位专业工程师或产品设计的帮助。希望能够与有经验的工程师合作,共同完成产品设计。以下是我们的需求: 产品类型:USB多口充电器 基本设计要
    发表于 08-05 12:03

    正是拼的年纪|65岁电子工程师上班VLOG #65岁退休 #电子工程师 #搞笑 #上班vlog

    电子工程师
    安泰小课堂
    发布于 :2024年07月25日 11:31:02

    用二创,1:1复刻工程师的职场现状

    工程师
    扬兴科技
    发布于 :2024年07月19日 18:30:07

    嵌入式软件工程师如何提升自己?

    的发展打下坚实的基础。 2.掌握专业技能 除了基础知识外,嵌入式软件工程师还需要掌握专业的技能。这包括熟练掌握嵌入式系统的开发工具、硬件平台和软件开发流程。建议通过参加培训课程、实习经
    发表于 06-12 11:20

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师是软件开发领域中的一种专业工程师
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    企业老工程师和高校老师有啥区别

    电子工程师硬件
    电子发烧友网官方
    发布于 :2024年02月28日 17:50:00