碳化硅封装——三大主流技术!

DT半导体材料 2023-09-26 19:40

碳化硅(silicon carbide,SiC)功率器件作为一种宽禁带器件,具有耐高压、高温,导通电阻低,开关速度快等优点。如何充分发挥碳化硅器件的这些优势性能则给封装技术带来了新的挑战:传统封装杂散电感参数较大,难以匹配器件的快速开关特性;器件高温工作时,封装可靠性降低;以及模块的多功能集成封装与高功率密度需求等。针对上述挑战,本文分析传统封装结构中杂散电感参数大的根本原因,并对国内外的现有低寄生电感封装方式进行分类对比;罗列比较现有提高封装高温可靠性的材料和制作工艺,如芯片连接材料与技术;最后,讨论现有多功能集成封装方法,介绍多种先进散热方法。在前面综述的基础上,结合电力电子的发展趋势,对 SiC 器件封装技术进行归纳和展望。
近20多年来,碳化硅(Silicon Carbide,SiC)作为一种宽禁带功率器件,受到人们越来越多的关注。与硅相比,碳化硅具有很多优点,如:碳化硅的禁带宽度更大,这使碳化硅器件拥有更低的漏电流及更高的工作温度,抗辐照能力得到提升;碳化硅材料击穿电场是硅的 10 倍,因此,其器件可设计更高的掺杂浓度及更薄的外延厚度,与相同电压等级的硅功率器件相比,导通电阻更低;碳化硅具有高电子饱和速度的特性,使器件可工作在更高的开关频率;同时,碳化硅材料更高的热导率也有助于提升系统的整体功率密度。碳化硅器件的高频、高压、耐高温、开关速度快、损耗低等特性,使电力电子系统的效率和功率密度朝着更高的方向前进。
碳化硅器件的这些优良特性,需要通过封装与电路系统实现功率和信号的高效、高可靠连接,才能得到完美展现,而现有的传统封装技术应用于碳化硅器件时面临着一些关键挑战。 
碳化硅器件的结电容更小,栅极电荷低,因此,开关速度极快,开关过程中的 dv/dt 和 di/dt 均极高。虽然器件开关损耗显著降低,但传统封装中杂散电感参数较大,在极高的 di/dt 下会产生更大的电压过冲以及振荡,引起器件电压应力、损耗的增加以及电磁干扰问题。在相同杂散电容情况下,更高的dv/dt 也会增加共模电流。
针对上述问题,国内外学者们研究开发了一系列新的封装结构,用于减小杂散参数,特别是降低杂散电感。除开关速度更快外,碳化硅器件的工作温度可达到 300℃以上。而现有适用于硅器件的传统封装材料及结构一般工作在 150℃以下,在更高温度时可靠性急剧下降,甚至无法正常运行。解决这一问题的关键在于找出适宜高温工作的连接材料,匹配封装中不同材料的热性能。此外,多功能集成封装技术以及先进的散热技术在提升功率密度等方面也起着关键作用。本文重点就低杂散电感封装、高温封装以及多功能集成封装 3 个关键技术方向对现有碳化硅功率器件的封装进行梳理和总结,并分析和展望所面临的挑战和机遇。

 1、低杂散电感封装技术  

目前已有的大部分商用 SiC 器件仍采用传统 Si器件的封装方式,如图 1 所示。该方式首先通过焊锡将芯片背部焊接在基板上,再通过金属键合线引出正面电极,最后进行塑封或者灌胶。传统封装技术成熟,成本低,而且可兼容和替代原有 Si 基器件。 但是,传统封装结构导致其杂散电感参数较大,在碳化硅器件快速开关过程中造成严重电压过冲,也导致损耗增加及电磁干扰等问题。而杂散电感的大小与开关换流回路的面积相关。其中,金属键合连接方式、元件引脚和多个芯片的平面布局是造成传统封装换流回路面积较大的关键影响因素。表 1 列出了典型的碳化硅器件封装结构并进行分类,同时列出了相关封装方式的杂散电感参数大小。由表 1 可知,消除金属键合线可以有效减小杂散电感值,将其大小控制在 5nH 以下。下面就其中典型的封装结构分别进行介绍。


1.1 单管翻转贴片封装
阿肯色大学团队借鉴 BGA 的封装技术,提出了一种单管的翻转贴片封装技术,如图 2 所示。该封装通过一个金属连接件将芯片背部电极翻转到和正面电极相同平面位置,然后在相应电极位置上植上焊锡球,消除了金属键合线和引脚端子。相比于 TO-247 封装,体积减小了 14 倍,导通电阻减小了 24%。


1.2 DBC+PCB 混合封装
传统模块封装使用的敷铜陶瓷板(direct bonded copper-DBC)限定了芯片只能在二维平面上布局,电流回路面积大,杂散电感参数大。CPES、华中科技大学等团队将DBC 工艺和 PCB 板相结合,利用金属键合线将芯片上表面的连接到 PCB 板,控制换流回路在 PCB 层间,大大减小了电流回路面积,进而减小杂散电感参数。如图 3 所示,该混合封装可将杂散电感可控制在 5nH 以下,体积相比于传统模块下降 40%。


