Editing Thermal

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
Relative: see also [[Cooling]], [[Thermal]], [[Syscon Thermal Configs]]
Relative: see also [[Cooling]],[[Thermal]]
<div style="float:right">[[File:CellBE-heatdistribution.jpg|200px|thumb|left|[[CELL BE]] heatdistribution (on die)]]</div>


== Motherboard Thermal Management ==
== Motherboard Thermal Management ==
All the thermal sensors of the PS3 motherboard are connected to [[Syscon Hardware|syscon]], the current temperatures are compared with the settings of a syscon [[SC EEPROM|EEPROM]] region named [[Syscon Thermal Configs|thermal config]] and based in the results of the comparison syscon sets a fan speed
<div style="float:right">[[File:ADT7461A0002RMZR.png|200px|thumb|left|OnSemi ADT7461A0002RMZR<br />6-710-287-01<br />Used for monitoring the [[CELL BE]]&nbsp;(IC1101) & [[RSX]]&nbsp;(IC2101)]]</div>


=== [[CELL BE]] Internal Powermanagement ===
[[CELL BE]] and [[RSX]] contains internal temperature sensor diode/s, the diodes are connected with 2 lines (D+/D-) externally to the "temperature monitor" IC's located very close to CELL and RSX on the same side of the motherboard
* Dynamic Power Managment with 5 power managment states
* 1 linear sensor (diode)
* 10 digital thermal sensors (8xSPE, PPE and ?)
{{clear}}
 
=== RSX internal Powermanagement ===
*1 linear sensor (diode)<br />
*Internal selfmanagement: Unknown
{{clear}}
 
== Temperature Monitors ==
The internal circuitry of [[CELL BE|CELL]], [[RSX]], and other components of the PS3 motherboard contains temperature sensors (also known as diodes) that outputs an analog signal throught 2 lines (named D+ and D-), this signal is taken by a dedicated chip named "temperature monitor" that converts it to digital (bytes)
 
