Using Multiple ADIN1110 chips with Artemis Processor Board

I am working on a project in which I would like to maintain multiple SPE connections. I have managed to connect two ADIN1110 chips to an Artemis MicroMod Processor using the All the Pins Breakout board. This board is connected to two of the ADIN1110 development boards from Analog Devices. Each board has its own interrupt, chip select and reset pin setup and I am able to connect and setup both ADIN1110 chips. On the boards, the link light is lit, and there seems to be a good link. However, the board that was initialized first, reports the link down in the getlinkstatus() function. While the board that was initialized second, reports the link is up in getlinkstatus(). I am not sure if this is an easy fix in the driver, or if I am missing something. Any help is greatly appreciated!

Sounds like you are facing a problem with the ADIN1110 chips conflicting with each other when using multiple connections on the Artemis MicroMod Processor.

It is possible that the initialization sequence for the first ADIN1110 chip is causing the link to go down on the second chip, causing the getlinkstatus() function to report the link as down.

You should check the initialization sequence of the driver and ensure that the chips are being configured correctly. Also check the chip select, interrupt and reset pin setup are correct and ensure they are not conflicting between the two ADIN1110 chips.

Additionally, you could try experimenting with different configurations of the pins and see if that resolves the issue. It’s also possible that there is a known issue with the ADIN1110 chips that Analog Devices has documented which you can check in their documentation.

bidrohini:
Sounds like you are facing a problem with the ADIN1110 chips conflicting with each other when using multiple connections on the Artemis MicroMod Processor.

It is possible that the initialization sequence for the first ADIN1110 chip is causing the link to go down on the second chip, causing the getlinkstatus() function to report the link as down.

You should check the initialization sequence of the driver and ensure that the chips are being configured correctly. Also check the chip select, interrupt and reset pin setup are correct and ensure they are not conflicting between the two ADIN1110 chips.

Additionally, you could try experimenting with different configurations of the pins and see if that resolves the issue. It’s also possible that there is a known issue with the ADIN1110 chips that Analog Devices has documented which you can check in their documentation.

I have experimented with using different pins for connecting to the ADIN1110s with no results. I have read through the drivers and I am not seeing anything that would cause a problem (I am using the SparkFun ADIN1110 drivers created for their ADIN1110 board). I have a feeling that it may have something to do with the ADIN1110s sending interrupts to the Artemis processor? Would interrupts cause a problem if they are sent during an initialization of a chip? I have added a delay between the first and second chip initializing. However, this did not seem to resolve the issue.

My other thought is that the two chips could possibly be using the same memory for storing their information? I have them declared separately, calling the ‘SinglePairEthernet’ class for each chip. I do not think that it is a hardware issue, all the connections are good, I feel that it is a driver issue.

Yeah. One possible cause could be that the chips are using the same memory for storing their information, which is causing a conflict between the two chips. To check this, you could try to look at the memory usage of the chips during initialization and see if they are using overlapping memory regions.

It’s also possible that the issue is related to the SparkFun ADIN1110 drivers you are using, as you suspect. You could try to reach out to the developer of the driver for assistance or look through the driver code for any potential issues.

Finally, it could be a hardware issue, you can check that all the connections are good, and all the voltages are correct.

bidrohini:
Yeah. One possible cause could be that the chips are using the same memory for storing their information, which is causing a conflict between the two chips. To check this, you could try to look at the memory usage of the chips during initialization and see if they are using overlapping memory regions.

It’s also possible that the issue is related to the SparkFun ADIN1110 drivers you are using, as you suspect. You could try to reach out to the developer of the driver for assistance or look through the driver code for any potential issues.

Finally, it could be a hardware issue, you can check that all the connections are good, and all the voltages are correct.

Do you know how to get in touch with the developers of the drivers? I cannot find any contact information other than the forum.