Toyota Inverter Clocked Serial Interface Protocol: Difference between revisions
Malvineous (talk | contribs) (Add links to inverter model page) |
(Categories) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
* [[Auris/Yaris Inverter|Gen3 Prius / Auris / Yaris]] replacement board (not using the CSI protocol) | * [[Auris/Yaris Inverter|Gen3 Prius / Auris / Yaris]] replacement board (not using the CSI protocol) | ||
== Toyota Protocol == | == Background == | ||
This interface was originally described as Toyota Sync Serial or "USART" by the first reverse engineering efforts. However once the datasheet for the onboard microcontroller was found, it was discovered that the datasheet refers to this interface as a Clocked Serial Interface (CSI). Each type of interface is referred to by letter, with "G" being assigned to the CSI, therefore it is referred to as the CSIG interface throughout the CPU datasheet. | |||
See the model-specific pages above for details on CPU part numbers and datasheets for more information. | |||
== Toyota Protocol == | |||
* REQ Request line from hybrid controller to Inverter | * REQ Request line from hybrid controller to Inverter | ||
Line 17: | Line 23: | ||
Toyota Serial example waveforms | Toyota Serial example waveforms | ||
* Physical layer investigations: https://openinverter.org/forum/viewtopic.php?p=54373#p54373 | |||
* Discussion of physical layer communication issues: https://openinverter.org/forum/viewtopic.php?t=2823 | |||
* and: https://openinverter.org/forum/viewtopic.php?p=72233#p72233 | |||
Data logging Toyota Serial Protocol | Data logging Toyota Serial Protocol | ||
Line 66: | Line 76: | ||
| [94] || | | [94] || | ||
|} | |} | ||
[[Category:Toyota]] | |||
[[Category:Inverter]] | [[Category:Inverter]] | ||
[[Category:Resources]] |
Latest revision as of 17:05, 20 December 2024
This page explains the Clocked Serial Interface (CSI) used on various unmodified Toyota inverters accessed via the CSI pins (REQ, CLK, HTM, MTH). For connector and wiring information, see the model page for the inverter in question:
- Toyota G9200 Inverter - Lexus, Camary, Gen3 Prius, Auris, Yaris
- Lexus GS450 / Camry drivetrain information
- Gen3 Prius / Auris / Yaris replacement board (not using the CSI protocol)
Background
This interface was originally described as Toyota Sync Serial or "USART" by the first reverse engineering efforts. However once the datasheet for the onboard microcontroller was found, it was discovered that the datasheet refers to this interface as a Clocked Serial Interface (CSI). Each type of interface is referred to by letter, with "G" being assigned to the CSI, therefore it is referred to as the CSIG interface throughout the CPU datasheet.
See the model-specific pages above for details on CPU part numbers and datasheets for more information.
Toyota Protocol
- REQ Request line from hybrid controller to Inverter
- CLK Clock signal from hybrid controller to Inverter (Constant 500KHz)
- HTM Hybrid controller to Inverter data frame
- MTH Inverter to Hybrid controller data frame
Bus Transfer Sequence starts with the REQ line changing state
Toyota Serial example waveforms
- Physical layer investigations: https://openinverter.org/forum/viewtopic.php?p=54373#p54373
- Discussion of physical layer communication issues: https://openinverter.org/forum/viewtopic.php?t=2823
- and: https://openinverter.org/forum/viewtopic.php?p=72233#p72233
Data logging Toyota Serial Protocol
Prius Gen3 PHV (Inverter model G9200-47200) has 105 bytes HTM and 140 bytes MTH
HTM Data
HTM (Hybrid control unit To Motor control unit) data is required to make the motors spin. The following is a collection of what could be some of that data:
Typically the the frame is finished with a 16bit checksum of the preceding bytes, Least Significant Byte first.
EngineRPM is sent. A guess is this is so that the MCU can detect slip on the clutch-like slip disk that couples the engine flywheel to the hybrid transmission. On a Gen3 Prius this is sent as first byte where 1bit = 32rpm. This is approximated by (MG1speed + MG2speed)/113. A more accurate calculation is (MG1speed + MG2speed*(143/145))*5/18/32. 143/145, 5/18 are gear ratios in the transmission as seen in this video. 32 is probably so that rpm can fit into one byte and is easily accomplished by bit shift to the right (32 = 2^5).
Data type | Prius Gen3 | GS450h |
---|---|---|
Checksum (sum of all preceding bytes) LSB first | [98,99] | [78,79] |
Engine RPM | [0] | [0] |
MG1 Torque Request*4 | [91,92] | [75,76] |
MG1 Torque Request | [5,6] [11,12] | [5,6] [11,12] |
MG2 Torque Request | [30,31] [36,37] | [26,27] [32,33] |
Battery Regen Power Limit | [76,77] | [63,64] |
Battery Discharge Power Limit | [78,79] | [65,66] |
Sequential Number | [94] |