摩登3咨询:_意法半导体工业峰会2020将在深圳举办

· ST工业峰会2020将围绕“激发智能,赋能创新”主题,聚焦电源与能源、电机控制和自动化三大领域 · 展出100多个独创的解决方案和产品演示,举办50余场深度技术研讨分论坛 2020年11月27日,中国深圳 – 横跨多重电子应用领域的全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST) 将于12月2日在中国深圳福田香格里拉大酒店举办2020工业峰会。 作为拥有众多行业首创和18,500多项专利的科技先驱,意法半导体一直走在半导体技术创新的最前沿。第二届工业峰会主题围绕“激发智能,赋能创新”,聚焦电源与能源、电机控制和自动化的相关创新活动和技术演示。 电源与能源:意法半导体的智能电源技术处于世界领先水平,并继续跻身于全球绿色技术发展最前沿,拥有节能、创新的宽带隙半导体产品。在2020年工业峰会上,与会者将有机会体验意法半导体的MasterGaN—-世界上首个单封装集成硅驱动器和氮化镓(GaN)功率晶体管的解决方案。作为市场独一无二的电源平台,MasterGaN能使充电器和适配器减重80%,体积缩小70%,充电速度更是普通硅基解决方案的3倍。 为了展示其广泛的电源与能源应用半导体产品组合,意法半导体还将展出50W RX/TX接收/发射无线充电整体解决方案、65W USB PD Type-C GaN快速充电器芯片、包括3.6kW CCM图腾柱PFC( 功率因数校正)、15kW维也纳整流器、15kW 3L T型双向PFC在内的三个升压变换器,以及基于PLC(电力线通信)的智能太阳能面板模块解决方案。 电机控制:意法半导体为高低功率应用市场提供各种更安全、更高效的运动控制创新方案。在电机控制展区,公司将展示一系列针对家电和电动工具(低压和高压)的电机控制解决方案,包括风扇、真空吸尘器、跑步机演示装置等,其中大部分由意法半导体亚太区电机控制技术创新中心自主研发。 意法半导体还将带来其他电机控制解决方案,包括一个基于STSPIN32F0和Modbus总线的位置控制演示装置,以及基于STM32F7微控制器和EtherCAT通信的迷宫游戏位置控制装置。 自动化:意法半导体致力于提供更高效、更安全、可靠的工厂自动化和家庭/楼宇自动化解决方案。在2020年工业峰会上,公司将推出最新的低功耗、高集成度智能家居演示套件,以及基于ST BlueNRG-2和KNX的套件,展示如何通过手机应用远程控制照明灯具。 意法半导体展出的其他自动化解决方案包括:体积紧凑的资产跟踪演示装置、后装无线抄表器、STM32WL LoRa网络和云端连接模块、基于L6362A收发器的IO-Link工业模块传感器板。 面向5大工业领域的客户展品 在2020年工业峰会上,参会者还将能够现场体验客户用意法半导体产品设计的应用演示装置,包括电动汽车快速充电桩、电动滑板车无线充电解决方案,以及各种机器人解决方案和工业自动化系统、智慧家居等。 充电桩解决方案:峰会上将展出一个60-160kW直流充电桩解决方案,主要用于集中式电动车快速充电站。该方案采用了意法半导体最新的IGBT产品,可为客户提供CCS Combo2和CHAdeMO双标准充电,满足搭载大容量电池、瞄准更长续航里程的电动汽车的更快充电要求。 电动滑板车无线充电解决方案:共享电动滑板车近年来在许多国家盛行,然而,充电是滑板车面临的最大挑战。结合了意法半导体的功率MOSFET、VIPer、Triacs、PFC控制器和栅极驱动器,此次峰会上客户将展出一个快速无线充电器与停车架相结合的解决方案,帮助运营公司解决电动滑板车的路边充电难题,降低管理成本。 机器人解决方案:机器人可以很好地替代劳动力,在智能工厂中执行重复和不安全的任务,提高生产效率,降低生产成本。在2020年工业峰会上,意法半导体将展示本地客户的机器人解决方案,演示机器人如何高速、高精度工作,减轻工业场景中人类工作负荷。 自动化生产线:现场一台手机生产线装置将演示微型智能工厂是如何运行的。整个生产线分为5个工位:AOI站(自动光学检测)、打磨站、锁附站、点胶站和贴标站。该模块化的柔性生产线可以快速响应设计要求,并具有很强的环境适应性。同时,该生产线采用MES(制造执行系统),能够利用大数据来构建“互联网+工业”的新型管理模式。 智慧家居:2020年工业峰会还将设有一个智能家居展区,展出客户采用意法半导体的电源和电机控制芯片设计的各种智能家电,包括扫地机器人、人脸识别家庭安保监控系统、割草机、空调、冰箱、洗衣机、油烟机、电饭煲、智能梳妆镜和超音速吹风机等等,涵盖智能生活的方方面面。 欢迎莅临意法半导体的2020年工业峰会(2020年12月2日中国深圳),亲身体验ST和客户的尖端产品展示。

摩登3平台登录_鸿蒙和安卓,到底有什么区别?

对于开发者来说两个最关键的点值得关注:一个是 Beta 版的开发工具,一个是开源网站。 开源网站 在开发者大会上宣布将 HarmonyOS源代码捐赠给中国开放原子开源基金会,并在大会上公布了鸿蒙系统的开源路线。 OpenHarmony 官方源码地址: https://openharmony.gitee.com/openharmony 开发工具 鸿蒙使用基于 Intellij IDEA 深度定制研发的 DevEco Studio 作为其开发工具。 DevEco Studio 下载地址: https://developer.harmonyos.com/cn/develop/deveco-studio 那么,在应用开发过程中,HarmonyOS(鸿蒙)和 Android(安卓)开发环境有什么不同呐? HarmonyOS 项目和 Android 项目对比 资源目录的变更 ①资源目录名称有更改 安卓 res 目录,这里用 resources 目录,它包括 base 和 rawfile 两部分,其中 base 是核心的资源目录,常用的都放在这里面,便于查找和使用。rawfile 会原封不动打包到生成的应用里面。 安卓是 res/values 目录,这里是 resources/element 目录。安卓 raw 目录,这里用 rawfile 目录。 ②资源目录分门别类,统一管理 Android 目录结构就比较松散,没有统一的文件夹管理,res/values 目录里面可以创建各种资源的 xml 文件,只能去官网查看有哪些可以创建。 这里有 base 目录统一管理。 ③部分资目录删除,新增一些资源目录类型 比如 float.json 文件,plural.json 文件,profile 文件夹等。 ④编写方式有改变,xml 变更为 json 安卓的 values 里面是 xml 写的,这里是 element 目录里面的,都是 json 格式的。 最后来一张同类型资源对比图: 完整的资源目录的具体变更对比如下图所示: 配置文件的变更 清单文件  AndroidManifest 变成了 config.json 文件。 Java 代码的变更 完整的 Java 目录的变更对比如下图所示: HarmonyOS 项目和微信小程序项目对比 完整的 JS 目录和微信小程序对比如下图所示: HarmonyOS 优点 多终端开发调试便捷 鸿蒙目前支持可以开发 TV,wearable, LiteWearable 几种设备类型,未来还会扩展到其他设备。并且一次代码就可以在不同设备快速部署和调试,操作非常简易。 对开发者友好,开发难度和学习成本低 ①IDE 开发工具方面 DevEco Studio 是基于 Intellij IDEA 工具定制化深度研发的一个工具,所以对于那些熟悉 IDEA,或 Android Studio 或 WebStorm 这些 IDE 开发工具的朋友们来说应该是很熟悉的,不熟悉的朋友们也可以很快就上手。 另外正是由于是定制化的,所以去掉了…

摩登3主管554258:_嵌入式开发中常见3个的C语言技巧

