Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

help needed in choosing the communication interface?

Not open for further replies.


Full Member level 4
Jun 14, 2007
Reaction score
Trophy points
Activity points
HI friends,

I have an application in which i need to communicate with different micro controllers (Single master, multiple slave configuration).

I am in confusion to select which communication interface is right for my application.

can i use SPI or I2C? ( i think these two are meant to be used for on board communications).


I need to acquire analog signals and store. Please see the attached file.
There will be one master and 12 slaves, each slave will have a dedicated micro controller, signal conditioning and adc.
Whenever MASTER requests data, slave should send the data.
The acquired data should be sent to remote station( via Ethernet, GSM) or simply store in the local memory.
distance between each slave is variable.
First thing i need to finalize is how to connect master and each slave..

I am working on ATMEGA 8 and 8051 Micro controllers. If this is not possible with the above micro controllers i am ready to migrate to high end controllers. Please help me with the Part Numbers.

thanks and regards,


  • Block Diagram.pdf
    4.6 KB · Views: 65

First thing i need to finalize is how to connect master and each slave..
SPI, i2c can be used only if your microcontrollers are all on the same PCB, or very close to each other. From your block diagram it appears a typical industrial application and I would suggest MODBUS protocol over RS-485.

8051 has the option of multi controller communication in mode3 of serial communication.
you can check whether that is suitable for you.

i2c can be used but all devices should be i2c compatible.
spi is the option you can explore.

First of all provide us how far is from master to slave.

How fast you want to communicate?

What is the environment in which this unit is going to adopted?

Hi all,

Thanks for your responses.

Actually the application is high cell count battery monitoring system.

Slave Part:

There will be 120 nicd cells placed in an room. 120 cells are divided in to 10 stacks. I want to monitor each individual cell voltage during charge or discharge condition and store. I have already designed monitoring of 12 cells using battery stack monitor ic from linear technology (LTC6802). So for each i am planning to design a slave unit which consists of a micro controller, Battery monitoring IC, other required circuitry.
therefore each stack will have one slave unit.

Master Part:
I need to design a Master unit which should talk to all the slave units, collects the data and store. Master unit can be placed anywhere (can be on the same room where slave units reside or can be in remote place). time is not crucial for me because i can acquire every 10 seconds.

I hope you will understand my application.

I have not worked on CAN BUS, ETHERNET. Can it be easily implemented?

Thanks and Regards,

If you are OK to cable between the various devices I would think Canbus would be the simplest - many microcontrollers have a Canbus interface on the device and come with an API which contains functions to initialise the device and send/receive messages.e,g,
**broken link removed**

It is used in vehicles etc to monitor and control the various systems (engine, lights, etc) so is robust. Have a read of
CAN Bus Interface Description CANbus Pin Out, and Signal Names. Controller Area Network

if you don't wish to interconnect with cable you could look at wireless, e.g. MiWi
**broken link removed**

Not open for further replies.

Part and Inventory Search

Welcome to