在NXP的iMX8上开发模块。DDR跟踪传输的功能

问候,哈勃!



不久前,恩智浦推出了iMX8处理器产品线。错过机会而不开发新模块会很奇怪。谁在乎细微差别,我要求削减(很多轻量级图片)。

简介(略过)


长期以来,就处理器而言,我们一直被恩智浦产品所“吸引”,并且我们始终遵循该公司的最新更新。当新产品发布时,我们购买参考书,并通过分销商获得样品,以便程序员立即开始开发芯片,并且在第一次迭代完成后,设备就可以快速获得产品模型。技术支持在所有这些工作中都起着重要作用,该技术支持提供SDK和HDK,并回答程序员和装置的问题。当第一个启动软件并开始使其适应我们的任务时,第二个则准备校正错误的电路板第二次迭代(如果有的话)(例如,由客户开发的iMX7芯片上的处理器模块是从第一次迭代开始调试的,第二个纯粹是装饰性的,模块在iMX6UL / ULL,最初是为我们的项目开发的,后来成为单独的产品,首次发布后也几乎没有变化)。在开发熨斗时,我们会部分保留参考电路(前提是这不会损害产品的质量),从而使软件和硬件的对接迅速而轻松。每次新迭代都会导致新测试,不仅要重新运行,而且还要考虑所有更改,对它们进行补充。在开始系列之前,从项目中每次卸载新的非洲菊都需要进行验证(样品生产及其测试)。通常,开发的模块是通用解决方案,并用于我们的各个项目中。另外,一些客户要求模块定制,例如,在安装孔,连接器类型,配置或全部方面定制,以在将来的开发中用作成品。在开发熨斗时,我们会部分保留参考电路(前提是这不会损害产品的质量),从而使软件和硬件的对接迅速而轻松。每次新迭代都会导致新测试,不仅要重新运行,而且还要考虑所有更改,对它们进行补充。在开始系列之前,从项目中每次卸载新的非洲菊都需要进行验证(样品生产及其测试)。通常,开发的模块是通用解决方案,并用于我们的各个项目中。另外,一些客户要求模块定制,例如,在安装孔,连接器类型,配置或全部方面定制,以在将来的开发中用作成品。在开发熨斗时,我们会部分保留参考电路(前提是这不会损害产品的质量),从而使软件和硬件的对接迅速而轻松。每次新迭代都会导致新测试,不仅要重新运行,而且还要考虑所有更改,对它们进行补充。在开始系列之前,从项目中每次卸载新的非洲菊都需要进行验证(样品生产及其测试)。通常,开发的模块是通用解决方案,并用于我们的各个项目中。此外,一些客户要求模块定制,例如,在安装孔,连接器类型,配置或全部方面定制,以在将来的开发中用作成品。从而使软件和硬件部件的对接变得轻松快捷。每次新迭代都会导致新测试,不仅要重新运行,而且还要考虑所有更改,对它们进行补充。在开始系列之前,从项目中每次卸载新的非洲菊都需要进行验证(样品生产及其测试)。通常,开发的模块是通用解决方案,并用于我们的各个项目中。另外,一些客户要求模块定制,例如,在安装孔,连接器类型,配置或全部方面定制,以在将来的开发中用作成品。从而使软件和硬件部件的对接变得轻松快捷。每次新迭代都会导致新测试,不仅要重新运行,而且还要考虑所有更改,对它们进行补充。在开始系列之前,从项目中每次卸载新的非洲菊都需要进行验证(样品生产及其测试)。通常,开发的模块是通用解决方案,并用于我们的各个项目中。另外,一些客户要求模块定制,例如,在安装孔,连接器类型,配置或全部方面定制,以在将来的开发中用作成品。在开始系列之前,从项目中每次卸载新的非洲菊都需要进行验证(样品生产及其测试)。通常,开发的模块是通用解决方案,并用于我们的各个项目中。另外,一些客户要求模块定制,例如,在安装孔,连接器类型,配置或全部方面定制,以在将来的开发中用作成品。在开始系列之前,从项目中每次卸载新的非洲菊都需要进行验证(样品生产及其测试)。通常,开发的模块是通用解决方案,并用于我们的各个项目中。另外,一些客户要求模块定制,例如,在安装孔,连接器类型,配置或全部方面定制,以在将来的开发中用作成品。

