Post Go back to editing

ADIN2111 SPE port receive without transmit

Category: Software
Product Number: ADIN2111
Software Version: 1.0.0

Hello,

We are using ADIN2111 IC as communication interface for all our future company core products.

Our implementation is based on SDK 'AD2111 DEVICE DRIVER RELEASE NOTES SW1.0.0' using STM MCU as host.

We tried to work in both methods - 'open Alliance' and 'generic', eventually we continued with 'open Alliance'.

Our system communication is between multiple devices without network arbiter, allowing each device to transmit information at any time.

In order to achieve such communication method, all the network devices must receive ('listen') all the time, and transmit only when needed.

The question:

Using the SDK code, we could not find a way to receive from SPE network without transmit.

In order to workaround this problem, currently we transmit dummy bytes all the time (in order to receive), and we are looking for better solution.

What is the reccomended way to use the ADIN2111 SPE ports for recieve only?

Thank you!

Thread Notes

  • Hi,

    You need to configure the ADIN2111 to forward the unknown frames to both the host and the other port in the network to ensure no frames are dropped due to MAC filtering. The devices are always listening. Refer to the 'Frame forwarding on Receive' section in the datasheet to set this rule. You may need to apply further rules to restrict traffic depending on your application. 

    To clarify, the ADIN2111 devices are always listening regardless of whether they are transmitting. The issue may be related to filtering or forwarding rules (MAC filtering rules that drop certain frames), not a limitation of the device itself.

    Regards,

    Shazia

  • Hi Shazia,


    Thank you for the answer.
    The explanation regards the ADIN2111 MAC layer configuration is clear.
    I want to focus on the host application layer implementation.

    In our system host software we are communicating with ADIN2111 using the 'open Alliance' SPI stack as shown in the SDK.
    It looks like the API for read/write operations are  interleaved and does not allow to perform transaction without doing both TX and RX concurrently.

    Example from SDK code - communication transaction begins with:
    "adin2111_SubmitTxBuffer" which will drill down to "oaStateMachine" which will eventually use the hal macro "ADI_HAL_SPI_READ_WRITE"
    Only then - "rxCallback" will be called with the received data, and "adin2111_SubmitRxBuffer" should be called for the next transaction buffer.

    Referring to the original question:
    Our system communication is between multiple devices that should receive ('listen') all the time (without transmitting), and transmit only when needed.
    Is it possible to get application reference and/or example how to do received without transmit with 'open Alliance' SPI API?

    P.S There are fields in 'open Alliance' header as DV (data valid flag) that might allow RX only operation but they are not accessible to the API user.


    Best regards,
    Dotan

  • Hey Shazia,

    Following up my question (in the above discussion) regards performig user application RX w/o TX using ADIN2111 IC (for example when many devices 'listening' to communication line traffic).

    In our SDK we are using the HAL macro ADI_HAL_SPI_READ_WRITE , which can only read and write packet together.

    Currently we do not know about any other way to send / receive data, and following this way of working, the recieved packets will be the ones that passed the MAC filtering you have noted in your reply.

    We are widely using ADI SPE solution in our company core products, and therefor we are looking for ways to improve our usage.

    Any guideness, explenations, examples, etc ... would be very helpful.

    Thank you for your support.

    Best regards,

    Dotan

  • Hi  

    We can provide you access to an example that implements software loopback such that the frames generated on port 1 will be transmitted and received on port 2 or vise-versa. 

    We will follow up with you directly via email to provide further details.

    Regards,

    Shazia

  • Hey Shazia,

    That would be perfect.

    Waiting for your updates.

    Best regards,

    Dotan