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.

USB-PD-CHG-EVM-01: Sample Charging and Discharging Configuration

Part Number: USB-PD-CHG-EVM-01
Other Parts Discussed in Thread: TPS25750, BQ25792, USB-C-PD-DUO-EVM

Hi again,

I was still hoping to get a sample configuration for the EVM for a battery pack (i.e., supports charging and discharging, doesn't have any data). I would want to demonstrate both charging and discharging working at a variety of voltages. Here is basically what I'm looking for:

1) A 4s battery pack (16.8V charging)

2) Max sourcing at different voltages (3A+ at 5, 9, 15, and 20V).

3) Max sinking at different voltages. If I understand correctly, that would be 3A at 5V, 9V, or 15V; and 5A at 20V (if not, whatever the max values are for this set of parts).

With the 7.0.3 version of the tool, all of my generated files do not work for discharging at all - the voltage alternates between 0 and 5V, but I don't get any current. Conversely, I do see good charging results (via my phone charger at 5V, and laptop charger at 20V).

I loaded an old binary (made with the 7.0.2 tool) that I got discharging to work with before, and that still works fine for discharging (up to 3A for 5, 9, 15, and 20V); it still doesn't work for charging. I regenerated the same config with the 7.0.3 tool, and it no longer discharged at all (0 and 5V alternating, no current), and it did charge. 

Is anyone having success with the TPS configuration tool?

I attached a zip containing two versions of the configuration: eric_chg and eric_dsg (both bin and json), for reference, although I'm beginning to think that these configurations matter a lot less than the tool, and perhaps identifying what combinations of settings it works for.

Thanks,

-Eric Castle