原文:https://www.cnblogs.com/CrazyCatJack/p/6080266.html 1.指向函数的指针 指针不光能指向变量、字符串、数组,还能够指向函数。在C语言中允许将函数的入口地址赋值给指针。这样就可以通过指针来访问函数。 还可以把函数指针当成参数来传递。函数指针可以简化代码,减少修改代码时的工作量。通过接下来的讲解大家会体会到这一点的。 /*函数指针简单讲解 *通过指向函数的指 *针调用比较两个数 *大小的程序 */#include  using namespace std;/*比较函数声明*/int max(int,int);/*指向函数的指针声明(此刻指针未指向任何一个函数)*/int (*test)(int,int);int main(int argc,char* argv[]){  int largernumber;/*将max函数的入口地址赋值给 *函数指针test */  test=max;/*通过指针test调用函数max实 *现比较大小 */  largernumber=(*test)(1,2);  cout< endl;    return  0;       } int max(int a,int b){     return (a>b?a:b);   } 通过注释大家应该很容易理解,函数指针其实和变量指针、字符串指针差不多的。如果大家理解了这个小程序,那么理解起下面这个有关Nand flash的源代码就好多了。 typedef struct {    void (*nand_reset)(void);    void (*wait_idle)(void);    void (*nand_select_chip)(void);    void (*nand_deselect_chip)(void);    void (*write_cmd)(int cmd);    void (*write_addr)(unsigned int addr);    unsigned char (*read_data)(void);}t_nand_chip;static t_nand_chip nand_chip;/* NAND Flash操作的总入口, 它们将调用S3C2410或S3C2440的相应函数 */static void nand_reset(void);static void wait_idle(void);static void nand_select_chip(void);static void nand_deselect_chip(void);static void write_cmd(int cmd);static void write_addr(unsigned int addr);static unsigned char read_data(void);/* S3C2410的NAND Flash处理函数 */static void s3c2410_nand_reset(void);static void s3c2410_wait_idle(void);static void s3c2410_nand_select_chip(void);static void s3c2410_nand_deselect_chip(void);static void s3c2410_write_cmd(int cmd);static void s3c2410_write_addr(unsigned int addr);static unsigned char s3c2410_read_data();/* S3C2440的NAND Flash处理函数 */static void s3c2440_nand_reset(void);static void s3c2440_wait_idle(void);static void s3c2440_nand_select_chip(void);static void s3c2440_nand_deselect_chip(void);static void s3c2440_write_cmd(int cmd);static void s3c2440_write_addr(unsigned int addr);static unsigned char s3c2440_read_data(void);/* 初始化NAND Flash */void nand_init(void){#define TACLS   0#define TWRPH0  3#define TWRPH1  0    /* 判断是S3C2410还是S3C2440 */    if ((GSTATUS1 == 0x32410000) || (GSTATUS1 == 0x32410002))    {        nand_chip.nand_reset         = s3c2410_nand_reset;        nand_chip.wait_idle          = s3c2410_wait_idle;        nand_chip.nand_select_chip   = s3c2410_nand_select_chip;        nand_chip.nand_deselect_chip = s3c2410_nand_deselect_chip;        nand_chip.write_cmd          = s3c2410_write_cmd;        nand_chip.write_addr         = s3c2410_write_addr;        nand_chip.read_data          = s3c2410_read_data;        /* 使能NAND Flash控制器, 初始化ECC, 禁止片选, 设置时序 */        s3c2410nand->NFCONF = (1<<15)|(1<<12)|(1<<11)|(TACLS<<8)|(TWRPH0<<4)|(TWRPH1<<0);    }    else    {        nand_chip.nand_reset         = s3c2440_nand_reset;        nand_chip.wait_idle          = s3c2440_wait_idle;        nand_chip.nand_select_chip   = s3c2440_nand_select_chip;        nand_chip.nand_deselect_chip = s3c2440_nand_deselect_chip;        nand_chip.write_cmd          = s3c2440_write_cmd;#ifdef LARGER_NAND_PAGE        nand_chip.write_addr         = s3c2440_write_addr_lp;#else        nand_chip.write_addr         = s3c2440_write_addr;#endif        nand_chip.read_data          = s3c2440_read_data;        /* 设置时序 */        s3c2440nand->NFCONF = (TACLS<<12)|(TWRPH0<<8)|(TWRPH1<<4);        /* 使能NAND Flash控制器, 初始化ECC, 禁止片选 */        s3c2440nand->NFCONT = (1<<4)|(1<<1)|(1<<0);    }        /* 复位NAND Flash */    nand_reset();} 这段代码是用于操作Nand Flash的一段源代码。首先我们看到开始定义了一个结构体,里面放置的全是函数指针。他们等待被赋值。然后是定义了一个这种结构体的变量nand_chip。 然后是即将操作的函数声明。这些函数将会被其他文件的函数调用。因为在这些函数里一般都只有一条语句,就是调用结构体的函数指针。接着往下看,是针对两种架构的函数声明。然后在nand_init函数中对nand_chip进行赋值,这也就是我们刚刚讲过的,将函数的入口地址赋值给指针。 现在nand_chip已经被赋值了。如果我们要对Nand进行读写操作,我们只需调用nand_chip.read_data()或者nand_chip.write_cmd()等等函数。这是比较方便的一点,另一点,此代码具有很强的移植性,如果我们又用到了一种芯片,我们就不需要改变整篇代码,只需在nand_init函数中增加对新的芯片的判断,然后给nand_chip赋值即可。所以我说函数指针会使代码具有可移植性,易修改性。 如果大家想对函数指针有更深的理解建议看一下这篇博文:http://www.cnblogs.com/CBDoctor/archive/2012/10/15/2725219.html 写的超赞,博主很佩服^_^ 2.C语言操作寄存器 在嵌入式开发中,常常要操作寄存器,对寄存器进行写入,读出等等操作。每个寄存器都有自己固有的地址,通过C语言访问这些地址就变得尤为重要。 #define GSTATUS1        (*(volatile unsigned int *)0x560000B0) 在这里,我们举一个例子。这是一个状态寄存器的宏定义。首先,通过unsigned int我们能够知道,该寄存器是32位的。因为要避免程序执行过程中直接从cache中读取数据,所以用volatile进行修饰。 每次都要重新读取该地址上的值。首先(volatile unsigned int*)是一个指针,我们就假设它为p吧。它存储的地址就是后面的0x560000B0,然后取这个地址的值,也就是p,所以源代码变成了((volatile unsigned int *)0x560000B0),接下来我们就能直接赋值给GSTATUS1来改变地址0x560000B0上存储的值了。 /* NAND FLASH (see S3C2410 manual chapter 6) */typedef struct {    S3C24X0_REG32   NFCONF;    S3C24X0_REG32   NFCMD;    S3C24X0_REG32   NFADDR;    S3C24X0_REG32   NFDATA;    S3C24X0_REG32   NFSTAT;    S3C24X0_REG32   NFECC;} S3C2410_NAND;static S3C2410_NAND * s3c2410nand = (S3C2410_NAND *)0x4e000000;volatile unsigned char *p = (volatile unsigned char *)&s3c2410nand->NFSTAT; 有时候,你会看到这样一种情况的赋值。其实这和我们刚刚讲过的差不多。只不过这里是在定义了指针的同时对指针进行赋值。这里首先定义了结构体S3C2410_NAND,里面全部是32位的变量。 又定义了这种结构体类型的指针,且指向0x4e000000这个地址,也就是此刻s3c2410nand指向了一个实际存在的物理地址。s3c2410nand指针访问了NFSTAT变量,但我们要的是它的地址,而不是它地址上的值。所以用&取NFSTAT地址,这样再强制转换为unsigned char型的指针,赋给p,就可以直接通过p来给NFSTAT赋值了。 3.寄存器位操作 #define GPFCON      (*(volatile unsigned long *)0x56000050)GPFCON &=~ (0x1<<3);GPFCON |= (0x1<<3); 结合我们刚刚所讲的,首先宏定义寄存器,这样我们能够直接给它赋值。位操作中,我们要学会程序第2行中的,给目标位清0,这里是给bit3清0。第3行则是给bit3置1。 免责声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。 最后 以上就是本次的分享,如果觉得文章不错,转发、在看,也是我们继续更新得动力。 猜你喜欢: 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3娱乐怎么样?_单片机系统的电磁兼容性设计详解,看完秒懂!

