Project using system bus (like I2C) VS project without any system bus

Started by Max_01 1 week ago3 replieslatest reply 1 week ago58 views

Hi everyone !

I'm new to embedded systems domaine and I have this question; if we don't use any system bus in a radar project that is based on PIC microcontroller for example, and we just do the wiring of the components, is that okay ? or will cause some loss data ? Otherwise, is the use of a system bus such as I2C is necessary for embedded system project ?

[ - ]
Reply by matthewbarrFebruary 14, 2020

Based on the devices you connect to your microcontroller, you either need a serial interface or you don't.

You typically use SPI or I2C to communicate (configure, control, transfer data) with an IC (eg. a flash memory device) that supports or requires that interface. If none of the external devices in your system support or require a serial interface to use them, there is really no reason for you to include one.

Even if you don't require a serial interface, you might consider bringing serial bus signals out to test points so they are accessible. Also include pads for any required pullup resistors. This way if you find you need to add a device that requires a serial interface, you can blue-wire your device connections and evaluate before changing your board design.

[ - ]
Reply by Max_01February 14, 2020

So it totally depends on the external devices of my system !

Thank you so much for your explanation matthewbarr.

[ - ]
Reply by PedroMBMachadoFebruary 15, 2020

Hi @Max_01,

   Not sure, why you mentioned "radar project" at all. The concept is simple microcontroller take inputs from sensors and provide outputs to actuators/display. Now, each sensor/actuator/display follow a communication protocol which might be either analog or digital. Analog devices will be interfaced either built-in or external ADC/DAC.

Low speed protocols which include UART (asynchronous full-duplex serial), i2c (synchronous half-duplex serial) and SPI (synchronous full-duplex serial) are used to communicate with the devices. Now, you will have to check that the TTL is compatible between devices (i.e. both the uC and device must use the same logic level, e.g. 5V or 3.3V). You will have to use level shifters if the TTL is not the same.

Now your questions are not clear. Loss of data happen when the transfer or sample rates are lower than the data generation rate (i.e. the amount of data being generated per unit of time). The selection of the communication protocol will have to take the data generation rate into consideration.

Kind Regards,