Other Parts Discussed in Thread: BQ25713,
I'm following this on from my previous post: https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1001039/tps65987d-i2c3-as-master-not-working/3699964#3699964
We have progressed very little from above and the post was closed and locked before I had a chance to submit any of my findings.
To bring you up to speed:
- We are using port I2C2 as a slave (and debug) and I2C1 as master (to the Charger: BQ25713)
- To keep things simple:
- On POR and/or Hard reset we are configuring the charger as per the rows in green in the table below.
- We only have 2 contracts: 1 sink and 1 source, both are 5V, 3A
- We have only set up I2C master events for Sink PDO1. Upon successful sink contract, the input current to the charger will be limited to 3A
- Upon detach the charge current will be set to 0A and current limit into charger set to 500mA
Function |
Addr |
Initial Value |
Description/settings |
Charge Option 0 |
00 |
800E |
Fixed initialisation |
Charge Current Register |
02 |
0000 |
Changes depending on Source available USB-C present = 0x0bc0 Not present = 0x0000 |
Charge Voltage Register |
04 |
20D0 |
Fixed initialisation |
OTG Voltage Register |
06 |
09C4 |
Fixed initialisation |
OTG Current Register |
08 |
3C00 |
Fixed initialisation |
Input Voltage Register |
0A |
0300 |
Fixed initialisation |
Minimum System Voltage |
0C |
1A00 |
Fixed initialisation |
Input Current Register |
0E |
0a00 |
Changes depending on Contract 0x0a00 - 500mA - No PDO 0x1E00 - 1.5A - PDO4 (NA) 0x2800 - 2A - PDO2 & 4 (NA) 0x3C00 - 3A - PDO0 & 3
|
Charge Status Register |
20 |
8000 |
Read Back |
Prochot Status Register |
22 |
B800 |
Read Back |
Input Current Limit In Use |
24 |
4100 |
Read Back |
VBUS and PSYS Voltage Read Back |
26 |
3400 |
Read Back |
Charge and Discharge Current Read Back |
28 |
0000 |
Read Back |
Input Current and CMPIN Voltage Read Back |
2A |
0000 |
Read Back |
System and Battery Voltage Read Back |
2C |
0000 |
Read Back |
Manufacture ID and Device ID Read Back |
2E |
E040 |
Read Back |
Device ID Read Back |
2F |
00E0 |
Read Back |
Charge Option 1 |
30 |
9300 |
Fixed initialisation |
Charge Option 2 |
32 |
0077 |
Fixed initialisation |
Charge Option 3 |
34 |
0434 |
0x0434 = NO OTG, 0x1434 = OTG Enabled upon Sink contract negotiation |
Prochot Option 0 |
36 |
4A81 |
Fixed initialisation |
Prochot Option 1 |
38 |
41A0 |
Fixed initialisation |
ADC Option |
3A |
A07F |
Fixed initialisation
|
The Problem
Firstly the POR/HR and Detach event data is being sent correctly (see below for Detach data and attachements for both events):
The POR data is considerably long and though it best to send a raw saleae file.
The issue comes when a contract is negotiated. When I enter debug mode on the PD controller, the Contract is active:
but when I inspect the I2C1 line to the charger, no data is sent on this event. Why is this?
I'm pretty Sure I have set up the master events correctly.
I should have attached all the relevant files, if there's anything missing please inform me ASAP.