随着单片机系统越来越广泛地应用于消费类电子、医疗、工业自动化、智能化仪器仪表、航空航天等各领域,单片机系统面临着电磁干扰(EMI)日益严重的威胁。电磁兼容性(EMC)包含系统的发射和敏感度两方面的问题。如果一个单片机系统符合下面三个条件,则该系统是电磁兼容的: ① 对其它系统不产生干扰; ② 对其它系统的发射不敏感; ③ 对系统本身不产生干扰。 假若干扰不能完全消除,但也要使干扰减少到最小。干扰的产生不是直接的(通过导体、公共阻抗耦合等),就是间接的(通过串扰或辐射耦合)。电磁干扰的产生是通过导体和通过辐射,很多电磁发射源,如光照、继电器、DC电机和日光灯都可引起干扰;AC电源线、互连电缆、金属电缆和子系统的内部电路也都可能产生辐射或接收到不希望的信号。在高速单片机系统中,时钟电路通常是宽带噪声的最大产生源,这些电路可产生高达300 MHz的谐波失真,在系统中应该把它们去掉。另外,在单片机系统中,最容易受影响的是复位线、中断线和控制线。 0 1 干扰的耦合方式 1、 传导性EMI 一种最明显而往往被忽略的能引起电路中噪声的路径是经过导体。一条穿过噪声环境的导线可捡拾噪声并把噪声送到其它电路引起干扰。设计人员必须避免导线捡拾噪声和在噪声引起干扰前,用去耦办法除去噪声。最普通的例子是噪声通过电源线进入电路。若电源本身或连接到电源的其它电路是干扰源,则在电源线进入电路之前必须对其去耦。 2、公共阻抗耦合 当来自两个不同电路的电流流经一个公共阻抗时就会产生共阻抗耦合。阻抗上的压降由两个电路决定,来自两个电路的地电流流经共地阻抗。电路1的地电位被地电流2调制,噪声信号或DC补偿经共地阻抗从电路2耦合到电路1。 3、 辐射耦合 经辐射的耦合通称串扰。串扰发生在电流流经导体时产生电磁场,而电磁场在邻近的导体中感应瞬态电流。 4、 辐射发射 辐射发射有两种基本类型:差分模式(DM)和共模(CM)。共模辐射或单极天线辐射是由无意的压降引起的,它使电路中所有地连接抬高到系统地电位之上。就电场大小而言,CM辐射是比DM辐射更为严重的问题。为使CM辐射最小,必须用切合实际的设计使共模电流降到零。 0 2 影响EMC的因数 ① 电压。电源电压越高,意味着电压振幅越大,发射就更多,而低电源电压影响敏感度。 ② 频率。高频产生更多的发射,周期性信号产生更多的发射。在高频单片机系统中,当器件开关时产生电流尖峰信号;在模拟系统中,当负载电流变化时产生电流尖峰信号。 ③ 接地。在所有EMC问题中,主要问题是不适当的接地引起的。有三种信号接地方法:单点、多点和混合。在频率低于1 MHz时,可采用单点接地方法,但不适于高频;在高频应用中,最好采用多点接地。混合接地是低频用单点接地,而高频用多点接地的方法。地线布局是关键,高频数字电路和低电平模拟电路的地回路绝对不能混合。 ④ PCB设计。适当的印刷电路板(PCB)布线对防止EMI是至关重要的。 ⑤ 电源去耦。当器件开关时,在电源线上会产生瞬态电流,必须衰减和滤掉这些瞬态电流。来自高di/dt源的瞬态电流导致地和线迹“发射”电压,高di/dt产生大范围高频电流,激励部件和线缆辐射。流经导线的电流变化和电感会导致压降,减小电感或电流随时间的变化可使该压降最小。 0 3 印刷电路板(PCB)的电磁兼容性设计 PCB是单片机系统中电路元件和器件的支撑件,它提供电路元件和器件之间的电气连接。随着电子技术的飞速发展,PCB的密度越来越高。PCB设计的好坏对单片机系统的电磁兼容性影响很大,实践证明,即使电路原理图设计正确,印刷电路板设计不当,也会对单片机系统的可靠性产生不利影响。例如,如果印刷板两条细平行线靠得很近,则会形成信号波形的延迟,在传输线的终端形成反射噪声。因此,在设计印刷电路板的时候,应注意采用正确的方法,遵守PCB设计的一般原则,并应符合抗干扰设计的要求。 一、PCB设计的一般原则 要使电子电路获得最佳性能,元器件的布局及导线的布设是很重要的。为了设计质量好、成本低的PCB,应遵循以下一般性原则。 1、特殊元器件布局 首先,要考虑PCB尺寸的大小:PCB尺寸过大时,印刷线条长,阻抗增加,抗噪声能力下降,成本也增加;过小,则散热不好,且邻近线条易受干扰。在确定PCB尺寸后,再确定特殊元器件的位置。最后,根据电路的功能单元,对电路的全部元器件进行布局。 在确定特殊元器件的位置时要遵守以下原则: ① 尽可能缩短高频元器件之间的连线,设法减少它们的分布参数和相互间的电磁干扰。易受干扰的元器件不能相互挨得太近,输入和输出元件应尽量远离。 ② 某些元器件或导线之间可能有较高的电位差,应加大它们之间的距离,以免放电引出意外短路。带高电压的元器件应尽量布置在调试时手不易触及的地方。 ③ 重量超过15 g的元器件,应当用支架加以固定,然后焊接。那些又大又重、发热量多的元器件,不宜装在印刷板上,而应装在整机的机箱底板上,且应考虑散热问题。热敏元件应远离发热元件。 ④ 对于电位器、可调电感线圈、可变电容器、微动开关等可调元件的布局,应考虑整机的结构要求。若是机内调节,应放在印刷板上方便调节的地方;若是机外调节,其位置要与调节旋钮在机箱面板上的位置相适应。 ⑤ 留出印刷板定位孔及固定支架所占用的位置。 2、一般元器件布局 根据电路的功能单元,对电路的全部元器件进行布局时,要符合以下原则: ① 按照电路的流程安排各个功能电路单元的位置,使布局便于信号流通,并使信号尽可能保持一致的方向。 ② 以每个功能电路的核心元件为中心,围绕它来进行布局。元器件应均匀、整齐、紧凑地排列在PCB上,尽量减少和缩短各元器件之间的引线和连接。 ③ 在高频下工作的电路,要考虑元器件之间的分布参数。一般电路应尽可能使元器件平行排列,这样,不但美观,而且装焊容易,易于批量生产。 ④ 位于电路板边缘的元器件,离电路板边缘一般不小于2 mm。电路板的最佳形状为矩形。长宽比为3:2或4:3。电路板面尺寸大于200 mm×150 mm时,应考虑电路板所受的机械强度。 3、布线 布线的原则如下: ① 输入输出端用的导线应尽量避免相邻平行,最好加线间地线,以免发生反馈耦合。 ② 印刷板导线的最小宽度主要由导线与绝缘基板间的粘附强度和流过它们的电流值决定。当铜箔厚度为0.5 mm、宽度为1~15 mm时,通过2 A的电流,温升不会高于3℃。因此,导线宽度为1.5 mm可满足要求。对于集成电路,尤其是数字电路,通常选0.02~0.3 mm导线宽度。当然,只要允许,还是尽可能用宽线,尤其是电源线和地线。导线的最小间距主要由最坏情况下的线间绝缘电阻和击穿电压决定。对于集成电路,尤其是数字电路,只要工艺允许,可使间距小于0.1~0.2 mm。 ③ 印刷导线拐弯处一般取圆弧形,而直角或夹角在高频电路中会影响电气性能。此外,尽量避免使用大面积铜箔,否则,长时间受热时,易发生铜箔膨胀和脱落现象。必须用大面积铜箔时,最好用栅格状,这样有利于排除铜箔与基板间粘合剂受热产生的挥发性气体。 4、 焊盘 焊盘中心孔要比器件引线直径稍大一些。焊盘太大易形成虚焊。焊盘外径D一般不小于(d+1.2) mm,其中d为引线孔径。对高密度的数字电路,焊盘最小直径可取(d+1.0) mm。 二、PCB及电路抗干扰措施 印刷电路板的抗干扰设计与具体电路有着密切的关系,这里仅就PCB抗干扰设计的几项常用措施作一些说明。 1、 电源线设计 根据印刷线路板电流的大小,尽量加粗电源线宽度,减少环路电阻;同时,使电源线、地线的走向和数据传递的方向一致,这样有助于增强抗噪声能力。kx6电子技术吧 2、 地线设计 在单片机系统设计中,接地是控制干扰的重要方法。如能将接地和屏蔽正确结合起来使用,可解决大部分干扰问题。单片机系统中地线结构大致有系统地、机壳地(屏蔽地)、数字地(逻辑地)和模拟地等。在地线设计中应注意以下几点: ① 正确选择单点接地与多点接地。在低频电路中,信号的工作频率小于1MHz,它的布线和器件间的电感影响较小,而接地电路形成的环流对干扰影响较大,因而应采用一点接地的方式。当信号工作频率大于10 MHz时,地线阻抗变得很大,此时应尽量降低地线阻抗,应采用就近多点接地。当工作频率在1~10MHz时,如果采用一点接地,其地线长度不应超过波长的1/20,否则应采用多点接地法。 ② 数字地与模拟地分开。电路板上既有高速逻辑电路,又有线性电路,应使它们尽量分开,而两者的地线不要相混,分别与电源端地线相连。低频电路的地应尽量采用单点并联接地,实际布线有困难时可部分串联后再并联接地;高频电路宜采用多点串联接地,地线应短而粗。高频元件周围尽量用栅格状大面积地箔,要尽量加大线性电路的接地面积。 ③ 接地线应尽量加粗。若接地线用很细的线条,则接地电位会随电流的变化而变化,致使电子产品的定时信号电平不稳,抗噪声性能降低。因此应将接地线尽量加粗,使它能通过三倍于印刷电路板的允许电流。 ④ 接地线构成闭环路。设计只由数字电路组成的印刷电路板的地线系统时,将接地线做成闭路可以明显地提高抗噪声能力。其原因在于:印刷电路板上有很多集成电路元件,尤其遇有耗电多的元件时,因受接地线粗细的限制,会在地线上产生较大的电位差,引起抗噪能力下降;若将接地线构成环路,则会缩小电位差值,提高电子设备的抗噪声能力。 3、退耦电容配置 PCB设计的常规做法之一,是在印刷板的各个关键部位配置适当的退耦电容。退耦电容的一般配置原则是: ① 电源输入端跨接10~100μF的电解电容器。如有可能,接100μF以上的更好。 ② 原则上每个集成电路芯片都应布置一个0.01 pF的瓷片电容。如遇印刷板空隙不够,可每4~8个芯片布置一个1~10 pF的钽电容。 ③ 对于抗噪能力弱、关断时电源变化大的器件,如RAM、ROM存储器件,应在芯片的电源线和地线之间直接接入退耦电容。 ④ 电容引线不能太长,尤其是高频旁路电容不能有引线。 此外,还应注意以下两点: ①…

