Post Go back to editing

AD2437 main ↔︎ AD2428 sub — is ANY register setting or circuit change able to make them interoperate?

Category: Software
Product Number: AD2437

Hi,
We have seen the EngineerZone answer stating that "AD2437 and AD2428 are not
interoperable." Before we change our hardware, we need a definitive answer for
our exact configuration, because we have gotten very close and want to know if
ANY register configuration OR board/circuit modification can close the gap.
=====================================================================
OUR CONFIGURATION (please note the direction)
A2B MAIN node = AD2437 (AD2437BCPZY) on our own board, I2C 0x6A.
A2B SUB node = AD2428 inside a amplifier.
The amplifier is self / locally powered (LPS)

=====================================================================
SYMPTOM
In normal operation, immediately after we trigger discovery (A2B_DISCVRY),
the main reports:
A2B_INTTYPE (0x17) = 0x2A ("Line Fault: Critical Short Found at MainNode")

and the bus shuts off, so the sub (0x6B) becomes unreadable.
The SAME amplifier is discovered correctly AND powers up (LED goes solid)
when the A2B main is an EVAL-AD2428WD1BZ (AD2428) board. So AD2428 sub
itself is healthy; the problem appears only with the AD2437 main.
=====================================================================
EVERYTHING WE HAVE ALREADY TRIED (all still 0x2A unless noted)
A2B_CONTROL: SWBYP = 0 (real bias). Discovery → 0x2A.
With SWBYP = 1 (data-only, no DC bias) discovery DOES complete
(INTTYPE 0x18, A2B_NODE 0x29 = 0xA0 / DISCVD = 1), but with no bus bias the
amplifier only blinks and never goes solid.
A2B_SWCTL.MODE sweep:
MODE 0 (SWCTL=0x01) → 0x2A
MODE 1 (SWCTL=0x11) → 0x2A
MODE 2 (SWCTL=0x21) → 0x0E (open / no next node)
HPSW power-config override: A2B_SWSTAT2 (0xA5) reads 0x20 (Non-LVI).
We forced A2B_SWCTL2.HPSW_CFG = 0 (Standard) with A2B_SWCTL.CFG_DET_OV = 1.
Still 0x2A.
AD243x switch init copied from a working AD2437Left right arrowAD2437 config:
BSDSTAT (0x5E)=0xB0, SWCTL5 (0xA3)=0x01. Still 0x2A.
RESPCYCS / DISCVRY swept 0x83 / 0x96 / 0xAF / 0xBF. No change.
A2B_SWCTL.MODE = 3 (Engineering Debug, SWCTL = 0x33 with CFG_DET_OV):
discovery COMPLETES with real bias — INTTYPE = 0x18, sub readable
(VENDOR/PRODUCT = AD 28 00 01), A2B_NODE = 0xA0 (DISCVD=1), and the bus is
clean: sub BECNT = 0x00 over repeated reads, INTPND0/1/2 = 0x00, SWSTAT = 0x00.
BUT the amplifier still only blinks (never solid), and MODE 3 is a debug mode, not a
valid operational bus. As soon as SWCTL leaves MODE 3 (e.g. → 0x21) the link
drops and INTTYPE goes 0x0F → 0x19.
Interpretation: the AD2437's line-fault diagnostic flags the self-powered
(zero-bus-current) AD2428 node as short-to-VBUS in every normal mode; only the
debug mode bypasses it, and the debug mode does not give the amplifiera valid
operational bus.
=====================================================================
OUR BOARD'S A2B MAIN BIAS FRONT-END (for the circuit question)
VBUS = vehicle battery (~12–14 V), also fed to the AD2437 VBUS pin.
External high-side NMOS (DMN3028L) gated by SWP.
High-side current sense: 0.05 Ω into ISENSEP; VSENSEP after the switch.
No low-side switch (SWN / VSENSEN / ISENSEN pulled to GND via 100 kΩ).
Data is transformer-coupled; 120 Ω line terminations.
VIN = 5 V, LVI = 0 (Non-LVI mode).
(For comparison, the EVAL-AD2428WD1BZ master biases the bus from an LTC3121
regulated, inrush-current-limited converter, and the amplifier works with it.)
=====================================================================
OUR QUESTIONS
Is there ANY register configuration on the AD2437 main (including the
undocumented switch registers SWCTL3 0xA1 / SWCTL4 0xA2 / SWCTL5 0xA3 /
SWCTL6 0xA4 / BSDSTAT 0x5E, VMTR thresholds, or line-diagnostic controls)
that lets an AD2437 main discover and NORMALLY operate an AD2428 (self /
locally powered) subordinate node?
Is there any HARDWARE / circuit modification to our AD2437 main bias & switch
front-end (e.g. sense resistor value, regulated vs battery VBUS, disabling or
re-thresholding the high-side current diagnostic, different switch topology)
that would make it compatible with an AD2428 sub?
If it is truly impossible by any register or circuit change, please confirm
that definitively, and state the recommended path — i.e. must the main be an
AD2428 / AD242x of the same generation as the sub?
We can provide full register traces, i2cdump of both nodes, and the board
schematic on request.

