电子、电气产品的设计,必须保证在一定的电磁环境中能正常工作,既满足标准规定的抗干扰极限值要求,在受到一定的电磁干扰时,无性能降级或故障;又要满足标准规定的电磁辐射极限值的要求,对电磁环境不构成污染。所以,产品设计之初,就要从分析产品预期的电磁环境、干扰源、耦合途径和敏感部件入手,采用相应的技术措施,抑制干扰源、切断或削弱耦合途径,增强敏感部件的抗干扰能力等。文中详细介绍了一款485通讯隔离产品从辐射超标到顺利通过FCC CLASS B认证,在原理设计、PCB制板等多方面所做的各项改进措施。文中所提到的方法及规则,对产品EMC设计具有很大的参考及指导意义。
上传时间: 2013-10-24
上传用户:sz_hjbf
加利福尼亚州米尔皮塔斯 (MILPITAS, CA) – 2009 年 8 月 31 日 – 凌力尔特公司 (Linear Technology Corporation) 推出隔离式 RS485 微型模块 (uModule®) 收发器 LTM2881,该器件针对大的地至地差分电压和共模瞬变提供了保护作用。在实际的 RS485系统中,各节点之间的地电位差异很大,常常超出可容许范围,这有可能导致通信中断或收发器受损。LTM2881 运用内部感应信号隔离来对逻辑电平接口和线路收发器实施隔离,以中断接地环路,从而实现了大得多的共模电压范围和 >30kV/μs 的卓越共模抑制性能。一个低 EMI DC-DC 转换器负责向收发器供电,并提供了一个用于给任何外部支持元件供电的 5V 隔离电源输出。凭借 2,500VRMS 的电流隔离、板上辅助电源和一个完全符合标准的 RS485 发送器和接收器,LTM2881 不需要使用外部元件,从而确保了一款适合隔离串行数据通信的完整、小型μModule 解决方案。
上传时间: 2013-10-25
上传用户:ljj722
变频器是由主回路和控制回路两大部分组成的(见图1);主回路由整流器(整流模块)、中间电路(滤波电路)和逆变器(大功率晶体模块)三个主要部分组成,控制回路则由单片机、驱动电路和光电隔离等电路组成。(1)整流器它与单相或三相交流电源相连接,产生脉动的直流电压(2)中间电路的三种作用
上传时间: 2013-12-05
上传用户:cjh1129
针对CAN总线在现场运用中存在的一些限制因素,及煤矿井下液压支架电液控制系统CAN总线组网控制中存在的问题,提出了一种基于意法半导体公司STM32单片机的单线CAN总线隔离中继器。充分利用了STM32F105系列单片机内部集成的双bxCAN控制器和飞思卡尔MC33879的单线CAN收发器的特性,构成了一种软中继器。实践证明该设计有效解决了多点供电、网络规模限制、电磁兼容性的问题,对提高煤矿自动化生产安全和效率具有较大意义。
上传时间: 2013-11-23
上传用户:lml1234lml
隔离型RS-485收发器ADM2483,ADM2484E,ADM2587E内部电路应用原理及应用
上传时间: 2014-11-13
上传用户:bvdragon
/*--------- 8051内核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序状态字寄存器 sbit CY = PSW^7; //进位标志位 sbit AC = PSW^6; //辅助进位标志位 sbit F0 = PSW^5; //用户标志位0 sbit RS1 = PSW^4; //工作寄存器组选择控制位 sbit RS0 = PSW^3; //工作寄存器组选择控制位 sbit OV = PSW^2; //溢出标志位 sbit F1 = PSW^1; //用户标志位1 sbit P = PSW^0; //奇偶标志位 sfr SP = 0x81; //堆栈指针寄存器 sfr DPL = 0x82; //数据指针0低字节 sfr DPH = 0x83; //数据指针0高字节 /*------------ 系统管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //电源控制寄存器 sfr AUXR = 0x8E; //辅助寄存器 sfr AUXR1 = 0xA2; //辅助寄存器1 sfr WAKE_CLKO = 0x8F; //时钟输出和唤醒控制寄存器 sfr CLK_DIV = 0x97; //时钟分频控制寄存器 sfr BUS_SPEED = 0xA1; //总线速度控制寄存器 /*----------- 中断控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中断允许寄存器 sbit EA = IE^7; //总中断允许位 sbit ELVD = IE^6; //低电压检测中断控制位 8051
上传时间: 2013-10-30
上传用户:yxgi5
PSHLY-B回路电阻测试仪介绍
上传时间: 2013-11-05
上传用户:木子叶1
CTM系列隔离CAN收发器模块选型指南 以CTM1050T为代表的隔离CAN收发器由广州致远电子有限公司提供,是目前唯一一家能提供DC2500V电器隔离的CAN收发器,本文将介绍CTM系列隔离CAN收发器的参数与设计由此并为客户带来的价值。
上传时间: 2013-11-24
上传用户:tianyi996
RSM232隔离RS-232收发器具备电源隔离、电气隔离、RS-232收发器,有提高系统稳定性,简化设计等诸多优点。完全符合EIA/TIA-232E和ITU-T V.28规格,采用5V电源供电,具有2500VDC的隔离电压,波特率可高达115200bps
上传时间: 2014-02-22
上传用户:ouyangtongze
串行编程器源程序(Keil C语言)//FID=01:AT89C2051系列编程器//实现编程的读,写,擦等细节//AT89C2051的特殊处:给XTAL一个脉冲,地址计数加1;P1的引脚排列与AT89C51相反,需要用函数转换#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引脚排列相反#define C2051_P3_0 P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//编程前的准备工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//编程结束后的工作,设置合适的引脚电平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//从P0口获得数据{ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//转换并设置P0口的数据{ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//读特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//写器件{//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 //写一个单元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效验:循环读,直到读出与写入的数相同 { nTimeOut++; if(nTimeOut>1000)//超时了 { return 0; } } C2051_XTAL=1; C2051_XTAL=0;//一个脉冲指向下一个单元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//读器件{ BYTE Data;//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 //读一个单元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一个脉冲指向下一个单元//----------------------------------------------------------------------------- return Data;} void Lock01()//写锁定位{ InitPro01();//先设置成编程状态//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 if(ComBuf[2]>=1)//ComBuf[2]为锁定位 { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); } if(ComBuf[2]>=2) { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=0; C2051_P3_7=0; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//设置pw中的函数指针,让主程序可以调用上面的函数{ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}
上传时间: 2013-11-12
上传用户:gut1234567