摩登3娱乐怎么样?_安规耐压与漏电流经典30问

为何产品要进行电气安规测试? 这是许多产品制造商最想问的一个问题,当然最普遍的回答是“因为安规标准中有规定。”若您能深入了解电气安规的背景,便会发现它背后所隐含的责任与意义。电气安规测试虽然在生产线占了一点时间,但它却能让您降低产品因电气危害而回收的风险,第一次就做对,才是降低成本并维护商誉的正确方法。 何谓电气伤害(Electrical Shock)?  造成电气伤害的因素有很多种,其中最主要的是电流经过人体所造成的电气伤害。此类电气伤害对人类具有直接的影响性,伤害的严重性依电能的大小、湿度、接触面积等有所不同。想像你在浴缸里泡澡时,突然运作中的吹风机掉落在浴缸里,这样的情况,使得电流从吹风机经过你的身体而流向地面。此时,你的心脏出现不规则心悸、血压下降,造成不可挽回的悲剧。 何谓Ⅰ类产品与Ⅱ类产品?  ClassⅠ 设备是指可接触之导体零件连接至接地保护导体;当基本绝缘失效时,接地保护导体必须能承受失效误电流,也就是当基本绝缘失效时,可接触零件不可变成活电部。简单地说,电源线有接地脚之设备为ClassⅠ设备 。ClassⅡ设备不仅依赖『基本绝缘』来防范电缶,且另提供其它的安全预防措施,如『双重绝缘』或『强化绝缘』。对于保护性接地或安装条件的可靠性并无条件规定。 电气伤害的测试主要有哪些? 电气伤害的测试主要分为以下四种: 耐压测试(Dielectric Withstand Hipot Test):耐压测试在产品的电源端与地端电路上,施以一高压并量测其崩溃状态。 绝缘电阻测试(Isolation Resistance Test):量测产品电气绝缘状态。 漏电流测试(Leakage Current Test ):检测AC/DC电源流至地端的漏电流是否超过标准。 接地保护测试(Protective Ground):检测可接触之金属机构等部位是否有确实接地。 安规标准对于耐压测试环境是否有特殊的要求?  针对制造商或是测试实验室的测试人员安全, 在欧洲早已行之多年,不论是电子电器、资讯科技产品、家用电器、机械工具或其他设备的制造商及测试人员, 在各项的安规法规里都有章节去规定,不论是UL、 IEC、EN都有,其中内容包括测试区域标示(人员位置、仪器位置、DUT位置)、设备标示(清楚标示”危险”或是测试中的项目)、设备工作台等相关设施的接地状态、各测试设备的电气绝缘能力(IEC 61010)。 什么叫耐压测试? 耐压测试或高压测试(HIPOT测试) ,是用来验证产品的质量和电气安全特性(如JSI、CSA、BSI、UL、IEC、TUV等等国际安全机构所要求的标准)的一种100%的生产线测试,也是最多人知道的和经常执行的生产线安全测试。HIPOT测试是确定电子绝缘材料足以抵抗瞬间高电压的一个非破坏性的测试,是适用于所有设备为保证绝缘材料是足够的的一个高压测试。进行HIPOT测试的其它原因是,它可以查出可能的瑕疵譬如在制造过程期间造成的漏电距离和电气间隙不够。 为何要做耐压测试?  正常情况下,电力系统中的电压波形是正弦波。电力系统在运行中由于雷击、操作、故障或电气设备的参数配合不当等原因,引起系统中某些部分的电压突然升高,大大超过其额定电压,这就是过电压。过电压按其发生的原因可分为两大类,一类是由于直接雷击或雷电感应而引起的过电压,称为外部过电压。雷电冲击电流和冲击电压的幅值都很大,而且持续时间很短,破坏性极大。但由于城镇及一般工业企业内的3-10kV与以下的架空线路,因受厂房或高大建筑物的屏蔽保护,所以遭受直接雷击的概率很小,比较安全。而且这里讨论的是民用电器,不在上述范围内,就不进一步讨论。另一类是因为电力系统内部的能量转换或参数变化引起的,例如切合空载线路,切断空载变压器,系统内发生单相弧光接地等,称为内部过电压。内部过电压是确定电力系统中各种电气设备正常绝缘水平的主要依据。也就是说,产品的绝缘结构的设计不但要考虑额定电压而且要考虑产品使用环境的内部过电压。耐压测试就是检测产品绝缘结构是否能够承受电力系统的内部过电压。 AC耐压测试有什么优点呢?   通常AC 耐压测试比DC耐压测试更容易获得安全机构的接受。主要理由是大多数被测物品将工作于AC电压之下,而且AC耐压测试提供两种极**替给绝缘施加压力的优点,更接近产品在实际使用中会碰到的压力。由于AC测试不会给容性负载充电,从开始施加电压到测试结束电流读数保持一致。因此,由于不存在监视电流读数所要求的稳定化问题,也就不需要逐渐升高电压。这意味着,除非被测产品感应到突然施加的电压,操作员可以立即施加全电压并读出电流而不用等待。由于AC电压不会给负载充电,在测试之后用不着给被测设备放电。 AC耐压测试有什么缺点呢?  在测试容性负载时,总电流由电抗性电流和泄漏电流组成。当电抗性电流量远大于真实泄漏电流时,可能难于测出有过量泄漏电流的产品。在测试大容性负载时,所需要的总电流远大于泄漏电流本身。由于操作员面对更大的电流,这可能是一个更大的危险。 DC耐压测试有什么优点呢? 当被测设备(DUT)充满了电,流过的就只有真正的泄漏电流。这使DC耐压测试器能够清楚地显示出被测产品的真正泄漏电流。由于充电电流是短暂的,DC耐压测试器的功率要求通常可以比用来测试同样产品的AC耐压测试器的功率要求小得多。 DC耐压测试仪有什么缺点呢? 由于DC耐压测试的确给被测物(DUT)充电,为了消除在耐压测试后处置被测物(DUT) 之操作员触电的危险,在测试后就必须给该被测物(DUT)放电。DC测试会对电容充电。如果DUT实际上用交流电源的话,DC法就没有模拟实际情况。 AC耐压测试和DC耐压测试的区别  耐压测试有两种:AC耐压测试和DC耐压测试。由于绝缘材料的特性决定了交流和直流电压的击穿机理不同。大多数绝缘材料和系统都包含了一系列不同的介质。当对之施加交流试验电压时,电压将按材料的介电常数和尺寸等参数的比例来分配电压。而直流电压只按材料的电阻的比例来分配电压。而且实际上,绝缘结构发生击穿,往往是电击穿,热击穿,放电等多种形式同时存在,很难截然分开。而交流电压比直流电压增加了热击穿的可能性。所以,我们认为交流耐压测试比直流耐压测试更加严格。实际操作中,在进行耐压测试时,如果要使用直流做耐压测试时,试验电压要求比交流工频的试验电压高。一般直流耐压测试的试验电压是通过把交流试验电压的有效值乘以一个常数K。通过对比测试,我们有如下的结果:电线电缆产品,常数K选用3; 航空工业,常数K选用1.6 至1.7;CSA对民用产品一般使用1.414。 怎样确定耐压测试使用的测试电压呢? 决定耐压测试的测试电压取决于您产品所要投入的市场,你必须遵守该国进口管制条例组成部分的安全标准或规定。安全标准中规定了耐压测试的测试电压和测试时间。最理想的状况是请你的客户给您相关测试要求。一般耐压测试的测试电压如下:工作电压在42V到1000V之间的,测试电压是工作电压的两倍加上1000V。这种测试电压要施加1分钟。例如,对于工作于230V的一种产品,测试电压是1460V。如果减短施加电压的时间,就必须增大测试电压。 什么是耐压测试的容量,要如何计算?  耐压测试器的容量是指其功率输出。而耐压测试器容量决定于最大的输出电流x最大输出电压。例如:5000Vx100mA=500VA 为什么使用AC耐压测试与DC耐压测试所量测之漏电流值会不同? 被测物的杂散电容是导致AC与DC耐压测试所量测值不同的主要原因。用AC测试时可能无法充饱这些杂散电容,会有一个持续电流流过这些杂散电容。而用DC测试,一旦被测物上的杂散电容被充饱,剩下的就是被测物实际的漏电电流,故使用AC耐压测试与DC耐压测试所量测之漏电流值会有不同 。 什么是耐压测试之漏电流 绝缘体是不导电的,但实际上几乎没有什么一种绝缘材料是绝对不导电的。任何一种绝缘材料,在其两端施加电压,总会有一定电流通过,这种电流的有功分量叫做泄漏电流,而这种现象也叫做绝缘体的泄漏。对于电器的测试,泄漏电流是指在没有故障施加电压的情况下,电气中带相互绝缘的金属零件之间,或带电零件与接地零件之间,通过其周围介质或绝缘表面所形成的电流称为泄漏电流。按照美国UL标准,泄漏电流是包括电容耦合电流在内的,能从家用电器可触及部分传导的电流。泄漏电流包括两部分,一部分是通过绝缘电阻的传导电流I1;另一部分是通过分布电容的位移电流I2,后者容抗为XC=1/2pfc与电源频率成反比,分布电容电流随频率升高而增加,所以泄漏电流随电源频率升高而增加。例如:用可控硅供电,其谐波分量使泄漏电流增大。 耐压测试之漏电流与电源泄漏电流(接触电流)有何不同?  耐压测试是侦测流过被测物绝缘系统之漏电流,以一高于工作电压之电压施加于绝缘系统;而电源泄漏电流(接触电流)则是在被测物正常操作下,以一最不利的条件(电压、频率)对被测物量测漏电流。简单地说,耐压测试之漏电流为无工作电源下所量测之漏电流,电源泄漏电流(接触电流)为正常操作下所量测之漏电流 。 接触电流的分类 对于不同结构的电子产品,接触电流的量测也是有不同的要求,但总括来说接触电流可分为对地接触电流Ground Leakage Current、表面对地接触电流Surface to Line Leakage Current以及表面间接触电流Surface to Surface Leakage Current测试三种。 为什么要做接触电流测试? 对于 I 类设备的电子产品可触及的金属部件或是外壳还应具备良好的接地线路,以作为基本绝缘以外的一种防电击保护措施。但是[size=+0]我们也经常遇到一些使用者随意将 I 类设备当成 II 类设备使用,或是说其 I 类设备电源输入端直接将接地端 (GND) 拔除,这样就存在一定的安全隐患。即便如此,作为生产厂商有义务去避免这种情况对使用者造成的危险。这就是为什么要做接触电流测试的目的所在。 为什么耐压测试之漏电电流设定无一标准? 在AC耐压测试时因被测物种类不同,且被测物内都会有杂散电容存在以及测试电压不同就会有不同的漏电电流故无一标准。 如何决定测试电压?  决定测试电压最好的方法就是依据测试所需之规格设定。一般而言,我们会依2倍的工作电压加上1000V作为测试电压设定。例如一产品的工作电压是115VAC的话,我们就以2 x 115 + 1000 = 1230 Volt作为测试电压。当然,测试电压也会因绝缘层的等级之不同而有不同的设定。 Dielectric Voltage Withstand Testing、High Potential Testing、Hipot Testing有什么不同? 这三个名词都是相同的意思,只是在测试产业中常交替使用。 绝缘阻抗(IR)测试是什么? 绝缘电阻测试和耐压测试非常相似。把最高达1000V的DC电压施加到需要测试的两点。IR测试给出的通常是以兆欧为单位的电阻值,而不是耐压测试得出的Pass / Fail表示。一般典型的是,测试电压为500V 直流,绝缘电阻(IR)的值不得低于几兆欧。绝缘阻抗测试为非破坏试验,且能侦测绝缘是否良好,在某些规范中,是先做绝缘阻抗测试再进行耐压测试,而绝缘阻抗测试无法通过时,往往耐压测试也无法通过。 接地阻抗(Ground Bond)测试是什么? 接地连接测试,有人称之为接地连续性(Ground Continuity)测试,测量在DUT的机架与接地柱之间的阻抗。接地连接测试确定,该产品要是坏了的话DUT的保护电路是否能够胜任地处理故障电流。接地连接测试器将产生通过接地电路的,最大达到30A的DC电流或AC 均方根值电流(CSA要求量测40A),从而确定接地电路的阻抗,其一般在0.1奥姆以下。 耐压测试与绝缘电阻测试之间有什么不同呢?  IR测试是一种定性测试,它给出绝缘系统的相对质量的一个表示。通常用500V或1000V的DC 电压进行测试,结果用兆欧电阻来量测。耐压测试也给被测物(DUT)施加高压,但所加电压比IR 测试的高。其可以在AC或DC电压下进行。结果用毫安培或微安来量测。在有些规格中,先进行IR测试,接着再进行耐压测试。如果一个被测物(DUT)无法通过IR测试,则此被测物(DUT)也无法通过在更高的电压下进行的耐压测试。 为何接地阻抗测试要有开路电压限制?…