Thank you very much for a definitive answer.
Best regards,
Nono

  • Darn messed this up on the rewrite so trying again.

    I can verify that mixed AD2437 and AD2428 systems work fine in SS+.  You don't say what you did on your AD2437 for the B port power output. It sounds like you have all the parts, if you had left off then that would be your problem.  ADI datasheet is not helpful on that topic and there's no clear reference design either.

    In case it's needed here's what I've done when no B port power is used, 12V < Vbus < 24V:

    When I rewrote this I realized what I didn't ask: The ADI AD2437 software assumes you are using their hardware and GPIO 7 is the 5V fault, but only if you check off RJ45 or XLR.  A quick check is to set the power to UTP and it will skip that check.  Note 24V is always turned on if you check UTP.

    What I can't remember is if the 5V fail message is the same as the other fail messages.  I think it is, which would lead to possible confusion here.

    Anyway, it should all work, and try UTP setting in SS+ first to remove GPIO7 from the equation.

    Other:
    I too have no idea why ADI says you can't mix '28 and '37, it's been a requirement for over half of the projects.  I'm referring to SS+; obviously doing your own software you can do anything.  If ADI ever breaks mixed '37 and '28 systems I will be yelling loudly Slight smile

    I was trying to provide a link to a Clockworks module set for CFG4 / CFG0 mixed system adapters to deal with the power and connector differences, but apparently providing a link now in a forum is verboten. If you google for clockworks a2b cfg 0 cfg4 adapter you will find them.

  • Hi Brewster,

    Thank you for the reply — that was genuinely helpful, and we are testing the UTP setting now.

    Two follow-up questions if you have a moment.

    1. Does discovery behave differently under SWBYP?

    Our situation: an EVAL-AD2428WD1BZ as main node discovers our amplifier correctly (AD2428 sub node, locally powered), and the amplifier powers up and plays. When we port that same configuration to our AD2437 main node, discovery fails immediately with A2B_INTTYPE = 0x2A (Line Fault: Critical Short at MainNode).

    Setting SWBYP = 1 gets us through discovery cleanly ,amplifier never comes up.

    So: is the discovery sequence itself different in SWBYP mode, or is it identical apart from the bias not being applied? And if we inject the bias externally while keeping SWBYP = 1, is that a configuration you have seen work in practice?

    One piece of context that may matter: the amplifier is built around a 9 V bus, following the AD2428's 4–9 V range. The AD2437 datasheet specifies VBUS 12–24 V, and we are currently running the bus at a fixed 9 V for testing. Is 9 V simply below what the AD2437's line-fault diagnostics can operate with, and is that the likely cause of the 0x2A?

    2. A beginner question about measuring the bus

    I'm new to A2B. With 9 V on the bus, should both BP and BN measure ~9 V to ground, or only one of them? I would like to confirm our bias injection is wired correctly before chasing anything else.

    Thanks again for your time.

  • > Is 9 V simply below what the AD2437's line-fault diagnostics can operate with, and is that the likely cause of the 0x2A?
    Yes.  I seem to remember the AD2437 starts to show failures < 10V typical.
    You safe bet when downstream nodes are AD2425 is the AD24347 main node does not have the hardware to provide bus power (so a software bug won't blow something up), and you first AD2428 node be locally powered.There are fancier ways to do mixed CFG0/CFG4 systems but it can get complicated quickly if you want to allow arbitrary setups.

    > Setting SWBYP = 1 gets us through discovery cleanly ,amplifier never comes up.
    Though this seems odd, you say it discovers the amp node but won't program the AD2428 to operate correctly?  Or something else?

    >  while keeping SWBYP = 1, is that a configuration you have seen work in practice?
    I would have to go rerun experiments - I think at some point the AD24xx wants to see power turned on but I definitely could be misremembering.  As a general concept though you can provide "bus" power independently of the AD24xx, you just need to tie of the pins correctly AND provide a Vbus that meets the chip spec for CFG0 or CFG4.

    > With 9 V on the bus, should both BP and BN measure ~9 V to ground, or only one of them?
    Only Bp, Bn is ground (well when I see 9V I think CFG 0, ADI's AD2437RJ45 based  boards flip the positive and negative differential signals but NOT the power). Hopefully I can put a link here that will help you: https://audioxpress.com/article/r-d-stories-getting-started-with-automotive-audio-bus-part1

  • Thanks Brewster — that answers the 9 V question.

    To clarify the SWBYP = 1 case: discovery completes and the AD2428 is fully readable (its internal DSP even gets programmed over the bus), but the amplifier never wakes up. Our current understanding is that the amplifier uses bus bias as its wake-up signal and expects roughly 5–9 V (AD2428 / CFG0 range).

    What we see with the AD2428 EVK as main: the amplifier blinks (standby) while bias is present, then goes solid right after discovery succeeds and audio plays. Measured on the bus: one wire ≈ 6 V, the other ≈ 0 V.

    Our AD2437 main circuit is attached. V_BATT = 12–24 V feeds both the AD2437 VBUS pin and the bus switch: a high-side NMOS (DMN3028L) on SWP, 0.05 Ω sense into ISENSEP, VSENSEP after the switch; no low-side switch (SWN / VSENSEN / ISENSEN tied to ground through 100 k); transformer-coupled data with 120 Ω terminations; VIN = 5 V, LVI = 0. One thing that looks different from the EVK: on our board both BP and BN carry the bias voltage (both inductors L140/L141 hang off the same switched node), whereas on the EVK only one wire is at ~6 V and the other is at 0 V.

    We also tried forcing V_BATT to 9 V externally. The amplifier does detect it and starts blinking (standby), but it never goes solid — discovery on the AD2437 still fails.

    And on the UTP setting: our main uses the Custom Platform block in SS+, and the Cable Type / UTP option does not appear anywhere in the UI for it (only Local Powered and Expected HPSW_CFG, which is read-only).

    Given all this, what would you recommend? Is the both-wires-biased front end the problem for a CFG0 node (i.e. should bias be on BP only with BN as return), and is the right path an external CFG0-compliant 9 V with SWBYP = 1?

    Thanks again.

  • Hi Nono,

    I gave you some bad information; the port type in SS+ is set on the A port of the downstream node (yeah to me this is backwards). With the subnode being the AD2428 you don't get the drop-down choices like you would with the AD2437 as a sub-node. Sorry for the confusion there.  It also means I don't actually know (remember) what the main node is doing with GPIO7.  I think for now we can ignore that.

    You have what I would call two issues in your design:

    1) You're applying Vbat (>12V) to a CFG0 device (AD2428). Now in your system that's only partially true because the AD2428 is locally powered.  But it has the A2B power sense circuit and that's probably not expecting more than 9V.  And if you plugged in some bus powered AD242x (or AD2433) device you are stressing it - maybe even let out some smoke.

    2) On the B port in UTP (or 2 wire) systems BP is the positive bus power and BN is supply return - nominally ground but if it's a bus powered node than it's not actual ground.  There's also a question of fault detection on the BN side; you're not doing that which is fine but in AD2428 it's baked into the chip and you're kind of assuming the things you (will) plug in aren't counting on the return path sensing.

    To show that it works connect R270 to 9V, not Vbat.  Disconnect L141 from Q4 and connect to ground.  That will turn on the amp and using 9V not risk part damage.

    Good luck,

    Brewster

  • Dang, I forgot about the IsenseP connection.  It won't like 9V being there. I left my original comment alone just to show how easy it is to forget something on this stuff.

    I think there's no simple way to try and trick the AD2437 to act like a CFG0 A2B power source. Tie off the IsenseP/VsenseP and connect a 9V 300 mA max power source to the BP line through L140.

  • Thanks Brewster — just to make sure we read you correctly:

    We keep the bus CFG0 for the amplifier (BP = 9 V, BN = return), but the 9 V comes from a separate regulator (from Vbat, 300 mA limit) straight into L140 → BP, not through the AD2437's switch. L141 goes to ground. The AD2437 runs with SWBYP = 1 so Q4 never switches, and its VBUS / ISENSEP stay on Vbat; VSENSEP gets a 100 k to ground so it isn't floating, SWN / VSENSEN / ISENSEN stay 100 k to ground.

    Is that what you had in mind?

  • VSENSEP goes 100K to Vbat, not ground. For now though you could just remove Q4.

    I think the rest should work. Still a chance I forgot some oddity but it should be minor.. You could ignore SWBYP if Q4 is pulled.

  • Hi Brewster,

    Thank you very much for the follow-up and for the correction on VSENSEP — really appreciated.

    We have implemented your suggestion: Q4 is removed and L141 goes to ground, so the AD2437 no longer switches anything and the bias is fed straight into L140. For the moment the whole A2B power section (VBUS/ISENSEP and the L140 feed) is on the same bench rail.

    What we observe:
    - Rail at 8 V: discovery fails with INTTYPE 0x2A.
    - Rail at 7.5 V: discovery completes.

    However, the amplifier still does not switch into A2B mode (the front LED keeps blinking). The amplifier vendor tells us it should start on its own once discovery completes — which is exactly what we see with the AD2428 EVK as main, using the same amplifier and the same cable, without any mailbox traffic — and that its MCU checks A2B_NODE bit 5 (DISCVD) on its own AD2428. We have verified that this bit is set on our bus, and every register the main writes into the amplifier's AD2428 is byte-identical between the EVK case and ours.

    So the AD2437 links to the amplifier's AD2428 without any errors, yet the amplifier does not seem to accept it. If you don't mind, two more questions:

    1. Is the 0x2A at 8 V expected with VBUS below spec, or could it point at something else in our tie-off?
    2. Is there anything an AD2437 main puts on the bus (SCF contents, timing, or anything the sub's MCU could read back) that differs from an AD2428 main and that a sub-side controller might be checking?

    Thanks again for your time and patience with this.

  • Hi Brewster,

    A quick update: the amplifier now starts up with our AD2437 main. The cause turned out to be timing rather than registers.

    The amplifier is bus-powered and wakes up on bus voltage. If bus voltage is applied first and discovery comes later, the amp boots, sees no main, goes into its "searching" (blinking) state and does not accept a later discovery. If the bus power is switched on at the same moment discovery starts, the amp is discovered within its boot window and the LED goes solid.

    This matches the AD2428 EVK behaviour: with the amp connected and the EVK idle, the amp LED is off; when SWCTL.ENSW closes the switch and discovery runs, the amp starts blinking and then goes solid once it is up. So feeding a constant bias into the bus, as we did before, does not fit the amplifier's design — the bus power has to come up together with the discovery sequence, the way the EVK does it through SWP.

    We are now working out how to get that power-on / discovery timing on our board.

    Thanks again for your help on this.
    Nono

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.