从上面几种方案来看,各种方法对硬件都有很大的要求与限制,特别是难以在功能简单的单片机上实现,因此寻求一种简单、有效的,能在各种单片机之间通信的方法具有重要的意义。③、④方案中,双方单片机要传递的每一位或每一个字节做出响应,通信数据量较大时会耗费大量的软件资源,这在一些实时性要求高的地方是不允许的。针对这一问题,假设在单片机之间增加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多主-从的控制冲突与通信协议问题,即可实现简单、高效、可靠的通信了。
Watlow Din-A-Mite Solid State Power Control DC30-60C0-S000
VideoJet Marsh PatrionPlus 30345
Bobst Control Panel Registron 704 1092 03
Bailey Network 90 Superloop Bus Module NSBM01
Siemens 505-4232
Allen-Bradley 1771-IAD/D
Schneider Electric Modular Smart Relay Zelio Logic SR3 B261BD
SKF Flange Bearing FY 2.3/16-TF
Action Instruments Multi Fonction Math Module Q498-0000
Elmo PMW Servo Amplifier SSA/12/55 With TE9201.2
Tremco Architectural Tape Gray Style 440-II
CBF Roller Bearing 22313CKW33
Dodge Taper-Lock Bushing 5050 4.725"
Dodge Three Grooves QD Sheave 5V 9.0-SF 455280
Dodge Three Grooves Taper-Lock Sheave 3 / 5V7.5 -2517
Habix Jaw Coupling Assembly 55-3 55-4 3
SMC Solenoid Valve VQC4101-5 & Interface Speed Control VVQ4000-20A-1
Schunk Pneumatic Parallel Gripper Dust Cover Kit SAD PGN+240
Sandvik Clamping Unit HNW-32BC
Festo Pneumatic Double Ends Cylinder DNC-32-80-PPV-A-S2 145
SMC EX250-SPR1
Numatics Solenoid Valve 152SA400M000061
Numatics FlexiBlok S22C-04BKLM
Numatics Pneumatic Solenoid Valve 152SA400K000030
Numatics Solenoid Valve I63BB43AMN56Y61
Numatics P22B-03GHM