摩登3平台登录_医疗设备中,FPGA扮演什么角色?

出品 21ic中国电子网 付斌 网站:21ic.com FPGA(现场可编辑门阵列)作为赛灵思(Xilinx)的一项重要发明,以其可编程和灵活性着称。起初,FPGA只是用来仿真ASIC,再进行掩码处理和批量制造使用。不过ASIC相比FPGA来说明显在定制化上要求过高,流片量过小情况下成本反而更高,因此两者毫不冲突地“各司其职”。而后,随着加速器的出现和算力提升,目前已成为与GPU齐名的并行计算器件。 如今,FPGA已进发数据中心领域,相比CPU和GPU,FPGA所需器件更少,功耗也更优。赛灵思依靠其“数据中心优先”、“加速核心市场发展”、“驱动自适应计算”的三大战略加持下,使其ACAP平台和Alveo加速卡在数据中心市场极具竞争力。 除此之外,赛灵思曾为笔者展示过其云服务商领域的“一体化SmartNIC平台”、消费领域的“FPGA TCON”方案、工业领域的Zynq SoC系列方案。 实际上,根据赛灵思透露,医疗领域已占据赛灵思营收非常重要的比重,并且一直在11%-15%的速度增长。那么赛灵思是依靠什么FPGA产品占据的医疗市场,FPGA器件在医疗设备中扮演什么角色? 日前,赛灵思为记者介绍了近期在医疗科学和医疗设备方面的成果,21ic中国电子网记者受邀参加此次采访。 FPGA器件能用在什么地方 信息显示,全球人均医疗支出每年都在增长,随着人口老龄化加剧,消费者对医疗条件和医疗成本都有着极高的预期。另一方面,随着疫情的爆发,市场对病情的及早发现和诊断的快速分析有了更高的要求,这就需要医疗器械成本的进一步降低和算力的提升。 FPGA器件自身拥有可编程特性,借助这种优势,可避免ASIC器件前期高昂的一次性工程费用,消除最低订单数量和多芯片迭代风险和损失。医疗行业本身是与科技发展联系最为紧密的行业之一,伴随FPGA器件的不断迭代升级,更多新设备出现,引领了新的治疗方法、治疗途径、治疗理念的改变。 赛灵思医疗科学全球业务市场负责人Subh Bhattacharya 根据Subh Bhattacharya的介绍,赛灵思的FPGA器件在医疗领域的应用主要分为三类:临床、医疗成像和诊断分析。 01 临床环境 临床设备数量大种类多,因此需要灵活性极强的FPGA。需要注意的是,部分设备直接影响患者生命安全,对启动速度、安全稳定性、时延要求极高;部分设备在便携性上则有一定要求,对功耗、小尺寸有很大需求。 根据Subh的介绍,在临床方面,赛灵思的Zynq UltraScale+ MPSoC(下文简称为“ZU+ MPSoC”)是一个高度集成的平台,集成多个处理器,拥有可编程逻辑,此外还集成了信息安全和功能安全功能。Subh强调,这个技术平台的强大功能和性能非常适合在临床环境应用之中,包括从云端到边缘。 Subh为记者展示了几个利用该平台解决临床环境的实例: 其一是赛灵思与Spline.AI和AWS(亚马逊云服务)合作开发的医疗AI,利用ZU+MPSoC的ZCU104平台作为边缘设备,实现的高精度低时延的医疗X射线分型深度学习模型和参考设计。该方案可独立自主根据Chest X-Ray预测疾病,也可预测COVID-19和肺炎,也可开发定制模型供临床使用。另外,ZCU104支持开源语言PYNQ语言下开发,也可借助AWS IoT Greengrass实现进一步的扩展和部署。该方案发挥了ZU+ MPSoC的高性能和扩展性,赋予了低成本医疗设备高精度的诊断。 其二是赛灵思为奥林巴斯内窥镜核心技术提供支持。该方案发挥了ZU+ MPSoC在启动速度、功耗和低时延的特性。 其三是赛灵思为Clarius超便携高性能超声波系统。该方案发挥了ZU+ MPSoC片上双ARM处理器和FPGA的小尺寸封装特性,实现了超便携。 究其历史,Zynq SoC是赛灵思在2011年推出的全球首款集成ARM内核的产品,彼时该平台称为“可扩展的处理器平台”,主要是为了将市场扩展到嵌入式应用之中。此前FPGA多用作辅助芯片,自从引入更多功能的集成SoC平台之后,ARM GPU、数据安全处理器、功能安全处理器都被集成在单芯片之中。Subh表示,经过这样的转型之后,赛灵思从每年5%-6%的收入增长,实现了到14%-15%的收入增长,2.5倍的增长率全要归功于这样的技术平台。 除此之外,Subh还为记者展示ZU+ MPSoC在医疗安全上的解决方案。“目前,全球安装的医疗物联网设备超过1亿台,到2020年将增长到1.61亿台。医界高管认为 59%隐私问题, 55%老旧系统集成和54%安全问题,是阻碍当今医疗机构采用物联网的三大障碍。” Subh表示,赛灵思可以利用可编程平台,不断适应新的安全防护措施,这种升级囊括了软件和硬件。最终体现在SoC上的,就是认证与加密启动、安全启动、测量启动、安全应用通信、基于云的监测等功能。 02 医疗成像 大型医疗成像设备使用FPGA器件已经是基本操作,Subh为记者介绍,在医疗成像方面,主要包括CT、超声、X射线、PET、MRI扫描仪等。 对于医疗成像,Zynq UltraScale+ MPSoC同样适用。Subh表示,除此之外还有Versal ACAP,这个系列可以理解为下一代的MPSoC,Versal ACAP在成像领域具有非常大优势。 Versal ACAP除了拥有ARM多处理器集成、可编程逻辑、DSP以外,还加入了AI引擎,即SIMD、VLIW这样的单元,可以支持很多类似操作的平行处理。 Subh为记者展示了超声波图像重构与计算机辅助诊断的方案,利用赛灵思的软硬件支持,能够降低功耗和热度范围、降低解决方案成本、延长设备使用寿命、低时延边缘推断,虽然市场非常复杂,赛灵思的技术也能够大大提高生产力。 03 诊断分析 Subh表示,除了SoC和FPGA,赛灵思还提供即插即用的Alveo加速卡,正因这是一种PCle的解决方案,因此可以大大降低开发时长。根据介绍,Alveo加速卡适用于任何通用PC,既可以加速CPU的普通任务,也可以加速其他的GPU的任务,最终实现高吞吐量和超低时延。其独特的算力和灵活应变能力,可以大大加速很多的医疗应用。 联影医疗(United Imaging)是一家中国公司,这家公司在使用Alveo U200加速卡替代传统GPU时发现,Alveo的技术成本更低、功耗更低,并且无需牺牲任何性能或是开发进度。 FPGA vs. CPU&GPU 医疗设备中使用CPU或者GPU产品的方案也屡见不见,为何FPGA拥有如此卓著效果,甚至有着替代CPU和GPU的“魔力”?实际上,CPU和GPU都属于冯诺依曼结构,FPGA能够突破结构上的限制因此拥有极强的能效。 具体来说,CPU和GPU需要使用SIMD(单指令流多数据流)来执行存储器、译码器、运算器、分支跳转处理逻辑等,FPGA则在烧写时已经确定每个逻辑单元的功能,因此不需要指令;另外,CPU和GPU在内存使用中是共享的,因此就需要访问仲裁,执行单元间的私有缓存使得部件间要保持缓存一致性,同样在烧写过程中FPGA已明确通信要求,因此无需共享内存进行通信。 得益于此,FPGA拥有极强的浮点乘法运算能力,而且对比同样是浮点运算的GPU延迟更低。这是因为,FPGA同时拥有了流水线并行和数据并行,而GPU只有数据并行。 从算力上来说,赛灵思还将FPGA器件转变为了SoC进行加速和自适应。赛灵思在加速上通过标量引擎实现,包括ARM、应用处理器和实时处理器,而自适应引擎的核心便是可编程逻辑器件FPGA,另外还配备智能引擎,目前配备的是DSP。特别是,在Versal ACAP的平台上还会将会有AI引擎进行支持,进一步进行加速和自适应。 “在医疗领域,诸如内窥镜这种应用,手术中患者拥有一个共同的要求,就是时延非常低,甚至需要实时来完成。从摄像头捕捉图像,经过管线处理,再到显示屏可能不到20微妙的时间。CPU和GPU达不到FPGA如此低的时延,因此这就是FPGA相比CPU和GPU的最大优势”,Subh继续为记者介绍,从功耗、成本和集成上,赛灵思SoC的FPGA也拥有更好的优势。 “很多领域,诸如视觉化,GPU使用很多年了,FPGA并不是做不到,不过我们还是会专注在优势的领域,即在封闭空间内做数据移动,而非断断续续的内存上传的情境”,Subh坦言。 不同层面分析FPGA在医疗的应用 能够在医疗领域,兼顾拥有业界领先的AI时延与性能,生命周期延长、高质量、高可靠性、高安全性,实时、确定性控制与接口的仅赛灵思一家。 赛灵思除了提供FPGA和 SoC这样的硬件器件及平台以外,还专门为降低FPGA 开发门槛满足广泛市场应用需求量身定制了Vitis AI统一软件平台。之前笔者也曾多次介绍这款软件平台,算法工程师无需硬件设计经验,也可直接应用算法的实现。 赛灵思的医疗解决方案帮助了Illumina对重症新生儿做基因组分析,为ICU患者和重症患者加速推进eyetech的基于眼球追踪的沟通平板电脑,与迈瑞合作以抗击新冠疫情。FPGA就是在不经意间为声名增添了一份敬畏。 笔者认为,赛灵思的FPGA器件从高性能加速和自适应两方面着手,成为了其在市场立足的最大竞争力。一方面,FPGA、ARM、应用处理器、实时处理器、DSP、AI引擎利用片上系统(SoC)和软件进行高度集成,既增强了算力也增强了应用的扩展性;另一方面,FPGA本身拥有的低延时性,对于时延要求极高的医疗领域可以说是“天生一对”。 从市场上来分析,随着疫情的爆发,医疗设备市场需求持续增加,其中不乏大型数据分析和便携性要求极高的设备,这刚好吻合了FPGA SoC的特点。另一方面,医疗水平的提升和市场马太效应之下,更具能效和低功耗优势的FPGA产品需求量持续增加。 从软件上分析,赛灵思的Vitis平台适用于不同人群,包括熟练掌握HDL语言的硬件工程师,熟练掌握各大编程语言的软件工程师,也适用于熟练掌握TensorFlow、Caffe、PyTorch的算法工程师。利用这种灵活性,可以让许多有创意的初创公司有了施展拳脚的可能。 通过赛灵思的介绍,可以说无论是大型设备还是便携设备,FPGA都有其一席之地。 未来赛灵思医疗创新之路该如何发展?Subh表示,在医疗产品上赛灵思将不断提高集成度并降低封装尺寸,另一方面,将会不断发展异构计算提高效率和性能。  近期热度新闻 【1】三星“特别对待”vivo:进击的5nm手机SoC! 【2】为H3C、腾讯插翅腾飞!intel这次真的让人直呼Yes 【3】 掘金中国代工业!SK海力士把200mm晶圆产线搬到无锡 【1】13款Linux实用工具推荐,个个是神器! 【2】运放电路:同相放大还是反相放大? 【3】 【1】终于整理齐了,电子工程师“设计锦囊”,你值得拥有! 【2】半导体行业的人都在关注这几个公众号 【3】 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3娱乐怎么样?_精彩回顾 | 3D视觉,让所有终端都能看懂世界