sample_files.zip

  • Hi, is anyone available to discuss this? I've been digging into the register settings generated by the TPS tool, but that hasn't been as helpful as I'd hoped. 

  • I tried again with various configurations using the 7.0.3 tool. I tried using the protocol analyzer to look at the PD traffic negotiations. I saw profiles being advertised and accepted.

    However, in the case of discharging, there appears to be a "Hard Reset" command that is being issued after the voltage is accepted. I posted the configuration, binary, and protocol trace from a TotalPhase PD analyzer so this can be seen and potentially recreated. [Details on the protocol trace: You can see many examples of the hard reset happening repeatedly from indexes 932 - 8018. At index 8950, there is a successful charging negotiation when I plugged in a charger.] 

    This seems to explain the behavior I'm seeing with all of the 7.0.3 configurations with respect to discharge - they keep cycling between 0 and 5V (as the controller keeps resetting). 

    To rule out hardware issues, I tried with both of our USB-PD-CHG-EVM-01 boards, but both behave the same way. I also confirmed that discharging still works using my one configuration from 7.0.2 (and only discharging), so I don't think it is any thing to do with my cable or my load. 

    Thoughts?

    Thanks,

    -Eric7.0.3_config2.zip

  • Hi Eric,

    Thanks for reaching out on E2E!

    I would like to apologize that this thread has gone without a response.

    I have noted this thread, increased the priority and will try and get back to you by tomorrow.

    Thank you,

    Kevin

  • Hi Eric, 

    I had ordered the EVM yesterday and it should be in by Tuesday (TI will be closed for Labor day on Monday). 

    I appreciate the files!

    I will try and recreate this on my end and get back to you ASAP as I try and recreate this on my own end.

    I appreciate your patience while I look into this!

    Thank you,

    Kevin

  • Hi Eric,

    Raymond will take a look at this.

    Thank you,

    Kevin

  • Hi Eric,

    Can you obtain I2C logs during boot-up? 

    Thanks and Regards,

    Raymond Lin

  • 1) Do you mean the traffic between the TPS25750 and the BQ25792? I could set an I2C logger (TotalPhase Beagle) to capture that communication, and post it here.

    2) For all of the configurations posted above? 

    3) Do you want the native file format or the .csv? 

    I should be able to post these by tomorrow. 

  • Hi Eric,

    1. Yes that is correct

    2. If you can capture an I2C log for boot-up, source and sink at 5V that'll be greatly appreciated.

    3. Can you provide both? 

    I hope that helps clarify! Also can you provide a JSON file of your configuration settings? 

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond,

    Here's a zip file for the same configuration that I posted midway through up above (generated using the 7.0.3 tool). The zip contains the json and bin files, along with traffic logs for boot, discharge (5V), and charge in 5V and (presumably) 20V. I included the .tdc files and exported .csv files.

    I'll get the traffic for the original two configs next.

    Thanks!

    -Eric

    7610.3_config2.zip

  • Hi again Raymond,

    I attached two more zip files with configurations (json and bin) and I2C traffic logs to go with each configuration (the original two configs I posted at the top of this thread). The behavior seemed noticeably different for the discharge configuration, with a lot more traffic (and more traffic again when I disconnected the USB plug). I have noticed that this internal I2C bus between the TPS25750 and the BQ seems to get locked at times, with something (presumably the TPS?) holding either clock or data low. Perhaps the internal I2C bus is generally locking up when discharging doesn't work for me?

    Also note that the discharge configuration seems to default to 9V, so I captured that, then did another log where I switched into 5V discharge and then disconnected the USB cable for a second discharge log at 5V.

    Thanks,

    -Eric

    chg_7.0.2.zip 

    dsg_7.0.2.zip

  • Hi Eric,

    Thank you for providing the configuration and I2C files. I'll take a look through the settings and get you an update by tomorrow!

    Just want to make sure, regarding the most recent two zip files you send (chg_7.0.2 and dsg_7.0.2) were there configurations created using v7.0.2 or v7.0.3 GUI?

    Thanks and Regards,

    Raymond Lin

  • Thanks!

    Yes, I created both of these using the 7.0.2 GUI - you can see the version in the json file if you open it in a text editor.

    Thanks again,

    -Eric 

  • Hi Eric,

    Thank you for the clarification! I'm still working on your case and I will get back to you early next week.

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond,

    Just wondering if you have had a chance to look at this.

    Thanks,

    -Eric 

  • Hi Eric,

    Apologies for the delay, I was out of office for some time. I'll provide an update binary file by the end of the week.

    Just to give some information, the issues you observed when working with the 7.0.3 GUI seems to be related to a known bug issue that is currently being worked on (more information on the FAQ page here): https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1133736/faq-when-i-configured-the-usb-pd-chg-evm-01-using-the-online-application-customization-tool-the-pd-controller-isn-t-communicating-correctly-with-the-bq25792 

    Once the fix is release (v7.0.4), we'll update the FAQ page. 

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond,

    I appreciate the info. I look forward to a binary that I can try testing. Not sure if this is necessary/helpful, but I attached a json file that I believe is closest to what I'd ultimately want (with the caveat that I'm unsure about questions 5 and 6: the only communication that I'm supporting is for the PD negotiations - what do I put for that?).

    Finally, do you have any sort of estimated release time for the 7.0.4 version of the tool? We'll have hardware here in a few weeks, and I need to have a solution working soon.

    Thanks,

    -Eric Castle

    target_evm_settings.zip

  • Hi Eric,

    Attached is a edited binary from the settings you provided in the 7610.3_config2 folder. Please take a look and test it out from your end!

    I'll take a look into the new JSON settings you provided and send a fixed binary as soon as possible.

    Regarding version 7.0.4, the FAQ page will be updated once this fixed version is released. I'll check internally to see what the timeline is like and update the FAQ page.

    Thanks and Regards,

    Raymond Lin

    Fixed Binary: Eric_Castle_FF.bin

  • Hi Raymond,

    Thanks for providing this binary file. I tested it out, but it seemed to behave very similarly to most files that I make: charging works fine, but discharging results in the output voltage repeatedly going to 0V.

    I logged the PD traffic (still periodically hard resetting), and the internal I2C traffic between the TPS25750 and the BQ25792. This looked like the bus wasn't freezing, so I think your changes did help, but something about the commands still seems wrong.

    I tried comparing the commands from this one and from where I had discharging working. In general, they looked either identical, reasonably different (slightly different thresholds, etc.), setting a default vs not bothering, etc. The one difference that looked potentially significant was:

    REG16_Temperature_Control Register

    My working discharge config sets the register to 0xCC (VBUS_PD_EN is enabled, and VAC1_PD_EN is enabled). The binary that you just provided yesterday sets it to 0xC0.

    Thoughts? I attached a zip with the traffic logs (PD external, I2C internal), and csv versions as well.

    Thanks,

    -Eric Castle

    Eric_Castle_FF.zip

  • Hi Eric,

    Let me look into this and provide feedback next week. I'll provide another binary with register 16 set to 0xCC instead of 0xC0.

    Thanks and Regards,

    Raymond Lin

  • Thanks, Raymond, I appreciate your help with this!

  • Hi Eric,

    While I'm working on editing 7610.3 configuration, are there any configuration that needs to be addressed?

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond,

    The attached file above (target_evm_settings.zip) is the settings that I think I ultimately want, with the following caveats:

    1) Like I said above, I'm not sure what option I'm supposed to select for questions 5 and 6. My application is a battery pack (so it can charge and discharge). I thought that meant it needed to be a DRP; I have no data other than PD negotiations. However, if I select "No Data" for question 5, it grays out question 6. What options are correct for this for me?

    2) I may ultimately want a bit higher charger voltage than 16.8 (probably 17.0V), but I found that to cause problems with the tool in the past. Might be best to leave this at 16.8V.

    Thanks,

    -Eric Castle

  • Hi Eric,

    Thank you for clarifying, I'll have your full flash completed by the end of this week. 

    1. Number 6 is regarding the data role of your system. For a battery pack device that can be charged (sink) or charge other device (acting as source) this question will not be required for your configuration. I would recommend selecting "No USB data is being used" for question 5 (currently what you have should work in your application).

    2. The BQ25792 recommended charging voltage range is from 3 to 18.8 V, however this is also dependent on how many battery cell is connected (refer below): 

    Please note E2E will be down for the next couple days for maintenance, if you need additional assistance please reach out to TI service or your local FAE.

    Thanks and Regards,

    Raymond Lin 

  • Hi Raymond,

    Thanks for the clarification on questions 5 and 6. 

    Yes, I agree that tweaking the charge voltage shouldn't cause problems, but I recall seeing that it did with older versions of the tool. I will try adjusting it to 17.0V (for my 4s pack) and see if that works.

    Look forward to seeing the new binary.

    Thanks,

    -Eric Castle

  • Hi Eric,

    Should have the binaries ready by tomorrow, apologies for the delay.

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond,

    Thanks, looking forward to trying this out!

    -Eric Castle 

  • Hi Eric,

    Thank you for your patience, attached below are two full flash binary files. The files are configured with these battery settings:

    Battery Charging Voltage = 16.8V

    Battery Charging Current = 5A

    Charge Termination Current = 0.72A

    Pre-Charge Current = 0.6A

    The file name that ends with "_and_cc" sets register 0x16 to 0xCC instead of 0xC0, which the other file is set to.

    Let me know if this binary works for you and if you have any additional questions or concerns!

    Thanks and Regards,
    Raymond Lin

    0xC0 binary: Eric_Full_Flash_new.bin

    0xCC binary: Eric_Full_Flash_new_and_cc.bin 

  • Hi Raymond,

    Thanks for putting these together. I did try them out, but, unfortunately, I didn't see any difference in behavior: charging worked fine, but when in discharge, the voltage kept dropping to 0.

    This seems to match what I’ve seen with basically all my configurations generated using the 7.0.3 version of the tool: The TPS negotiates with the attached device, they agree on a profile, but then a reset is issued (and they keep repeating this). I believe this is because the buck-boost is misconfigured by the TPS, but I suppose the TPS could be doing something incorrect in the USB-PD protocol. 

    I'm wondering where we could go from here. I had originally assumed that the TPS could be configured via its registers but realize now that is more a black box (everything goes through the configuration tool and the firmware that it is also loading). I don’t feel like there is much that I could do to address this on my own with such a closed system.

    Raymond, do you think you could escalate this issue with the group responsible for the EVM or the parts? I would really like to see an example of a configuration (and tool / binary) that correctly supports both charging and discharging (preferably 4s, but I’ll take whatever). I’ve been working with this hardware off and on for nearly a year now without success and want to confirm that there isn’t some other flaw or mistake in my test setup and see that the hardware can achieve the basics of what we want before I put more effort into it. Presumably whoever is developing firmware and tool versions must have a test configuration that shows both charging and discharging with the EVM.

    Thanks,

    -Eric Castle

  • Hi Eric,

    Let me reach out internally to escalate your case and find an example configuration for 4s. 

    I'll get back to you by next Tuesday. 

    Thanks and Regards,

    Raymond Lin

  • Thanks, Raymond. Really appreciate it.

    Thanks again,

    -Eric Castle

  • Hi Eric,

    Thank you for your patience while we work through this. What PDO is negotiated when the EVM resets? Is this for all the Source and Sink PDOs or for only specific ones?

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond,

    I only see the resets on Source PDOs (charging/sinking works well for me).

    If you download Eric_Castle_FF.zip from up above, you can see a log of the PD traffic (pd_traffic_dsg.tdc) when attached to our USB-C load (https://www.passmark.com/products/usb-power-delivery-tester/index.php). I have it set to start at 9V, and that seems to be what is requested...and fails (over and over again). Switching to other discharge PDOs doesn't change the behavior.

    Thanks,

    -Eric Castle

  • Hi Eric,

    The newest version of the online GUI version 7.0.4 was just released, you can find the link here: https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1133736/faq-when-i-configured-the-usb-pd-chg-evm-01-using-the-online-application-customization-tool-the-pd-controller-isn-t-communicating-correctly-with-the-bq25792-fixed 

    Please take a look and see if you're configuration works on this tool version! 

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond,

    Thanks for the heads-up. I tried out the 7.0.4 version of the tool today, but it behaved the same as my configuration with the 7.0.3 version, where it would continuously reset to 0V when I attempted to discharge (charging worked fine).

    Could you please follow up with the responsible group for an example configuration that works for charge and discharge (preferably 4s)? I really want to rule out anything weird with my hardware, configuration, tester, etc. It seems unlikely, since I have configurations that work for both independently, but I really want to see that it *can* work with the EVM. 

    Thanks,

    -Eric Castle

  • Hi Eric,

    I'm looping in Mike from the battery charger team to help you with your case. 

    Can you provide PD logs of this case?

    Thanks and Regards,
    Raymond Lin

  • Hi Raymond,

    I can get to that either Tuesday or Wednesday next week. Perhaps Mike could get a sample configuration while I work on that? I'm just trying to show charging and discharging functional on the EVM.

    Thanks,

    -Eric Castle

  • Hi Eric,

    I'm checking with Mike and waiting to hear back from him.

    Thanks and Regards,

    Raymond Lin

  • Hi Eric,

    Can you double check and confirm if the jumpers (JP1, JP2, JP3) is set correctly to match the cell battery configuration (2S, 3S, 4S)? 

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond,

    1) I attached a PD log when trying to discharge (Passmark and CSV versions) with my 7.0.4 configuration. The results look identical to before, with it resetting regularly (see attached files).

    2) I have JP3 (4s) and JP4 (default thermistor behavior) with jumpers on. Anything I'm missing here? The only document that talks about them that I've found is "tiduey1.pdf", but it doesn't give much details with these.

    Has Mike responded? Could we set up a meeting to discuss this with him?

    Thanks,

    -Eric Castle

    7.0.4_pd_logs_dsg_reset.zip

  • Hi Eric,

    The jumper was Mike's suggestion to make sure the EVM has the correct battery cell configuration set by using the jumpers.

    Looping in additional member from the battery charging team for more support. 

    Thanks and Regards,

    Raymond Lin

  • Hi Eric,

    In the PD logs, can you specify the Power Role of the CHG EVM (TPS25750)? Is it acting as a Source (providing power) or Sink (taking in power)?

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond,

    In those logs, the TPS25750 was supposed to be acting as a source (providing power). 

    I'll reiterate my idea: TI provides a sample configuration (json) that demonstrates sourcing and sinking using the USB-PD-CHG-EVM-01. That would be let me verify all of my test setup and then we could tweak it a bit from there as necessary. 

    Thanks,

    -Eric Castle 

  • Hi Eric,

    Using the JSON file you provided, I generated a full flash binary from the online GUI and flashed it onto my EVM board. I can verify using these configurations I was able to source and sink up to 20V (PDOs of 5V, 9V, 15V, and 20V). Attached are PD logs showing these transactions for both the EVM acting as a Source and a Sink. Just for reference, I did connect J2 to a bidirectional power supply providing 15V/1.5A. 

    Thanks and Regards,

    Raymond Lin

    GUI JSON Config: 

    target_evm_settings.json
    {"questionnaire":{"version":"7.0.3.13","answers":[0,3,4,0,3,3,1,null,1,null,0,16.8,5,0.72,0.6],"options":{},"configID":"0000","vendorID":"0000"}}

    GUI generated binary: test_11-1.bin

    Source Run: source_run_11-1.tdc

    Sink Run: sink_run_11-1.tdc

  • Raymond,

    Thanks for checking this yourself - I really appreciate it. I tried again with this binary a few different ways, but to no success: switching EVM boards (I have two), and switching battery packs. I also removed the fuel gauge so the battery had a direct connection to the EVM. 

    Could you please confirm this test procedure:

    1) Attach battery to J2 on USB-PD-CHG-EVM-01 (which has the TS and 4S jumpers attached). 

    2) Plug in Aardvark to J5. Open Flash Center. Connect to the adapter. Set to 100 kHz (although it works fine at various settings in my experience). Load the binary file you provided. Click "Program and Verify", and wait a moment for it to finish. 

    3) Unplug the Aardvark, and then the battery pack from the EVM. Wait >10s for it to power down, then plug the battery back into J2 on the EVM.

    4) Plug the Passmark into a computer to power it. Attach the USB-C to USB-C cable from the PassMark to J6 on the EVM.

    5) Watch as the PassMark detects the port, but reports 0V (occasionally flickering to the selected PDO voltage). I can switch PDOs, but the behavior does not change. 

    Does anything stand out as different, missing, or wrong to you? If yours is different, please let me know how, so I can try that.

    What are you attaching to the USB-C port on the EVM to test with? I'm currently using a Dell 65W USB-C power supply (laptop charger), and a PassMark USB Power Delivery Tester (https://www.passmark.com/products/usb-power-delivery-tester/index.php). I'm wondering if sometime there's some sort of incompatibility with the PassMark (despite it working fine with the one configuration I have with the EVM that does only sourcing, and also with the Dell power supply).

    Any other thoughts on how to replicate your results?

    Thanks,

    -Eric 

  • Hi Eric,

    What Passmark model do you have? I tested it with PM125 from my end and was able to negotiate the different PDOs and draw current. I didn't observe any 0V reading on the PM device. 

    Thanks and Regards,
    Raymond Lin

  • Hi Raymond,

    So there's nothing missing from the test procedure from your perspective?

    I used a PM125 as well. I tried out their desktop tool today, and it had me upgrade the firmware to the 4.1 version (up from 3.9). Didn't seem to make a difference with the testing, though.

    I reloaded my one working discharge-only configuration, and everything discharged nicely with the PM125. 

    I'm at a bit of a loss on how to proceed. Do you think it's possible that both of my EVM boards are damaged somehow?

    Thanks,

    -Eric 

  • Hi Eric,

    It's possible but let's take a look through other cases first to determine the root cause. Can you send me the working discharge configuration so I can test it out from my end? 
    Can you also attach block diagrams of your setup(s) that you're working on? 

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond,

    1) The discharge configuration is the one in the zip in the very first post at the top of this thread (eric_dsg.bin). I haven't actually gotten another discharge configuration to work, other than this one. I believe I enabled the advanced editing, and manually set it to 0 charging (sinking) PDOs.

    2) Sorry, you want to see a block diagram of what, exactly? The battery, EVM, and PM125? 

    3) Thinking on how to proceed: could I send you my EVMs, and you could program and test them, and send them back? (Or you could send me the one you just tried) That would determine if there was a failure with the boards or with...something else (perhaps my PM125 isn't working quite right?).

    Thanks,

    -Eric 

  • Hi Eric,

    1. I'll take another look into that first configuration and see if there's anything I missed.

    2. A block diagram of the current setup with the EVM, battery, and PM125 just so I can replicate it exactly the same from my end. Can you also send detail information about the battery specs, including charging voltage/current/etc.? 

    3. Let me ask internally.

    Thanks and Regards,
    Raymond Lin

  • Hi Raymond,

    I attached a powerpoint slide showing my test setup. Please let me know if there's further detail that you'd like. I also used a 4s1p test pack that I had, and that behaved the same as the larger 4s9p (worked with my one discharge only configuration, didn't work for discharging with the others).

    Thanks,

    -Eric 

    usb_test_block_diagram.pptx