This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Addressable Sensors

Other Parts Discussed in Thread: TPS22993, SW-EK-TM4C123GXL, CD4067B, TCA6424A

Hi,

I am looking for addressable sensors which can work on I2C, 1-wire protocol or any other similar protocols. Requirement is to connect multiple sensors(reading analog and digital data) on a single bus(upto 25 of the same kind). I cannot use i2c extenders because I want each slave address to be uniquely addressable from a master(There may be upto 25 connected as slaves). Its more like plug and play of sensors.

With some searching I was able to find one chip from Maxim which would help me do this. https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2413.html/tb_tab0. Is there are any in TI family of similar features. Because the Maxim ones help in only manipulating digital I/Os. I am looking for uniquely Addressable ADCs(again upto 25 units) also which can be plugged in to the same bus.

It will be great if someone can let me know if there is an IC in the TI family which can help me do this. Or am I better off connecting each sensors to a cheap controller and make that as a slave to the main controller?

  • Hello Amil,

      You ask about i2C sensors, i2C ADCs, reference a Maxim i2C switch, so I'm not clear on how all this fits together.  Could you provide a block diagram of what this design looks like, and how it is to operate.  Do you have the sensors already selected, or is that part of the selection process? You also mentioned a uController, are you selecting those as well?

    I am eager to assist with this design, I just need some more information to assist with the best selections. 

    ~Leonard  

  • Hello Leonard,

    The project is in very nascent idea stage. I am trying to get a Master uC (which is does some data processing) get connected to a network of sensors connected in wired mode(not wireless). Sensors can be push button switches, potentiometers, magnetic latches etc(Meaning it can be digital or analog). The number of sensors plugged in to the bus depends on the user. Sensors are plug and play to the system.

    For the digital sensor(Push Button, Latches etc. ) I have www.maximintegrated.com/.../tb_tab0 from Maxim. I seeing if TI has a similar family line. I am not able to go with i2c products because of addressing issue. (I cant have the device with same address coming in the bus when lots of them are connected) Hence I am looking for addressable devices.
    Now the other problem is if I have to get analog data, I cant use the Maxim chip. So I was wondering if TI has a analog equivalent to the above chip.
    The one way I can think of solving this problem is to put a very cheap controller on the each of the slave sensors and make that talk with the Master uC. I was seeing if there is a ready solution for the addressing issue.

    Thanks.
  • Hi Amal,

      For the i2C Analog Switch, look at the TPS22993: http://www.ti.com/product/TPS22993/description .

    For processor and sample I2C code, you might look at the Tiva™ C Series LaunchPad Evaluation Board Software SW-EK-TM4C123GXL from this page: www.ti.com/tool/boostxl-senshub .

    ~Leonard 

  • Thanks for that. But it doesnt fit the bill as I can get only 7 uniquely addressable units with TPS22993

  • Amil,

     You could use something such as the CD4067B 16:1 Analog MUX : www.ti.com/product/CD4067B.

    Would this be an acceptable alternative?  You will control this with four digital address bits from the central uC. 

    A block diagram of the interface bus would still be helpful.

    ~Leonard      

  • Hello Amal,

    If you have sensors that have the same address you can still have multiples of them in your system if you use an I2C mux/switch which allows you to toggle between devices in a polling methodology.  Here is a app note that goes over some of the I2C devices, like switches.    The TCA6424A can support up to 24 channels. 

    http://www.ti.com/lit/an/slva787/slva787.pdf

    -Francis Houde

  • Hi guys,

    Thanks for the response. Sorry for the delay in response, I was traveling.

     

    CD4067B A mux wont work out as it increases the number of parallel wires in a bus and it wont be an automatic plug and play. I am attaching a rough block diagram for you (Apologies on the dirty handwriting :) )

     

    Thanks for that. TCA6424A wont fit my bill as its similar to a mux and I want the bus parallel lines to be minimum. Hence a addressable slave is preferred.

  • Hello Amal,
    I would like to know more about the application. If you don't want to use a polling architecture then our switch won't be able to help you out. I am not that aware of many I2C devices that have programmable addresses. I would be interested to see how you propose to do this. Let me know if you have any specific questions that I haven't answered.
    -Francis Houde
  • Hello fhoude,

    I am not sure how to better to explain the application. Its as simple as having plug and play sensors in a wired bus system connected to the master. Sensors can be plugged in and out of the bus at will and I wanted to keep wires in the bus as few in number as possible.
    One proposal I can think of is having each of the slave units being controlled by a cheap microcontroller. And each slave controller would take a predefined address, lets say 16 bits which is stored during production/program-flashing of the IC in the EEPROM. Addresses will be incremental in each of the slaves such that none of it can ever be same. So that I can have a unique slave. Now slave can talk with Master and vice versa via an i2C bus with 2 lines.
    The problem I see in the above design is that it might be costly and more importantly, how would the master know which slave(with a unique address) is connected in the bus. Maybe I can do an i2c scanner to see which all sensors are connected, but cycling through 2^16 address to see if there is ping is a bit slow process(Any smarter way to tackle this?). So I would have to device some way so that slave announces/advertises its address when plugged in to the system. I think slave cannot initiate communication in i2c. So I might have to design a custom protocol for this application. Or maybe I might be able to use Multi-Master i2c?(I am just thinking aloud here. Need to read up more on this.)

    What do you guys think of the above proposal? Do you see any better way to do it or any flaws in the design which I am not seeing?
  • Hello Amal,
    I completely agree with your thought process. I know it is software intensive but my inclination is that you can use cheap micros to do this. I2C slaves generally don't initiate contact and they don't auto address. Have you gone on the MSP430 forum? They might have a lot more experience helping customers doing similar things.
    -Francis Houde
  • Thanks. Will give it a shot then.

  • Just wondering, does this have to be a wired-bus solution?  This situation comes up all the time with wireless devices; as you add a device to the network, it requests an address/ID, the controller sends it a unique ID which the device then stores and uses for future communication.  Would this work in this situation?

    ~Leonard