首页 » 智能 » i.MX6ULL开拓板——核心板设计经验分享_电源_焦点

i.MX6ULL开拓板——核心板设计经验分享_电源_焦点

南宫静远 2025-01-15 13:41:51 0

扫一扫用手机浏览

文章目录 [+]

我们设计的核心板采纳DDR4封装(这里说封装不太贴切,便是用DDR4的金手指跟载板连接),核心板紧张由3大件构成:

CPU内存eMMC

一些取舍问题

先分享一些总体设计过程中的取舍问题。
这些问题没有对错。

i.MX6ULL开拓板——核心板设计经验分享_电源_焦点 智能

是否须要包含eMMC?

可以不包含,其实在后续软件,包括uboot+linux移植,用TF卡比eMMC方便。
但做都做了,加个eMMC不影响。

为什么不包括电源?

i.MX6ULL须要6路电源,整体占地面积较大,硬要塞到核心板也不是不可以,nVIDIA的Jetson核心板也带电源,它更繁芜。
一方面我们考虑核心板制板本钱高,电源有两种方案(分立电源和PMIC),放在载板上占地不成问题,要修正重版本钱也低。
另一方面便是颜值,塞入电源会导致板子比例不折衷。

为什么利用DDR4金手指的连接办法?

一样平常核心板有这么几个引出办法:

邮票孔:少了引出脚的接插件,载板也省了,以是省了高下接插件这部分本钱,但是核心板肚子下面贴着载板,载板相应位置就不能布元件了。
B2B:高下板子都须要接插件。
邮票孔和B2B都有个好处,便是多边出线,这点在元件布局和布线时占尽上风。
DDR办法的金手指,这个只能是单边出线到载板,i.MX6ULL的ball可是4边都出的,这些线要汇聚到一边出到载板,有点累人,好处是颜值高!

实在最初用DDR3金手指,后来创造DDR3过期了,DDR3槽好难买,价格非常高。
而目前而言,DDR4的槽也是处于盛行阶段,量大便宜。
以是吐血重画了板子。

核心板电源

核心板的电源设计只是将i.MX6ULL运行所需的6路电源按哀求精确地接到芯片,至于全体开拓板的电源入口如何分出这6路电源,我们是放在载板的。

电源是CPU设计的重点,i.MX6ULL须要6路:

符号

电压

用场

PWR_VDD_HIGH_IN

3.3V

VDD_HIGH_IN,eMMC芯片,各种电源芯片。

PWR_VDD_SOC_IN

1.35V

VDD_SOC_IN。

PWR_VDD_SNVS_IN

3.3V

VDD_SNVS_IN。

PWR_NVCC_DRAM

1.35V

NVCC_DRAM和DDR3L芯片。

PWR_NVCC_CSI

2.8V

NVCC_CSI。

PWR_NVCC_SD1

1.8V/3.3V

NVCC_SD1,可切换。

这里有一个问题,为什么SD1须要2种电压,由于NXP的uboot和linux须要。
本身SD卡的规范里,SD可以事情在单电压模式,无非便是不能高速而已。
但如果你用单电压(即只有3.3V),则须要修正uboot和linux,工程量较大,以是硬件设计上向软件移植妥协了。

别的履历:

上电时序为:VDD_SNVS_IN → VDD_HIGH_IN → VDD_SOC_IN,掉电时序为:VDD_SOC_IN → VDD_HIGH_IN → VDD_SNVS_IN,上电的时序哀求由i.MXi6ULL的PMIC_ON_REQ给出。
VDD_SNVS_IN除了供CPU,不挂任何其他负载。
POR_B引脚掌握POR过程,接MAX809R,由它卖力复位。
ON/OFF引脚引出到载板,通过按钮接地。
i.MXi6ULL的LCD掌握了启动流程,硬件参考手册建议1k/10k,但实际可以用4.7k/47k,以降落整体功耗。
I2C的上拉电阻放在载板,核心板由于空间和布线的繁芜,不放在核心板上。
电源、晶振、BOOT等其他哀求照搬硬件参考手册即可。

电源部分事情紧张在于:

