ABB SD833
ABBSD833(3BSC610066R1)随着电子技术的飞速发展,单片机也步如一个新的时代,越来越多的功能各异的单片机为我们的设计提供了许多新的方法与思路。对于莫一些场合,比如:复杂的后台运算及通信与高实时性前台控制系统、软件资源消耗大的系统、功能强大的低消耗系统、加密系统等等。如果合理使用多种不同类型的单片机组合设计,可以得到极高灵活性与性能价格比,因此,多种异型单片机系统设计渐渐成为一种新的思路,但单片机之间的通信一直困扰种方法拓展的主要问题。本文将分析比较几种单片机之间的方式、难点,并提出一种解决方案。1几种常用单片机之间的通信方式①采用硬件UART进行异步串行通信。这是一种占用口线少,有效、可靠的通信方式;但遗憾的是许多小型单片机没有硬件UART,有些也只有1个UART,如果系统还要与上位机通信的话,硬件资源是不够的。这种方法一般用于单片机有应件UART且不需与外界进行串行通信或采用双UART单片机的场合。②采用片内SPI接口或2C总线模块串行通信形式。SPI/I2C接口具有硬件简单、软件编程容易等特点,但目前大多数单片机不具备硬件SPI/I2C模块。③利用软件模拟SPI/I2C模式通信,这种方式很难模拟从机模式,通信双方对每一位要做出响应,通信速率与软件资源的开销会形成一个很大的矛盾,处理不好会导致系统整体性能急剧下降。这种方法只能用于通信量极少的场合。④口对口并行通信,利用单片机的口线直接相连,加上1~2条握手信号线。这种方式的特点是通信速度快,1次可以传输4位或8位,甚至更多,但需要占用大量的口线,而且数据传递是准同步的。在一个单片机向另一个单片机传送1个字节以后,必须等到另一个单片机的接收响应信号后才能传送下一个数据。一般用于一些硬件口线比较富余的场合。⑤利用双口RAM作为缓冲器通信。这种方式的最大特点就是通信速度快,两边都可以直接用读写存储器的指令直接操作;但这种方式需要大量的口线,而且双口RAM的价格很高,一般只用于一些对速度有特殊要求的场合。从上面几种方案来看,各种方法对硬件都有很大的要求与限制,特别是难以在功能简单的单片机上实现,因此寻求一种简单、有效的,能在各种单片机之间通信的方法具有重要的意义。③、④方案中,双方单片机要传递的每一位或每一个字节做出响应,通信数据量较大时会耗费大量的软件资源,这在一些实时性要求高的地方是不允许的。针对这一问题,假设在单片机之间增加1个数据缓冲器,大批数据先写入缓冲区,然后再让对方去取,各个单片机对数据缓冲器都是主控模式,这样必然会大大提高通信效率。谈到数据缓冲,我们马上会想到并行RAM,但是并行RAM需要占用大量的口线(数据线+地址线+读写线+片选线+握手线),一般在16条以上。这是一个让望而生畏的数字,而且会大大增加PCB面积并给布线带来一定的困难,极少有人采用这种方式。串行接口的RAM在市场上很少见,不但难以买到而且价格很高。移位寄存器也可以做数据缓冲器,但目前容量最大的也只128位,因为是“先进先出”结构,所以不管传递数据多少,接收方必须移完整个寄存器,灵活性差而且大容量的移位寄存器也是少见难买的。一种被称为“铁电存储器”芯片的出现,给我们带来了解决方法。2利用铁电存储器作为数据缓冲器的通信方式铁电存储器是美Ramtran公司刚刚推出的一种新型非易失性存储器件,简称FRAM。与普通EEPROM、Flash-ROM相比,它具有不需写入时间、读写次数无限,没有分布结构可以连续写放的优点,因此具有RAM与EEPROM的双得特性,而且价格相对较低。现在大多数的单片机系统配备串行EEPROM(如24CXX、93CXX等)用来存储数。如果用1片FRAM代替原有EEPROM,使它既能存储参数,又能作串行数据通信的缓冲器。2个(或多个)单片机与1片FRAM接成多主-从的I2C总线方式,增加几条握手线,即可得到简单高效的通信硬件电路。在软件方面,只要解决好I2C多主-从的控制冲突与通信协议问题,即可实现简单、高效、可靠的通信了。3实例(双单片机结构,多功能低功耗系统)(1)硬件W78LE52与EMC78P458组成一个电池供电、可远程通信的工业流量计。78P458采用32.768kHz晶振,工作电流低,不间断工作,实时采集传感器的脉冲及温度、压力等一些模拟量;W78LE52采11.0592MHz晶振,由于它的工作电流较大,采用间断工作,负责流量的非线性校正、参数输入、液晶显示、与上位机通信等功能,它的UART用于远程通信。通信接口部分线路如图1所示,2个单片机共用1片I2C接口的FRAM(FM24CL16)组成二主一从的I2C总线控制方式,W78LE52的P3.5、P3.2分别与78P458的P51、P50连接作握手信号线A与B。我们把握手线A(简称A线)定义为总线控制、指示线,主要用于获取总线控制权与判别总线是否“忙”;握手线B(简称B线)定义为ABBProcontic模拟的输出模块(07AA60R1)ABBProcontic模拟输出模块-4-20MA(07AA61R1)ABBProcontic模拟的输出模块(07AA62R1)ABBProcontic模拟量输出模块(07AA63),ABBProcontic模拟的输出模块(07AA65R1)ABBProcontic模拟量输出模块(07AA80),ABBProcontic二进制输出模块-继电器(07AB200)ABBProcontic数字输出模块(07AB60R1)ABBProcontic数字输出模块(07AB61R1)ABBProcontic继电器输出模块(07AB67R1)ABBProcontic数字输出模块(9007AB-S)ABBProconticI/O模块(07AE83)ABBProcontic内存模块(0782)ABBProcontic空空白插槽外壳(07BA60R1)ABBProcontic机架6插槽(0760R1)ABBProcontic有10个插槽扩展机架(0762R1),ABBProcontic分散式I/O连接器(07BR60R1)ABBProcontic分散式I/O连接器(07BR61R1)ABBProcontic机架(07BT60R1)ABBProcontic基本模块机架插槽8个I/O(07BT62R1)ABBProcontic总线耦合器模块(07BV60R1)ABBProcontic现场总线耦合器模块(07CS61),ABBProcontic通讯模块(07DS85)ABBProcontic模拟量输入模块(07EA200)ABBProcontic模拟量输入模块(07EA60R1)ABBProcontic模拟输入模块4-20MA(07EA61R1)ABBProcontic模拟量输入模块(07EA62R1)ABBProcontic模拟量输入模块(07EA65R1)ABBProcontic模拟量输入模块(07EA80)ABBProcontic模拟输入模块(07EA90-S)ABBProcontic二进制输入模块(EB07200)ABBProcontic数字输入模块(07EB61R1)ABBProcontic快速的二进制输入模块(07EB62R1)ABBProcontic数字输入模块(07EB90-S)ABBProcontic中断输入24VDC(07EI60)ABBProconticCardfile中(07ET83à)ABBProconticCardfile中(07GS40R1)ABBProcontic通信模块-T200(07KP60R101)ABBProcontic通信处理器-RS232(07KP62)ABBProcontic通信处理器-RS232RCOM(07KP64),,ABBProcontic紧凑型控制器(07KR228)ABBProcontic控制器-基本配置220VAC(07KR240R1),ABBProcontic基本的配置单位(KR264dR107)ABBProcontic基本的配置单位(07KT228)ABBProcontic基本的配置单元(07KT240DR1)ABBProcontic中央单位-30系列(KT31日07)ABBProcontic文字处理器模块(07KT60R101)ABBProconticRS232通信模块(07MK62)ABBProcontic电源(07NG60R1)ABBProcontic电源(07NG61R1)ABBProcontic电源(07NG61R2)ABBProcontic电源(07NG63R1)ABBProcontic电源(07NG63R2)ABBProcontic电源(07NG66R1)ABBProcontic电源(07NG66R2)ABBProcontic电源(07NG68R1)ABBProcontic电源(0781)ABBProcontic电源(0782)ABBProcontic复合模块(PA8507)ABBProcontic的编程键盘(07PG200R1)ABBProconticProconticK200程序员(07PG201)ABBProcontic编程模块(07PG85)ABBProcontic程序存储器(EPROM模块)(07PR62R1)ABBProcontic程序存储器(EPROM模块)(07PR62R2)ABBProcontic程序存储器模块(07PS60R1)ABBProcontic程序存储器模块(07PS61R1)ABBProcontic程序存储器模块(07PS62R1)ABBProcontic程序存储器模块(07PS62R2)ABBProcontic程序存储器模块(07PS62R3)ABBProcontic程序存储器模块(07PS63R2)ABBProcontic程序存储器-(CMOS-RAM)(07PS63R3)ABBProcontic复合模块的一部分(07PS85),ABBProcontic键盘(07PT40B)ABBProcontic定位单元(07SA93),ABBProcontic线(07SK90R1),ABBProcontic连接器电缆(07SV60R1)ABBProcontic定时器模块(07TI80)ABBProcontic复合模块的一部分(07TR85)ABBProcontic数字输入模块(07XS80)ABBProcontic数字输出模块(YS0780)ABBProcontic二进制输出模块(YS0781)ABBProcontic继电器输出模块(YS0786)ABBProcontic耦合器模块ABB现场总线ZB10(07ZB60),ABBProcontic总线耦合卡(07ZB69R1)ABBProcontic光纤耦合器(07ZB69R2)ABBProcontic中央单位(07ZE60R201)ABBProcontic中央单位(07ZE60R302)ABBProcontic中央单位(07ZE61R101)ABBProcontic中央单位(07ZE61R201)ABBProcontic中央单位(07ZE61R302)ABBProcontic中央单位(07ZE62R101)ABBProcontic中央单位(07ZE62R201)ABBProcontic中央单位(07ZE62R302)ABBProcontic中央单位(07ZE63R302),ABBProconticCPU模块(07ZE82)ABBProcontic处理器模块(07ZE85),ABBProcontic处理器模块(07ZE88)ABBProcontic高的速度计数器模块(07ZG60R1)ABBProconticB模块(07ZW80)ABBProcontic机架9槽(07BE61R1),ABBProconticCardfile中(07ET40R1)ABBProcontic乙架(07ET83B)ABBProcontic,RCOM通信模块(07KP90)ABBProcontic结构紧凑(07KR220dR1),ABBProcontic控制器基本配置24V直流(07KR240R2)ABBProcontic中央处理单元-120吸尘器(07KR31的)ABBProcontic中央处理器(07KR91)ABBProcontic中央处理器(07KR91D)ABBProcontic中央处理器(07KT92)ABBProcontic中央处理器(07KT93)ABBProcontic中央处理器(07KT93G)ABBProcontic中央处理器(07KT94)ABBProcontic部分复合模块(07PS85的)ABBProcontic程序员(07PT40),ABBProcontic模块(07YS82)ABBProconticXE08B5模拟输入Expanison模块(1SBP260106R1001)ABBProconticICMK14F1远程单位(1SBP260502R1001)ABBProconticSACEPR120/B电源连接单元(1SDH000460R0508)ABBProcontic,ECZ总线模块(ECZ)ABBProconticICSO08Y1输出的单位(FPR3311101R0026)ABBProconticICSO08Y1输出单位(FPR3311101R1022)ABBProconticICSO08R1输出的单位(FPR3312101R0026)ABBProconticICSO08R1输出的单位(FPR3312101R1022)ABBProconticI/O远程单位-数字输出(FPR3313101R1052),ABBProconticICSI08D1输入的单位(FPR3315101R0014)ABBProconticICSI08D1输入的单位(FPR3315101R0016)ABBProconticICSI16D1输入的单位(FPR3315101R0034)ABBProconticICSI16D1输入的单位(FPR3315101R0036)ABBProconticICSI08D1输入的单位(FPR3315101R1012)ABBProconticICSI16D1I/O远程单位-24VDC(FPR3315101R1032)ABBProconticICSI08E1输入的单位(FPR3316101R0014)ABBProconticICSI08E1输入的单位(FPR3316101R0016)ABBProconticICSI16E1输入的单位(FPR3316101R0034)ABBProconticICSI08E1输入的单位(FPR3316101R1012)ABBProconticICSI16E1输入的单位(FPR3316101R1032)ABBProconticICSI08E4输入单位-230VAC(FPR3316401R0016)ABBProconticICSC08L1I/O单元-24VDC(FPR3319101R0082)ABBProconticICSC08L1I/O单元-120吸尘器(FPR3319101R0084的)ABBProconticICSC08L1I/O单元-230吸尘器(FPR3319101R0086的)ABBProcontic平板的I/O远程单位(FPR3319102R1162)ABBProconticICSF08D1高速计数器(FPR3323101R1012的)ABBProconticICSK20F1I/O远程单位-120VAC(FPR3327101R0204)ABBProconticICSK20F1远程I/O单元(FPR3327101R0206)ABBProcontic远程I/O单位-24VDC(FPR3327101R1202):ABBProcontic模拟I/O远程单位(FPR3341501R1042)ABBProcontic远程模拟量输入模块(FPR3345601R1012)ABBProconticICSE08B5远程模拟单位-24VDC(FPR3346501R1012)ABBProcontic模拟I/O远程单位(FPR3350601R1062)ABBProcontic07KR31中央处理。54(FPR3600227R0204)ABBProcontic07KR31中央处理。54(FPR3600227R0206)ABBProcontic07KR31中央处理。54(FPR3600227R1202)ABBProconticECZ总线模块(FPR3700001R0001)ABBProcontic定位单元(GATS110058R0402)ABBProconticRS232通信模块(GATS110143R0002)ABBProcontic07ET40R1Cardfile的(GJR5210000R1)ABBProcontic数字量输入模块(GJR5212000R5)ABBProcontic数字输出模块(GJR5212100)ABBProcontic电源(GJR5213300R0006)ABBProcontic电源(GJR5215100R3)ABBProcontic07ZW80ProconticB模块(GJR5215300R2)ABBProcontic继电器输出模块(GJR5215400R2)ABBProcontic机架(GJR5217500R0002)ABBProcontic07DS85通信模块(GJR5219300R0001)ABBProcontic07ZE85处理器模块(GJR5219400R0001)ABBProcontic部分复合模块(GJR5219500R0001的)ABBProcontic8507PG编程模块(GJR5219800R0001)ABBProcontic07YS82模块(GJR52211100R1有)ABBProcontic二进制输出模块(GJR52221800R1)ABBProcontic模拟量输出模块(GJR5230010R0001),ABBProcontic模拟量输入模块(GJR52302)ABBProcontic处理器模块(GJR5231800R101)ABBProcontic耦合器模块为现场总线ZB10(GJR5240200R0001),ABBProcontic07CS61现场总线耦合器模块(GJR5240300R0202)ABBProcontic07KP62通信处理器-RS232(GJR5240400R105)ABBProcontic通信处理器-RS232RCOM(GJR5240600R0101)ABBProcontic中央处理器(GJR5250000R0101)ABBProcontic07KR91中央处理单元(GJR5250000R0202)ABBProcontic中央处理器(GJR5250500R0101)ABBProcontic中央处理器(GJR5250500R0202)ABBProcontic中央处理器(GJR5250500R0262)ABBProcontic07AB90-S数字输出模块(GJR5250800R0101)ABBProcontic07EB90-S数字输入模块(GJR5250900R0101)ABBProcontic07KP90RCOM通讯模块(GJR5251000R0202)ABBProcontic07EA90-S模拟量输入模块(GJR5251200R0101)ABBProcontic07KT93中央处理单元(GJR5251300R0101)ABBProcontic07KT93中央处理单元(GJR5251300R0161)ABBProcontic07KT93中央处理单元(GJR5251300R0171)ABBProconticICDG32L1输入/输出单元(GJR5251400R0101)ABBProcontic07KT94中央处理单元(GJR5252100R0201)ABBProcontic数字输出模块(R17436030GJV)ABBProcontic通信模块-T200(7436000R101GJV30日)ABBProcontic数字输出模块(R17436130GJV)ABBProcontic继电器输出模块(GJV3074364R1)ABBProcontic07BV60R1总线耦合器模块(R17437030GJV)ABBProcontic07KR228紧凑型控制器(GJV3072401R1)ABBProcontic07KR240B控制器-基础配置220伏(GJV3072402R1)ABBProcontic基本的配置单位(GJV3072403R1)ABBProcontic编程键盘(GJV3072408R1)ABBProconticProconticK200程序员(GJV3072409R1)ABBProcontic07EB200二进制输入模块(GJV3072411R1)ABBProcontic07AB200二进制输出模块-继电器(GJV3072413R1的)ABBProcontic07KR220dR1结构紧凑(GJV3072415R1)ABBProcontic基本的配置单位(GJV3072417R1)ABBProcontic模拟量输入模块(GJV3072418R1)ABBProcontic基本的配置单位(GJV3072419R1)ABBProcontic07KR220R2结构紧凑(GJV3072428R2)ABBProcontic模拟量输出模块(GJV30743),ABBProcontic07BT60R1机架(GJV3074301R1)ABBProcontic07BT61R1机架(GJV3074302R1)ABBProcontic0762R1BT基本模块机架8插槽的I/O(GJV3074303R1)ABBProcontic机架6插槽(GJV3074304R1)ABBProcontic机架9槽(GJV3074305R1),ABBProcontic07BE的62R1扩展机架有10个插槽(GJV3074306R1)ABBProcontic电源(GJV3074310R1)ABBProcontic电源(GJV3074311R1)ABBProcontic电源(GJV3074313R1)ABBProcontic电源(GJV3074313R2)ABBProcontic电源(GJV3074315R1)ABBProcontic电源(GJV3074315R2)ABBProcontic电源(GJV3074317R1)ABBProcontic中央单位(GJV3074320R201)ABBProcontic07ZE60中央单位(GJV3074320R302)ABBProcontic中央单位(GJV3074321R101)ABBProcontic中央单位(GJV3074321R201)ABBProcontic中央单位(GJV3074321R302)ABBProcontic中央单位(GJV3074322R101)ABBProcontic中央单位(GJV3074322R201)ABBProcontic中央单位(GJV3074322R302)ABBProcontic中央单位(GJV3074323R302)ABBProcontic程序存储器模块(GJV3074330R1)ABBProcontic程序存储器模块(GJV3074331R1)ABBProcontic程序存储器模块(GJV3074332R1)ABBProcontic程序存储器模块(GJV3074332R2)ABBProcontic程序存储器模块(GJV3074332R3)ABBProcontic程序存储器模块(GJV3074333R2)ABBProcontic程序存储器-(CMOS-RAM)(GJV3074333R3)ABBProcontic程序存储器(EPROM模块)(GJV3074336R1)ABBProcontic程序存储器(EPROM模块)(GJV3074336R2)ABBProcontic07EB61R1数字输入模块(GJV3074341R1)ABBProcontic快速的二进制输入模块(GJV3074342R1)ABBProcontic模拟量输入模块(GJV3074350R1)ABBProcontic07EA61R1模拟输入模块4-20MA(GJV3074351R1)ABBProcontic模拟量输入模块(GJV3074352R1)ABBProcontic高的速度计数器模块(GJV3074356R1)ABBProcontic中断输入24VDC(GJV3074357R1)ABBProcontic07EA65R1模拟输入模块(GJV3074359R1)ABBProcontic模拟量输出模块(GJV3074365R1),ABBProcontic07AA61R1模拟量输出模块--20MA(GJV3074366R1)ABBProcontic模拟量输出模块(GJV3074368R1),ABBProcontic分散式I/O连接器(GJV3074375R1)ABBProcontic分散式I/O连接器(GJV3074376R1)ABBProcontic总线耦合卡(GJV3074379R1)ABBProcontic光纤耦合器(GJV3074379R2)ABBProcontic文字处理器模块(GJV3074381R101)ABBProcontic空套管空白槽(GJV3074397R1)的,ABBProcontic输入/输出单元(ICDG32L1)ABBProcontic平板的I/O远程单位(ICFC16L1)ABBProcontic远程单位(ICMK14F1)ABBProcontic模拟I/O远程单位(ICSA04B5)ABBProconticI/O单元-为120Vac(ICSC08L1-120)ABBProconticI/O单元-230VAC(ICSC08L1-230)ABBProconticI/O单元-24VDC(ICSC08L124)ABBProcontic远程模拟量输入模块(ICSE08A6)ABBProcontic远程模拟单位-24VDC(ICSE08B5-24.)ABBProcontic高速计数器(ICSF08D1的),ABBProcontic二进制输入单位(ICSI08D1-120)ABBProcontic二进制输入单位(ICSI08D1-230)ABBProcontic二进制输入单位(ICSI08D1-24)ABBProcontic二进制输入单位(ICSI08E1-120)ABBProcontic二进制输入单位(ICSI08E1-230)ABBProcontic二进制输入单位(ICSI08E1-24)ABBProcontic二进制输入模块-120VAC(ICSI08E3)ABBProcontic二进制输入单位-230VAC(ICSI08E4-230)ABBProcontic二进制输入单位(ICSI16D1-120)ABBProcontic二进制输入单位(ICSI16D1-230)ABBProconticI/O远程单位-24VDC(ICSI16D124)ABBProcontic二进制输入单位(ICSI16E1-120)ABBProcontic二进制输入单位(ICSI16E1-24)ABBProcontic远程I/O单位-24VDC(ICSK20F1):ABBProconticI/O远程单位-120VAC(ICSK20F1-120)ABBProconticI/O远程单位(ICSK20F1-230)ABBProcontic模拟I/O远程单位(ICSM06A6)ABBProcontic二进制输出单位230VAC(ICSO08R1-230)ABBProcontic输出单位(ICSO08R1-24)ABBProcontic二进制输入模块-24VDC(ICSO08Y1)ABBProcontic二进制输出单位230VAC(ICSO08Y1-230)ABBProcontic二进制输出单元24VDC(ICSO08Y1-24)ABBProconticI/O远程单位-数字输出(ICSO16N1),ABBProcontic电源连接单元(SACEPR120/B)ABBProcontic的模拟输入Expanison模块(XE08B5))
厦门渤格电气技术有限公司
业务 QQ: 1982497648