This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DS280MB810: Does SigCon Architect support I2C Slave Mux

Part Number: DS280MB810
Other Parts Discussed in Thread: PCA9545A, DPS-DONGLE-EVM, USB2ANY

Hello TI team,

I would like to confirm that SigCon Architect supports in-line I2C Slave multiplexers. Previous emails to our TI regional sales team indicated that I2C slaves muxes were indeed supported.

Here is the setup we have on our board:

SigCon Architect will communicate via the TI DPS-DONGLE-EVM programmer connected to the Prog Header shown. The DS280MB810 resides on the other side of the TI PCA9545A I2C slave mux. What settings/provisions does SigCon Architect provide to allow sending the appropriate mux select commands to the I2C mux at location x70, so as to allow communication over (say) output 3 as shown?

Thanks in advance for your help.

Regards,

-Mark

  • One more thing to add..

    I suspect you may point me to using the scripting mechanism. If so, note that I tried 'Script>Launch Window'. But, it gave me this dialog box:

    After which I reinstalled Python 2.7, then re-started SigCon Architect and again tried to launch the scripting window. I received the same dialog box error as above however. Therefore, I suspect that somehow SigCon Architect is not seeing my installation of Python 2.7.

    Hope this helps.

    Regards,

    -Mark

  • Hi Mark,

    Sigcon Architect will support an in-line I2C mux once the MUX channel is selected.  Sigcon Architect does not have build in support for selecting the different channels of the I2C MUX.  Hopefully the emails you received were clear about this.

    With that said, I believe we can still use the DPS dongle and SigCon Architect with your board.  My recommendation would be to download USB2ANY Explorer, which can be used for arbitrary I2C reads/writes.  When you want to communicate with the DS280MB810, ensure SigCon Architect is closed, and open USB2ANY Explorer.  Navigate to the I2C page, and execute the writes necessary to select a channel on the MUX.  After the MUX channel is selected, close USB2ANY Explorer, and open SigCon Architect.  Since the MUX should act like a passthrough at this point, I would not expect any issues using SigCon Architect.

    Thanks,

    Drew

  • Hi Drew,

    I've downloaded the USB2ANY Explorer and will try that approach.

    With regard to the scripting window in SigCon Architect however (i.e. Script->Launch Window). Is it possible to send an arbitrary I2C read/write using that approach? If so, I could perform the I2C mux write in the scripting window, then click back to the SigCon Architect GUI and interact with the DS280MB810 device that way.

    Thanks,

    -Mark

  • Hi Mark,

    For now I would recommend using USB2ANY Explorer.  Based on the thread linked below, it seems like arbitrary I2C read/writes should be possible.  However, I also get an error message when trying to launch the SigCon Architect scripting window.  I've reached out to my team to see if anyone knows a of a solution to this.  I'll update you if we identify a quick solution.

    https://e2e.ti.com/support/interface-group/interface/f/interface-forum/502583/sigcon-architect---register-read-write-command-using-the-script

    Thanks,

    Drew

  • Hi Mark,

    I was able to launch the SigCon Architect script window on my end after some debug.  I have a couple notes that I think may be relevant to you.

    1) In your case, if python 2.7 is not found, it may be the case that your python2.7 installation is not included in your system PATH variable.  You could confirm this by seeing what happens when running "python" in windows CMD.  The expected behavior necessary for SigCon Architect scripting to work is that running "python" in CMD pulls up the python2.7 environment.  If this does not happen, please add your python2.7 installation location (containing python.exe) to your PATH variable.

    2) In my case, I have python 3.6 and python 2.7 installed.  My path variable was configured such that running "python" would pull up python 3.6.  This broke SigCon Architect scripting.  I resolved this by moving the python2.7 installation folder prior to the python3.6 installation folder in the PATH variable.

    Please let me know if modification of your PATH variable is able to resolve your issues.

    Thanks,

    Drew

  • Hi Drew,

    First, does USB2ANY Explorer talk to a DPS-DONGLE-EVM programming board? When I start USB2ANY Explorer and click the "Select Interfaces" button, I see a picture of connector pinouts for the USB2ANY programmer, not the DPS-DONGLE-EVM programmer. I'm not convinced that USB2ANY Explorer knows anything about the DPS-DONGLE-EVM from what I see there. Moreover, I don't see where and how I'd enter an arbitrary I2C read/write command from there or any other place in the USB2ANY application windows.

    Second, I added "C:\Python27" to the Windows10 PATH variable. I then ran python from the windows CMD and that worked. So, it appears to correctly be in the PATH. However, when I run SigCon Architect and try "Script->Launch Window" I get the same "Python 2.7 not detected." error box.

    Again, I'm at a loss. Please help me figure out how to run arbitrary I2C read/write command, so that I can set select the needed I2C slave mux output. This is becoming a priority on my side. Thanks.

    Regards,

    -Mark

  • Hi Drew,

    Adding on the previous..

    Third, I have my DPS-DONGLE-EVM plugged into my laptop with the USB cable and the LED lights up. Good, apparently. The I2C connector on the dongle is unconnected at present (because my board arrives tomorrow). I then start up SigCon Architect and get the following dialog box:

    Normal? Hmm. Anyway, since I want to generate an EEPROM file for my board, I skip the demo mode and click "Retry". The dialog box goes away and I click "Apply" button hoping that the EEPROM page "un-grays", but it doesn't and I am unable to access it. Does this mean that I need to be talking to an actual DS280MB810 over the I2C in order to generate an EEPROM file, or even to access the EEPROM Page? If so, that's unfortunate because one can't create EEPROM .hex files ahead of time, but has to wait until I2C access to the DS280MB810 can be accomplished. If not, does that mean that the DPS-DONGLE-EVM is not recognized and that I need to actually have a USB2ANY programmer instead. I am starting to wonder if I'm out on a limb with the programmer I have. The SigCon Architect documentation however, indicates that the DPS-DONGLE-EVM is the "preferred" programming board, so that is what I went with.

    Help.

    Thanks,

    -Mark

  • Hi Mark,

    Thanks for investigating the python path.  It's not clear to me why python cannot be found if it's included in the path, I haven't run into this before.  I can try to reproduce this on my end, although for now I would recommend using USB2ANY explorer.

    Regarding the use of USB2ANY explorer, there is an "I2C" tab next to the "Debug" tab in the USB2ANY explorer.  Please select this in order to read/write I2C data.  USB2ANY and DPS-DONGLE share similar hardware, so I expect USB2ANY explorer to work with it.

    If you want to generate an EEPROM without a device connected, please select "Demo Mode".

    Thanks,

    Drew

  • Hi Drew,

    I did find the "I2C" tab in the USB2ANY explorer, but I don't believe it recognizes my DPS-DONGLE-EVM eval board. The reason is, I clicked into the "Select Interfaces" button on the "I2C" tab and it brings up a picture of the USB2ANY eval board, with no mention of the DPS-DONGLE-EVM eval board. Despite that, I checked the "I2C" interface option. I also checked the "Enable pullups" checkbox on the "I2C" tab.

    I then connected o-scope probes to the SCL and SDA pins of the DPS-DONGLE-EVM board, and initiated reads/writes to my I2C Slave Mux at address 0x70 per my drawing above. But when pressing "Read" and "Write" button, I do not get any waveforms showing on the scope. It appears the I2C pins are not active, as no signal is captured. My scope does not trigger and I am left wondering if the USB2ANY explorer application doesn't know how to talk to the DPS-DONGLE-EVM eval board.

    If it's true that the USB2ANY explorer application can't talk to or control the DPS-DONGLE-EVM board, then I will absolutely need to get the Python path issue fixed inside SigCon Architect since that should talk to the DPS-DONGLE-EVM. I just need I2C access to work and some way to write the Texas Instruments I2C Slave Mux config register correctly. It seems that fixing the Python path issue is the most likely way to get things working.

    At present, I have newly arrived boards in the lab with DS280MB810's soldered on them and very much need to communicate to the redrivers over I2C. Unfortunately, my work on the boards is halted until I can get this issue resolved.

    Thanks in advance for any and all help. I will also contact my Regional Sales Manager to push from that side.

    Regards,

    -Mark

  • Hi Mark,

    Could you try adding pullup resistors while performing your test on the DPS-DONGLE-EVM SCL/SDA?  The DPS-DONGLE-EVM does not have the pullup resistor circuitry that the USB2ANY contains, so I don't expect the pullup enable to have an effect on DPS-DONGLE-EVM.

    Thanks,
    Drew

  • Hi Drew,

    I'm now able to talk to the DS280MB810 redriver using SigCon Architect. The I2C problem was on my board, where PUs were not initially powered from power rail at power on. Once this was fixed, the I2C started working. My procedure is now as follows:

    1. Connect DPS-DONGLE-EVM J4 connector I2C to the target board I2C bus, power the board, start the USB2ANY explorer application.

    2. Write 0x08 to configuration register of I2C slave mux, located at address 0x70 (7-bit). I2C bus on output 3 is subsequently enabled.

    3. Exit USB2ANY application. Start SigCon Architect (SCA) Application.

    4.Within SCA select slave address 0x30 (8-bit) and click 'Apply'. SCA then connects to redriver and updates all pages in application. Note that the need for the 8-bit address caused some initial confusion, due to fact that I was putting in 7-bit address. Once changed to 8-bit, it worked fine.

    5. After steps 1-4, redriver I2C comm was consistently possible.

    Note that USB2ANY explorer and SCA require different firmware loads on the DPS-DONGLE-EVM programmer. Therefore, every time I switched from USB2ANY explorer to SCA (or vice-versa), I was asked to update the firmware. See the screenshots below. This became tiresome, so I just started using an Aardvark I2C programmer with their 'Control-Center' application instead, to perform the initial step of programming the output port of the I2C slave mux. That way, no firmware update was needed when switching over to SigCon Architect from the Control-Center app. I can also use the Aardvark 'Flash-Center' application to program my EEPROM,which is nice because SCA doesn't allow me to do that either. Overall however, I'd still advocate that TI fix the 'Script->LaunchWindow'  Python2.7 issue in SigCon Architect for those folks that don't want to buy a $330 Aardvark programmer.

    I consider this case closed. Thank you.

    Regards,

    -Mark