这就是我们通常从处理器输出到新产品问世的方式。有时它是简单且快速的,但是碰巧您必须在短时间内进行重大改进,而这些改进会在测试期间弹出。

从哪里开始?


我不会深入研究项目开始之前的准备工作-这是TOR的协调,制定工作计划,批准预算等。我将以Altium Designer中的iMX8为例,讨论可以大大减少项目开发时间的前几个步骤。我想这不是什么超自然和深刻的事情,但也许不是全部。

当我查看处理器或现成电路的文档时,最可怕的事情可能是跟踪RAM的前景。每个人迟早都要面对这个问题,但是,正如他们所说,如果有这样的机会,那就更好了。好吧,如果您仅在设备中使用一个芯片,那么自己进行跟踪会更容易。以下是Xilinx(4层板)的DDR3L跟踪示例。从头开始设计,无可抱怨。



图。1。 Xilinx XC7A35T-1FTG256的DDR3L RAM迹线

但是,当您需要4个板条时,甚至在板子的不同侧面上,都可以减小尺寸。以下是iMX6Q上模块的示例。



图2。用于恩智浦iMX6Q的4条DDR3 RAM芯片(顶部2个,底部2个-另一个下方)

这也不是一项艰巨的任务,但我看不出要点(我重复一遍,不幸的是,情况并非总是如此),如果可以简化它,同时又保持经过调试和测试的产品的质量(在我们的案例中,这是您可以“接触”的参考) )第一次迭代时,最主要的是芯片启动并且尽可能多的接口工作。这意味着至少内存在与我们一起工作,已提供了所有必需的电源,并且已正确选择了板叠。朝着改善板的外围性能参数的方向将进行进一步的工作。因此,对我们而言,第一要务是内存(可操作和非易失性)和电源。

通常,对于批量生产并得到制造商支持的处理器,您可以找到一整套文档(这是保密协议下的产品,不支持的新产品等),这并不是秘密。在第一阶段,我将只对一些文件感兴趣-这是参考板的数据表,方案和轨迹。此外,这完全取决于本文档将以何种形式传输以及您使用哪种CAD系统。我只能在Altium Designer中工作,因此不能使用制造商提供的电路和PCB,因为它们通常采用不同的格式。从第三方程序转换项目的另一个问题是组件库的字段不匹配,因此,无法卸载元素列表。而且,真正令人遗憾的是组件之间缺乏连接(并非总是如此,而是更多时候)。

在本文中,我想谈谈如何使用转换后的电路和pcb将项目部分转移到Altium。

Altium Designer的内置软件包称为导入向导,可让您从其他CAD系统导入文件。就个人而言,这会伴随着铃鼓的不断舞动,因为除了Altium之外,还应安装Allegro,但我不会谈论这一点。这专用于Internet上的单个视频和文章。转换(通常但并非总是如此)不允许您获得我不需要的工作草案。对于我们的工作,我们需要一个pcb文件,最好是一个原理图。例如,我将在iMX8上使用参考项目-“ MCIMX8M-EVK-DESIGNFILES”。



图3。参考板MCIMX8M-EVK-DESIGNFILES

由于我计划开发模块,因此不需要大多数接口-它们将在主板上实现。即使图片显示您在安排组件时也必须精简很多,从pcb上我只能获取LPDDR4迹线(MT53B768M32D4NQ-062)和PMIC(MC34PF4210A1ES处理器的电源控制器)。eMMC和SD卡距离芯片较远,需要重新追踪它们,但这不是问题。

组件库