The connection in between syscon and the thermal monitors is made by a protocol named [https://en.wikipedia.org/wiki/System_Management_Bus SMBus] with 2 lines named SCL (serial clock) and SDA (serial data). Syscon is the master of the SMBus and the thermal monitors are the slaves connected in cascade to the same 2 lines of the SMBus. Syscon generates the SCL clock signal (the clock is an output of syscon, and a input for the monitors), and the SDA data signal is bidirectional


SMBus protocol is based on the I2C protocol, there are some differences but a lot more things in common, all the slaves connected to the SMBus have a unique address given by the manufacturer of the component (and cant be changed, this is why each thermal monitor of the PS3 motherboard have a different component name (as example TMP411A for CELL and TMP411B for RSX)
=== Temperature Monitor IC's ===
The output pins (SDA and SCL) of the "temperature monitor" IC's are connected to a shared "2 wires" [https://en.wikipedia.org/wiki/System_Management_Bus SMbus] that is connected to 2 pins of [[Syscon Hardware|Syscon]]


The SMBus lines are protected in internal layers of the motherboard between 2 ground layers to shield them against interferences
SMbus uses I2C protocol, all the components connected to the "2 wires" channel are identifyed by a unique "I2C address" given by the manufacturer of the component, one of them works as a master and the other as slave, this is why the 2 "thermal monitor IC's" in a PS3 motherboard has a different product code (but has the same pinout, internally works in the same way, and are connected to the same shared SMbus)


*See also:
The SMbus lines are "hiden" in internal layers of the motherboard between 2 ground layers to shield them against interferences (SMbus is not visible on the motherboard surface most of its length, it dissapears close to the temperature monitors and emerges again under syscon)
**[http://www.smbus.org/specs/smbus20.pdf System Management Bus (SMBus) Specification, version 2.0.PDF (03-Aug-2000)]
**[http://www.smbus.org/specs/SMBus_3_1_20180319.pdf System Management Bus (SMBus) Specification, version 3.1.PDF (19-Mar-2018)]
*[https://www.ti.com/product/TMP411 Texas Instruments TMP411 Product page]
**[https://www.ti.com/lit/ds/symlink/tmp411-q1.pdf?ts=1623505830561 Texas Instruments TMP411 ±1°C Remote and Local Temperature Sensor With N-Factor and Series Resistance Correction.PDF (February 2007)]
**[https://www.ti.com/lit/ds/symlink/tmp411.pdf?ts=1623564774345&ref_url=https%253A%252F%252Fwww.google.com Texas Instruments TMP411 ±1°C Remote and Local Temperature Sensor With N-Factor and Series Resistance Correction.PDF (December 2016)]
*[https://www.onsemi.com/products/sensors/thermal-management/temperature-sensors/adt7461 Onsemi ADT7461 Product page] and [https://www.onsemi.com/products/sensors/thermal-management/temperature-sensors/adt7461a Onsemi ADT7461A Product page] (design previously property of [https://www.analog.com/en/products/sensors-mems/temperature-sensor-control-devices.html Analog Devices Inc.])
**[https://www.analog.com/en/products/landing-pages/001/parts-list-sold-to-on-semiconductor.html Analog Devices Product Line Sold to Onsemi (December 31, 2007)]
**[https://pdf1.alldatasheet.es/datasheet-pdf/view/83674/AD/ADT7461.html Analog Devices ADT7461 ±1°C Temperature Monitor with Series Resistance Cancellation (2003 Rev 0)]
**[https://datasheetspdf.com/pdf/1077915/AnalogDevices/ADT7461/1 Analog Devices ADT7461* ±1°C Temperature Monitor with Series Resistance Cancellation (2005 Rev B)]
**[https://www.onsemi.com/pdf/datasheet/adt7461-d.pdf Onsemi ADT7461 ±1°C Temperature Monitor with Series Resistance Cancellation.PDF (March 2014 - Rev.8)]
**[https://www.onsemi.com/pdf/datasheet/adt7461a-d.pdf Onsemi ADT7461A ±1°C Temperature Monitor with Series Resistance Cancellation.PDF (April, 2013 − Rev. 8)]


{| class="wikitable" style="text-align:center; font-size:small;"
==== CELL ====
|+ Temperature monitors models by motherboard model
! [[Motherboard_Revisions|Mother Board]] !! [[CELL BE|CELL]] !! [[RSX]] !! [[South Bridge|SB]] !! class="plainlinks" | [http://en.wikipedia.org/wiki/Emotion_Engine EEGS] !! BEVR !! GbE !! XDR !! Air intake !! [[Syscon Thermal Configs|Thermal Config]] [[Syscon_Thermal_Configs/structs|Format]] !! Notes
|-
! [[TMU-520]]
| ADT7461 ? || ADT7461A ? || ADT75 || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || ADT75 || ADT75 || ADT75 || v0 ([[Mullion]] flash / pre-retail) ||
|-
! style="padding:0px" colspan="11" |
|-
! [[COK-001]]
| ADT7461<small>'''(T1B)'''</small> || ADT7461A<small>'''(T1L)'''</small> || AD51 || {{cellcolors|lightgrey}} <abbr title="unpopulated">AD51</abbr> || {{cellcolors|lightgrey}} <abbr title="unpopulated">AD51</abbr> || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || rowspan="2" | v1 ([[Mullion]] 32KB / old) ||
|-
! [[COK-002]]
| ADT7461<small>'''(T1B)'''</small> || ADT7461A<small>'''(T1L)'''</small> || AD51 || {{cellcolors|lightgrey}} <abbr title="unpopulated">AD51</abbr> || {{cellcolors|lightgrey}} <abbr title="unpopulated">AD51</abbr> || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||
|-
! style="padding:0px" colspan="11" |
|-
! [[SEM-001]]
| ADT7461<small>'''(T1B)'''</small> || ADT7461A<small>'''(T1L)'''</small> || AD51 || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || rowspan="4" | v2 ([[Mullion]] 20KB / new) ||
|-
! [[DIA-001]]
| ADT7461<small>'''(T1B)'''</small><br>or<br>TMP411A || ADT7461A<small>'''(T1L)'''</small><br>or<br>TMP411B || AD51 || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||
|-
! [[DIA-002]]
| ADT7461<small>'''(T1B)'''</small> || ADT7461A<small>'''(T1L)'''</small> || {{cellcolors|lightgrey}} <abbr title="unpopulated">AD51</abbr> || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || Speculation: either onsemi T1B/T1L or texas instruments 411A/411B
|-
! [[DEB-001]]
| ? || ? || {{cellcolors|lightgrey}} <abbr title="unpopulated">AD51</abbr> || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || Speculation: either onsemi T1B/T1L or texas instruments 411A/411B
|-
! style="padding:0px" colspan="11" |
|-
! [[VER-001]]
| TMP411A || TMP411B || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || rowspan="13" | v3 ([[Sherwood]]) || Speculation: either onsemi T1B/T1L or texas instruments 411A/411B
|-
! [[DYN-001]]
| ADT7461<small>'''(T1B)'''</small><br>or<br>TMP411A || ADT7461A<small>'''(T1L)'''</small><br>or<br>TMP411B || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||
|-
! [[SUR-001]]
| TMP411A || TMP411B || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||
|-
! [[JTP-001]]
| TMP411A || TMP411B || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||
|-
! [[JSD-001]]
| TMP411A || TMP411B || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||
|-
! [[KTE-001]]
| TMP411A || TMP411B || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||
|-
! [[MSX-001]]
| TMP411A || TMP411B || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||
|-
! [[MPX-001]]
| TMP411A || TMP411B || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||
|-
! [[NPX-001]]
| TMP411A || TMP411B || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||
|-
! [[PPX-001]]
| ? || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||
|-
! [[PQX-001]]
| TMP411A || TMP411B || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||
|-
! [[RTX-001]]
| ? || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||
|-
! [[REX-001]]
| TMP411A || TMP411B<br>or<br>201BI1309L || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||
|}
 
It seems in COK-001 (and probably all pre-retail motherboards) the company "analog devices" was supplying the temperature monitors to sony, can be identifyed by the triangle logo of the company next to the branding code T1B and T1L. Around december 2008 "analog devices" sold the patent to "onsemi" and they removed the triangle logo, as a consequence the temperature monitors of the COK-002 (and/or newer made by onsemi) doesnt have the triangle logo but are still branded as "T1B" and "T1L". Around DIA-001 motherboard sony started working with texas instrument as the supplyers of the temperature monitors, seems to be fully compatibles with the previous ones and this PS3 motherboards (up to DYN-001 or so) was shipped with any of them (either onsemi or texas instrument)
 
=== CELL (1st BE Primary) ===
<div style="float:right">[[File:IC1101 CELL BE Temperature Monitor.png|200px|thumb|left|IC1101 [[CELL BE]] Temperature Monitor ([[CECHAxx]],[[CECHBxx]],[[CECHCxx]],[[CECHExx]])]]<br />
<div style="float:right">[[File:IC1101 CELL BE Temperature Monitor.png|200px|thumb|left|IC1101 [[CELL BE]] Temperature Monitor ([[CECHAxx]],[[CECHBxx]],[[CECHCxx]],[[CECHExx]])]]<br />
[[File:IC1002 - AD51(067ARMZ-REEL - CECHGxx.png|200px|thumb|left|IC1002 [[CELL BE]] Temperature Monitor [[CECHGxx]]]]<br />[[File:Texas_Instrument_Remote_Junction_Temperature_Sensor_TMP411A.jpg|200px|thumb|left|Texas Instrument Remote Junction Temperature Sensor TMP411A, connecting [[CELL BE]] with [[Syscon_Hardware|SYSCON]]<br />Seen on a [[JSD-001]] motherboard]]<br />[[File:COK-002 CELL thermal monitor.jpg|200px|thumb|left|COK-002 CELL thermal monitor]]</div>
[[File:IC1002 - AD51(067ARMZ-REEL - CECHGxx.png|200px|thumb|left|IC1002 [[CELL BE]] Temperature Monitor [[CECHGxx]]]]<br />[[File:Texas_Instrument_Remote_Junction_Temperature_Sensor_TMP411A.jpg|200px|thumb|left|Texas Instrument Remote Junction Temperature Sensor TMP411A, connecting [[CELL BE]] with [[Syscon_Hardware|SYSCON]]<br />Seen on a [[JSD-001]] motherboard]]</div>


AD51/067ARMZ-REEL (2 channel Thermal Monitor SMbus IC) <br />
AD51/067ARMZ-REEL (2 channel Thermal Monitor SMbus IC) <br />
Line 119: Line 21:
IC1002 (in [[CECHGxx]])<br />
IC1002 (in [[CECHGxx]])<br />
Used for monitoring the [[CELL BE]]
Used for monitoring the [[CELL BE]]
*I2C address = 100 1100 (0x4C)


{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
Line 126: Line 26:
! Pin !! Signal !! Description
! Pin !! Signal !! Description
|-
|-
| 1 || VDD || from '''[[Regulators#OnSemi_NCP511SN33T1G_.283.3V_150_mA_CMOS_Low_Iq_Low-Dropout_Voltage_Regulator.29|+3.3V_THERMAL]]''' (with C1104 0.1μF B 10V 1005 to Ground as filter)
| 1 || VDD || from +3.3_Thermal (with C1104 0.1μF B 10V 1005 to Ground as filter)
|-
|-
| 2 || D+ || from [[CELL BE]] AU17 pad STI_THERMAL0 via R1106 100 Ohm and C1103 0.001{{micro}}F 50V
| 2 || D+ || from [[CELL BE]] AU17 pad STI_THERMAL0 via R1106 100 Ohm and C1103 0.001{{micro}}F 50V
Line 132: Line 32:
| 3 || D- || from [[CELL BE]] AT17 pad STI_THERMAL1 via R1107 100 Ohm and C1103 0.001{{micro}}F 50V
| 3 || D- || from [[CELL BE]] AT17 pad STI_THERMAL1 via R1107 100 Ohm and C1103 0.001{{micro}}F 50V
|-
|-
| 4 || /THERM || Not connected
| 4 || /THERM ||  
|-
|-
| 5 || GND || Ground
| 5 || GND || Ground
|-
|-
| 6 || /THERM2 || to /THRBE_SENS_ALRT (SYS_THR_ALRT since SEM-001)
| 6 || /THERM2 || to /THRBE_SENS_ALRT
|-
|-
| 7 || SDATA || from THR_I2C_SDA
| 7 || SDATA || from THR_I2C_SDA
Line 145: Line 45:


*In JSD-001
*In JSD-001
**Texas Instrument Remote Junction Temperature Sensor TMP411'''A'''
**Texas Instrument Remote Junction Temperature Sensor TMP411A http://pdf1.alldatasheet.com/datasheet-pdf/view/180917/BURR-BROWN/411A.html
**I2C address = 100 1100
**pin 1 (VDD) connected to pin 8 of voltage regulator 463A (3.3v standby named 3.3_EVER_A)
**pin 1 (VDD) connected to pin 8 of voltage regulator 463A (3.3v standby named 3.3_EVER_A)
**pin 4 connected to CELL ?
**pin 4 connected to CELL ?
Line 151: Line 52:
**pin 7 (THR_I2C_SDA) connected to syscon SWx-x series pin 24 by a 50ohm resistor
**pin 7 (THR_I2C_SDA) connected to syscon SWx-x series pin 24 by a 50ohm resistor
**pin 8 (THR_I2C_SCL) connected to syscon SWx-x series pin 25
**pin 8 (THR_I2C_SCL) connected to syscon SWx-x series pin 25
*It seems in the first PS3 models the signal SYS_THR_ALRT can be sent to syscon by both: CELL (using a pad named THERMAL_OVERLOAD connected to a transistor that drives a syscon pin to ground), and by the CELL temperature monitor (pin 6 of this chip). In later PS3 models (around PS3 slim) only CELL can do it
{{clear}}
{{clear}}


=== RSX (RSX Primary) ===
==== RSX ====
<div style="float:right">[[File:ADT7461A0002RMZR.png|200px|thumb|left|OnSemi ADT7461'''A'''<br />6-710-287-01<br />Used for monitoring the [[CELL BE]]&nbsp;(IC1101) & [[RSX]]&nbsp;(IC2101)]]<br>[[File:IC2101 RSX Temperature Monitor.png|200px|thumb|left|IC2101 [[RSX]] Temperature Monitor]]<br />[[File:Texas_Instrument_Remote_Junction_Temperature_Sensor_TMP411B.jpg|200px|thumb|left|Texas Instrument Remote Junction Temperature Sensor TMP411B, connecting [[RSX]] with [[Syscon_Hardware|SYSCON]]<br />Seen on a [[JSD-001]] motherboard]]</div>
<div style="float:right">[[File:IC2101 RSX Temperature Monitor.png|200px|thumb|left|IC2101 [[RSX]] Temperature Monitor]]<br />[[File:Texas_Instrument_Remote_Junction_Temperature_Sensor_TMP411B.jpg|200px|thumb|left|Texas Instrument Remote Junction Temperature Sensor TMP411B, connecting [[RSX]] with [[Syscon_Hardware|SYSCON]]<br />Seen on a [[JSD-001]] motherboard]]</div>


OnSemi ADT7461'''A''' (2 channel Thermal Monitor SMbus IC [[CELL BE]]/[[RSX]]) <br />
OnSemi ADT7461A0002RMZR (2 channel Thermal Monitor SMbus IC [[CELL BE]]/[[RSX]]) <br />
6-710-286-01 / IC2101 <br />
6-710-286-01 / IC2101 <br />
Used for monitoring the [[RSX]]<br />
Used for monitoring the [[RSX]]<br />
 
Datasheet: [http://www.onsemi.com/pub/Collateral/ADT7461-D.PDF ADT7461-D.PDF] <br />
*I2C address = 100 1101 (0x4D)


{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
Line 168: Line 66:
! Pin !! Signal !! Description
! Pin !! Signal !! Description
|-
|-
| 1 || VCC || from '''[[Regulators#OnSemi_NCP511SN33T1G_.283.3V_150_mA_CMOS_Low_Iq_Low-Dropout_Voltage_Regulator.29|+3.3V_THERMAL]]''' (with C2108 0.1{{micro}}F B 10V 1005 to Ground as filter)
| 1 || VCC || from +3.3_Thermal (with C2108 0.1{{micro}}F B 10V 1005 to Ground as filter)
|-
|-
| 2 || D+ || from [[RSX]] AW12 pad RSX_TDP via R2101 100 Ohm and C2103 0.001{{micro}}F 50V
| 2 || D+ || from [[RSX]] AW12 pad RSX_TDP via R2101 100 Ohm and C2103 0.001{{micro}}F 50V
Line 187: Line 85:


*In JSD-001
*In JSD-001
**Texas Instrument Remote Junction Temperature Sensor TMP411'''B'''
**Texas Instrument Remote Junction Temperature Sensor TMP411B http://pdf1.alldatasheet.com/datasheet-pdf/view/180917/BURR-BROWN/411A.html
**I2C address = 100 1101
**pin 1 (VDD) connected to pin 8 of voltage regulator 463A (3.3v standby named 3.3_EVER_A)
**pin 1 (VDD) connected to pin 8 of voltage regulator 463A (3.3v standby named 3.3_EVER_A)
**pin 4 connected to RSX input pad AV14 (RSX_THR_EVENT)
**pin 4 connected to RSX
**pin 6 not connected
**pin 6 not connected
**pin 7 (THR_I2C_SDA) connected to syscon SWx-x series pin 24 by a 50ohm resistor
**pin 7 (THR_I2C_SDA) connected to syscon SWx-x series pin 24 by a 50ohm resistor
Line 196: Line 95:
{{clear}}
{{clear}}


=== BE VR ===
==== IC6108 (CECHAxx / CECHBxx) ====  
<div style="float:right">[[File:IC6108 - AD51(007Z-0REEL - CECHAxx -CECHBxx.png|200px|thumb|left|IC6108 - AD51/007Z-0REEL - [[CECHAxx]] [[CECHBxx]]]]<br>[[File:COK-001 VRM temperature monitor.png|200px|thumb|left|[[COK-001]] VRM temperature monitor]]</div>
<div style="float:right">[[File:IC6108 - AD51(007Z-0REEL - CECHAxx -CECHBxx.png|200px|thumb|left|IC6108 - AD51(007Z-0REEL - [[CECHAxx]] [[CECHBxx]]]]</div>
AD51/007Z-0REEL<br />
 
IC6108 on [[COK-001]] (unpopulated). Used for monitoring the VOLTAGE REGULATOR IC6303 [https://www.digikey.com/es/products/detail/rohm-semiconductor/BD3520FVM-TR/2673737 BD3520FVM-TR] and the MOSFET Q6310 [https://www.digikey.com/en/products/detail/vishay-siliconix/SUD40N02-08-E3/2623039 SUD40N02-08-E3] that generates '''+1.2V_YC_RC_VDDIO''' for <abbr title="And indirectly 6 pads of SB">CELL</abbr><br />
IC6108 <br />
Configured as "local"
AD51(007Z-0REEL <br />
Used for monitoring BEVR ? (CELL BE Voltage Regulators)


{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
Line 210: Line 110:
| 2 || SCL || from THR_I2C_SCL
| 2 || SCL || from THR_I2C_SCL
|-
|-
| 3 || OTI || Not connected
| 3 || OTI ||  
|-
|-
| 4 || GND || to Ground
| 4 || GND || Ground
|-
|-
| 5 || A2 || to Ground
| 5 || A2 || to Ground
Line 218: Line 118:
| 6 || A1 || to Ground
| 6 || A1 || to Ground
|-
|-
| 7 || A0 || to Ground
| 7 || A0 || to VDD
|-
|-
| 8 || VDD || from '''[[Regulators#OnSemi_NCP511SN33T1G_.283.3V_150_mA_CMOS_Low_Iq_Low-Dropout_Voltage_Regulator.29|+3.3V_THERMAL]]''' (with C6168 0.1{{micro}}F B 10V 1005 to ground as filter)
| 8 || VDD || from +3.3V_Thermal (with C6168 0.1{{micro}}F B 10V 1005 to ground as filter)
|-
|-
|}
|}
{{clear}}
{{clear}}


=== SB ===
==== PS2 EE/GS (CECHAxx / CECHBxx) ====  
<div style="float:right">[[File:IC3101 - 6-710-196-01 - AD51(007Z-0REEL (CXD2973GB monitor).png|200px|thumb|left|IC3101 - AD51/007Z-0REEL - [[CECHAxx]] [[CECHBxx]] [[CECHCxx]] [[CECHExx]]]]<br />[[File:IC3002 - AD51(007Z-0REEL - CECHGxx.png|200px|thumb|left|IC3002 - AD51/007Z-0REEL - [[CECHGxx]]]]<br>[[File:DIA-001 SB temperature monitor removed.png|200px|thumb|left|[[DIA-001]] SB temperature monitor removed (T5C)]]</div>
<div style="float:right">[[File:IC7005 - AD51(007Z-0REEL - CECHAxx -CECHBxx.png|200px|thumb|left|IC7005 - AD51(007Z-0REEL - Used for monitoring the PS2 EE/GS [[CXD9833GB]] - [[CECHAxx]] [[CECHBxx]]]]</div>


AD51/007Z-0REEL <br />
IC7005 <br />
6-710-196-01 / IC3101 (on [[CECHAxx]] [[CECHBxx]] [[CECHCxx]] [[CECHExx]]). Located in between SB and the SATA connector. Configured as "local"<br />
AD51(007Z-0REEL <br />
IC3002 (on [[CECHGxx]]). Located at the bottom (and a bit far away) from the South Bridge<br />
Used for monitoring the [[CXD9833GB]]
Used for monitoring the [[South Bridge]]


{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
Line 237: Line 136:
! Pin !! Signal !! Description
! Pin !! Signal !! Description
|-
|-
| 1 || SDA || from THR_I2C_SDA
| 1 || SDA || from THR_I2C_SDA (via R7073 {{unk|50{{Ohm}}}})
|-
|-
| 2 || SCL || from THR_I2C_SCL
| 2 || SCL || from THR_I2C_SCL (via R7074 {{unk|50{{Ohm}}}})
|-
|-
| 3 || OTI || Not connected
| 3 || OTI ||  
|-
|-
| 4 || GND || to Ground
| 4 || GND || Ground
|-
|-
| 5 || A2 || to Ground
| 5 || A2 || to Ground
Line 249: Line 148:
| 6 || A1 || to Ground
| 6 || A1 || to Ground
|-
|-
| 7 || A0 || from '''[[Regulators#OnSemi_NCP511SN33T1G_.283.3V_150_mA_CMOS_Low_Iq_Low-Dropout_Voltage_Regulator.29|+3.3V_THERMAL]]''' (with C3155 0.1{{micro}}F B 10V 1005 to ground as filter)
| 7 || A0 || to VDD
|-
|-
| 8 || VDD || from '''[[Regulators#OnSemi_NCP511SN33T1G_.283.3V_150_mA_CMOS_Low_Iq_Low-Dropout_Voltage_Regulator.29|+3.3V_THERMAL]]''' (with C3155 0.1{{micro}}F B 10V 1005 to ground as filter)
| 8 || VDD || from +3.3V_Thermal (with C7286 0.1{{micro}}F B 10V 1005 to ground as filter)
|-
|-
|}
|}
<gallery>
File:COK-001 SB temperature monitor.png|[[COK-001]] [[South Bridge]] Temperature monitor
File:COK-002 SB temperature monitor.png|[[COK-002]] [[South Bridge]] Temperature monitor
File:SEM-001 SB temperature monitor.png|[[SEM-001]] [[South Bridge]] Temperature monitor
File:DIA-001 SB temperature monitor.png|[[DIA-001]] [[South Bridge]] Temperature monitor
File:DIA-002 SB temperature monitor.png|[[DIA-002]] [[South Bridge]] Temperature monitor
File:DEB-001 SB temperature monitor.png|[[DEB-001]] [[South Bridge]] Temperature monitor
</gallery>
{{clear}}
{{clear}}


=== EE+GS ===
==== SouthBridge ====
<div style="float:right">[[File:IC7005 - AD51(007Z-0REEL - CECHAxx -CECHBxx.png|200px|thumb|left|IC7005 - AD51/007Z-0REEL - Used for monitoring the PS2 EE/GS [[CXD9833GB]] - [[CECHAxx]] [[CECHBxx]]]]<br>[[File:COK-001 EEGS temperature monitor.png|200px|thumb|left|[[COK-001]] EE+GS temperature monitor]]</div>
<div style="float:right">[[File:IC3101 - 6-710-196-01 - AD51(007Z-0REEL (CXD2973GB monitor).png|200px|thumb|left|IC3101 - AD51/007Z-0REEL - [[CECHAxx]] [[CECHBxx]] [[CECHCxx]] [[CECHExx]]]]<br />[[File:IC3002 - AD51(007Z-0REEL - CECHGxx.png|200px|thumb|left|IC3002 - AD51/007Z-0REEL - [[CECHGxx]]]]</div>


IC7005 on [[COK-001]] motherboard (unpopulated), located next to the pad 1 corner of EE+GS. Configured as "local"<br />
AD51(007Z-0REEL <br />
AD51/007Z-0REEL <br />
6-710-196-01 / IC3101 (on [[CECHAxx]] [[CECHBxx]] [[CECHCxx]] [[CECHExx]]) <br />
Used for monitoring the [[CXD9833GB]]
IC3002 (on [[CECHGxx]]) <br />
Used for monitoring the [[South Bridge]]


{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
Line 276: Line 167:
! Pin !! Signal !! Description
! Pin !! Signal !! Description
|-
|-
| 1 || SDA || from THR_I2C_SDA (via R7073 {{unk|50{{Ohm}}}})
| 1 || SDA || from THR_I2C_SDA
|-
|-
| 2 || SCL || from THR_I2C_SCL (via R7074 {{unk|50{{Ohm}}}})
| 2 || SCL || from THR_I2C_SCL
|-
|-
| 3 || OTI || Not connected
| 3 || OTI ||  
|-
|-
| 4 || GND || to Ground
| 4 || GND || Ground
|-
|-
| 5 || A2 || to Ground
| 5 || A2 || to Ground
|-
|-
| 6 || A1 || from '''[[Regulators#OnSemi_NCP511SN33T1G_.283.3V_150_mA_CMOS_Low_Iq_Low-Dropout_Voltage_Regulator.29|+3.3V_THERMAL]]''' (with C7286 0.1{{micro}}F B 10V 1005 to ground as filter)
| 6 || A1 || to Ground
|-
|-
| 7 || A0 || to Ground
| 7 || A0 || to VDD
|-
|-
| 8 || VDD || from '''[[Regulators#OnSemi_NCP511SN33T1G_.283.3V_150_mA_CMOS_Low_Iq_Low-Dropout_Voltage_Regulator.29|+3.3V_THERMAL]]''' (with C7286 0.1{{micro}}F B 10V 1005 to ground as filter)
| 8 || VDD || from +3.3V_Thermal (with C3155 0.1{{micro}}F B 10V 1005 to ground as filter)
|-
|-
|}
|}
{{clear}}
{{clear}}


== Temperature Monitors Configuration ==
=== [[CELL BE]] Internal Powermanagement ===
The temperature monitors allows to be configured in many ways by modifying some registers (see datasheets), this configurations are specific for the PS3 motherboard design and is unknown if is stored in a "non-volatile way" inside the temperature monitors or if is syscon who configures them everytime the PS3 motherboard is powered as part of syscon initialization procedures<br>
<div style="float:right">[[File:CellBE-heatdistribution.jpg|200px|thumb|left|[[CELL BE]] heatdistribution (on die)]]</div><br />
The SMBus in between syscon and the thermal monitors is a digital channel, we can consider all this configuration and 100% of the data transfered in the SMBus channel as bytes, and in theory it should be insensitive to intereferences or innacuracies


=== Local VS Remote sensor ===
* Dynamic Power Managment with 5 power managment states
The temperature monitors contains a sensor integrated inside them and are able to meassure another external sensor, this modes are named "local sensor" and "remote sensor". In local mode the temperature monitor is meassuring the temperature of itself (and indirectly the surrounding components), in remote mode are meassuring the temperature of another component<br>
* 1 linear sensor (diode)
In COK-001 the temperature monitors for CELL and RSX are configured as remote (meassures the sensors inside CELL and RSX cores), but the others for SB, EEGS, BEVR are intended to be configured as local
* 10 digital thermal sensors (8xSPE, PPE and ?)
{{clear}}


=== Temperature Data Format ===
=== RSX internal Powermanagement ===
*The temperature monitors of '''all PS3 models''' have the temperature data format (high/first byte) configured as '''Standard range'''. To cover a range of 0ºC up to 127ºC. All temperatures lower or equal than 0ºC are represented with 0x00 and all temperatures higher or equal than 127ºC are represented with 0x7F
1 linear sensor (diode)<br />
*The temperature data is managed with 2 bytes, the high/first byte represents the celsius degress as a integer value, eg: 1, 37, 101, etc... And the low/second byte represents a fraction of a celsius degree, eg: 0.5, 0.75, 0.0625 etc...
*The high/first byte can be converted to celsius degress by a direct decimal conversion, eg: 0xA=10ºC
*The low/second byte can be converted from the hex value to a fraction of 1 celsius degre with the formula (decimal*100)/256. And the resulting value will be rounded following the tables below, eg 0x80 = (128*100)/256 = 50 (half a celsius degree, in other words 0.5ºC). This rounding depends of how is configured the "resolution" of the low/second byte and varyes per PS3 model
*Inside the [[Syscon Thermal Configs]] the temperature values for "TempU" and "TempD" are in little endian for [[Sherwood]], and big endian for [[Mullion]]. The other temperatures ("trp", "tshutdown" and "hyst") are in big endian for all syscon models
*The temperature monitors of [[COK-001]] motherboard have the temperature data format (low/second byte) configured to use a '''0.0625°C resolution''', eg: the highest temperature that can be represented is 127.9375ºC with the bytes 0x7F 0xF0
*The temperature monitors of [[DYN-001]] motherboard have the temperature data format (low/second byte) configured to use a '''0.25°C resolution''', eg: the highest temperature that can be represented is 127.75ºC with the bytes 0x7F 0xC0
*However, all the temperature values found in all the official [[Syscon Thermal Configs|thermal configs]] are adjusted to a '''0.5ºC resolution'''


<div style="float:left; margin-right: 30px;">
Internal selfmanagement: Unknown
{| class="wikitable" style="text-align:center; font-size:small;"
{{clear}}
|+ High/First byte
! rowspan="2" | Temperature<br>(integer) !! colspan="2" | Range
|-
! Extended !! Standard
|-
! -64ºC
| 0x00 || rowspan="5" | 0x00
|-
! -63ºC
| 0x01
|-
! Etc...
| {{cellcolors|#ddffdd|#000000|center}} <abbr title="All intermediate values are valid">Etc...</abbr>
|-
! -1ºC
| 0x3F
|-
! 0ºC
| 0x40
|-
! 1ºC
| 0x41 || 0x01
|-
! 2ºC
| 0x42 || 0x02
|-
! height=48px | Etc...
| {{cellcolors|#ddffdd|#000000|center}} <abbr title="All intermediate values are valid">Etc...</abbr> || {{cellcolors|#ddffdd|#000000|center}} <abbr title="All intermediate values are valid">Etc...</abbr>
|-
! 125ºC
| 0xBD || 0x7D
|-
! 126ºC
| 0xBE || 0x7E
|-
! 127ºC
| 0xBF || rowspan="5" | 0x7F
|-
! 128ºC
| 0xC0
|-
! Etc...
| {{cellcolors|#ddffdd|#000000|center}} <abbr title="All intermediate values are valid">Etc...</abbr>
|-
! 190ºC
| 0xFE
|-
! 191ºC
| 0xFF
|}
</div>
 
<div style="float:left;">
{| class="wikitable" style="text-align:center; font-size:small;"
|+ Low/Second byte
! rowspan="2" | Temperature<br>(decimal) !! colspan="4" | Resolution
|-
! 0.0625°C || 0.125°C || 0.25°C || 0.5°C
|-
! 0.0000ºC
| 0x00 || rowspan="2" | 0x00 || rowspan="4" | 0x00 || rowspan="8" | 0x00
|-
! 0.0625ºC
| 0x10
|-
! 0.1250ºC
| 0x20 || rowspan="2" | 0x20
|-
! 0.1875ºC
| 0x30
|-
! 0.2500ºC
| 0x40 || rowspan="2" | 0x40 || rowspan="4" | 0x40
|-
! 0.3125ºC
| 0x50
|-
! 0.3750ºC
| 0x60 || rowspan="2" | 0x60
|-
! 0.4375ºC
| 0x70
|-
! 0.5000ºC
| 0x80 || rowspan="2" | 0x80 || rowspan="4" | 0x80 || rowspan="8" | 0x80
|-
! 0.5625ºC
| 0x90
|-
! 0.6250ºC
| 0xA0 || rowspan="2" | 0xA0
|-
! 0.6875ºC
| 0xB0
|-
! 0.7500ºC
| 0xC0 || rowspan="2" | 0xC0 || rowspan="4" | 0xC0
|-
! 0.8125ºC
| 0xD0
|-
! 0.8750ºC
| 0xE0 || rowspan="2" | 0xE0
|-
! 0.9375ºC
| 0xF0
|}
</div>
</div><br style="clear: both;" />
 
=== I2C address ===
The temperature monitors of the manufacturer/model Analog Devices AD51 are configured as local (used for SB, EEGS, BEVR) and can be given a I2C address by the logic state of pins A0, A1, A2 (pulled up to volts, or pulled down to ground)
 
The circuit of the PS3 motherboards is designed to configure them automatically because everyone of them have the configuration pins "bridged" in a different way<br>
This means you can take the SB temperature monitor from a COK-001 motherboard and solder it in the position of the EEGS temperature monitor in the same motherboard, or in a different motherboard, just because you are soldering in a different position (so the pins A0, A1 and A2 are bridged in a different way... and as a consequence is given a different I2C address)<br>
For modding (incase the temperature monitor is going to be "floating" with wires, not directly soldered in the motherboard) it means you can choose the "I2C address" for it
Lets say... in a COK-001 or COK-002 motherboards you can use 4 wires to place a temperature monitor inside the PSU and give it the I2C address of "BEVR" by connecting pins 4,5,6,7 together, it should work because the syscon firmware (and the thermal config format) seems to support it, the only weird thing is it will be reported with the name BEVR because you are giving it the I2C address of BEVR
 
<div>
<div style="float:left">
{| class="wikitable"
! rowspan="2" | Monitored !! colspan="3" | AD51 pin config !! rowspan="2" | bits !! rowspan="2" | decimal
|-
! A0 !! A1 !! A2
|-
| ? || {{cellcolors|#f00}} VDD || {{cellcolors|#f00}} VDD || {{cellcolors|#f00}} VDD || 000 || 0
|-
| ? || {{cellcolors|#f00}} VDD || {{cellcolors|#f00}} VDD || {{cellcolors|#000|#fff}} GND || 001 || 1
|-
| ? || {{cellcolors|#f00}} VDD || {{cellcolors|#000|#fff}} GND || {{cellcolors|#f00}} VDD || 010 || 2
|-
| SB || {{cellcolors|#f00}} VDD || {{cellcolors|#000|#fff}} GND || {{cellcolors|#000|#fff}} GND || 011 || 3
|-
| ? || {{cellcolors|#000|#fff}} GND || {{cellcolors|#f00}} VDD || {{cellcolors|#f00}} VDD || 100 || 4
|-
| EEGS || {{cellcolors|#000|#fff}} GND || {{cellcolors|#f00}} VDD || {{cellcolors|#000|#fff}} GND || 101 || 5
|-
| ? || {{cellcolors|#000|#fff}} GND || {{cellcolors|#000|#fff}} GND || {{cellcolors|#f00}} VDD || 110 || 6
|-
| BEVR || {{cellcolors|#000|#fff}} GND || {{cellcolors|#000|#fff}} GND || {{cellcolors|#000|#fff}} GND || 111 || 7
|}
</div>
<div style="float:left">
[[File:IC3101 - 6-710-196-01 - AD51(007Z-0REEL (CXD2973GB monitor).png|x175px|thumb|left|SB <span style="background:#f00">&nbsp;VDD&nbsp;</span> <span style="background:#000; color:#fff">&nbsp;GND&nbsp;</span> <span style="background:#000; color:#fff">&nbsp;GND&nbsp;</span>]]
</div>
<div style="float:left">
[[File:IC7005 - AD51(007Z-0REEL - CECHAxx -CECHBxx.png|x175px|thumb|left|EEGS <span style="background:#000; color:#fff">&nbsp;GND&nbsp;</span> <span style="background:#f00">&nbsp;VDD&nbsp;</span> <span style="background:#000; color:#fff">&nbsp;GND&nbsp;</span>]]
</div>
<div style="float:left">
[[File:IC6108 - AD51(007Z-0REEL - CECHAxx -CECHBxx.png|x175px|thumb|left|BEVR <span style="background:#000; color:#fff">&nbsp;GND&nbsp;</span> <span style="background:#000; color:#fff">&nbsp;GND&nbsp;</span> <span style="background:#000; color:#fff">&nbsp;GND&nbsp;</span>]]
</div>
</div>{{clear}}


== Readout of Thermal and Fan data using Software ==
== Readout of Thermal and Fan data using Software ==
Line 572: Line 304:
<div style="float:right">[[File:Control fan utility 1.8.1.jpg|200px|thumb|left|Control fan utility]]</div>
<div style="float:right">[[File:Control fan utility 1.8.1.jpg|200px|thumb|left|Control fan utility]]</div>


* https://web.archive.org/web/*/http://ps3devwiki.com/files/devtools/PS3_Temp/  [http://www.filecrop.com/81195444/index.html mirror] [http://www.filecrop.com/81219150/index.html mirror]
* http://www.ps3devwiki.com/files/devtools/PS3_Temp/  [http://www.filecrop.com/81195444/index.html mirror] [http://www.filecrop.com/81219150/index.html mirror]


* [http://mods.elotrolado.net/~hermes/ps3/control_fan_utility_v0.3.rar control_fan_utility_v0.3.rar] (including source) [http://www.mirrorcreator.com/files/KVLXQPJW/control_fan_utility_v0.3.rar_links mirror] for 4.31 and 4.40 // [http://www.elotrolado.net/hilo_utilidad-control-fan-utility-v0-3-cfw-4-31-y-4-40-cex_1893851 original thread]
* [http://mods.elotrolado.net/~hermes/ps3/control_fan_utility_v0.3.rar control_fan_utility_v0.3.rar] (including source) [http://www.mirrorcreator.com/files/KVLXQPJW/control_fan_utility_v0.3.rar_links mirror] for 4.31 and 4.40 // [http://www.elotrolado.net/hilo_utilidad-control-fan-utility-v0-3-cfw-4-31-y-4-40-cex_1893851 original thread]
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)