一、 文章描述
本文主要粗略描述当前设计普通电子产品时,电源设计一些基本描述。文章主要以当前rk3288核心平台的电源设计为蓝本来描述普通电源设计的思路。
本文主要主要分为以下几个方面来描述:
电源设计重要与否;
电源设计的层次感;
电源接口电源设计注意环节;
电源节能管理;
Rk3288平台的电源管理。
二、 电源设计重要与否
很多硬、底层驱动电子工程师设计功能性模块时,往往没有把电源想的那么重要,所以在设计功能模块时得心应手,但是拿到现场作为产品时,就。。。只能用“玄学”二字来解释现场的问题了。
(作者菌在描述当前文档或者后期软硬件文档时,谈到设计时,一直会强调功能模块和产品二字)
电源为电子生命之源。没有它,电子设计的模块都是一个垃圾不如的东西。它本来提供能量的,如同车之油和人之粮食。如果这个能源不干净,不卫生,也会如机车一样,呈现能量不足,发动机损伤大;如人之胃,呈现胃痛,胃酸,胃胀。额。。跑题很多。。。
言归正传,假设电源波动幅度大,我们的电子产品要5v才能工作,且供电电压宽度在4.5v—5.5v之间,那么如果我们电源上下波动幅度大(即纹波),那么在波动最低值低至3v以下时,怎么办?
社会中,由于研发时,大多数取电的地方是电源设备供电,这种地方用的是民电,信号质量相对较好,经过供电设备处理后,效果更好了,所以在研发实验室中很多功能很好,用示波器抓取的通信,采样信号都很理想,还原度高;而一旦拿到现场,由于现场一般用的工业用电或者商业用电,周围用的设备对电网污染严重,最终供给功能模块的电信号不是那么干净,如纹波太大,谐波太大(影响系统时钟,高速输送信号,冲击设备等),最终导致了模块的肚子疼,额。。设备运行异常,如重启,采样信号不准,音频信号噪音台中,通信数据误判等。
所以一个优良的电源设计,是模块运行是否正常的基础。
三、 电源设计的层次感
当前普通硬件工程师最后一块私有地应该就是电源了。当前社会进步快,一个个模块在过去都是复杂电路设计,而现在却变成了一个个芯片。只需要将对应总线连接在一起,就是实现了一个产品功能的雏形。
用一个朋友的话说,当前大多数硬件干的的活是集成的活,具体的模块照搬官方网站即可。其实他忽视了一个硬件工程师最基本的工作,那就是硬件产品的电源框架的设计。
因为每个产品需求可拆分各个功能模块,每个功能模块需求,对应对应的各个硬件模块,而每个模块又对应一定的硬件实现芯片,这些芯片每个电压不同,需要硬件工程师去设计提供。
电源的污染信号主要来源于用户,而不是电网本身。实际在工业用电中,对于各个用电公司,总的对外功率因数有个要求。而工厂或者公司由于各个特殊应用,如动力设备(电机),这些设备冲击大,感性系数高,如果直接连接到电网中,会立刻拉低整个电网的信号质量波动,所以在总电源接口处,工厂总有优化(功率因数补偿和谐波处理)。一般而言,对于公司内部每个厂或者流水线都是有一套独立的变压器,然后分成1到几个电力调度室,在每个调度室又有各个电源开关控制柜,而到了电源开关控制柜,又控制着某个区域的负载。这样最大的好处就是独立,一个设备有问题,直接切断此电源,不影响其他设备工作。同样那个设备干扰太大,则可以独立在其附近加上大电容,电感等来做对应保护和防护。
对于电子产品而言,实际也是如此操作。一个产品没有办法要求外面输出的电源信号非常好,其内部各个模块芯片电压也没有办法统一,无论是电源电压,还是对应的电源质量需求。如你adc的参考电源和普通gpio的电源需求就不一样。同时各个芯片模块还会污染到总电源,如射频的电源和通信的电源在一起,就会出现信号扰动,等等。
我在面试一些硬件求职者时候,往往会问面试者一个问题:“你设计的硬件框架总线是怎么考虑的?以什么为纲领贯穿整个硬件设计的环节,可以基于此有步骤的将方案划分各个模块,又有计划的实现各个模块(其实软件也是这样问的,但是应对策略不一样)”。其实对于硬件一个贯穿整个产品的应该只有两个东西,一个是电源,一个是接口时序(这个是逻辑上面的)。
每个电子硬件芯片对于对应的电压,信号质量要求不一样,能不混用就不混,保证每个芯片电源独立,有效阻断各个电源的干扰。我们很好的规划好电源设计模块,可以有效的在研发设计时候,逐个设计各个模块,调试各个模块。
有效做到各个硬件模块独立,不影响其它模块,不受其他模块影响。同时由于电源对压值需求不一样,那么根据电路需求,有效的选择电源模块,让电压逐级降级,形成一套树形的结构,即树桩(总电压)-树杈(模拟,数字,射频分支总电源等)->树枝(各个电子模块),这是粗略的分配,具体就产品需求。
当然不能也不能每个芯片就有一套独立的电源供电部分,这样会带来成本问题,功耗问题,以及尺寸方面的挑战。比如一些GPIO的驱动电源,一些通信口的电源,他们有些电源需求相近,彼此之间干扰相对较少的,就可以用同类电源了。
电源有了层次感,并在对应的电源接口做必要的处理,如加磁珠,tvs管,压敏电阻,电容,电感等就能做到外面的电源扰动影响不了本地,本地的电源污染出不了电源。同时也能保证电路的独立性。
总结独立电源优势如下:
不受外部电子电源干扰;
不影响产品其他电源;
拆除后,能够独立移植,不焊接不影响其他电路;
方便各个功能调试,逐级加载电源;
能够有效的控制功耗(详见后面章节)。
如上图所示,任何一个终端电子芯片剥离,不影响其他模块电路。谁的问题谁处理,各负其责,贯彻嵌入式的精髓之一—独立性。
四、 电源接口电源设计注意环节
前文已述,硬件最主要的工作是集成。对于产品具体某个模块,它对电源唯一关注的是接口部分的电源是否满足模块的需要。所以在各个模块电源接口部分,设计合理,可以有效的隔离各个电路部分相互的干扰剔除“门外”。
对于每个电源,为了去除电源输入端的扰动,必须加一定容量的电容,抚平电源的扰动,在冲击力大的场合要加磁珠和电感;而对于那些能被静电或者雷击,外在动力设备大电压冲击的电源端口,还需要加载对应tvs管,稳压二极管等。
内部电路的电源输入端尽量又开关控制,可以有效的切除模块对原产品电路的影响。避免调试时,影响误判。同时也保证了在模块不使用时,控制电源通断,达到节能。
而它的输出端,为了保证输出信号扰动小,要又一定的大电容做容量池,防止由于突然下面设备负载变动,临时电源满足不了,如下一级电源的容性系数相对大,变动时,临时符合需求较大;同时考虑到电容本身感性系数大以及一些一些电源为dcdc,谐波较大,所以还要一定的微小电容去除谐波。
五、 电源节能管理
如前面那张图,可以看到具体到每个电子设备模块时候,都有一个开关。在设备降低功耗方面,最有效的操作就是降低使用频率。实际降频也是降低对应电子模块的使用频率。本文谈论电源方面,节能当然从电源方面着手,那么就是合理的控制设备电源通断来实现对应的电源管理。
以往设备中,一般有一个低功耗的处理器,它一般在关机时开启工作,一旦需求开机时,有效的做到唤醒各个模块。
同时一个产品有一部分逻辑去管理各个模块电源,一旦某个模块长时间不应用,或者当前停用,一般会断电,或者将频率降到最低,具体业务要根据具体需求。
六、 RK3288主要电源管理部分
本次设计核心板时,主要电源采用PIC电源管理芯片。电源管理芯片就是由于早期各个模块的电源都是用户通过mos管使能的方式,开启一个个的DC/DC或者ldo这种电源芯片,分布上电,有效的管控电源,达到使用和节能的目的;后来一些芯片公司根据自己的处理器的应用,就配套做了电源管理芯片,这种芯片就是将当前处理器可能用到的各个电源进行了一个汇总,然后封装成一个芯片,由i2c通信的方式进行管理,可以控制各个电源的通道开关和对应DC/DC通道的电压值。
本次选择的电源芯片为rk配套的RK808。这款芯片将模块的开机、复位、各个模块的电源模块。同时RK3288的芯片和其他嵌入式的CPU一样,深入发挥嵌入式的精髓,将各个功能模块独立。如HDMI的电源单独供电,USB口的电源单独供电,语音接口单独供电,lcd屏数据接口单独供电等。
软件工程师,可以通过i2c总线来管控各个模块的电源输出。具体的电路如下:
当前的平台采用的电源是瑞星微的电源管理芯片RK808,相关细节见datasheet。同其他电源管理芯片一样,也是将电源管理按照用途分为了3类。系统管理类,DC/DC大电流类,局部电源LDO类。
其中系统管理类主要是和处理器响应的部分,负责处理器的软关机,软复位,上电开机的工作。此模块有一个从不掉电的电源,即rtc电源,负责开机关机部分。
DC/DC类用于将外部电源根据需求,生成一系列的驱动能力大的电源,具体电源值可以配置;
LDO电源部分是将DC/DC模块部分的电源生成具体某些终端的电源,如语音,ram,rom等。
实际电源驱动如下:
由于RK3288的cpu各个数据端口都是电源独立,需要外部供电,如果将来扩展底板时,要用到对应端口,需要当前端口通电,则默认核心平台这些端口的电压已经分配,软件工程师可以通过I2C来管理不用端口电源电压。
七、 总结
上文只是就当前电路的电源设计风格进行描述,也对当前已经绘制完毕的rk808进行简单描述。至于其他电路的其他具体电源部分,在描述到对应硬件模块时具体描述,这里不再累述。
原作者:匠心源