对于来自MCIMX8M-EVK-DESIGNFILES项目的库,我仅使用了几个组件,包括处理器,内存和PMIC。

让我们看一下iMX8组件。下面是该库的屏幕截图。 MIMX8MQ7DVAJZXA具有14个零件,这些零件组合成一个组件。通过这种分离,您可以将接口进一步分布在不同的工作表(电路的各个部分,它们组合成一个项目)中。例如,“ PART A”全部关于USB,“ PART D”全部是MIPI DSI,“ PART G”全部是SAI,依此类推。展望未来,我会说我的项目分别只有12个方案,我结合了一些要素以便于阅读。



图4。示意图MIMX8MQ7DVAJZXA

导入后有了这样的组件,我避免了从头开始创建它,从而大大降低了电路中出现错误的可能性。现在,关于组件参数中必须修复的内容。



图5。原理图MIMX8MQ7DVAJZXA

对于不同的组件,参数的数量可以不同,但​​是某些字段必须相同,以便以后可以上载组件列表以进行订购和组装。左侧的字段是从参考导入的。在右侧-我需要进一步的工作。例如,电阻器具有更多参数,电容器具有更多参数,等等。在我的示例中,包含我需要的标头的最小必需参数集。

以相同的方式,我转换并调整了RAM和电源控制器。接下来,我创建一个新项目(大约知道我将要拥有多少张纸),转移其中绑定的电路部分,并用我自己的替换导入的组件。结果是电路部分与原始电路非常相似。在本文中,我不会讨论项目的结构,工作表之间的关系等,因此让我们继续。

工作最简单的部分已经完成。现在您可以开始第二阶段-这是库pcb组件的传输。

在这里它与以前几乎相同,但是没有参数-图层。在我的组件中,我使用了一组固定的层。除了标准的“顶部”,“顶部覆盖物”,“顶部过去”等,例如,在“机械1”中,我绘制了组件轮廓,其3D模型并放置了“ .Designator”-以便稍后进行。卸载装配图(和其他图)更加容易。我不使用的所有其他字段都将被删除。因此,我剩下了大约15个,而不是导入后的24个。通常对于BGA和QFN,必须更改焊盘的开口,对生产能力进行其他调整,等等。



图6。印刷电路板MIMX8MQ7DVAJZXA

现在,在逻辑示意图属性中,您需要将组件与pcb连接。为了更好地理解上面编写的所有内容,您可以观看有关为Altium创建库的指导视频。

在前两个准备阶段,我设法创建了可以在项目中使用的库组件。与我从头开始的时候相比,花费的时间要少得多。

轨迹转移


第三阶段是最困难的-它是将迹线的一部分从参考板转移到项目。您需要非常小心。通常,导入错误会带来(在开发环境之间)传输错误,因此您只需“借用”所需的东西,这会花费很多时间和精力。我特别不建议移动过孔,多边形,多边形中的切口以及DRC的规则(设计->规则...)。

iMX8可以追溯到10层,因此我将使用相同的堆栈和相同的层顺序。为了方便使用MCIMX8M-EVK-DESIGNFILES项目,我将隐藏所有多边形。



图7。参考板MCIMX8M-EVK-DESIGNFILES。印刷电路板

看起来很吓人。非常吓人的。看来您已经可以关闭Altium并哭了。为了方便起见,您可以根本隐藏所有不必要的层,但这从根本上无济于事,但按层看起来或多或少简单。 DDR分4层离婚,但我也没有偶然地触底(见下文)。



图8。逐层跟踪LPDDR4 MCIMX8M-EVK-DESIGNFILES

如果到达项目中的这一点,则传输工作的一半或整个项目已经完成。

也许您已经猜到下一步需要做什么?是的,仅保留正确地逐层复制。我将告诉您如何避免简单的错误。

首先,我打开参考板并进行挖掘,将其从电路中的组件加载到两个监视器上(此选项最方便开发)。我将处理器和内存从参考板复制到自己(这是必要的,以便在考虑现有跟踪的情况下公开这些组件)。



