跳到主要内容

pcb和嵌入式应用程序的共同开发过程

PCB嵌入式开发

任何产品的成功设计和开发都需要大量的工作。有现成的和定制的组件要采购,有电子组件要制造,通常有一个应用程序将所有东西结合在一起。嵌入式开发人员在许多产品的开发中扮演着特殊的角色,因为他们位于物理设计和数字世界的其余部分之间的接口,因此他们必须在整个开发范围内协作。

在当今的嵌入式系统中,PCB设计人员必须与嵌入式开发人员合作,以确保电路板的设计能够支持物理层面的应用需求。这听起来像是围绕需求收集进行的简单交流,但是当您深入观察表面之下时,嵌入式开发人员有可能影响实际设计的许多容易被忽视的方面。

在本文中,我们将讨论嵌入式开发人员影响设计的一些重要方式,以及一个简单的硬件和软件联合开发过程。正如我们所看到的,在设计的前端做一些工作可以消除之后浪费的原型旋转。它还可以告知组件选择,外围设备选择,甚至您的堆栈设计。

嵌入式开发和PCB设计在哪里汇合

在过去,微控制器和专用集成电路提供的用于构建应用程序的功能和选项较少。如今,用于外围设备的新一代处理器、soc、fpga和asic已经完全改变了开发人员在高级嵌入式系统中可以实现的功能。嵌入式开发人员应该在前端工程和设计中发挥作用,因为系统的应用程序和物理布局必须保持一致。

嵌入式开发驱动前端工程

在过去,我们经常发现前端工程流程对嵌入式开发人员施加了限制,开发人员必须编写在物理设计中工作的应用程序。随着设计变得越来越复杂,许多组件包含了更多的功能,情况正变得相反。应该允许嵌入式应用程序需求驱动组件的选择和接口的选择,这将在以后决定应用程序的许多方面PCB布局(堆栈,路由,放置等)。

嵌入式开发人员和PCB设计人员必须一起工作,以确保这些点在原理图捕获和布局开始之前对齐。为了实现团队的一致性并减少总体开发时间,对于嵌入式设计和开发团队来说,如下所述的共同开发过程是必不可少的。

  1. 芯片组选择——设计人员和开发人员应该一起工作,选择提供所需功能的所需组件。
  2. 接口选择-一些组件(例如,mcu和fpga)有多个接口来支持所需的功能;这些应该在步骤2中选择。
  3. 物理框图——基于#1和#2,应该确定支持的芯片组,并将其包含在物理布局的框图中。
  4. 应用程序开发——一旦物理规范确定并选择了接口,驱动程序和应用程序的开发就可以开始了。
  5. CAD数据生成-第5步可以与第4步并行发生;在此步骤中创建CAD库和PCB布局。
  6. 原型设计和测试——只有在应用程序和PCB开发完成之后,才能用嵌入式应用程序对设计进行原型设计和测试。

在创建原型之后,将对设计进行一系列测试,以解决嵌入式应用程序中剩余的错误和功能开发。然后,可以根据所需的应用程序或布局更新重复该过程,通过迭代,设计最终将收敛到可扩展的产品。

PCB嵌入式开发

这个线性过程概述了嵌入式系统的共同开发过程。

应该使用开发工具包吗?

半导体公司和第三方供应商为许多流行的组件提供开发板。这些开发工具包通常是围绕特定的fpga、专用soc、微处理器和更大的mcu。它们通常会断开所有可能的连接,这样主组件就可以用当前开发中的应用程序进行测试。正因为如此,它们在共同开发过程中是非常有用的工具。

PCB开发套件

用于Altera FPGA的示例开发工具包。

大多数嵌入式开发人员将提倡在共同开发过程中使用开发工具包作为工具。嵌入式应用程序可以在PCB设计团队处理定制产品的物理布局时实现和调试。这减少了项目的总时间,并允许更早地识别许多错误,理想地消除了原型运行。

为开发人员提供的其他资源

半导体供应商和开源社区创造了大量的资源,可以帮助设计团队在电子设计和应用开发上实现闭环。面向嵌入式开发人员的一些主要资源包括:

  • fpga的供应商IP
  • 参考设计与固件/软件
  • 用于特定芯片组的开源硬件平台
  • 用于更高级应用程序的代码示例和库

虽然您不需要直接从参考设计及其应用程序代码库开始开发新产品,但这些资源可以为自定义开发项目提供有用的参考。在某些系统中,供应商的代码库将成为新产品嵌入式应用程序的基础,因为应用程序将使用所包含的库构建。在这种情况下,PCB设计师应该遵循参考设计或开源资源,因为现有的项目数据将形成产品功能的基线。

硬件设计团队和嵌入式开发人员可以使用完整的PCB设计和管理功能来创建他们的联合开发过程Allegro PCB Designer.Allegro是业内最好的PCB设计和分析软件节奏,提供一系列产品设计功能,以及一整套管理和版本控制功能。Allegro用户可以访问一套完整的原理图捕获功能、PSpice中的混合信号模拟以及强大的CAD功能等等。

订阅我们的通讯获取最新信息。如果您想了解更多Cadence如何为您提供解决方案,和我们的专家团队谈谈吧