GE IS200TRLYH1B
本公司专业销售大型进口各种品牌DCS系统模块备件:BENTLYNEVADA3500/3300,AB,ABBAdvantOCS,ABBMOD30/MODCELL,ABBMOD300,ABBBaileyINFI90,ABBProcontic,ABBProcontrol,RosemountRS-3,YokogawaCentumXL,YokogawamicroXL,FOXBOROI/A,Westinghouse,Ovation,HoneywellQCS,HoneywellTDC系列,HoneywellS9000,HITACHI,MitsubishiPLC,MotorolaMVME,ALSTOMMVME,OtherVME,TOSHIBA,HP,Yaskawa,FANUC等大型模组,有着充足的库存,交货期快,查询。GEIS200TRLYH1BGEIS200TRLYH1BGEIS200TRLYH1B由于我们采用的是二主一从的I2C总线方式,因此防止2个主机同时去操作从机(防冲突)是一个非常重要的问题。带有硬件I2C模块的器件一般是这样的,器件内部有1个总线仲裁器与总线超时定时器:当总线超时定时器超时后指示总线空闲,这时单片机可以发出获取总线命令,总线仲裁器通过一系列操作后确认获取总线成功或失败;超时定时器清零,以后的每一个SCL状态变化对总线所有主机的超时定时器进行清零,以防止它溢出,指示总线正处于“忙”状态,直到一个主机对总线控制结束不再产生SCL脉冲;超时定时器溢出,总线重新回到“空闲”状态。但是目前大多数单片机没有配备硬件I2C模块,而且当2个主机的工作频率相差较大时,超时定时器定时值只能设为较大的值,这样也会影响总线的使用效率。下面介绍一种用软件模拟I2C总线仲裁的方式(I2C读写操作程序的软件模拟十分多见,这里不再多述):用1条握手线A,流程图如图2所示,当A线高电平时,指示总线空闲;当其中一个主机要获取总线控制权时,先查询总线是否空闲,“忙”则退出,空闲则向A线发送一个测试序列(如:1000101011001011),在每次发送位“1”后读取的A线状态。如果读取状态为“0”,马上退出,说明有其它器件已经抢先获取总线;如果一个序列读取的A线状态都正确,则说明已成功获得总线控制权,这时要拉低A线以指示总线“忙”,直到读写高A线,使总线回到“空闲”状态。不同的主机采用不同的测试序列,或产生随机测试序列,测试序列度可以选得长一些,这样可以增加仲裁的可靠性。流程框图(3)通信协议一个可靠通信体系,除了好的硬件电路外,通信协议也至关重要。在单片机系统RAM资源与执行速度都非常有限的情况下,一个简捷有效的协议是非常重要的。下面具体介绍一种比较适用于单片机通信的协议,数据以包的形式传送。数据包结构:①包头——指示数据包的开始,有利于包完整性检测,有时可省略;②地址——数据包要传送的目标地址,若只有双机通信或硬件区分地址可以省略;③包长度——指示整个数据包的长度;④命令——指示本数据包的作用;⑤参数——需要传送的数据与参数;⑥校验——验证数据包的正确性,可以是和校验、异或校验、CRC校验等或者是它们的组合;⑦包尾——指示数据包的结尾,有利于包完整性检测,有时可省略。(4)通信流程首先,要在FRAM里划分好各个区域,各个单片机的参数区、数据接收区等。然后,单片机可以向另一个单片机发送数据包,发送完毕之后通过向握手线B发送1个脉冲通知对方取走数据;接收方读取数据并进行处理后,向FRAM内发送方的数据接收区写入回传数据或通信失败标志,再向握手线B发送1个脉冲回应发送方。表3是单片机1启动1次与单片机2之间的通信的例子。如果需要单片机2发送的话,只需交换一下操作过程即可。步骤单片机1单片机2A线B线1总线空闲总线空闲112获取总线控制权其它操作013向FRAM内单片机2的数据接收区写入一包通信数据其它操作014向B线发送走个负脉冲,通知单片机2,启动超时定时器其它操作0负脉冲5其它操作响应来自B线的脉冲,读取FRAM内数据接收区的内容(无须获取总线操作)016其它操作对数据进行处理后,向FRAM内单片机1的数据接收区写入回传数据或通信失败标志017其它操作向B线发送1个负脉冲,通知单片机10负脉冲8清超时定时器,读取数据区内容。如果失败可以做重发或其它处理;如果成功则拉高A线,释放I2C总线,1次通信工程结束其它操作119如果超时定时器溢出,说明单片机2没有响应单片机1的通知,可以做重发或故障处理。4总结通过实践可知,以上方法是可行的。与其它方法相比具有发下优点:①简单。占用单片机口线少(SCL、SDA、握手线A、握手线B)。②通用。软件模拟I2C主机方式,可以在任何种类的单片机之间通信。③高效。由于采用数据缓冲,可以在不同时钟频率、不同速度的单片机之间通信;读写数据时,可以I2C总线的最高速度进行,可以实现1次传送大量数据;在一个单片机向FRAM传送数据时,另一个单片机无须一一作出响应或等待,可以进行其它程序操作,提高软件工作效率。④灵活。通信硬件接口对于各个单片机是对等的,通过软件配置,每个单片机既可以根据需要主动发送通信,也可以只响应其它单片机的呼叫。⑤容易扩展。通过增加地址识别线,修改通信协议,即可做到多机通信。以下是需要注意的地址:①为了提高通信效率,握手线B最好使用中断端口,负脉冲宽度一定要满足速度较低单片机中断信号要求。如果没有中断的话应增加1条口线,用改变端口状态的方法通知对方,等待对方查询,而不是负脉冲。②向对方发送负脉冲时,应屏蔽自己的中断。③由于参数与通信缓冲区同时设在同一片FRAM内,要避免对参数部分的误操作。一个较好的解决办法是把参数存放在地址的后半部分(A2=1),在进行通信操作时,把FRAM的WP引脚拉高(地址在后半部分的单元写保护),这样可以有效地防止测验时对参数区误操作。④由于I2C总线在一个时间段内只有1个主机和1个从机,所以当1个单片机正在写通信数据时,另一个单片机是不能对FRAM进行操作的。如果需要实时、频繁地读取FRAM中参数的话,请预先将参数读入RAM单元使用或另外增加专门存放参数的芯片。E84AVSCE7524SB06ES5243-1AB126SN1123-1AA00-0LA1BTS10-2,5/8-24-RL-772Id.28944ABTS10-2,5/8-24-RL-772Id.ASR28944ASBTS10-2,5-RId.ASR26521CMovitrac3007-403-4-00BTS20-300-50-710ASR19213E6SN1118-0DJ21-0AA26DS1002-8AA6GK1105-3AB10MDD112C-N-020-N2L-130GA2SLF-01-S-2520-FMScand-ACSL22000-3MDS60A0040-5A3-4-006SE7014-0TP50-Z6SE9615-8DD50ZC89M41S5955-3LC14+6ES5135-3UA21SYMAPECGMicroprocessorProtectionRelays6ES5243-1AA126ES5188-3UA52QCM2-T340256AV6640-0CA11-0AX06ES5955-3LC140811404602infi90IMMFP02RN14MC-M-11-001FT5074-0AG71-1-ZKCPKRC169-000-3981FT5074-0AF71-1-ZA16B-2203-0180/06E800522DDLIC22030A1TSC16ES5955-3LF41Kinetix60002094-BC02-M0215KW/15A2P400110HASM6ES7016-1TA61-Z60002094-BC01-M01C3B40L-10/G24K0/A1MPH450G-A-ApH/ORP4WRPE6EAA18SJ-2X/G24K0/M7SV5121-5CA01-0C/DDXV-101-K847SJ5111-5CA01-0B/FFLC491F10nmML1240mm6ES5-955-3LF126ES5955-3LC41DSDX452DSAX452DIALOG4F-KTm.OSID.6367074-16ES7478-2DA10-0AC028-0000Range:0,41-1,65bar1FT5044-0AC01-1-ZA06B-6050-H1046SE6400-3CC03-5CB3DSDX451PR.04CoalD-HFUnitMEC-D-HF160mmVCO1550CoalV-DSPUnit100377903HNE00313-1MDS60A0040-5A3-4-00G5-Z)
厦门渤格电气技术有限公司
业务 QQ: 1982497648