柔性PCB 板结合烧结银工艺的封装方式也被用于商业模块中。如图 4 所示为 Semikron 公司利用SKiN 封装技术制作的 1200V/400A 的 SiC 模块[11]。该技术采用柔性 PCB 板取代键合线实现芯片的上下表面电气连接,模块内部回路寄生电感仅有1.5nH,开关速度大于 50kV/s,损耗相比于传统模块可降低 50%。

该混合封装方式结合了 2 种成熟工艺的优势,易于制作,可实现低杂散电感以及更小的体积。但PCB 板的存在限制了上述封装方式高温运行的可靠性。
1.3 芯片正面平面互连封装

除采用柔性 PCB 板取代金属键合线外,还可使用平面互连的连接方式来实现芯片正面的连接。图 5 为 SiliconPower 公司采用端子直连(direct lead bonding,DLB)的焊接方法,类似的还有IR 的Cu-Clip IGBT,Siemens 的 SiPLIT 技术等。平面互连的方式不仅可以减小电流回路,进而减小杂散电感、电阻,还拥有更出色的温度循环特性以及可靠性。


用于 SiC 芯片的埋入式封装也可认为是一种芯片正面的平面直连封装。如图 6 所示,该方法将芯片置于陶瓷定位槽中,再用绝缘介质填充缝隙,最后覆盖掩膜两面溅射金属铜,实现电极连接。通过选择合理的封装材料,减小了模块在高温时的层间热应力,并能在 279℃的高温下测量模块的正反向特性。


平面直连的封装工艺通过消除金属键合线,将电流回路从 DBC 板平面布局拓展到芯片上下平面的层间布局,显著减小了回路面积,可实现低杂散电感参数,与之后介绍的双面散热封装以及三维封装实现低杂散电感的基本思路相同,只是实现方式略有不同。
1.4 双面散热封装技术

双面封装工艺由于可以双面散热、体积小,较多用于电动汽车内部 IGBT 的封装应用。图7为一典型的双面散热封装 SiC 模块,该模块上下表面均采用 DBC 板进行焊接,所以可实现上下表面同时散热。


该工艺的难点在于,芯片上表面需要进行溅射或电镀处理使其可焊接,并且在芯片上表面增加金属垫片、连接柱等来消除同一模块中不同高度芯片的高度差。再加上 SiC 芯片普遍面积小,如何保证在上表面有限面积范围内的焊接质量是该工艺过程中的关键。得益于上下 DBC 的对称布线与合理的芯片布局,该封装可将回路寄生电感参数降到3nH 以下,模块热阻相比于传统封装下降38%。国内如株洲中车时代电气、天津大学等团队都对此类双面封装模块进行了热、电气、可靠性等多方面的研究。


CPES 针对 10kV 的 SiC MOSFET 采用了如图 8所示的封装设计。使用银烧结技术将芯片和敷铝陶瓷板(direct bonded aluminum,DBA)、钼片相连接。其中芯片下部采用两层 DBA 板叠加,并将中间层连接到母线中间电压,一方面可以减小板子边缘的场强,另一方面减小了桥臂中点对地的寄生电容,降低 EMI。该模块可以采用双面散热,也可将瓷片电容焊接在芯片上部 DBA 板上,减小回路寄生电感到小于 5nH。
图 9 为浙江大学和阿肯色大学合作提出的一种用于 SiC MOSFET 的双面压接模块。该模块使用低温共烧陶瓷(LTCC)工艺和带有弹性的 Fuzz Button 取代传统 DBC 板和金属键合线实现芯片互联以及散热设计,回路寄生电感参数仅为 4.3nH。不足之处在于 LTCC 导热系数低,而且压接模块的特性对外部压力反应敏感。此外还有浙江大学与阿尔堡大学合作设计的直接通过螺钉固定的双面压接 SiC MOSFET 模块,也实现了低寄生电感参数和良好均匀的散热特性。


1.5 三维(3D)封装技术

三维封装技术利用了 SiC 功率器件垂直型的结构特点,将开关桥臂的下管直接叠在上管之上,消除了桥臂中点的多余布线,可将回路寄生电感降至1nH 以下。Vagnon于 2008 年即提出了利用金属片直连的模块单元,如图10(a)所示,并基于此封装制作了 Buck 变换器模块。
实验测试表明,该 3D 封装模块基本消除了共源极电感,而且辐射电磁场相比于传统模块大大减小,共模电流也得到了很好的抑制。类似的,文献将 SiCMOSFET芯片嵌入 PCB 内部,形成如图 10(b)所示的 3D 封装形式。芯片表面首先经过镀铜处理,再借由过孔沉铜工艺将芯片电极引出,最后使用PCB 层压完成多层结构,图 10(c)为实物模块。得益于PCB 的母排结构,模块回路电感仅有 0.25nH,并可同时实现门极的开尔文连接方式。
该封装的功率密度极高,如何保证芯片温度控制是一大难点,外层铜厚和表面热对流系数对芯片散热影响很大。除功率芯片之外,无源元件如磁芯,电容等均可通过适当的方式嵌入 PCB 当中以提高功率密度。