图9。内存和处理器的相互安排(左侧参考)

之后,有必要在正确安装的处理器和主板上安装处理器和内存,然后简单地从参考中删除复制的组件。



图10。处理器和内存的正确位置

过多的通讯线可能会被暂时隐藏,并可以继续直接传输迹线。

您将需要使用两种方式来复制导线。第一种是最简单,最长的一种-一次复制一根导体。您无需以这种方式复制所有连接-这会花费很多时间,但有时很方便。例如,获取焊盘AE14,AD14,AE12和AD12上的电击信号。在资源管理器上单击“人民币”,选择菜单项“查找类似对象...”,在出现的窗口中,标记资源管理器和图层的名称(您可以立即从所有图层(包括孔)中复制)。



图11。一层复制一根导体(顶部)

接下来,按Ctrl + C并将鼠标设置在处理器板上。我们进入董事会,然后按Ctrl + V并粘贴。我们对所有四个导体都重复上述步骤,并在存储垫中放一个孔,使其到达底部-有电阻器。如果您在所有层上都进行了复制,则电阻器将更易于安装。



图12。复制单个导体

图12。 (右)有一个单独的导体(带有鼠标的十字)-这是一个在所有层中使用通孔复制导体的示例。该方法的实质是,当你复制导体和“将其设置为垫”,它需要的垫(你必须要小心-如果你导体复制到的名称另一垫,它会采取的名称垫)。

即使现在您也可以自己将所有导体从参考传递到您的电路板上,但是有一种更简便的方法(有几种导体,但我们只关注其中一种),这对于在一层中复制导体组非常有用。为了从第二层(和下一层)开始复制导体,必须从所有处理器焊盘转移顶层导体,否则导体的连接将断开(我们需要将过孔从顶层转移到其他层,以便将导体绑到它们上) 。



图13将所有带通孔的导体复制到顶部

现在,我从处理器上卸下了所有垫子,它们可以在其他层上使用。也就是说,在另一层中,我可以绑定导体,而不必担心它们将变为NoNet(“悬空悬挂”的导体没有拾取)。接下来,我将转移第6层(如果您查看图8,则是第3层),以显示另一个技巧。同样,选择,复制并装订到任何孔或垫子并粘贴。



图14。从第6层复制带有通孔的所有导体

这是什么黑客?因此,除了RAM跟踪,我还设法将接口从处理器中移出,这些接口已被分组在板的某些部分中。在芯片中,单独的数据总线位于特定的位置。例如,在iMX8中,位于CSI的左下方,位于NAND上方等,也就是说,无论如何它们都无法以其他方式显示。

转移所有必需的层后,有必要除去所有过孔和NoNet导体(复制五层时,每块板上的每个板上将有五个过孔)。然后,我手动安排通过,同时检查所有连接。以某种技巧,所有转移工作将花费几个小时。

底部


在图8中。我显示了底层,我也想转移它。但是其中的主要内容不是导体(导体不多),而是组件的布置。芯片和RAM下有132个元素。通常,我不复制该层,而只是设置无源和参考(通过在不同显示器上打开两个板)。如果您尚未将组件的尺寸更改为较大的尺寸,则此选项适用,否则,您将不得不修改。



图15。模块板背面的组件



图16。处理器和信号层内存下的最终轨迹

后记


综上所述,我可以说这种转移方法非常简单(我不排除存在其他转移方法)。如果从4层简单的卡片开始,那么您可以快速学习如何传输更复杂的轨迹,而无需花费大量资源。我相信可以在此完成文章。

对于“种子”,我要说的是,结果板上有156个多边形,如果有兴趣的话,我可以写一篇文章,介绍如何将它们放置在此模块上,以及由于尺寸较小(模块尺寸为81mm * 58mm)而引起的困难。应该被考虑。

感谢您的关注!

All Articles