1、概述\x26amp;nbsp; \x26amp;nbsp; \x26amp;nbsp;Aurora 8B/10B协议是一个用于在点对点串行链路间
引言:在高速和射频领域,S参数是一个极其重要的参数,S参数即反射和传输系数,用于衡量高速(RF)器件和传输线之间的阻抗匹配情况。在链路仿真、器件性能评估、设计优化方面使用非常广泛,本节简述S参数相关知识。
“热拔插”其实就是带电拔插,对于日常使用的电子产品来说,很多时候我们都是经常性的带电拔插,比如路由器,手机,平板,笔记本电脑等等,你很难做的到,说先把充电线接上设备,然后再去插220V的排插,反正我日常使用不会去刻意纠结这个顺序,咋方便咋来。那“热拔插”由于是带电拔插,所以就会在接触的那一瞬间,会产生尖峰电压,这对板子上的器件是致命的。那该如何改善这一情况呢?(1)加RC缓冲电路,如下图所示:具体的选值,需要先测出电路中尖峰的频率(本质上和LC振荡区别不大),再根据公式:C是电路中的杂散电容。L是电路中的等效电感。详细的计算过程我们后面在反激电源RC吸收电路中再展开讲。 (2)加TVS或者ESD,这个方式是比较简单,具体的选型要求可以翻看下面这两篇文章:TVS管几点选型经验!从SD卡电路中学习如何使用ESD管防静电 (3)复合防护电路,主要由TVS管和压敏,安规电容组成,效果较好,但成本稍高!好了,就先写到这吧!
一、mmap在linux系统哪里? 二、什么是mmap? 通过上图我们可以知道mmap是操作硬件设备的一种方法,所谓操作设备,比如IO端口(点亮一个LED)、LCD控制器、磁盘控制器,实际上就是往设备的物理地址上读写数据。 但是,由于应用程序不能直接操作设备硬件地址,所以操作系统提供了这样一种机制——内存映射,把设备地址映射到进程虚拟地址,mmap就是实现内存映射的接口。 操作设备还有很多方法,如ioctl、ioremap等。 mmap的好处就是,mmap把设备内存映射到虚拟内存,则用户操作虚拟内存相当于在直接操作设备,省去了用户空间到内核空间的复制过程,相对IO操作来说,增加了数据的吞吐量。 三、什么是内存映射? 既然mmap是实现内存映射的接口,那么内存映射是什么呢?如下图所示: 每个进程都有独立的进程地址空间,通过页表和MMU,可以将虚拟地址转换为物理地址,每个进程都有独立的页表数据,这就可以解释为什么两个不同进程相同的虚拟地址却对应着不同的物理地址。 四、mmap在文件内存映射上的应用 在unix/linux平台上读写文件,一般有两种方式。分别为open系统调用函数和mmap内存映射。 1.open系统调用 首先open文件,接着使用read系统调用函数来读取文件。于是内核将文件的内容从磁盘上读取到内核页高速缓存中(主存RAM中),再从内核高速缓存读取到用户进程的地址空间。这么做需要在内核和用户空间之间做多次数据拷贝。而且当多个进程同时读取一个文件时,那么每个进程在自己的页表中都有这个文件的副本并且都对应到物理内存中各自的副本,这样便造成了物理内存的浪费。如下图所示: 2.mmap内存映射 mmap是一种内存映射的方法,就是将一个文件或者其他对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对应关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。如下图所示: 五、linux内存描述符 了解了内存映射的概念后,那么内核是怎么管理这些地址空间的呢?任何复杂的理论最终也是通过各种数据结构体现出来的,而这里使用的数据结构就是进程描述符。从内核角度看,进程是分配系统资源(CPU、内存)的载体,为了管理进程,内核必须对每个进程所做的事情进行清楚的描述,这就是进程描述符。内核用task_struct结构体来表示进程,并且维护一个该结构体链表来管理所有进程。该结构体包含一些进程状态、调度信息等上千个成员,我们这里主要关注进程描述符里面的内存描述符(struct mm_struct mm)。内存管理如下图所示: 现在已经知道了内存映射是把设备地址映射到进程空间地址(注意:并不是所有内存映射都是映射到进程地址空间的,ioremap是映射到内核虚拟空间的,mmap是映射到进程虚拟地址上的),实质上是分配了一个vm_area_struct结构体加入到进程的地址空间,也就是说,把设备地址映射到这个结构体,具体到映射的过程就是驱动程序要做的事情了。vm_area_struct结构中包含区域起始和终止地址以及其他相关信息,同时也包含一个vm_ops指针,其内部可引出所有针对这个区域可以使用的系统调用函数。这样,进程对某一虚拟内存区域的任何操作需要用到的信息,都可以从vm_area_struct中获得。并且如上图所示vm_area_struct结构通常是用链表的形式保存以方便进程快速的访问。 六、mmap内存映射原理 1.内存映射的步骤 用open系统调用打开文件,并返回文件描述符fd; 用mmap建立内存映射,并返回映射首地址指针start; 对映射文件进行各种操作,可以用指针偏移的方式进行读写; 用munmap关闭内存映射; 用close系统调用关闭文件描述符fd。 2.mmap内存映射的实现过程,总的来说可以分为三个阶段 (一)进程启动映射过程,并在虚拟地址空间中为映射创建虚拟映射区域 进程在用户空间调用库函数mmap,原型为:void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); 在当前进程的虚拟地址空间中,寻找一段空闲的满足要求的连续的虚拟地址; 为此虚拟区域分配一个vm_area_struct结构体,接着对这个结构体的各个字段进行初始化; 将新建的虚拟区域结构体(vm_area_struct)插入到进程的虚拟地址区域链表或树中。 (二)调用内核空间的mmap函数(不同于用户空间的mmap函数),实现文件物理地址和进程虚拟地址的一一映射关系 为映射分配了新的虚拟地址区域后,通过待映射的文件指针,在文件描述符表中找到对应的文件描述符,通过文件描述符,链接到内核“已打开文件集”中该文件的文件结构体(struct file),每个文件结构体维护着和这个已打开文件相关的各项信息。 通过该文件的文件结构体,链接到file_operations模块,调用内核函数mmap,其原型为:int mmap(struct file *filp, struct vm_area_struct *vma),非用户空间的mmap函数; 内核mmap函数通过虚拟文件系统inode模块定位到文件磁盘物理地址; 通过remap_pfn_range函数建立页表,即实现了文件地址和虚拟地址区域的映射关系。此时,这片虚拟地址并没有任何数据关联到主存中。(本质上,用户进程的虚拟地址映射到磁盘文件中间还是需要经过物理内存的,也就是说进程操作虚拟地址会对应到物理地址上,物理内存再与磁盘交互数据) (三)进程发起对这片映射空间的访问,引发缺页异常,实现文件内容到物理内存的拷贝 注:前两个阶段仅在于创建虚拟区域并完成地址映射,但是并没有将任何文件数据拷贝至主存,真正的文件读取是当进程发起读或写操作时。 进程的读或写操作访问虚拟地址空间这一段地址映射,通过查询页表,发现这一段地址并不在物理页面上。因为目前只建立了地址映射,真正的硬盘数据还没有拷贝到内存中,因此引发缺页异常。 缺页异常进行一系列判断,确定无非法操作后,内核发起请求调页过程。 调页过程先在交换缓存空间(swap cache)中寻找需要访问的内存页,如果没有则调用nopage函数把所缺的页从磁盘装入到主存中。 之后进程即可对这片主存进行读或写的操作,如果写操作改变了其内容,一定时间后系统会自动回写脏页面到对应的磁盘地址,也即完成了写入文件的过程。 修改过的脏页面并不会立即更新回文件中,而是有一段时间的延迟,可以调用msync()来强制同步,这样所写的内容就能立即保存到文件里了。 3.mmap和常规文件读写的区别 简单介绍一下常规文件系统操作(调用read/fread等函数),函数的调用过程是: 进程发起读写文件请求; 内核通过查找进程文件符表,定位到内核已打开文件集上的文件信息,从而找到此文件的inode; inode在address_space上查找要请求的文件页是否已经缓存在内核页缓存中。如果存在,则直接返回这片文件页的内容; 如果不存在,则通过inode定位到文件磁盘地址,将数据从磁盘复制到内核页缓存。之后再次发起读页面的过程,进而将内核页缓存中的数据发给用户进程。 总结来说,常规文件操作为了提高读写效率和保护磁盘,使用了内核页缓存机制。这样造成读文件时需要先将文件页从磁盘拷贝到内核页缓存中,由于内核页缓存处在内核空间,不能被用户进程直接寻址,所以还需要将内核页缓存中的数据页再次拷贝到用户进程对应的物理内存中。这样,通过了两次数据拷贝过程,才能完成进程对文件内容的获取任务。写操作也是一样,待写入的buffer在内核空间是不能直接访问的,必须要先拷贝至内核空间对应的主存,再写回磁盘中(系统回延迟写脏页面),也是需要两次数据拷贝。 而使用mmap操作文件时,创建新的虚拟内存区域和建立文件磁盘地址和虚拟内存区域映射这两步没有任何文件拷贝操作。而之后访问数据时发现内存中并无数据而发起的缺页异常过程,可以通过已经建立好的映射关系,只使用一次数据拷贝,就从磁盘中将数据传入用户进程的内存中,供进程使用。 总而言之,常规文件操作需要从磁盘到内核页缓存再到用户进程物理内存的两次数据拷贝。而mmap操作文件,只需要从磁盘到用户进程物理内存的一次数据拷贝过程。说白了,mmap的关键点是实现了用户空间到内核空间的数据直接交互而省去了空间不同数据不通的繁琐过程,因此mmap效率更高。 七、mmap函数说明 头文件 #include 创建内存映射mmap void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); 参数说明: addr: 入参,如果这个地址为null那么内核将自己为你指定一个地址,如果不为null,将使用这个地址作为映射区的起始地址 length:映射区的大小(<=文件的大小) prot: 访问属性,一般用PROT_READ、PROT_WRITE、PROT_READ|PROT_WRITE flags:这个参数是确定映射的更新是否对映射相同区域的其他进程可见,以及是否对基础文件进行更新 MAP_SHARED:共享此映射,映射的更新对映射相同区域的其他进程可见 MAP_PRIVATE: 创建写时专用拷贝映射,映射的更新对映射的其他进程不可见,相同的文件,并且不会传递到基 础文件。 我们一般用MAP_SHARED,这两个权限是限制内存的,而不限制文件 fd:被映射的文件句柄 offset:默认为0,表示映射文件全部。偏移未知,需要时4K的整数倍。 返回值:成功:被映射的首地址 失败:MAP_FAILED (void *)-1 释放内存映射 int munmap(void *addr, size_t length); 参数说明: addr: 被映射的首地址 length: 映射的长度 返回值:0:成功 -1:失败 八、mmap的基础使用 #include #include #include #include #include #include int main(int argc, const char *argv[]){ char *p = NULL; int fd = -1; // 打开文件 fd = open("temp", O_RDWR|O_CREAT|O_TRUNC, 0644); if (-1 == fd) { printf("文件打开失败...\n"); return -1; } // 因为我们文件不能是一个0大小的文件,所以我们需要修改文件的大小 // 有两种方式:leek,write,或者ftruncate都可以 /* // 改变一个文件的读写指针 lseek(fd, 1023, SEEK_END); // 写入一个结束符\0 write(fd, "\0", 1); */ // 我们还是用这种,比较方便,直接就修改了,和上面效果一样 ftruncate(fd, 1024); // 创建一个内存映射,让内和指定一个映射地址,大小为1024,可读可写,共享,映射到这个fd上 p = mmap(NULL, 1024, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); if (p == MAP_FAILED) { printf("mmap failed\n"); close(fd); return -1; } // 拿到地址之后我们就可以像操作普通地址一样写数据,读数据了,例如memcpy,strcpy等等 memcpy(p, "hello world", sizeof("hello world")); // 读数据 printf("p = %s\n",p); // 最后释放这个映射 if (munmap(p, 1024) == -1) { printf("munmap failed\n"); close(fd); return -1; } close(fd); return 0;} gcc mmap.c 进行编译得到可执行文件a.out./a.out 可以得到执行结果p = hello world 然后看当前文件夹下会出现一个temp的文件 我们直接用cat命令进行输出: 我们会发现其实是和程序输出的一样的,到这里,基本使用就结束了。 九、mmap的使用注意事项 1.能使用创建出来的新文件进行映射吗? 答案:能,但是需要修改文件的大小,如果不修改则会出现总线错误,程序如下: #include #include #include #include #include #include int main(int argc, const char *argv[]){ char *p = NULL; int fd = -1; // 打开文件 fd = open("temp", O_RDWR|O_CREAT|O_TRUNC, 0644); if (-1 == fd) { printf("文件打开失败...\n"); return -1; } // 因为我们文件不能是一个0大小的文件,所以我们需要修改文件的大小 // 有两种方式:leek,write,或者ftruncate都可以 /* // 改变一个文件的读写指针 lseek(fd, 1023, SEEK_END); // 写入一个结束符\0 write(fd, "\0", 1); */ // 我们还是用这种,比较方便,直接就修改了,和上面效果一样 // TODO ftruncate(fd, 1024); // 主要修改了这行,我们不进行文件大小调整,那么文件大小就是0 // 创建一个内存映射,让内和指定一个映射地址,大小为1024,可读可写,共享,映射到这个fd上 p = mmap(NULL, 1024, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); if (p == MAP_FAILED) { printf("mmap failed\n"); close(fd); return -1; } // 拿到地址之后我们就可以像操作普通地址一样写数据,读数据了,例如memcpy,strcpy等等 memcpy(p, "hello world", sizeof("hello world")); // 读数据 printf("p = %s\n",p); // 最后释放这个映射 if (munmap(p, 1024) == -1) { printf("munmap failed\n"); close(fd); return -1; } close(fd); return 0;} 和基础使用例子一样,只是注释了修改文件大小的逻辑ftruncate(fd, 1024),这样新创建的文件大小就是0, 我们编译运行,如下图:Bus error 所以结论就是:创建映射区的文件大小为0,而指定的大小非零的时候会出现总线错误 2.创建映射区的文件大小为0,实际指定映射区的大小为0 得到的结果:无效的参数 3.如果打开文件时flag为O_RDONLY,mmap时PROT参数为PROT_READ|PROT_WRITE会怎样? 得到的结果:无效的参数 4.如果打开文件时flag为O_RDONLY(新文件不行,需要一个有文件大小的文件),mmap时PROT参数为PROT_READ会怎样? 得到的结果:在写数据的时候段错误 5.如果打开文件时flag为O_WRONLY(新文件不行,需要一个有文件大小的文件),mmap时PROT参数为PROT_WRITE会怎样? 得到的结果:没有权限,mmap在创建的时候需要读权限,mmap的读写权限应该小于等于文件的打开权限,文件至少必须要有读权限。(前提是MAP_SHARED 模式下) 6.文件描述符fd,在mmap创建映射区完成即可关闭,后续访问文件,用地址访问。 7.如果offset是1000会怎么样? 得到的结果:无效的参数,必须是4K的整数倍(这个跟MMU有关,MMU映射的最小单位就是4K) 8.对mmap越界操作会怎样? 得到的结果:段错误,mmap映射以页为单位,就是说得到的空间的大小是4096的倍数,举个例子就是你申请了10个字节,但系统会给你申请4096,因为不够一页(4k),如果你申请4097,那么会给你申请两个页,所以才会发现你申请10个空间却能写如20个或者4096以下的字节数也不会崩溃的原因。 9.对mmap++是否还能munmap成功 得到的结果:不能,无效的参数,首地址变了,munmap必须释放申请的地址 十、mmap父子进程间通信 #include #include #include #include #include #include #include #include #include // 全局变量 var int var = 100;int main(int argc, const char *argv[]){ int *p; pid_t pid; int ret = 0; int fd; // 打开一个文件 fd = open("temp", O_RDWR|O_TRUNC, 0644); if (fd < 0) { perror("open error"); exit(1); } // truncate文件大小 ftruncate(fd, 4); // 创建映射区 p = (int *)mmap(NULL, 4, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); if (p == MAP_FAILED) { perror("mmap error"); exit(1); } // 关闭fd,mmap创建成功后就可以关闭了,因为直接使用地址了,不需要fd了 close(fd); // fork一个进程 pid = fork(); if (pid == 0) // 子进程 { *p = 2000; var = 1000; printf("child *p = %d, var = %d\n", *p, var); }else{ // 父进程 sleep(1); // 休眠一秒,让子进程先执行 printf("parent *p = %d, var = %d\n", *p, var); wait(NULL); // 回收子进程 // 释放共享内存 if (munmap(p, 4) == -1) { perror("munmap error"); exit(1); } } return 0;} 结果: 结果发现p指向的地址的内容改掉了,而var没有被改掉(对于父子进程共享的东西是读共享,写复制) 十一、mmap无血缘关系的进程间通信 写进程,循环写这个结构体大小的数据到共享内存 #include #include #include #include #include #include #include #include #include struct student{ int id; char name[256]; int age; }; int main(int argc, const char *argv[]){ int fd; struct student stu = {0, "zhangsan", 18}; struct student *p; fd = open("temp", O_RDWR|O_CREAT|O_TRUNC, 0644); if (fd < 0) { perror("open error"); exit(1); } ftruncate(fd, sizeof(stu)); p = mmap(NULL, sizeof(stu), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); if (p == MAP_FAILED) { perror("mmap error"); exit(1); } close(fd); while (1) { // 循环写 memcpy(p, &stu, sizeof(stu)); stu.id++; sleep(3); } if (-1 == munmap(p, sizeof(stu))) { perror("munmap error"); exit(1); } return 0; } 读进程,循环从共享内存中读 #include #include #include #include #include #include #include #include #include struct student{ int id; char name[256]; int age; }; int main(int argc, const char *argv[]){ int fd; struct student stu = {0, "zhangsan", 18}; struct student *p; fd = open("temp", O_RDONLY, 0644); if (fd < 0) { perror("open error"); exit(1); } p = mmap(NULL, sizeof(stu), PROT_READ, MAP_SHARED, fd, 0); if (p == MAP_FAILED) { perror("mmap error"); exit(1); } close(fd); while (1) { // 循环读 printf("stu.id = %d, stu.name = %s, stu.age = %d\n", p->id, p->name, p->age); sleep(3); } if (-1 == munmap(p, sizeof(stu))) { perror("munmap error"); exit(1); } return 0; } 一个读端一个写端执行结果如下: 一个写端多个读端执行结果如下: 多个写端一个读端: 十二、匿名映射 前面我们每次使用共享内存时,都会创建一个文件,这样会造成垃圾文件,接下来我们使用unlink把创建的文件删除掉,创建完就删除这个文件:unlink(文件名) #include #include #include #include #include #include #include #include #include // 全局变量 varint var = 100;int main(int argc, const char *argv[]){ int *p; pid_t pid; int ret = 0; int fd; // 打开一个文件 fd = open("temp", O_RDWR|O_TRUNC, 0644); if (fd < 0) { perror("open error"); exit(1); } // TODO 添加了这句删除文件 ret = unlink("temp"); if (ret == -1) { perror("unlink error"); exit(1); } // truncate文件大小 ftruncate(fd, 4); // 创建映射区 p = (int *)mmap(NULL, 4, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); if (p == MAP_FAILED) { perror("mmap error"); exit(1); } // 关闭fd,mmap创建成功后就可以关闭了,因为直接使用地址了,不需要fd了 close(fd); // fork一个进程 pid = fork(); if (pid == 0) // 子进程 { *p = 2000; var = 1000; printf("child *p = %d, var = %d\n", *p, var); }else{ // 父进程 sleep(1); // 休眠一秒,让子进程先执行 printf("parent *p = %d, var = %d\n", *p, var); wait(NULL); // 回收子进程 // 释放共享内存 if (munmap(p, 4) == -1) { perror("munmap error"); exit(1); } } return 0;} 这样执行完成之后,那个临时文件就没了 又要open,又要unlink的好麻烦,有没有更方便的方法。答案是有的。可以直接使用匿名映射来代替,其实linux系统给我们提供了创建匿名映射区的方法,无需依赖一个文件即可创建映射区,同样需要借助标志位flags来指定。 使用MAP_ANONYMOUS(或MAP_ANON),如: int *p = mmap(NULL, 4, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0); 需要注意的是,MAP_ANONYMOUS和MAP_ANON这两个宏是linux操作系统中特有的,类UNIX系统中无该宏定义,可以使用如下两步来完成匿名映射区的建立 fd = open("/dev/zero", O_RDWR);p = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, fd, 0); linux匿名映射的例子如下:只能用于有血缘关系的进程间通信 #include #include #include #include #include #include #include #include #include // 全局变量 var int var = 100; int main(int argc, const char *argv[]){ int *p; pid_t pid; int ret = 0; // 创建映射区-----TODO 匿名映射,大小随便指定,权限随便指定,fd用-1 p = (int *)mmap(NULL, 4, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0); if (p == MAP_FAILED) { perror("mmap error"); exit(1); } // fork一个进程 pid = fork(); if (pid == 0) // 子进程 { *p = 2000; var = 1000; printf("child *p = %d, var = %d\n", *p, var); }else{ // 父进程 sleep(1); // 休眠一秒,让子进程先执行 printf("parent *p = %d, var = %d\n", *p, var); wait(NULL); // 回收子进程 // 释放共享内存 if (munmap(p, 4) == -1) { perror("munmap error"); exit(1); } } return 0; } 类unix的例子 #include #include #include #include #include #include #include #include #include // 全局变量 varint var = 100;int main(int argc, const char *argv[]){ int *p; pid_t pid; int ret = 0; int fd; // 打开一个文件 TODO /dev/zero fd = open("/dev/zero", O_RDWR|O_TRUNC, 0644); if (fd < 0) { perror("open error"); exit(1); } if (ret == -1) { perror("unlink error"); exit(1); } // 创建映射区 flags 加 MAP_ANONYMOUS p = (int *)mmap(NULL, 4, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, fd, 0); if (p == MAP_FAILED) { perror("mmap error"); exit(1); } // 关闭fd,mmap创建成功后就可以关闭了,因为直接使用地址了,不需要fd了 close(fd); // fork一个进程 pid = fork(); if (pid == 0) // 子进程 { *p = 2000; var = 1000; printf("child *p = %d, var = %d\n", *p, var); }else{ // 父进程 sleep(1); // 休眠一秒,让子进程先执行 printf("parent *p = %d, var = %d\n", *p, var); wait(NULL); // 回收子进程 // 释放共享内存 if (munmap(p, 4) == -1) { perror("munmap error"); exit(1); } } return 0;}
本期我们来通过一个实例,详细了解机房如何做防雷接地? 一、为什么要做防雷接地? 计算机和网络越来越深入人们生活和工作中,同时也预示着数字化、信息化时代的来临。这些微电子网络设备的普遍应用,使得防雷的问题显得越来越重要。由于微电子设备具有高密度、高速度、低电压、和低功耗等特性,这就使其对各种诸如雷电过电压、电力系统操作过电压、静电放电、电磁辐射等电磁干扰非常敏感。如果防护措施不力,随时随地可能遭受重大损失。 二、机房防雷的必要性 雷击可以产生不同的破坏形式,国际电工委员会已将雷电灾害称为“电子时代的一大公害”,雷击、感应雷击、电源尖波等瞬间过电压已成为破坏电子设备的罪魁祸首。从大量的通信设备雷击事例中分析,专家们认为:由雷电感应和雷电波侵入造成的雷电电磁脉冲(LEMP)是机房设备损坏的主要原因。为此采取的防范原则是“整体防御、综合治理、多重保护”。力争将其产生的危害降低到最低点。 三、机房防雷接地系统设计 一、防雷设计 防雷接地系统是弱电精密设备及机房保护的重要子系统,主要保障设备的高可靠性,防止雷电的危害。中心机房是一个设备价值非常高的场所,一旦发生雷击事故,将会造成难以估量的经济损失和社会影响,根据GB50057《建筑物防雷设计规范》和IEC61024-1-1标准的有关规定,中心机房的防雷等级应定为二类标准设计。 目前大楼总配电室根据建筑物防雷设计规范,提供了第一级防雷,因此,在本工程网络中心机房市电配电柜前配置第二、三级复合防雷器。 防雷器采用独立模块,并应具有失效告警指示,当某个模块被雷击失效时可单独更换该模块,而不需要更换整个防雷器。 二三级复合防雷器的主要参数指标:单相通流量为:≥40KA(8/20μs),响应时间:≤25ns 二、接地系统设计 国家标准GB50174《计算机机房设计规范》中计算机机房应具有以下四种地:计算机系统的直流地、交流工作地、交流保护地和防雷保护地。 各接地系统电阻如下: Ø计算机系统设备直流地接地电阻不大于1Ω。 Ø交流保护地的接地电阻应不大于4Ω; Ø防雷保护地的接地电阻应不大于10Ω; Ø交流工作地的接地电阻应不大于4Ω; 1、机房室内等电位连接 在机房内设立一环形接地汇流排,机房内的设备及机壳采用S型的等电位连接形式,连接到接地汇流排上,用50*0.5铜铂带敷设在活动地板支架下,纵横组成1200*1200网格状,在机房一周敷设30*3(40*4)的铜带,铜带配有专用接地端子,用编织软铜线机房内所有金属材质的材料都做接地,接入大楼的保护地上。 工程中的所有接地线(包括设备、SPD、线槽等)、金属线槽搭接跨接线均应做到短、平、直,接地电阻要求小于或等于1欧姆。 2、机房屏蔽设计 整个机房屏蔽采用彩钢板进行六面体屏蔽,屏蔽板之前采用无缝焊接,墙身屏蔽体每边跟接地汇流排接地不少于2处。 3、机房接地装置设计 由于机房接地电阻要求较高,在该大楼附近另外增加人工接地装置,在地网槽内打入15根镀锌角钢,并用扁钢焊接起来,并采用降阻剂回填。机房静电接地采用50mm²多股铜芯线穿管引入。 接地装置的接地电阻要求小于或等于1欧姆。 四、机房地网制作方法 一、标准接地网的制作 在距建筑物1.5~3.0m处,以6m*3m矩形框线为中心,开挖宽度为0.8m、深0.6~0.8m的土沟,两长边中间贯通,采用长2.5m的L5(5*50*50)镀锌角钢,在沟底的每个交点处垂直打入一根,共计6-20根,作为垂直接地极; 然后采用4号(4*40)镀锌扁钢将六根角钢焊接连通,作为水平接地极;再用4号镀锌扁钢焊在地网框架的中间部位,引出至机房外墙角,离地高0.3m,作为PE接地端;最后从该接地端引出16-50平方毫米以上护套地线,沿墙边穿墙进入室内,连至机房内等电位接地汇集排。 二、利用大楼钢筋做地网 新建或翻建机房时,可利用入地混凝土立柱子内的钢筋作接地装置。在立柱内选取至少4根主筋(对角或对称的钢筋),用氧焊接通后再焊在两根伸出柱面的M12以上铜螺纹管上,作为接地端,引线至机房,与等电位接地汇流排连通,等电位接地排可设在防静电地板下面。 五、如何做机房防雷接地? 所谓接地,即把电路中的某一金属壳与大地边接在一起,形成电气回路。目的是为了让电流易于流如入大地,对人及设备形成保护。 接地的方法: 直流地悬浮法即直流地不接大地,与地严格绝缘; 直流地接地法,把计算机等设备中数字电路等的电位点地和网络。 无论采用何种形式,均须有接地母线,接地地杖,在此特别强调建议采用接地埋接地网络板,能更好的引导至大地,接地时应注意如下问题: Ø尽量不要在机房内把直流地和交流工作地短路或混接; Ø不允许交流线路与直流地线平行敷设,以防止干扰或短接; Ø直流地线网应装接在地板下,便于边接,即可减小接地电阻,便于泄流。 1、接地铜排 室内机房接地采用30*5(宽*厚,单位mm)规格之铜片,围绕机房墙壁一周离地面10cm高,且与室外接地体母线相连接。在铜片每隔50 cm钻一小孔,以利于分布在机房各区域的设备进行接地。 2、接地铜板 接地铜板采用宽60mm(厚10mm)之L型铜板固定于楼板,此铜墙铁壁板作为所有应与机房接地之设施的总接地。 3、地网 机房有架设高架地板,则应以2.5mm之多芯裸铜线缠绵高架地板柱做地网。 六、机房防雷接地工程实例 一、项目情况 某数据中心机房位于大楼三层,面积约1000m²。 本工程配电采用TN-S系统,独立设置接地线(PE)。采用大楼联合接地系统,并且要求接地小于1欧姆。 机房内设有功能性接地和保护性接地,共用一组接地装置。 1、保护接地,防雷保护接地延引大楼的接地。 2、机房内做M网型结构均压等电位网格。机房室内等电位做法在机房地板下沿机柜一周敷设等电位铜带30×3mm²(均压环),铜带用ZR-BVR6mm2与各机房动力配电柜PE排相连,并设置100*0.3mm²铜箔等电位网格。机房动力设备的地线、动力设备的外壳、不带电的金属管道、金属线槽外壳、计算机设备外壳、防静电地板支架、吊顶龙骨、等均须用ZR-BVR6mm2与等电位铜排网络就近可靠相连。机房内设置等电位端子箱,机房内等电位端子箱采用ZR-BVR50mm²的电缆与大楼综合接地端可靠连接。机房等电位接地示意图如图1-1所示。 二、防雷设计思路 一个完整的防雷方案包括防直接部分和防感应雷击两部分,中心机房所在的建筑物已具备防直接雷击防护措施,因此本方案只对机房电子设备的配电系统采取相应的防感应雷击措施。 工程计算机交流配电系统采用三级防雷: 第一级在大楼低压配电室内加装防雷器,实现第一级防雷(由大楼实现)。 第二级在UPS输入配电柜内加装B级防雷器,实现第二级防雷。 第三级在机房UPS输出列头配电柜内加装C级防雷器,实现第三级防雷。 机房防雷设计示意图如图2-1所示: 三、防雷设计思路 由于网络集成系统防护点多、面广,因此,为了保护建筑物和建筑物内各向电子网络设备不受雷电损害或使雷击损害降低到最低程度,应从整体防雷的角度来进行防雷方案的设计。现在都采取综合防雷,综合防雷设计方案应包括两个方面:直击雷的防护和感应雷的防护,缺少任何一方面都是不完整的,有缺陷的和有潜在危险的。 1、直击雷的防护 如果无直击雷防护,按IEC1312的估算几乎所有雷电流都流经进出建筑物的导体型线路(如电源线、信号线等)侵入设备,这样的损害就非常之严重,因此做好直接雷击防护是做感应雷击防护的前提;直击雷防护按照国标GB50057《建筑物防雷设计规范》设计和施工,主要使用避雷针、网、线、带及良好的接地系统,其目的是保护建筑外部不受雷击的破坏,给建筑物内的人或设备提供一个相对安全的环境。 2、电源系统的防护 统计数据资料表明,微电子网络系统80%以上的雷害事故都是因为与系统相连的电源线路上感应的雷电冲击过电压造成的。因此,做好电源线的防护是整体防雷中不容忽视的一环。 3、信号系统的防护 尽管在电源和通信线路等外接引入线路上安装了防雷保护装置,由于雷击发生在网络线(如双绞线)感应到过电压,仍然会影响网络的正常运行,甚至彻底破坏网络系统。雷击时产生巨大的瞬变磁场,在1公里范围内的金属线路,如网络金属连线等都会感应到极强的感应雷击; 另外,当电源线或通信线路传输过来雷击电压时,或建筑物的地线系统在泻放雷击时,所产生强大的瞬变电流,对于网络传输线路来说,所感应的过电压已经足以一次性破坏网络。即使不是特别高的过电压,不能够一次性破坏设备,但是每一次的过电压冲击都加速了网络设备的老化,影响数据的传输和存储,甚至死机,直至彻底损坏。所以网络信号线的防雷对于网络集成系统的整体防雷来说,是非常重要的环节。 4、等电位连接 集成网络系统主干交换机所在的中心机房应设置均压环,将机房内所有金属物体,包括电缆屏蔽层、金属管道、金属门窗、设备外壳以及所有进出大楼的金属管道等金属构件进行电气连接,并接至均压环上,以均衡电位。 5、接地 机房采用联合接地可有效的解决地电位升高的影响,合格的地网是有效防雷的关键。机房的联合地网通常由机房建筑物基础(含地桩)、环形接地(体)装置、工作(电力变压器)地网等组成。对于敏感的数据通讯设备的防雷,接地系统的良好与否,直接关系到防雷的效果和质量。如果地网不合要求,应改善地网条件,适当扩大地网面积和改善地网结构,使雷电流尽快地泄放,缩短雷电流引起的高过电压的保持时间,以达到防雷要求。 四、电源防雷 电源系统防雷采用三级防雷的方式。对机房配电箱的防雷应采取不少于二级保护(细保护),既在机房的主配电箱的输入一套安装二级防雷器,在机房配电箱输出端每一路安装三级防雷器。即在配电柜中总开关前端安装二级防雷器,这样既节省空间,又起到了美观、易维护的作用,并分别在市电配电柜、UPS配电柜各自的总开关前端安装三级防雷器,以保护机房内的设备。 五、接地系统 本机房有四种接地形式,即:计算机专用直流逻辑地、交流工作地、安全保护地、防雷保护地。 1、计算机机房接地系统 在机房活动地板下方安装铜排网,将机房所有计算机系统非带电壳体接入铜排网并由此引入大地。机房接地系统采用专用接地系统,专用接地系统由大楼提供,接地电阻≤1Ω。 2、机房内等电位接地具体做法: 用3mm×30mm的铜带,在机房活动地板下交叉排成方格,其交叉点与活动地板支撑的位置交错排列,交点处压接在一起,并在铜带下用垫绝缘子固定。在机房离墙400mm的距离沿墙采用3mm×30mm紫铜条造成一个M型或S型的地网,紫铜条间的接驳位用10mm镙母压接后烧铜焊,通过35mm2铜缆引下线驳接建筑物的联合接地体,这样就形成一个法拉第笼式接地系统,并保证接地电阻不大于1Ω。 机房等电位连接:将天花龙骨、墙身龙骨、活动地板支架、非计算机系统的管、金属的门、窗等均做等电位连接,并分别取多点通过16m m2的地线接入机房接地铜排网。 3、交流工作地 在电力系统中运行需要的接地(配电柜中性点接地),应不大于4欧姆。与变压器或发电机直接接地的中性点连接的中性线称零线;将零线上的一点或多点与地再次做电气连接称重复接地。交流工作地是中性点可靠地接地。当中性点不接地时,若一相碰地而人又触及另一相时,人体所受到的接触电压将超过相电压,而当中性点接地时,且中性点的接地电阻很小,则人体受到电压相当于相电压;同时若中性点不接地时,由于中性点对地的杂散抗阻很大,因此接地电流很小;相应的保护设备不能迅速切断电源,对人及设备产生危害;反之则行。 4、安全保护地 安全保护地是指机房内所有机器设备的外壳以及电动机、空调机等辅助设备的机体(外壳)与地之间做良好的接地,应不大于4欧姆。当机房内各类电器设备的绝缘体损坏时,将会对设备和操作及维修人员的安全构成威胁。所以应使设备的外壳可靠接地。 5、防雷保护地 即机房的防雷系统的接地,一般以水平连线和垂直接地桩埋设地下,主要是把雷电电流由受雷装置引到接地装置,应不大于10欧姆。 防雷装置可分为三个基本部分:即接闪器、引下线和接地装置,接闪器即接受雷电电流的金属导体。本方案只将加装防雷器的引下线与动力配电柜内的接地铜排连接。要求接地电阻≤4Ω。 六、防雷设计方案 1、直击雷的防护 机房所在大楼已有避雷针、避雷带等外部防雷设施,不再作外部防雷补充设计。如之前无直击雷防护,需在机房顶层做避雷带或是避雷网,若机房在空旷地带,视情况还需安装避雷针,避雷针、避雷带必须做好引下线,接入地网。 2、电源系统的防雷 (1)、对于网络集成系统的电源线防护,首先,进入系统总配电房的电源进线,应采用金属铠装电缆敷设,电缆铠装层的两端应良好接地;如果电缆没有铠装层,则就将电缆穿钢管埋地,钢管两端接地,埋地的长度应不小于15米。由总配电房至各大楼的配电箱以及机房楼层配电箱的电力线路,均应采用金属铠装电缆进行敷设。这样可以大大减少电源线感应过电压的可能性。 (2)、在电源线路上安装电源防雷器,是必不可少的防护措施。根据IEC防雷规范中有关防雷分区的要求,将电源系统分为三级保护。 ① 可在系统总配电房的配电变压器低压侧安装流通容量80KA~100KA的一级电源防雷箱。 ② 在各大楼的总配电箱安装通流容量为60KA~80KA的二级电源防雷箱; ③ 在机房的重要设备(如交换机、服务器、UPS等)的电源进线处安装通流容量20~40KA的三级电源防雷器; ④ 在机房控制中心硬盘刻录机及电视墙设备电源处用插座式防雷器。 所有防雷器均应良好接地。选用防雷器要注意接口的形式和接地的可靠性,重要场所应设置专用的接地线,切不可将防雷接地线与避雷针接地线并接,且要尽量远离、分开入地。 3、信号系统的防雷 (1)、网络传输线主要使用的是光纤和双绞线。其中光纤不需要特别的防雷措施,但若室外的光纤是架空的,那么需要将光纤的金属部分接地。而双绞线屏蔽效果较差,因此感应雷击的可能性比较大,应将此类信号线敷设在屏蔽线槽中,屏蔽线槽应良好接地;也可穿金属管敷设,金属管应全线保持电气上的连通,并且金属管两端应良好接地。 (2)、在信号线路上安装信号防雷器,对防感应雷是一种行之有效的办法。对于网络集成系统,可在网络信号线进入到广域网路由器之前安装专用信号防雷器;在系统主干交换机、主服务器以及各分交换机、服务器的信号线入口处分别安装RJ45接口的信号防雷器(如RJ45-E100)。信号防雷器的选型应综合考虑工作电压、传输速率、接口形式等。避雷器主要串接在线路的两端设备的接口处。 ① 服务器输入端口处安装单口 RJ45 端口信号避雷器,以保护服务器。 ② 24口网络交换机串联 24 口的RJ45 端口信号避雷器,避免因雷击感应或电磁场干扰沿双绞线窜入而毁坏设备。 ③ 在DDN专线接收设备上安装单口RJ11端口信号避雷器,保护DDN 专线上的设备。 ④ 在卫星接收设备前端安装同轴端口天馈线避雷器,以保护接收设备。 (3)、对于监控系统机房的防雷保护 ① 在硬盘录像机的视频线出线端加装视频信号防雷器或采用机架式视频信号防雷箱,12口全保护,安装方便。 ② 在矩阵与视频分割器的控制线进入端加装控制信号防雷器(DB-RS485/422)。 ③ 机房电话线采用音频信号防雷器,串接在电话机前端电话线处,安装方便,易维护。 ④ 在报警器前端信号线接入处装控制信号防雷器,对报警器信号线做有效的防雷保护。 注意:所有防雷器均应良好接地,选用防雷器要注意接口的形式和接地的可靠性,重要场所应设置专用的接地线,切不可将防雷接地线与避雷针接地线并接,且要尽量远离、分开入地。 4、机房等电位连接 在机房防静电地板下,沿着地面上布置40*3紫铜排,形成闭合环接地汇流母排。将配电箱金属外壳、电源地、避雷器地、机柜外壳、金属屏蔽线槽、门窗等穿过各防雷区交界的金属部件和系统设备的外壳,以及对防静电地板下的隔离架进行多点等电位接地就进至汇流排。并采用等电位连接线4-10mm2铜芯线螺栓紧固的线夹作为连接材料。同时在机房找出建筑物主钢筋,经测试确与避雷带连接良好,用14mm镀锌圆钢通过铜铁转换接头将接地汇流母排与之连接起来。形成等电位。采用联合接地网,目的是消除各地网之间的电位差,保证设备不因雷电的反击而损坏。 5、接地网制作设计 接地是避雷技术非常重要的环节之一,无论是直击雷或感应雷,最终都是把雷电流引入大地。因此,对于敏感的数据(信号)通信设备而言,没有合理而良好的接地系统是不能可靠避雷的。因此,对接地电阻>1Ω 的大楼地网,需按照规范要求整改,以提高机房接地系统的可靠性。根据具体情况,通过沿机房大楼建立不同形式的接地网(包括水平接地体、垂直接地体)来扩大接地网的有效面积和改善地网的结构。 采用共用接地装置时,共用接地电阻值不应大于1Ω; 采用专用接地装置时,其接地电阻值不应大于4Ω。 基本要求如下: 1 )在大楼周围做接地网,用较少的材料和较低的安装成本,完成最有效的接地装置; 2)接地电阻值要求 R ≤1Ω ; 3)接地体应离机房所在主建筑物 3~5m 左右设置; 4)水平和垂直接地体应埋入地下0.8m 左右,垂直接地体长 2.5m ,每隔 3~5m 设置一个垂直接接地体,垂直接地体采用 50×50×5mm 的热镀锌角钢,水平接地体则选 50×5mm 的热镀锌扁钢; 5)在地网焊接时,焊接面积应≥6 倍接触点,且焊点做防腐蚀防锈处理; 6)各地网应在地面下0.6~0.8m 处与多根建筑立柱钢筋焊接,并作防腐蚀、防锈处理; 7)土壤导电性能差时采用敷设降阻剂法,使接地电阻≤1Ω ; 8)回填土必须是导电状态较好的新粘土; 9)与大楼基础地网多点焊接,并预留接地测试点。 以上是一种传统的廉价实用的接地方式,根据实际情况,接地网材料也可以选用新型技术接地装置,如免维护电解离子接地系统、低电阻接地模块、长效铜包钢接地棒等等。 五、机房防雷接地注意事项 1、考虑到雷电或其他电信设备的干扰,计算机房不宜设置在大楼的顶层或靠外墙侧,特殊情况限制的,应设置屏蔽层防止雷电干扰。对于特别重要的计算机系统,应考虑设置独立的屏蔽机房。建筑物(包括计算机机房)内设备及管线接地安装应按照相关规范执行,做好等电位联结; 2、防止雷电危害还应防雷击引起的电磁脉冲,计算机房的配电箱应设置SPD(防电磁浪涌)保护装置,防止机房供电电源由于雷击电磁脉冲而造成断电。另外,对于重要的系统主机,其通讯电缆也应设置SPD保护装置,由于通讯电缆数量一般比较多,因此通讯线的保护设置应根据具体实际情况合理设置; 3、电气接地系统宜采用TN-S接地系统,PE线与相线分开,机房电源接入处应做重复接地; 4、机房接地一般分为交流工作接地、直流工作接地、安全工作接地、防雷保护接地。根据《建筑物防雷设计规范》的要求,防雷设计采用共用接地系统时,各接地系统宜共用一组接地装置。信息系统的所有外露导电物(各种箱体、壳体、机架等金属组件)应建立一等电位联结网络。 因此,电气防雷设计应在计算机房设置专用的等电位联结排,通过引下线与大楼总等电位联结排连接。根据共用接地系统的层层等电位原则,采用结构主钢筋作为引下线,更适用于共用接地系统。另外强调,大楼接地系统的接地电阻不应大于1Ω。
01电路简化的基本原则 初中物理电学中的复杂电路可以通过如下原则进行简化: ☀第一:不计导线电阻,认定R线≈0。有电流流过的导线两端电压为零,断开时开关两端可以测得电压(电路中没有其他断点)。 ☀第二:开关闭合时等效于一根导线;开关断开时等效于断路,可从电路两节点间去掉。开关闭合有电流流过时,开关两端电压为零,断开时开关两端可以测得电压(电路中没有其他断点)。 ☀第三:电流表内阻很小,在分析电路的连接方式时,有电流表的地方可看作一根导线。 ☀第四:电压表内阻很大,在分析电路的连接方式时,有电压表的地方可视作断路,从电路两节点间去掉. ☀第五:用电器(电阻)短路:用电器(电阻)和导线(开关、电流表)并联时,用电器中无电流通过(如下图示),可以把用电器从电路的两节点间拆除(去掉)。 ☀第六:滑动变阻器Pa段被导线(金属杆)短接不工作,去掉Pa段后,下图a变为图b。 ☀第七:根据串、并联电路电流和电压规律“串联分压、并联分流”分析总电流、总电压和分电流、分电压的关系。 ☀第八:电流表和哪个用电器串联就测哪个用电器的电流,电压表和哪个用电器并联就测哪个用电器的电压。判断电压表所测量的电压可用滑移法和去源法。 ☀第九:电压表原则上要求并联在电路中,单独测量电源电压时,可直接在电源两端。 一般情况下,如果电压表串联在电路中,测得的电压是电源两端电压(具体情况见笔记)。电流表直接接在电源两端会被烧坏,且让电源短路,烧坏电源。 ☀第十:如果导线上(节点之间)没有用电器(开关,电流表除外),那么导线上的各点可以看做是一个点,可以任意合并、分开、增减。(此法又称节点法)例如: 02电路简化步骤 ☀第一步:按照题目要求将断开的开关去掉,将闭合的开关变成导线。 ☀第二步:将电流表变成导线(视具体情况也可保留)。 ☀第三步:去掉电压表。 ☀第四步:合并(或者换位)导线上的节点。(此步骤在电路中用电器比较多,且相互纠结时,采用) ☀第五步:画出等效电路图,判断各用电器是串联还是并联。 ☀第六步:在原电路中利用原则七、八判断电流表和电压表各测量哪个用电器的电流和电压。 ☀第七步:将电压表和电流表添加到等效电路图中,分析各电流表和电压表示数之间的关系。(利用原则七) 03经典例题选讲 ☀例1:在如下电路图中,开关S闭合后,电压表V1的示数是2.5V,V2的示数是1V,如果A2的示数是0.2A,那么A1的示数是多少?试求两只灯泡两端的电压。 分析:第一步:将开关变成导线;第二步:将电流表变成导线;第三步将电压表去掉。第四步(略)第五步:判断用电器连接方式 很显然,电路中两个灯泡是串联的。 第六步:根据原则四,知道电压表V2处断开,所以没有电流从A1流过,示数为零;根据滑移法知道V1和电源并联,测电源两端电压。V2和L2并联,测L2两端电压。 第七步:等效电路图如下: 根据等效电路图,可知所求I1=I2=0.2A U1=2.5V-1V=1.5V U2=1V☀例2 :如图示,开关s闭合后下列各电压表示数的关系是,各电流表示数之间的关系是___。 分析:第一步:把开关变成导线;第二步:把电流表变成导线;第三步:去掉电压表;第四步(略);第五步:判断各用电器的连接方式: 第六步:根据原则七和原则八以及滑移法或去源法判断电流表和电压表各自所测量的对象。①在原电路中,去掉电压表,可以发现电流表A1和A2都与灯泡串联,所以电流表示数相等;②用滑移法可以判断出V1测L1两端的电压,V2测电源两端的电压;V3测L2两端的电压。 第七步:等效电路图如下: ☀例3 : 电路开关闭合后,v1、v2、v3的示数分别是8V、9V、4V,则L1、L2、L3两端的电压各是多少 所求的电压关系式为:U2=U1+U3 I1=I2解:根据“十原则,七步骤”可以得到该电路的等效电路图如下: 从等效图可以得到如下方程组:UL1+UL2=8VUL2+UL3=9VUL3=4V解得:UL1=3v UL2=5v UL3=4V ☀例4:如图所示,已知两只灯泡L1和L2是串联的,则在①、②和③三个电表中(电流表或电压表)判断正确的是( ) A. ①是电流表,②和③是电压表;B. ①和③是电压表,②是电流表;C. ①和②是电流表,③是电压表;D. ①②和③都是电流表 分析:本题可用排除法解答。将A答案的各表填入 三个位置中,根据“十原则,七步骤”电路图简化为: 很明显,不符合题意。 将B答案各表填入图中,电路可简化为: 这种填法符合题意。 把C答案各表填入电路中,电路L1被断路,简化后的电路图和A答案相同,不合题意。把D答案各表填入图中,电源短路,两个灯泡没有电流流过,不合题意。所以选择答案B。 声明 本号所刊发文章仅为学习交流之用,无商业用途,向原作者致敬。因某些文章转载多次无法找到原作者在此致歉,若有侵权请联系小编,我们将及时删文或者付费转载并注明出处,感谢您的支持! (来源:网络,版权归原作者)
引言:天线调谐开关也叫孔径调谐开关,关于什么是孔径调谐,会在后续其余章节讲到。随着消费场景的天线越做越小巧,天线尺寸缩小将导致天线效率降低,更容易受天线周围介质变化的影响,介质变化引起的瞬态响应会造成天线频率响应漂移。