Post Go back to editing

Is it possible to control A2B multi-master using ADAU1452 without Any MCU?

Category: Hardware
Product Number: ADAU1452
Software Version: All

Hello,

I'm considering to configure A2B Multi-Master with only ADAU1452(using SigmaStudio) without any MCU.

The following is my block diagram.

All A2B Transceiver are A2B Master and they are controlled by HOST(ADAU1452).

So, I made the each Master A2B Schematics for #1, #2 and #3. Of course, I set each different I2C Address for each A2B Transceiver.

And I made them to one BCF merge file(xml) but I don't know further steps now.

Is it possible to control A2B multi-master using ADAU1452 without Any MCU?

If it's possible, Please let me know next step in my case.

Please give me some advice...

Thanks,

MS



Removed link which helped with translation
[edited by: GenevaCooper at 2:36 PM (GMT -4) on 16 Oct 2024]
  • Might be better to ask this in the SigmaDSP forum. I seem to remember discussing this with someone way back and decided the answer was "theoretically possible but might hit lots of problems"  Given micros are so cheap...

    Did you look at https://wiki.analog.com/resources/tools-software/sigmastudio/toolbox/mastercontrolport

  • Hi  

    Yes multimaster schematics are supported in SS+.

    On top of it, in SS plugin, there is a code given for multimaster, its worth to check that code
    as well.

    C:\Analog Devices\ADI_A2B-SSPlus_Software-Rel1.3.x\Target\examples\demo\multimaster

  • Hi arunk,

    First of all, thank you for your answers.

    When I installed latest SigmaStudio+ SW as you mentioned, I was not able to find multimaster folder and the Release version is different now(my SS+ version is 2.2.0).

    My path is like the following and Release version is .

    "C:\Analog Devices\SigmaStudioPlus-Rel2.2.0\Target\Examples\Demo"

    the contents is like the following but it's different with you.

    Could you let me know how to get ADI_A2B-SSPlus_Software-Rel1.3.x??

    Thanks,

    MS

  • Hi Brewster,

    Thank you for your answer~!

    I checked the link as you mentioned and I need to check "Master Control Port Boot Time I/O (ADAU145x)". Am I correct?

    Accroding to the "Master Control Port Boot Time I/O (ADAU145x)", I was not able to use the merged CDF file which I made for Mulit-Master.

    So, I executed the following.

    1. I opened each three A2B schematic to make adi_a2b_commandlist.xml(which is I2C address base).

    2. I made three adi_a2b_commandlist.xml files for the A2B configuration of each three A2B Receivers. Here is the sequence.

    Run "link compile download" --> Uncheck "Program during discovery" on ADAU1452(A2B Host) properties. --> I run "link compile download" again --> Right Click on "Target Processor(PC)" --> Select "Export A2B Configuration file" --> Click "Command List Export" --> input "File Name" on "File path for Command list .XML file and check "include Peripheral Configuration data" only --> Click "Generate".

    3. As based on "Master Control Port Boot Time I/O (ADAU145x)", I dragged  "Master Control Port ID" in Starup Boot menu in ToolBox and I added the adi_a2b_commandlist.xml file in "Sequence File" on Control Port Properties.

    When I pushed "link compile download", SigmaStudio said like below picture.

    I tried to changes the proper Address Byte Length but it's still happened.

    I don't know why this problem is happened...

    Thanks,

    MS.

  • Hi MS,

    I never had to make that work - ended up with a micro to deal with all things I2C.  Just wanted to point out that page on the Wiki.  I think if you ask the question about I2C mastering on the SigmaStudio forum you might get a better answer. 

    (on the example Arun pointed out - look in C:\Analog Devices\ADI_A2B-SSPlus_Software-Rel1.3.x, not the SS+ tree.  Regardless there's no ADAU1452 example that I can find there? There's also no readme or similar that explains what the code is for/does in the examples tree?)

    You can certainly just squirt all the I2C things down A2B, but you won't have any error checking and there's some uncertainty about timing as the nodes do discovery.  With a small micro controlling I2C you can make what I think would be a more robust solution to figure out if something has gone wrong and presumably notify the user - even if it's just a flashing LED or similar.

    Brewster