本文来源:深圳市物联网产业协会 由深圳市科学技术协会主办,深圳市物联网产业协会承办的以“3D视觉*让所有终端都能看懂世界”为主题的《自主创新大讲堂—星火沙龙之物联网产业大讲堂系列活动(10场)》,在深圳市南山区东方科技大厦22楼成功开讲。现场共吸引了20来位物联网领域专业的技术研发人员前来交流学习。 图丨讲座现场 主讲嘉宾|彭勋禄 本期讲座主讲嘉宾彭勋禄,为奥比中光科技集团股份有限公司高级战略BD总监,是全国智标委标准化技术委员会委员;中国图象图形学会青年工作委员会委员;智慧城市传媒机构的运营管理,安防与智能机器人领域专家;有着十余年安防从业经验,曾任中国智慧城市专家委员会委员,参与国内多个智慧城市顶层规划设计,主持过AI与物联网项目规划、落地工作。 本讲课程,彭总围绕3D视觉与人工智能的关系、3D视觉技术商业化落地实践等主题进行专题分享与讨论。彭总从人工智能的发展讲到“3D视觉与人工智能/5G的关系”,并分别介绍了“双目测距法、TOF时间飞行法、结构光这三种3D视觉成像技术及国际国内发展格局与当下面临的挑战突破”;着重强调并分享了“3D视觉的关键技术和应用领域”。 在课程一开始,彭总就提出“3D视觉到底是什么技术?对我们未来生活、工作会带来哪些改变?在新基建、智能制造、人工智能的风口,传统企业该如何实现技术创新与变革发展?”三个问题,希望嘉宾们在课程中边听边思索。 Part 01 3D视觉概况 紧接着,彭总向大家介绍了“双目测距法、TOF时间飞行法、结构光”三种3D视觉成像技术并分享了“3D传感技术”的国际国内发展格局——光、机、电、芯片、算法、SDK、固件开发等复杂学科交叉融合;光学技术突破,以适应狭小元件空间;满足手机应用在低功耗,维持性能、温度和结构稳定性方面的要求。 在市场空间方面,彭总说,随着2017年苹果率先将基于3D结构光技术的Face ID应用在iPhone X上之后,彻底引爆了3D成像市场。而伴着人工智能和5G的迅速发展,3D感知技术在物联网时代的三维应用中将掀起一股浪潮,据Yole D’developpement最新的预测则显示:2019-2025年3D成像与传感市场规模将从50亿美元增加至150 亿美元,复合增长率仍可超过20%。特别是在消费电子领域,3D成像和传感市场将从2019年的20.17亿美元增长到2025年的81.65亿美元,年复合增长率超过26%。 加之,全球光学产业链向亚洲转移世纪机遇,底层核心技术和下游的应用生态的市场空间更加巨大。 Part 02 3D视觉技术商业化应用实践 在该部分,彭总向大家分享了基于3D感知在消费类电子产品、手机前后置3D视觉应用、智能电视、智能家居、智能投影、新零售新金融、刷脸应用、人体测温、地产-房屋空间三维重建、刑侦-犯罪现场三维实景重建、物流-智能量方手持终端、3D量体-服装定制、三维体征数据、数字商显广告、机器人在工业领域等场景的典型应用案例。 讲座的最后,彭总耐心地解答了参会嘉宾的提问,并与嘉宾们一同探讨了实际应用过程中的问题和困难点,同时给出了相应的参考解决方案或可参考解决方向。 纵观 全场 回顾整场讲座,大部分参与人员表示受益良多,并希望以后有更多机会参加此类活动。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3内部554258_举例分析Intel FPGA和Xilinx FPGA的区别