由上述新型结构可以看出,为充分发挥 SiC 器件的优势,提高功率密度,消除金属键合线连接是一种趋势。通过采用各种新型结构,降低模块回路寄生电感值,减小体积是推进电力电子走向高频、高效、高功率密度的保证。
2 高温封装技术
在进行芯片正面连接时可用铜线替代铝线,消除了键合线与 DBC 铜层之间的热膨胀系数差异,极大地提高模块工作的可靠性。此外,铝带、铜带连接工艺因其更大的截流能力、更好的功率循环以及散热能力,也有望为碳化硅提供更佳的解决方案。图 11 所示分别为铜键合线、铜带连接方式。


锡片或锡膏常用于芯片和 DBC 板的连接,焊接技术非常成熟而且简单,通过调整焊锡成分比例,改进锡膏印刷技术,真空焊接减小空洞率,添加还原气体等可实现极高质量的焊接工艺。但焊锡热导率较低(~50W/(mK)),且会随温度变化等,并不适宜 SiC 器件在高温下工作。
此外,焊锡层的可靠性问题也是模块失效的一大原因。烧结银连接技术凭借其极高的热导率(~200W/(m·K)),低烧结温度,高熔点等优势,有望取代焊锡成为 SiC 器件的新型连接方法[38-39]。银烧结工艺通常是将银粉与有机溶剂混合成银焊膏,再印刷到基板上,通过预热除去有机溶剂,然后加压烧结实现芯片和基板的连接。
为降低烧结温度,一种方法是增大烧结中施加的压力,这增加了相应的设备成本,而且容易造成芯片损坏;另一种方法是减小银颗粒的体积如采用纳米银颗粒,但颗粒加工成本高,所以很多研究继续针对微米银颗粒进行研究以得到合适的烧结温度、压力、时间参数来现更加理想的烧结效果。图 12 给出了一些典型的焊锡和烧结材料的热导率和工作温度对比图。

此外,为确保碳化硅器件稳定工作,陶瓷基板和金属底板也需要具备良好的高温可靠性。表 2、3分别给出了目前常用的一些基板绝缘材料和底板材料,其中:λ 为热导率;α为热膨胀系数;R为挠曲强度;ρ 为密度。λ 越高,散热效果越好,α 则影响了封装在高温工作时不同层材料之间的热应力大小,不同材料间α 差异越大,材料层间热应力就越高,可靠性越低。所以提高λ值 、α 值和碳化硅材料(3.7ppm/K)相近的材料是提高封装可靠性和关键所在。


如表2 所示,Al2O3 具有成本低,机械强度高等优点,是目前最常用的绝缘材料,但λ 值低,α值明显偏大,不适合碳化硅的高温工作。
AlN λ值高,α 值接近 SiC 材料,成本合适,是目前较为理想的碳化硅器件的基板材料。BeO 虽然 λ 值高,但其强毒性则限制了其应用。
Si3N4 α 值最接近 SiC材料,而且 R 值大,在热循环中更不容易断裂,也是一种适合碳化硅器件高温工作的绝缘材料,但其λ值较低,而且成本很高,限制了其广泛的应用。
为提高陶瓷基板覆铜层的可靠性,覆铝陶瓷板(DBA)以及活性金属钎焊(active metal brazing,AMB)等工艺也受到人们越来越多的关注。如表 3所示,Cu 作为底板材料热导率最高,但其与基板之间热膨胀系数相差较大。
Al 作为底板,成本低,还可显著降低整体重量,但在热导率和热膨胀系数匹配方面均表现较差。Cu基合金如 Cu/Mo,Cu/W,Cu/C 等在热导率和热膨胀系数方面性能均较为优越,但其密度和成本均较高。
AlSiC 的成本,密度,热膨胀系数均十分理想,但缺点在于热导率较低。具体使用情况需要结合实际情况综合决定。
综上可以看出,材料是保证碳化硅器件高温可靠工作的根本。而在实际设计过程是,考虑多方面综合因素寻找最合适的材料也是器件封装设计中的一大难点所在。
3 多功能集成封装技术  
3.1 多功能集成封装技术
碳化硅器件的出现推动了电力电子朝着小型化的方向发展,其中集成化的趋势也日渐明显。瓷片电容的集成较为常见,通过将瓷片电容尽可能靠近功率芯片可有效减小功率回路寄生电感参数,减小开关过程中的震荡、过冲现象。但目前瓷片电容不耐高温,所以并不适宜于碳化硅的高温工作情况。
驱动集成技术也逐渐引起了人们的重视,三菱、英飞凌等公司均提出了 SiC 智能功率模块(intelligent power module,IPM),将驱动芯片以及相关保护电路集成到模块内部,并用于家电等设备当中。如图 13 所示,浙江大学团队通过将瓷片电容、驱动芯片和 1200V SiC 功率芯片集成在同一块 DBC 板上,使半桥模块面积仅为 TO-247 单管大小,极大地减小了驱动回路和功率回路的寄生电感参数。阿肯色大学则针对碳化硅芯片开发了相关的 SiC CMOS 驱动芯片以充分开发 SiC 的高温性能。
此外,还有 EMI 滤波器集成,温度、电流传感器集成、微通道散热集成等均有运用到碳化硅封装设计当中。
3.2 散热技术