确定CPU须要几路电源,也称电源域,手册中称为power domain,分别多少伏确定CPU各个电源域的上电顺序引脚归在哪个电源域,去耦电容怎么用CPU的各个功能模块如果开起来的话,须要哪个power domain接电

总之,电源设计是体力活,详细阅读NXP文档《Hardware Development Guide for the i.MX 6ULL Applications Processor Rev. 1》就行,没什么太多可以选择的。

电源布线采取敷铜办法,在In3.Cu层。

打算好电流和最小宽度的量,配置好各个敷铜区域的优先级,设置好间距就行,其他没啥特殊把稳的地方。

核心板的板层

由于内存布线的哀求,以是核心板的板层须要和制板厂确认工艺,我们的板子在嘉立创打,他们官网有板层设计,核心板利用6层,层压设置采取嘉立创编号JLC06121H-3313(无它,比较其他6层板的层压,没有额外用度而已),这个层压设置须要导入到KiCad,为了阻抗打算。
6层板方案如下:

层数

名称

用场

1

F.Cu

旗子暗记,终极敷铜接地。

2

In1.Cu

极少旗子暗记,GND,直接敷铜接地。

3

In2.Cu

旗子暗记,敷铜接地。

4

In3.Cu

各种电源,敷铜接地。

5

In4.Cu

GND,直接敷铜接地。

6

B.Cu

旗子暗记,终极敷铜接地。

Edge.Cuts

形状,SO-DIMM封装已绘制部分,只须要闭合区域即可。

User.Comments

笔墨注释。

User.2

i.MX6ULL的DRAM区域,用多边形注释。

User.3

i.MX6ULL的别的功能区域引脚,用多边形注释。

User.4

i.MX6ULL的CAP电源区域,用多边形注释。

DDR3布线

这个是PCB布线过程中,第一批布的,也是最繁芜,事情量最大的。
DDR布线的规则网上有很多可以参考,我们以为最主要的有3点:

i.MX6ULL和DDR的位置没啥好选的,看i.MX6ULL的DDR pad就知道了,两个芯片挨着,之间的间隔能布线就行,越近越好,这里须要反复布线,比较累人。
线宽和差分线的间距不是重点考虑的,线宽以能通过BGA间隔为准即可。
虽然说旗子暗记线单端阻抗掌握在50Ω,差分掌握在100Ω,但实际打算出来的阻抗大了20%旁边,后期DDR压力测试能超频144%,以是不是重点。
我们用的全部等长方案,觉得实现起来反倒大略。
这里特殊须要把稳CLK+/-比别的长100mil,CLK+/-为990mil,别的为890mil。
这点很主要,确保了CLK+/-旗子暗记达到内存之前ADD、DATA及其他数据均已建立,也正是这一点,DDR压力测试能够超频到576MHz,如果全部严格等长,最高频率只能到528MHz,虽然528这个速率也是可以的。
通过这100mil的差距,我们可以非常直不雅观地觉得出CLK+/-长一些的主要性。

如下图,CPU和DDR位置。
CPU的ball(绿框)决定了它们的相对位置关系,DDR芯片实在可以再往上放一些,更好布线,但看上去就丑了。

末了,数据线交流问题。
DDR的数据线是能交流的,这可以方便走线。
数据线交流仅在高8位和低8位组内进行,如果要进行高8位和低8位整体组交流,则DOS和DM也要随着交流,还有便是NXP的硬件手册上说D0和D8不能交流,我们之前有个项目,交流过,ms也没出啥问题。
这次的开拓板还是严格按照NXP硬件设计手册的哀求,D0和D8不进行任何交流。

为方便布线,我们对DDR连线分组,如下:

net name

i.MX6ULL引脚名

DDR3L引脚名

布线批次

地址

第一批布线

DRAM_ADDR[14:0]

DRAM_ADDR[14:00]

A[14:13],A12/BC#,A11,A10/AP,A[9:0]

DRAM_BA[2:0]

DRAM_SDBA[2:0]

BA[2:0]

掌握,命令

DRAM_RESET

DRAM_RESET

RESET#

DRAM_CS

DRAM_CS0

CS#

DRAM_CKE

DRAM_SDCKE0

CKE

DRAM_ODT

DRAM_ODT0

ODT

DRAM_RAS

DRAM_RAS