今天和大侠简单聊一聊 Intel altera 和 Xilinx 的 FPGA 区别,话不多说,上货。 最近有很多人在问,学习FPGA到底是选择 Intel altera 的还是 xilinx 的呢,于是我就苦口婆心的说了一大堆,中心思想大概就是,学习FPGA一定要学习 FPGA 的设计思想以及设计原理,不要纠结于单一的实验平台或者操作软件,因为你想在这个行业越走越高的话,广度和深度都是要有所了解的。 初期学习的时候尤其注重动手,选择一款操作平台以及操作软件是为了让你更好的去动手做,而不是让你在这款软件或者实验平台去做文章,因为不懂原理的话,换个环境你同样是什么都不明白。尤其是现在的科技公司产品更新升级换代还比较快,要学会去掌握最核心的知识点才是王道。 下面,咱们就来简单聊聊 Intel altera 和 Xilinx 的 FPGA 区别,欢迎大家一起交流,三人行,必有我师,共同学习,共同进步。 对于 Intel altera 和 Xilinx 的 FPGA,本人认为可以分为两个方面去比较一下,基本逻辑资源和内部基本架构。从目前企业中做开发使用的广泛性来说,Xilinx 占得比重确实是大一些,但是从其他方面来说,比如价格,相对而言 Intel altera 的便宜些。 对于两者的特点,Xilinx 的短线资源非常丰富,这样在实现的时候,布线的成功率很高,尤其是逻辑做得比较满的时候。而 Intel altera 的 FPGA 的短线资源经常不够用,经常要占用LE来充当布线资源,这也是为什么 Intel altera 的 FPGA可以便宜的原因,资源少些当然便宜,但是如果你是高手,也能把他的性能发挥得很好。 另外就是关于块RAM,Xilinx的双口RAM是真的,Intel altera的没有双口RAM,如果你要实现真正的双口RAM,只能用两块RAM来背靠背地实现,这样你的RAM资源就少了一半,如果你的应用对片内双口RAM的需求很重要,用 Intel altera 的就划不来。 下面咱们就从我刚才说的基本逻辑资源和内部基本架构这两个方面来聊聊。        1、基本逻辑资源 基本的逻辑资源我建议大家可以去看看两家的芯片做个比较,今天时间有限就不给各位详谈了,通过比较你会发现我上面说的还是有点道理的。 2、内部基本架构 从1985年Xilinx公司推出第一片FPGA到现在,FPGA的使用已经有30多年的历史了。目前主流市场的FPGA主要还是Xilinx和Intel altera两大系列,下面分别来介绍下它们各自的基本结构组成。 Xilinx的FPGA主要由以下单元结构组成:可配置逻辑块(CLB)、时钟管理模块(CMT)、存储器(RAM/FIFO)、数字信号处理模块(DSP)和一些专用模块。以Virtex-5为例,简单介绍下各模块的功能。 1、可配置逻辑块(CLB) CLB是FPGA中组成设计逻辑的主要资源,也是电路设计中工作的主要对象,下面对CLB的内外结构做一个简单介绍。FPGA的逻辑就是由阵列排布的CLB实现的,每个CLB单元都和一个开关阵列相连,并受其控制以实现逻辑,如下图所示:  每一个CLB中包含有两个基本结构(Slice),每个基本结构中包含4个查找表(LUT)、4个存储单元、广函数多路器(Wide_function Multiplexer)和进位逻辑,这种基本结构(Slice)称为SLICEL。另外,有些基本结构(Slice)中还包含使用RAM存储数据的功能和使用32位寄存器移位的功能,支持这些功能的基本结构称为SLICEM。 2、时钟管理模块(CMT) 时钟管理模块(CMT)用于产生高质量的时钟,以Virtex-5系列器件为例,CMT包括两个 数字时钟管理单元(DCM)和一个锁相环电路(PLL)。 3、存储器(RAM/FIFO) 现代Xilinx的FPGA都有内部的存储器块,以Virtex-5为例,内部包含若干块RAM,每一块36KB,并且RAM的大小可以灵活配置。Virtex-5内的RAM是同步的双口RAM,并且可以配置为多速率的FIFO存储器,极大地提高了设计的灵活性。 4、数字信号处理模块(DSP) 大多数的FPGA产品都提供了DSP。 5、其他专用模块 除了上述模块外,在现代的Xilinx的FPGA产品中还有一些其他专用模块,例如:Rocket IO千兆位级收发器、PCI Express端点模块和三态以太网MAC模块等。 Intel altera 的产品一般包括如下单元结构:逻辑阵列模块(LAB)、TriMatrix存储器模块(RAM)、数字信号处理模块(DSP)和锁相环模块(PLL)。下面以Startix II 器件为例说明 Intel altera 公司产品的结构。 1、逻辑阵列模块(LAB) 逻辑阵列模块(LAB)的主要结构是8个适应逻辑模块(ALM),还包括一些进位链和控制逻辑等结构。适应逻辑模块(ALM)是 Stratix II 器件的基本模块,其结构如下图。 每个ALM中都包含了两个可编程的寄存器、两个专用全加器、一个进位链、一个共享算术链和一个寄存器链。需要注意的是,在上图所示的组合逻辑块(Combinational Logic)中包含了两个4输入4 查找表(LUT)和4个三输入的查找表。 2、 存储器模块(RAM) Stratix II 器件具有 TriMatrix 存储结构,它包括3种大小的嵌入式RAM块。TriMatrix 存储器包括512位的M512块、4Kb的M4K块和512Kb的M-RAM块,每个都可以配置支持各种特性。 3、 数字信号处理模块(DSP) DSP块结构是为实现多种 最大性能和最小逻辑资源利用率的DSP功能而优化的。 4、 锁相环(PLL) Stratix II 器件具有多达12个锁相环(PLL)和48个独立系统时钟,可以作为中央时钟管理器满足系统时序需求。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3平台注册登录_听说高手都用记事本写C语言代码?