散热技术也是电力电子系统设计的一大重点和难点。设计中,通常是将单管或模块贴在散热器上,再通过风冷或者液冷进行散热。将微通道集成在模块的基板内,使得模块整体热阻下降 34%。
微通道散热技术也被用于芯片的直接散热,例如文献中介绍了用于宽禁带器件的 3 种典型方式:一种是将微通道直接做在芯片的衬底上;第 2 种则将微通道集成在芯片下层的厚金属层中;第 3 种则通过金属镀层和热介质材料将芯片直接连接到 Si 基微通道结构上。
这种直接作用于芯片的散热技术消除了模块多层结构的限制,可以极大提高芯片的散热效率。相变散热技术如热管、喷雾等方式相比于单相气冷、水冷等具有更高的热导率,非常高效,也为 SiC 器件的散热提供了一种解决思路。图 14 给出了目前的散热方式之间的传热系数简单对比。
4 挑战机遇和前景展望 
在电力电子朝着高效高功率密度发展的方向上前进时,器件的低杂散参数、高温封装以及多功能集成封装起着关键性作用。通过减小高频开关电流回路的面积实现低杂散电感是碳化硅封装的一种技术发展趋势。然而,实现碳化硅封装技术的突破并大规模应用,还需要开展大量的工作,以下列举一些核心挑战以及前景展望:

1)低杂散电感封装结构综合性能的进一步研究验证。例如封装结构的功率循环、温度循环能力,实际散热效果,制造难度和成本,以及实现大功率模组的串并联难易程度等。
2)适用于高温工作的封装材料的研究。开发耐高温、具有优良导热系数、热膨胀系数相互匹配的封装材料始终是提升封装高温工作可靠性的关键;同时,改进工艺、降低现有优良封装材料的生产成本和工艺难度也是封装朝着高温方向发展的重要制约因素。
3)多功能集成封装模块的内部干扰、共同散热等关键问题研究。模块的多功能集成是电力电子的发展趋势,但瓷片电容、传感器、栅极驱动等还无法完全匹配碳化硅的高温高频性能、散热和电磁兼容问题;开发高温电容、功率芯片片内集成传感器、研究 SiC CMOS 驱动芯片或者采用 SOI(silicon on insulator)等工艺方案都有待进一步探索。
4)新型散热方式的探索。减小芯片散热路径上的热阻是封装散热技术的关键,一方面,利用高导热系数材料,另一方面可以减少封装的层叠结构,如:DBC 直连散热器、微通道液冷散热器集成及芯片直接散热方式等均为碳化硅器件的散热提供了更多的可能。可以预见,碳化硅器件和封装技术的发展已经为电力电子技术打开了一扇更广阔的大门,助力电力电子技术朝着高频、高效、高功率密度的方向前进。
 5 结论 
本文分析和探讨了碳化硅器件封装中的 3 个关键技术问题:
1)整理归纳了低杂散电感参数的新型封装结构,从设计原理上概括了其基本思路并列举了一些典型封装结构;
2)总结了目前常用的一些高温封装方式和材料特性等,并指出高温封装中的关键性问题和解决思路;
3)综述概括了现有的碳化硅封装多功能集成的趋势以及散热技术。最后,对碳化硅的封装技术作了展望,指出了其所面临的挑战和机遇。
来源:半导体封装工程师之家

活动推荐👇

2023(第七届)国际碳材料大会暨产业发展论坛
——碳化硅半导体论坛
2023年11月1-3日 中国·上海


免责声明 | 部分素材源自网络,版权归原作者所有。如涉侵权,请联系我们处理