RAS#

DRAM_CAS

DRAM_CAS

CAS#

DRAM_WE

DRAM_SDWE

WE#

数据

第二批布线

DRAM_DATA[15:0]

DRAM_DATA[15:00]

DQ[15:0]

DRAM_LDM

DRAM_UDM

DRAM_DQM0

DRAM_DQM1

LDM

UDM

差分对

DRAM_LDQS_P/N

DRAM_UDQS_P/N

DRAM_SDQS0+/-

DRAM_SDQS1+/-

LDQS,LDQS#

UDQS,UDQS#

DRAM_CLK_P/N

DRAM_SDCLK0+/-

CK,CK#

其他

第三批布线

ZQ

DRAM_ZQPAD

关于等长

须要等长的有:

DDR:没啥说的,几百兆的频率,必须。
SD、eMMC:eMMC最好也是等长,SD速率实在并不高,这两个拉个等长也是顺手的事。
ENET:拉个等长也是顺手的事,但载板上我们故意ENET1等长,ENET2不等长,实际测试下来,差异不大。
USB:拉个等长也是顺手的事,网上建议说90Ω阻抗、不能跨层、用GND布线包裹,GND每隔2mm打过孔,我是全单照做,不做有什么影响?不知道。

总之,等长这个事情,布完线拉个等长,是体力活,缘故原由便是核心板空间我要只管即便压得小,以是全体事情便是反复地 布线-拉等长-调度原件间隔-再布线-再拉等长-再调度原件间隔。

LCD和CSI要不要等长?我们们没有拉,实际不影响。
为什么不拉?空间太局促了,体力也跟不上了。
特殊是LCD!
如下绿框,便是CPU的LCD到高下拉电阻后引出到DDR金手指,这些排线我们是贴着排的,也便是CPU那一排3颗芯片和核心板下边沿的金手指已经是最近的了。

eMMC连线

这货BGA特殊小,间距特殊紧,非要从ball之间拉线的话,对制板工艺哀求就特殊高,以是按照eMMC的手册和网上的建议,直接删掉几个ball后出线,实践证明这招挺好用。

eMMC还有一些其他的封装,不符合eMMC封装规范的,ball比较大,间距也比较大,用这样的封装对布线有一定帮助。
还有一些芯片,eMMC封装尺寸较小,也能缩小eMMC和CPU的间隔。
但是考虑到用这样的eMMC,物料选择余地就非常小了,以是还是考虑用正常尺寸的eMMC,反正就如上面说的,直接删掉几个ball后出线,如下图,绿框的地方就去掉了好些个ball

芯片去耦电容的放置

任何手册上,关于去耦电容,都会哀求挨着引脚,我们只对CPU这么处理。
i.MX6ULL这款芯片的电源引脚集中性布局在中心,这么处理的话电容只能放在电路板背面,也就意味着电路板须要双面贴片,本钱double不说,只能用0402封装。

DDR和eMMC么,qtmd!
你们就不奉养了,如下图红框便是DDR和eMMC的电源引脚对应的去耦电容。

启动配置

i.MX6ULL有BOOT1、2和LCD用于配置启动,我们选择了eMMC,不用NAND,以是芯片启动仔细方案起来只有3种:

核心板的eMMC启动载板的SD卡启动USB烧录模式

这对引脚高下拉简化了很多。
剩下的问题便是LCD那一排高下拉电阻放在核心板还是载板?我们考虑核心板已经将电源部分放到载板了,再将电阻也放到载板就太横暴了。
总得干点活,要不然核心板就真只剩下CPU、DDR、eMMC,这不好。

总结

核心板省去了电源部分,事情量就简化了很多。
最难的问题便是搞懂i.MX6ULL所须要的电源,也即手册说的power domain。
最耗体力的是DDR部分的布线,余下的都不是什么难事。

下一篇分享载板的设计履历。
载板的问题不在于高速,而在于方案太多。

标签:

相关文章

FM03BTS--1A充电器驱动IC_电源_两种

特点CC 和 CV 两种模式原边掌握省去外部光耦和 TL431内置 600V 功率开关管过温保护过压保护封装形式:SOP-8产品运...

智能 2025-01-17 阅读0 评论0