坊间传闻高手都喜欢用记事本写代码,那么问题来了,我们以C语言为例,如何用记事本编译运行呢?其实最简单的方式就是安装GCC编译器,在记事本编写C语言程序,然后再在命令行用GCC编译运行,下面我简单介绍一下实现过程,感兴趣的朋友可以尝试一下: 安装GCC编译器 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3平台注册登录_如何将你的Python项目全面自动化?

每个项目——无论你是在从事 Web 应用程序、数据科学还是 AI 开发——都可以从配置良好的 CI/CD、Docker 镜像或一些额外的代码质量工具(如 CodeClimate 或 SonarCloud)中获益。所有这些都是本文要讨论的内容,我们将看看如何将它们添加到 Python 项目中! 在写这篇文章之前,我还写了一篇“Python 项目终极设置”,读者感兴趣的话,可以先读下那一篇:https://martinheinz.dev/blog/14。 GitHub 库中提供了完整的源代码和文档:https://github.com/MartinHeinz/python-project-blueprint。 开发环境中可调试的 Docker 容器 有些人不喜欢 Docker,因为容器很难调试,或者构建镜像需要花很长的时间。那么,就让我们从这里开始,构建适合开发的镜像——构建速度快且易于调试。 为了使镜像易于调试,我们需要一个基础镜像,包括所有调试时可能用到的工具,像bash、vim、netcat、wget、cat、find、grep等。它默认包含很多工具,没有的也很容易安装。这个镜像很笨重,但这不要紧,因为它只用于开发。你可能也注意到了,我选择了非常具体的映像——锁定了 Python 和 Debian 的版本——我是故意这么做的,因为我们希望最小化 Python 或 Debian 版本更新(可能不兼容)导致“破坏”的可能性。 作为替代方案,你也可以使用基于 Alpine 的镜像。然而,这可能会导致一些问题,因为它使用musl libc而不是 Python 所依赖的glibc。所以,如果决定选择这条路线,请记住这一点。至于构建速度,我们将利用多阶段构建以便可以缓存尽可能多的层。通过这种方式,我们可以避免下载诸如gcc之类的依赖项和工具,以及应用程序所需的所有库(来自requirements.txt)。 为了进一步提高速度,我们将从前面提到的python:3.8.1-buster创建自定义基础镜像,这将包括我们需要的所有工具,因为我们无法将下载和安装这些工具所需的步骤缓存到最终的runner镜像中。说的够多了,让我们看看Dockerfile: # dev.DockerfileFROM python:3.8.1-buster AS builderRUN apt-get update && apt-get install -y --no-install-recommends --yes python3-venv gcc libpython3-dev && \    python3 -m venv /venv && \    /venv/bin/pip install --upgrade pipFROM builder AS builder-venvCOPY requirements.txt /requirements.txtRUN /venv/bin/pip install -r /requirements.txtFROM builder-venv AS testerCOPY . /appWORKDIR /appRUN /venv/bin/pytestFROM martinheinz/python-3.8.1-buster-tools:latest AS runnerCOPY --from=tester /venv /venvCOPY --from=tester /app /appWORKDIR /appENTRYPOINT ["/venv/bin/python3", "-m", "blueprint"]USER 1001LABEL name={NAME}LABEL version={VERSION} 从上面可以看到,在创建最后的runner镜像之前,我们要经历 3 个中间镜像。首先是名为builder的镜像,它下载构建最终应用所需的所有必要的库,其中包括gcc和 Python 虚拟环境。安装完成后,它还创建了实际的虚拟环境,供接下来的镜像使用。接下来是build -venv镜像,它将依赖项列表(requirements.txt)复制到镜像中,然后安装它。缓存会用到这个中间镜像,因为我们只希望在requirement .txt更改时安装库,否则我们就使用缓存。 在创建最终镜像之前,我们首先要针对应用程序运行测试。这发生在tester镜像中。我们将源代码复制到镜像中并运行测试。如果测试通过,我们就继续构建runner。 对于runner镜像,我们使用自定义镜像,其中包括一些额外的工具,如vim或netcat,这些功能在正常的 Debian 镜像中是不存在的。 你可以在 Docker Hub 中找到这个镜像:https://hub.docker.com/repository/docker/martinheinz/python-3.8.1-buster-tools 你也可以在base.Dockerfile 中查看其非常简单的`Dockerfile`:https://github.com/MartinHeinz/python-project-blueprint/blob/master/base.Dockerfile 那么,我们在这个最终镜像中要做的是——首先我们从tester镜像中复制虚拟环境,其中包含所有已安装的依赖项,接下来我们复制经过测试的应用程序。现在,我们的镜像中已经有了所有的资源,我们进入应用程序所在的目录,然后设置ENTRYPOINT,以便它在启动镜像时运行我们的应用程序。出于安全原因,我们还将USER设置为1001,因为最佳实践告诉我们,永远不要在root用户下运行容器。最后两行设置镜像标签。它们将在使用make目标运行构建时被替换 / 填充,稍后我们将看到。 针对生产环境优化过的 Docker 容器 当涉及到生产级镜像时,我们会希望确保它们小而安全且速度快。对于这个任务,我个人最喜欢的是来自 Distroless 项目的 Python 镜像。可是,Distroless 是什么呢? 这么说吧——在一个理想的世界里,每个人都可以使用FROM scratch构建他们的镜像,然后作为基础镜像(也就是空镜像)。然而,大多数人不愿意这样做,因为那需要静态链接二进制文件,等等。这就是 Distroless 的用途——它让每个人都可以FROM scratch。 好了,现在让我们具体描述一下 Distroless 是什么。它是由谷歌生成的一组镜像,其中包含应用程序所需的最低条件,这意味着没有 shell、包管理器或任何其他工具,这些工具会使镜像膨胀,干扰安全扫描器(如 CVE),增加建立遵从性的难度。 现在,我们知道我们在干什么了,让我们看看生产环境的Dockerfile……实际上,这里我们不会做太大改变,它只有两行: # prod.Dockerfile#  1. Line - Change builder imageFROM debian:buster-slim AS builder#  ...#  17. Line - Switch to Distroless imageFROM gcr.io/distroless/python3-debian10 AS runner#  ... Rest of the Dockefile 我们需要更改的只是用于构建和运行应用程序的基础镜像!但区别相当大——我们的开发镜像是 1.03GB,而这个只有 103MB,这就是区别!我知道,我已经能听到你说:“但是 Alpine 可以更小!”是的,没错,但是大小没那么重要。你只会在下载 / 上传时注意到镜像的大小,这并不经常发生。当镜像运行时,大小根本不重要。 比大小更重要的是安全性,从这个意义上说,Distroless 肯定更有优势,因为 Alpine(一个很好的替代选项)有很多额外的包,增加了攻击面。关于 Distroless,最后值得一提的是镜像调试。考虑到 Distroless 不包含任何 shell(甚至不包含sh),当你需要调试和查找时,就变得非常棘手。为此,所有 Distroless 镜像都有调试版本。 因此,当遇到问题时,你可以使用debug标记构建生产镜像,并将其与正常镜像一起部署,通过 exec 命令进入镜像并执行(比如说)线程转储。你可以像下面这样使用调试版本的python3镜像: docker run --entrypoint=sh -ti gcr.io/distroless/python3-debian10:debug 所有操作都只需一条命令 所有的Dockerfiles都准备好了,让我们用Makefile实现自动化!我们首先要做的是用 Docker 构建应用程序。为了构建 dev 映像,我们可以执行make build-dev,它运行以下目标: # The binary to build (just the basename).MODULE := blueprint# Where to push the docker image.REGISTRY ?= docker.pkg.github.com/martinheinz/python-project-blueprintIMAGE := $(REGISTRY)/$(MODULE)# This version-strategy uses git tags to set the version stringTAG := $(shell git describe --tags --always --dirty)build-dev: @echo "\n${BLUE}Building Development image with labels:\n" @echo "name: $(MODULE)" @echo "version: $(TAG)${NC}\n" @sed                                 \     -e 's|{NAME}|$(MODULE)|g'        \     -e 's|{VERSION}|$(TAG)|g'        \     dev.Dockerfile | docker build -t $(IMAGE):$(TAG) -f- . 这个目标会构建镜像。它首先会用镜像名和 Tag(运行git describe创建)替换dev.Dockerfile底部的标签,然后运行docker build。 接下来,使用make build-prod VERSION=1.0.0构建生产镜像: build-prod: @echo "\n${BLUE}Building Production image with labels:\n" @echo "name: $(MODULE)" @echo "version: $(VERSION)${NC}\n" @sed                                     \     -e 's|{NAME}|$(MODULE)|g'            \     -e 's|{VERSION}|$(VERSION)|g'        \     prod.Dockerfile | docker build -t $(IMAGE):$(VERSION) -f- . 这个目标与之前的目标非常相似,但是在上面的示例1.0.0中,我们使用作为参数传递的版本而不是git标签作为版本 。当你运行…