DT半导体材料 聚焦于半导体材料行业的最新动态
评论 (0)
  • 风力发电机组机结构与原理-2018年-赵万清
    风力发电机组机结构与原理,中国电力出版社,PDF版本。
  • 安科瑞 ASCB1系列智能微型断路器样本
    ASCB1 系列智能微型断路器是安科瑞电气股份有限公司全新推出的智慧用电产品,产品由智能微型断路器与智能网关两部分组成,可用于对用电线路的关键电气因素,如电压、电流、功率、温度、漏电、能耗等进行实时监测,具有远程操控、预警保护、短路保护、电能计量统计、故障定位等功能,应用于户内建筑物及类似场所的工业、商业、民用建筑及基础设施等领域低压终端配电网络。
  • 托马斯微积分第十版中文
    电子书为扫描版本,自己手动添加书签作为目录供参考
  • 12、如何挑选立式磁棒电感厂家
    12、如何挑选立式磁棒电感厂家
  • [完结19章]SpringBoot开发双11商品服务系统教程下载
    如何使用SpringBoot开发一款关于双11商品服务的系统?今天就给大家说道说道,希望对大家的学习有所帮助!
    1.什么是SpringBoot?
    Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发的。
    Spring Boot是由Pivotal团队提供的基于Spring的框架,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot集成了绝大部分目前流行的开发框架,就像Maven集成了所有的JAR包一样,Spring Boot集成了几乎所有的框架,使得开发者能快速搭建Spring项目。
    2.SpringBoot的优点
    快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架。
    内置运⾏容器,⽆需配置 Tomcat 等 Web 容器,直接运⾏和部署程序。
    快速部署项⽬,⽆需外部容器即可启动并运⾏项⽬。
    可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发。
    ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况

    后端配置
    1.1创建Springboot工程
    打开idea->file->new->project
    选择spring Initializer进行配置,java版本选择8,点击next
    - internal 应用代码
        - controllers 控制器模块
          - admin 后端控制器
          - front 前端控制器
        - listen redis监听器
        - models 模型模块
        - service 服务模块
          - product_serive 商品服务
          - wechat_menu_serive 微信公众号菜单服务
          ......
    - conf 公共配置
      -config.yml yml配置文件
      -config.go 配置解析,转化成对应的结构体
      
    - middleware 中间件
        - AuthCheck.go  jwt接口权限校验
    - cors.go 跨域处理
    ......
    - pkg 程序应用包
      - app
      - base
      - casbin
      - jwt
      - qrcode
      - wechat
      .....
    - routere 路由
    - logs 日志存放
    - runtime 资源目录
    首先,我仔细分析了需求,并且根据业务逻辑设计了合适的接口。
    对于多表关联查询,我使用了MyBatis的注解来编写SQL语句,并通过@One和@Many等注解来实现结果集的映射。
    对于数据分页,我使用了MyBatis-Plus提供的Page对象,并结合相关方法来实现数据分页查询。
    2. 上课中的优秀项目
    在课堂上,我完成了一个优秀的项目,主要是学生实体类的增删改查功能。通过这个项目,我巩固了对Spring Boot框架的理解和掌握。
    具体实现如下:
    //初始化redis
    err := cache.InitRedis(cache.DefaultRedisClient, &redis.Options{
    Addr:        global.CONFIG.Redis.Host,
    Password:    global.CONFIG.Redis.Password,
    IdleTimeout: global.CONFIG.Redis.IdleTimeout,
    }, nil)
    if err != nil {
    if err != nil {
    global.LOG.Error("InitRedis error ", err, "client", cache.DefaultRedisClient)
    panic(err)
    }
    panic(err)
    }

    //初始化mysql
    err = db.InitMysqlClient(db.DefaultClient, global.CONFIG.Database.User,
    global.CONFIG.Database.Password, global.CONFIG.Database.Host,
    global.CONFIG.Database.Name)
    if err != nil {
    global.LOG.Error("InitMysqlClient error ", err, "client", db.DefaultClient)
    panic(err)
    }
    global.Db = db.GetMysqlClient(db.DefaultClient).DB

    开发步骤
    SpringBoot 开发起来特别简单,分为如下几步:
    创建新模块,选择Spring初始化,并配置模块相关基础信息
    选择当前模块需要使用的技术集
    开发控制器类
    运行自动生成的Application类
    知道了 SpringBoot 的开发步骤后,接下来我们进行具体的操作
    shutdown.NewHook().Close(
    //关闭http server
    func() {
    ctx, cancel := context.WithTimeout(context.Background(), time.Second*10)
    defer cancel()
    if err := server.Shutdown(ctx); err != nil {
    logging.Error("http server shutdown err", err)
    }
    },

    func() {
    //关闭kafka producer(特别是异步生产者,强制关闭会导致丢消息)
    if err := mq.GetKafkaSyncProducer(mq.DefaultKafkaSyncProducer).Close(); err != nil {
    logging.Error("kafka shutdown err", err)
    }
    },
    func() {
    //关闭mysql
    if err := db.CloseMysqlClient(db.DefaultClient); err != nil {
    logging.Error("mysql shutdown err", err)
    }
    },
    func() {
    //关闭redis
    if err := cache.GetRedisClient(cache.DefaultRedisClient).Close(); err != nil {
    logging.Error("redis shutdown err", err)
    }
    },
    )
    //也可以自己实现优雅关闭
    //signals := make(chan os.Signal, 0)
    //signal.Notify(signals, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT)
    //s := <-signals
    //global.LOG.Warn("shop receive system signal:", s)
    //ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
    //defer cancel()
    //err := server.Shutdown(ctx)
    //if err != nil {
    // global.LOG.Error("http server error", err)
    //}
    //mq.GetKafkaSyncProducer(mq.DefaultKafkaSyncProducer).Close()

    选择 Spring Initializr ,用来创建 SpringBoot 工程
    以前我们选择的是 Maven ,今天选择 Spring Initializr 来快速构建 SpringBoot 工程。而在 Module SDK 这一项选择我们安装的 JDK 版本。
    type StoreProduct struct {
    Image        string         `json:"image" valid:"Required;"`
    SliderImage  string         `json:"slider_image" valid:"Required;"`
    StoreName    string         `json:"store_name" valid:"Required;"`
    StoreInfo    string         `json:"store_info" valid:"Required;"`
    Keyword      string         `json:"keyword" valid:"Required;"`
    CateId       int            `json:"cate_id" valid:"Required;"`
    ProductCate  *StoreCategory `json:"product_cate" gorm:"foreignKey:CateId;association_autoupdate:false;association_autocreate:false"`
    Price        float64        `json:"price" valid:"Required;"`
    VipPrice     float64        `json:"vip_price" valid:"Required;"`
    OtPrice      float64        `json:"ot_price" valid:"Required;"`
    Postage      float64        `json:"postage" valid:"Required;"`
    UnitName     string         `json:"unit_name" valid:"Required;"`
    Sort         int16          `json:"sort" valid:"Required;"`
    Sales        int            `json:"sales" valid:"Required;"`
    Stock        int            `json:"stock" valid:"Required;"`
    IsShow       *int8          `json:"is_show" valid:"Required;"`
    IsHot        *int8          `json:"is_hot" valid:"Required;"`
    IsBenefit    *int8          `json:"is_benefit" valid:"Required;"`
    IsBest       *int8          `json:"is_best" valid:"Required;"`
    IsNew        *int8          `json:"is_new" valid:"Required;"`
    Description  string         `json:"description" valid:"Required;"`
    IsPostage    *int8          `json:"is_postage" valid:"Required;"`
    GiveIntegral int            `json:"give_integral" valid:"Required;"`
    Cost         float64        `json:"cost" valid:"Required;"`
    IsGood       *int8          `json:"is_good" valid:"Required;"`
    Ficti        int            `json:"ficti" valid:"Required;"`
    Browse       int            `json:"browse" valid:"Required;"`
    IsSub        *int8          `json:"is_sub" valid:"Required;"`
    TempId       int64          `json:"temp_id" valid:"Required;"`
    SpecType     int8           `json:"spec_type" valid:"Required;"`
    IsIntegral   *int8          `json:"isIntegral" valid:"Required;"`
    Integral     int32          `json:"integral" valid:"Required;"`
    BaseModel
    }

    //定义商品消息结构
    type ProductMsg struct {
    Operation string `json:"operation"`
    *StoreProduct
    }
    切换web服务器
    现在我们启动工程使用的是 tomcat 服务器,那能不能不使用 tomcat 而使用 jetty 服务器,jetty 在我们 maven 高级时讲 maven 私服使用的服务器。而要切换 web 服务器就需要将默认的 tomcat 服务器给排除掉,怎么排除呢?使用 exclusion 标签
    func (e *StoreProductController) Post(c *gin.Context) {
    var (
    dto  dto2.StoreProduct
    appG = app.Gin{C: c}
    )
    httpCode, errCode := app.BindAndValid(c, &dto)
    if errCode != constant.SUCCESS {
    appG.Response(httpCode, errCode, nil)
    return
    }
    productService := product_service.Product{
    Dto: dto,
    }
    model, err := productService.AddOrSaveProduct()
    if err != nil {
    appG.Response(http.StatusInternalServerError, constant.FAIL_ADD_DATA, nil)
    return
    }

    //发消息队列
    defer func() {
    operation := product.OperationCreate
    if dto.Id > 0 {
    operation = product.OperationUpdate
    }
    productMsg := models.ProductMsg{
    operation,
    &model,
    }
    msg, _ := json.Marshal(productMsg)
    p, o, e := mq.GetKafkaSyncProducer(mq.DefaultKafkaSyncProducer).Send(&sarama.ProducerMessage{
    Topic: product.Topic,
    Key:   mq.KafkaMsgValueStrEncoder(strconv.FormatInt(dto.Id, 10)),
    Value: mq.KafkaMsgValueEncoder(msg),
    },
    )
    if e != nil {
    global.LOG.Error("send product msg error ", e, "partition :", p, "offset :", o, "id :", dto.Id)
    }
    }()

    appG.Response(http.StatusOK, constant.SUCCESS, nil)

    }


  • ECG前置电路设计
    TI出的一个经验文档,讲的很不错
  • RadarSensors_ARS404-21_cn数据手册​
    RadarSensors_ARS404-21_cn数据手册
  • 基本_碳化硅功率器件_选型手册_2023Q3.pdf
    基本_碳化硅功率器件_选型手册_2023Q3.pdf
  • 特斯拉电路图.rar
    特斯拉电路图,欢迎大家下载
  • 16、谷景电子贴片电感在智能电梯领域应用取得新进展
    16、谷景电子贴片电感在智能电梯领域应用取得新进展
  • CS5511数据手册
    CS5511是一个将DP/eDP输入转换为LVDS信号的桥接芯片,此外,CS5511可以用作在DP/eDP输入到DP/eDP输出场景中桥接芯片
  • Geehy极海微控制器选型手册
    Geehy极海微控制器选型手册,产品基于Arm® Cortex®-M0+/M3/M4F/RISC-V内核,覆盖工业级/车规级/电机控制专用以及无线MCU,丰富的产品组合阵营,满足客户多样化产品应用需求!
  • 基于单片机的工业级液晶图形显示控制芯片RA8889ML3N-Datasheet
    TFT-LCD液晶显示控制芯片RA8889ML3N的优势:
    低功耗及功能强大:这款芯片最大支持分辨率为1366x2048,内置128Mb SDRAM,可为内容显示进行快速刷新,同时内置视频解码单元,支持JPEG/AVI硬解码播放,为普通单片机实现视频播放提供可能。
    支持多种接口:RA8889ML3N支持MCU端的8080/6800 8/16-bit 非同步并列接口和3/4线SPI及IIC串列接口,以及最大驱动1366x800分辨率的TFT LCD。
    显示功能强大:RA8889ML3N提供多段的显示记忆体缓冲区段,支持多图层功能,并提供画中画(PIP)、支持透明度控制与显示旋转镜像等显示功能。

    应用范围广:这款芯片广泛应用于自动化控制设备、电力监测控制、测量检测仪器仪表、电教设备、智能家电、医疗检测设备、车用仪表及工控自动化等领域。

    技术咨询与交流:QQ2851189731, 微信13760238805

  • 印刷部分 这本书印刷和普通书籍不太一样,类似笔记本的手写体印刷和笔记的网格,有亲近感和新鲜感内容部分 分为通信工程 ;传感器工程;磁传感器工程;太阳电池功能几大部分通信电路是一种用于传输信息的电子电路,可以用于无线通信、有线通信和网络通信等各种通信系统中。传感器电路则是用于感知和测量环境参数的电路,可以探测光、温度、压力、湿度、运动等各种物理量。在学习通信电路方面,可能会接触到模拟通信电路和数字通信电路。模拟通信电路主要涉及模拟信号的传输和处理,如调制解调、信号放大、滤波等。数字通信电路则涉及数
    陇南有只大花猫 2023-11-30 19:01 272浏览
  • 前言 在网络部署之后和业务开展之前,运营商迫切希望了解当前网络的性能状态,以便为商业规划和业务推广提供必要的基础数据支持。因此,高可靠性和高精确度的性能测试方法对于运营商评判网络性能的优劣,显得尤为重要,而RFC 2544等传统测试标准已不足于鉴定当今的服务等级协议(SLA)。SLA是服务提供商(如ISP)及其最终用户之间的协议,它规定以太网服务的开通或验证必须进行测量,且必须达到SLA的规范要求。目前,对以太网服务进行测试和故障诊断的最佳选择无疑是ITU-T Y.1564标准。 &
    信而泰市场部 2023-11-30 15:06 112浏览
  •        2023年,全球服务器市场开始走低,出货数据双位数的下滑,给整个产业链带来巨大冲击(具体数据如表格)。     中国区服务器市场的IDC数据暂时没有获取,但是可以提供两个新闻供大家参考:  1.新浪财经11/08新闻 浪潮信息前三季业绩双降股价跌52% 应收账款149亿占营收28%存货增四成|浪潮信息_新浪财经_新浪网 (sina.com.cn)(作者:长江商报)   日前
    天涯书生 2023-12-02 13:43 58浏览
  • 在电力系统中,过电压保护器是一种重要的设备,它对电力设备的安全运行具有重要的作用。下面我们来了解一下过电压保护器的基本结构。过电压保护器通常由三个主要部分组成:间隙、非线性元件和触发器。1. 间隙:间隙是过电压保护器的基本结构之一,它是由两个金属电极组成的,通常采用球形或棒形结构。间隙的间距通常在几毫米到几厘米之间,它能够承受一定的电压,并在过电压条件下进行放电。2. 非线性元件:非线性元件是过电压保护器的另一个重要组成部分。它是一种特殊的电阻器,能够在高电压下呈现出非线性的特性。当电压超过一定
    保定众邦电气 2023-11-30 14:49 207浏览
  • 高低温探针台是一种用于材料科学、物理、化学等领域的实验设备,主要用于在高温和低温环境下对材料进行各种实验和研究。下面是高低温探针台的工作原理。工作原理是将样品放置在加热和冷却组件上,然后使用各种测量仪器对其进行实验和测量。具体来说,其工作流程如下:将样品放置在加热和冷却组件上;启动加热系统,将样品加热到所需的温度;启动制冷系统,将冷却组件降温到所需的温度;通过各种测量仪器对样品进行实验和测量;记录实验数据并进行分析和处理;结束实验后,关闭加热和制冷系统,并解除真空状态,取出样品。总之,高低温探针
    锦正茂科技 2023-12-01 14:50 190浏览
  • Achronix推出基于FPGA的加速自动语音识别解决方案 提供超低延迟和极低错误率(WER)的实时流式语音转文本解决方案,可同时运行超过1000个并发语音流2023年11月——高性能FPGA芯片和嵌入式FPGA(eFPGA IP)领域的领先企业Achronix半导体公司日前自豪地宣布:正式推出Achronix与Myrtle.ai合作的最新创新——基于Speedster7t FPGA的自动语音识别(ASR)加速方案。这一变革性的解决方案,实现了高精度和快速响应,可将超过1000个并发的实时
    电子科技圈 2023-11-30 11:52 185浏览
  • By Toradex胡珊逢 简介 双屏显示在显示设备中有着广泛的应用,可以面向不同群体展示特定内容。文章接下来将使用 Verdin iMX8M Plus 的 Arm 计算机模块演示如何方便地在 Toradex 的 Linux BSP 上实现在两个屏幕上显示独立的 Qt 应用。 硬件介绍 软件配置 Verdin iMX8M Plus 模块使用 Toradex Multimedia Reference Image V6.4.0 版本,其包含 Qt5.15 相关运行环境。默认系统中已经使
    hai.qin_651820742 2023-12-01 11:53 190浏览
  • 听力危机不可不慎,助听器市场的发展概况根据世界卫生组织WHO于2021年所发布的世界听力报告(World report on hearing)统计,全球目前有20%左右的听损人口;其中「轻度」与「中度」听损人口就占了大约15亿人左右。台湾方面,根据2021年卫生福利部统计处的数据显示,台湾则约有12万人有听力损失的问题,其中更有高达56% (约71,543人)确诊为轻度听损。足以看出听力受损问题已逐渐成为全球新兴的健康议题。听力损失的成因及轻重程度因人而异,但无论如何,或多或少都会影响到我们的日
    百佳泰测试实验室 2023-11-30 17:26 169浏览
  • 作者:Shawn Prestridge,IAR资深现场应用工程师 / 美国FAE团队负责人 安全一直都是一个非常热门的话题,似乎每周都会听到这样的消息:某某公司如何被入侵,数百万用户的数据被泄露。 我们看到这么多的安全问题,部分原因在于我们对待安全的方式:安全性通常被认为是事后考虑的问题,是在开发结束时才添加到设备上的东西。然而,复杂的系统,尤其是嵌入式系统,有一个很大的攻击面,这让攻击者有机可乘,能够在“盔甲”上找到破绽。如果你去研究大部分黑客试图入侵系统的方式,你很快就会发现,在他们的武
    电子科技圈 2023-11-30 14:43 167浏览
  •     按照 IPC术语,连接盘/Land 是指一块导体,通常用于连接和/或固定元器件的导电部分。    为了增强孔的机械强度,所有的金属化孔或者镀覆孔,在穿过每一层铜箔时,都应该有连接盘,连接盘的形状不限。前面提过的孔环也是连接盘的一种形式。在允许的条件下,孔环和连接盘的尺寸都要尽量大一些。    前面提到过,铜层图案(连接盘)和孔是在不同的工序制作的。由于加工公差的存在,用常见的圆形连接盘和圆孔来说,并不能保证孔和连接盘保持精确的同
    电子知识打边炉 2023-11-30 21:32 223浏览
  •    本文介绍在ALPS平台上进行SSL测试的内容和方法   什么是SSL SSL全称是Secure Sockets Layer,指安全套接字协议,为基于TCP的应用层协议提供安全连接;SSL介于TCP/IP协议栈的第四层和第五层之间,广泛用于电子商务、网上银行等。 SSL协议有三个版本,其中SSL2.0和3.0曾被广泛使用,其中SSLv3.0自1996提出并得到大规模应用成为了事实上的标准,在2015年才被弃用。1999年,IETF收纳了SSLv3.0并
    信而泰市场部 2023-11-30 15:08 135浏览
  •    电源连接器的插针遭受损坏的情况非常普遍,这种故障会让连接器的电流传输受到影响,进而影响设备的正常使用,那是什么因素导致电源连接器的插针遭到损坏呢?下面Amass将为您分析其中的原因。   1、应用环境高温 1. 在高温环境下,电源连接器插针易受腐蚀影响,形成氧化层,损失接触压力,甚至可能发生接头烧损情况。对于这种环境,电源连接器需要具备耐高温性能,不仅需满足环境温度要求,还须考虑其在工作状态下的热量散发。  
    艾迈斯电子 2023-11-30 16:33 176浏览
  • 随着汽车电子进入电动化+智能网联的时代,新能源、车联网、智能化、电动化四个领域带来了CAN数据的需求,企业车队管理需要数据,汽车运营需要数据,改装、解码、匹配工具打造需要数据,现在就连简单的LED汽车照明控制,也需要匹配数据。这一切,逃脱不了CAN、LIN、SENT、BSD、MOST各种协议下,不同ECU控制单元在不同年份,不同款式下的数据,可以这么说,在新能源这个前提下,我们要做的工作和要做的事情可能要更为复杂、多变。 前日,我拿出一份13年左右丰田的CAN协议,里边包括车灯控制、车
    lauguo2013 2023-11-30 15:45 157浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