Post Go back to editing

Multiple ADIN1110 on one microcontroller

Category: Software
Product Number: ADIN1110

I am currently working on a project where I would want multiple ADIN1110's connected to a single microcontroller in order to talk to multiple edge nodes at one time.  However, there seems to be a problem when initializing the second ADIN1110.  When the second one is brought online, it overwrites the configuration of the previous one and reports that the link is down.  Also, transmission of data returns a fail.  I am assuming that this is some sort of driver issue where the second object of the adin1110 class is using memory that the first object uses, causing an overwrite.  Any help would be greatly appreciated.

Parents
  • Hi,

    Can you please send us a diagram of your system?

    Regards,

    Raquel

  • Hello,

    I have included below a general diagram of how I have the devices connected.  There is a general SPI bus that is shared between the devices.  However, each ADIN1110 has its own GPIO pins on the MCU for things such as CS, RST, etc.

  • Hi,

    Have you checked with a digital probe if when doing a write to device 2, CS1 is going low? Device 1 should be ignoring the SPI unless its CS is low during that time.

    Are you using our no-OS device drivers? In that case, have you ported the BSP to your particular board?

    Regards,

    Raquel.

  • Hello,

    I have included a picture below of an oscilloscope reading connected to both of the chip select pins during initialization of the ADIN1110s.  As you can see, the chip select lines are only low when the MCU is sending data, then it is pulled high again.

    As for the drivers, yes, I am using the no-OS drivers.  I am using one of Sparkfun's boards for this project and am using their BSP file that they created for it.  The problem I am having is that the device reports that the boards have been initialized properly, yet when polling the link status of both of the boards, board1, which was initialized first, reports no link.  After some testing, I realized that whichever board is initialized first, will report the link down.  I have a feeling that there is some shared memory problems and the board that is initialized second, is overwriting the memory of the first board.

Reply
  • Hello,

    I have included a picture below of an oscilloscope reading connected to both of the chip select pins during initialization of the ADIN1110s.  As you can see, the chip select lines are only low when the MCU is sending data, then it is pulled high again.

    As for the drivers, yes, I am using the no-OS drivers.  I am using one of Sparkfun's boards for this project and am using their BSP file that they created for it.  The problem I am having is that the device reports that the boards have been initialized properly, yet when polling the link status of both of the boards, board1, which was initialized first, reports no link.  After some testing, I realized that whichever board is initialized first, will report the link down.  I have a feeling that there is some shared memory problems and the board that is initialized second, is overwriting the memory of the first board.

Children
No Data