Thermal: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
m (Text replacement - "http://web.archive.org/web→‎/http://ps3devwiki.com/files" to "https://web.archive.org/web/: http://ps3devwiki.com/files")
 
(57 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Relative: see also [[Cooling]], [[Thermal]], [[Syscon Thermal Config]]
Relative: see also [[Cooling]], [[Thermal]], [[Syscon Thermal Configs]]
<div style="float:right">[[File:CellBE-heatdistribution.jpg|200px|thumb|left|[[CELL BE]] heatdistribution (on die)]]</div>
<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 Config|thermal config]] and based in the results of the comparison syscon sets a fan speed
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


=== [[CELL BE]] Internal Powermanagement ===
=== [[CELL BE]] Internal Powermanagement ===
Line 40: Line 40:
{| class="wikitable" style="text-align:center; font-size:small;"
{| class="wikitable" style="text-align:center; font-size:small;"
|+ Temperature monitors models by motherboard model
|+ Temperature monitors models by motherboard model
! [[Motherboard_Revisions|Mother Board]] !! [[CELL BE|CELL]] !! [[RSX]] !! [[South Bridge|SB]] !! [http://en.wikipedia.org/wiki/Emotion_Engine EEGS] !! BEVR !! Others/Notes
! [[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]]
! [[TMU-520]]
| ADT7467 || ADT7467 || ADT75 || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A || ADT75 for GbE, XDR and Air intake
| 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]]
! [[COK-001]]
| AD51 || ADT7461 || AD51 || AD51 || AD51 ||  
| 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]]
! [[COK-002]]
| AD51 || ADT7461 || AD51 || {{cellcolors|#ff9999}} N/A || AD51 ||  
| 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]]
! [[SEM-001]]
| AD51 || ADT7461 || AD51 || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| 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]]
! [[DIA-001]]
| ? || ? || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| 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]]
! [[DIA-002]]
| ? || ? || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| 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]]
! [[DEB-001]]
| ? || ? || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| ? || ? || {{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]]
! [[VER-001]]
| ? || ? || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| 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
|-
! colspan="7" |  
|-
|-
! [[DYN-001]]
! [[DYN-001]]
| TMP411A || TMP411B || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| 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]]
! [[SUR-001]]
| ? || ? || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| 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]]
! [[JTP-001]]
| ? || ? || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| 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]]
! [[JSD-001]]
| TMP411A || TMP411B || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| 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]]
! [[KTE-001]]
| ? || ? || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| 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 ||  
|-
! colspan="7" |  
|-
|-
! [[MSX-001]]
! [[MSX-001]]
| ? || ? || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| 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]]
! [[MPX-001]]
| ? || ? || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| 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]]
! [[NPX-001]]
| TMP411A || TMP411B || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| 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]]
! [[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 || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
|-
|-
! [[PQX-001]]
! [[PQX-001]]
| TMP411A || TMP411B || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| 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]]
! [[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 || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
|-
|-
! [[REX-001]]
! [[REX-001]]
| ? || 201BI<br>1309L || ? || {{cellcolors|#ff9999}} N/A || {{cellcolors|#ff9999}} N/A ||  
| 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 ||  
|}
|}


=== CELL BE ===
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]]<br />[[File:COK-002 CELL thermal monitor.jpg|200px|thumb|left|COK-002 CELL thermal monitor]]</div>
Line 115: Line 119:
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 120: Line 126:
! Pin !! Signal !! Description
! Pin !! Signal !! Description
|-
|-
| 1 || VDD || from +3.3_Thermal (with C1104 0.1μF B 10V 1005 to Ground as filter)
| 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)
|-
|-
| 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 126: Line 132:
| 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 ||  
| 4 || /THERM || Not connected
|-
|-
| 5 || GND || Ground
| 5 || GND || Ground
|-
|-
| 6 || /THERM2 || to /THRBE_SENS_ALRT
| 6 || /THERM2 || to /THRBE_SENS_ALRT (SYS_THR_ALRT since SEM-001)
|-
|-
| 7 || SDATA || from THR_I2C_SDA
| 7 || SDATA || from THR_I2C_SDA
Line 140: Line 146:
*In JSD-001
*In JSD-001
**Texas Instrument Remote Junction Temperature Sensor TMP411'''A'''
**Texas Instrument Remote Junction Temperature Sensor TMP411'''A'''
**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 146: Line 151:
**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 (RSX Primary) ===
<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)]]<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: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>


OnSemi ADT7461A0002RMZR (2 channel Thermal Monitor SMbus IC [[CELL BE]]/[[RSX]]) <br />
OnSemi ADT7461'''A''' (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 />
*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 159: Line 168:
! Pin !! Signal !! Description
! Pin !! Signal !! Description
|-
|-
| 1 || VCC || from +3.3_Thermal (with C2108 0.1{{micro}}F B 10V 1005 to Ground as filter)
| 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)
|-
|-
| 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 179: Line 188:
*In JSD-001
*In JSD-001
**Texas Instrument Remote Junction Temperature Sensor TMP411'''B'''
**Texas Instrument Remote Junction Temperature Sensor TMP411'''B'''
**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
**pin 4 connected to RSX input pad AV14 (RSX_THR_EVENT)
**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 188: Line 196:
{{clear}}
{{clear}}


=== BE VR ? ===
=== BE VR ===
<div style="float:right">[[File:IC6108 - AD51(007Z-0REEL - CECHAxx -CECHBxx.png|200px|thumb|left|IC6108 - AD51(007Z-0REEL - [[CECHAxx]] [[CECHBxx]]]]</div>
<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>
 
AD51/007Z-0REEL<br />
IC6108 <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 />
AD51(007Z-0REEL <br />
Configured as "local"
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 203: Line 210:
| 2 || SCL || from THR_I2C_SCL
| 2 || SCL || from THR_I2C_SCL
|-
|-
| 3 || OTI ||  
| 3 || OTI || Not connected
|-
|-
| 4 || GND || Ground
| 4 || GND || to Ground
|-
|-
| 5 || A2 || to Ground
| 5 || A2 || to Ground
Line 211: Line 218:
| 6 || A1 || to Ground
| 6 || A1 || to Ground
|-
|-
| 7 || A0 || to VDD
| 7 || A0 || to Ground
|-
|-
| 8 || VDD || from +3.3V_Thermal (with C6168 0.1{{micro}}F B 10V 1005 to ground as filter)
| 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)
|-
|-
|}
|}
Line 219: Line 226:


=== SB ===
=== SB ===
<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>
<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>


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


Line 234: Line 241:
| 2 || SCL || from THR_I2C_SCL
| 2 || SCL || from THR_I2C_SCL
|-
|-
| 3 || OTI ||  
| 3 || OTI || Not connected
|-
|-
| 4 || GND || Ground
| 4 || GND || to Ground
|-
|-
| 5 || A2 || to Ground
| 5 || A2 || to Ground
Line 242: Line 249:
| 6 || A1 || to Ground
| 6 || A1 || to Ground
|-
|-
| 7 || A0 || to VDD
| 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)
|-
|-
| 8 || VDD || from +3.3V_Thermal (with C3155 0.1{{micro}}F B 10V 1005 to ground as filter)
| 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)
|-
|-
|}
|}
<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 ===
=== EE+GS ===
<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>
<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>


IC7005 <br />
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 />
Used for monitoring the [[CXD9833GB]]
Used for monitoring the [[CXD9833GB]]


Line 264: Line 280:
| 2 || SCL || from THR_I2C_SCL (via R7074 {{unk|50{{Ohm}}}})
| 2 || SCL || from THR_I2C_SCL (via R7074 {{unk|50{{Ohm}}}})
|-
|-
| 3 || OTI ||  
| 3 || OTI || Not connected
|-
|-
| 4 || GND || Ground
| 4 || GND || to Ground
|-
|-
| 5 || A2 || to Ground
| 5 || A2 || to Ground
|-
|-
| 6 || A1 || 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)
|-
|-
| 7 || A0 || to VDD
| 7 || A0 || to Ground
|-
|-
| 8 || VDD || from +3.3V_Thermal (with C7286 0.1{{micro}}F B 10V 1005 to ground as filter)
| 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)
|-
|-
|}
|}
Line 282: Line 298:
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>
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>
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
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 ===
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>
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


=== Temperature Data Format ===
=== Temperature Data Format ===
The temperature data is managed with 2 bytes, the first byte represents the celsius degress as a integer value, eg: 1, 37, 101, etc... And the second byte represents a fraction of a celsius degree, eg: 0.5, 0.75, 0.0625 etc...<br>
*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
*The temperature monitors of '''all PS3 models''' have the temperature data format (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
*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 temperature data format (first byte) can be converted from the hex value to celsius degress just by doing a conversion hexadecimal to decimal, eg: 0xA=10ºC
*The high/first byte can be converted to celsius degress by a direct decimal conversion, eg: 0xA=10ºC
*The temperature data format (second byte) can be converted from the hex value to a fraction of 1 celsius degre by following the tables below. This conversion depends of how is configured the "resolution" of the second byte, this varyes per PS3 model
*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
*The temperature monitors of [[COK-001]] motherboard have the temperature data format (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
*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 [[DYN-001]] motherboard have the temperature data format (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
*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
*However, all the temperature values found in all the official [[Syscon Thermal Config|thermal configs]] are adjusted to a '''0.5ºC resolution'''
*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; width:260px;">
<div style="float:left; margin-right: 30px;">
{| class="wikitable" style="text-align:center; font-size:small;"
{| class="wikitable" style="text-align:center; font-size:small;"
|+ High/First byte
|+ High/First byte
Line 300: Line 321:
|-
|-
! -64ºC
! -64ºC
| 0x00 || rowspan="4" | 0x00
| 0x00 || rowspan="5" | 0x00
|-
|-
! -50ºC
! -63ºC
| 0x0E
| 0x01
|-
|-
! -25ºC
! Etc...
| 0x27
| {{cellcolors|#ddffdd|#000000|center}} <abbr title="All intermediate values are valid">Etc...</abbr>
|-
! -1ºC
| 0x3F
|-
|-
! 0ºC
! 0ºC
Line 314: Line 338:
| 0x41 || 0x01
| 0x41 || 0x01
|-
|-
! 5ºC
! 2ºC
| 0x45 || 0x05
| 0x42 || 0x02
|-
|-
! 10ºC
! height=48px | Etc...
| 0x4A || 0x0A
| {{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>
|-
! 25ºC
| 0x59 || 0x19
|-
! 50ºC
| 0x72 || 0x32
|-
! 75ºC
| 0x8B || 0x4B
|-
! 100ºC
| 0xA4 || 0x64
|-
|-
! 125ºC
! 125ºC
| 0xBD || 0x7D
| 0xBD || 0x7D
|-
! 126ºC
| 0xBE || 0x7E
|-
|-
! 127ºC
! 127ºC
| 0xBF || rowspan="4" | 0x7F
| 0xBF || rowspan="5" | 0x7F
|-
|-
! 150ºC
! 128ºC
| 0xD6
| 0xC0
|-
|-
! 175ºC
! Etc...
| 0xEF
| {{cellcolors|#ddffdd|#000000|center}} <abbr title="All intermediate values are valid">Etc...</abbr>
|-
! 190ºC
| 0xFE
|-
|-
! 191ºC
! 191ºC
Line 406: Line 424:
</div>
</div>
</div><br style="clear: both;" />
</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 511: Line 572:
<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>


* http://www.ps3devwiki.com/files/devtools/PS3_Temp/  [http://www.filecrop.com/81195444/index.html mirror] [http://www.filecrop.com/81219150/index.html mirror]
* 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://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]

Latest revision as of 06:11, 17 April 2023

Relative: see also Cooling, Thermal, Syscon Thermal Configs

CELL BE heatdistribution (on die)

Motherboard Thermal Management[edit | edit source]

All the thermal sensors of the PS3 motherboard are connected to syscon, the current temperatures are compared with the settings of a syscon EEPROM region named thermal config and based in the results of the comparison syscon sets a fan speed

CELL BE Internal Powermanagement[edit | edit source]

  • Dynamic Power Managment with 5 power managment states
  • 1 linear sensor (diode)
  • 10 digital thermal sensors (8xSPE, PPE and ?)

RSX internal Powermanagement[edit | edit source]

  • 1 linear sensor (diode)
  • Internal selfmanagement: Unknown

Temperature Monitors[edit | edit source]

The internal circuitry of 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 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)

The SMBus lines are protected in internal layers of the motherboard between 2 ground layers to shield them against interferences

Temperature monitors models by motherboard model
Mother Board CELL RSX SB EEGS BEVR GbE XDR Air intake Thermal Config Format Notes
TMU-520 ADT7461 ? ADT7461A ? ADT75 N/A N/A ADT75 ADT75 ADT75 v0 (Mullion flash / pre-retail)
COK-001 ADT7461(T1B) ADT7461A(T1L) AD51 AD51 AD51 N/A N/A N/A v1 (Mullion 32KB / old)
COK-002 ADT7461(T1B) ADT7461A(T1L) AD51 AD51 AD51 N/A N/A N/A
SEM-001 ADT7461(T1B) ADT7461A(T1L) AD51 N/A N/A N/A N/A N/A v2 (Mullion 20KB / new)
DIA-001 ADT7461(T1B)
or
TMP411A
ADT7461A(T1L)
or
TMP411B
AD51 N/A N/A N/A N/A N/A
DIA-002 ADT7461(T1B) ADT7461A(T1L) AD51 N/A N/A N/A N/A N/A Speculation: either onsemi T1B/T1L or texas instruments 411A/411B
DEB-001 ? ? AD51 N/A N/A N/A N/A N/A Speculation: either onsemi T1B/T1L or texas instruments 411A/411B
VER-001 TMP411A TMP411B N/A N/A N/A N/A N/A N/A v3 (Sherwood) Speculation: either onsemi T1B/T1L or texas instruments 411A/411B
DYN-001 ADT7461(T1B)
or
TMP411A
ADT7461A(T1L)
or
TMP411B
N/A N/A N/A N/A N/A N/A
SUR-001 TMP411A TMP411B N/A N/A N/A N/A N/A N/A
JTP-001 TMP411A TMP411B N/A N/A N/A N/A N/A N/A
JSD-001 TMP411A TMP411B N/A N/A N/A N/A N/A N/A
KTE-001 TMP411A TMP411B N/A N/A N/A N/A N/A N/A
MSX-001 TMP411A TMP411B N/A N/A N/A N/A N/A N/A
MPX-001 TMP411A TMP411B N/A N/A N/A N/A N/A N/A
NPX-001 TMP411A TMP411B N/A N/A N/A N/A N/A N/A
PPX-001 ? ? N/A N/A N/A N/A N/A N/A
PQX-001 TMP411A TMP411B N/A N/A N/A N/A N/A N/A
RTX-001 ? ? N/A N/A N/A N/A N/A N/A
REX-001 TMP411A TMP411B
or
201BI1309L
N/A N/A N/A N/A N/A 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)[edit | edit source]

IC1101 CELL BE Temperature Monitor (CECHAxx,CECHBxx,CECHCxx,CECHExx)

IC1002 CELL BE Temperature Monitor CECHGxx

Texas Instrument Remote Junction Temperature Sensor TMP411A, connecting CELL BE with SYSCON
Seen on a JSD-001 motherboard

COK-002 CELL thermal monitor

AD51/067ARMZ-REEL (2 channel Thermal Monitor SMbus IC)
6-710-287-01 / IC1101 (in CECHAxx, CECHBxx, CECHCxx, CECHExx)
IC1002 (in CECHGxx)
Used for monitoring the CELL BE

  • I2C address = 100 1100 (0x4C)
Pin Signal Description
1 VDD from +3.3V_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μF 50V
3 D- from CELL BE AT17 pad STI_THERMAL1 via R1107 100 Ohm and C1103 0.001μF 50V
4 /THERM Not connected
5 GND Ground
6 /THERM2 to /THRBE_SENS_ALRT (SYS_THR_ALRT since SEM-001)
7 SDATA from THR_I2C_SDA
8 SCLK from THR_I2C_SCL
  • In JSD-001
    • Texas Instrument Remote Junction Temperature Sensor TMP411A
    • 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 6 not connected
    • 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
  • 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

RSX (RSX Primary)[edit | edit source]

OnSemi ADT7461A
6-710-287-01
Used for monitoring the CELL BE (IC1101) & RSX (IC2101)

IC2101 RSX Temperature Monitor

Texas Instrument Remote Junction Temperature Sensor TMP411B, connecting RSX with SYSCON
Seen on a JSD-001 motherboard

OnSemi ADT7461A (2 channel Thermal Monitor SMbus IC CELL BE/RSX)
6-710-286-01 / IC2101
Used for monitoring the RSX

  • I2C address = 100 1101 (0x4D)
Pin Signal Description
1 VCC from +3.3V_THERMAL (with C2108 0.1μF B 10V 1005 to Ground as filter)
2 D+ from RSX AW12 pad RSX_TDP via R2101 100 Ohm and C2103 0.001μF 50V
3 D- from RSX AY12 pad RSX_TDN via R2102 100 Ohm and C2103 0.001μF 50V
4 /THERM to RSX AV14 pad RSX_GPIO6 / RSX_THR_EVENT
5 GND Ground
6 /THERM2 to /THRRSX_SENS_ALRT
7 SDATA from THR_I2C_SDA
8 SCLK from THR_I2C_SCL
  • In JSD-001
    • Texas Instrument Remote Junction Temperature Sensor TMP411B
    • 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 6 not connected
    • 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

BE VR[edit | edit source]

IC6108 - AD51/007Z-0REEL - CECHAxx CECHBxx

COK-001 VRM temperature monitor

AD51/007Z-0REEL
IC6108 on COK-001 (unpopulated). Used for monitoring the VOLTAGE REGULATOR IC6303 BD3520FVM-TR and the MOSFET Q6310 SUD40N02-08-E3 that generates +1.2V_YC_RC_VDDIO for CELL
Configured as "local"

Pin Signal Description
1 SDA from THR_I2C_SDA
2 SCL from THR_I2C_SCL
3 OTI Not connected
4 GND to Ground
5 A2 to Ground
6 A1 to Ground
7 A0 to Ground
8 VDD from +3.3V_THERMAL (with C6168 0.1μF B 10V 1005 to ground as filter)

SB[edit | edit source]

IC3101 - AD51/007Z-0REEL - CECHAxx CECHBxx CECHCxx CECHExx

IC3002 - AD51/007Z-0REEL - CECHGxx

DIA-001 SB temperature monitor removed (T5C)

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

Pin Signal Description
1 SDA from THR_I2C_SDA
2 SCL from THR_I2C_SCL
3 OTI Not connected
4 GND to Ground
5 A2 to Ground
6 A1 to Ground
7 A0 from +3.3V_THERMAL (with C3155 0.1μF B 10V 1005 to ground as filter)
8 VDD from +3.3V_THERMAL (with C3155 0.1μF B 10V 1005 to ground as filter)

EE+GS[edit | edit source]

IC7005 - AD51/007Z-0REEL - Used for monitoring the PS2 EE/GS CXD9833GB - CECHAxx CECHBxx

COK-001 EE+GS temperature monitor

IC7005 on COK-001 motherboard (unpopulated), located next to the pad 1 corner of EE+GS. Configured as "local"
AD51/007Z-0REEL
Used for monitoring the CXD9833GB

Pin Signal Description
1 SDA from THR_I2C_SDA (via R7073 ?50Ω?)
2 SCL from THR_I2C_SCL (via R7074 ?50Ω?)
3 OTI Not connected
4 GND to Ground
5 A2 to Ground
6 A1 from +3.3V_THERMAL (with C7286 0.1μF B 10V 1005 to ground as filter)
7 A0 to Ground
8 VDD from +3.3V_THERMAL (with C7286 0.1μF B 10V 1005 to ground as filter)

Temperature Monitors Configuration[edit | edit source]

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
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[edit | edit source]

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
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

Temperature Data Format[edit | edit source]

  • 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
  • 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 thermal configs are adjusted to a 0.5ºC resolution
High/First byte
Temperature
(integer)
Range
Extended Standard
-64ºC 0x00 0x00
-63ºC 0x01
Etc... Etc...
-1ºC 0x3F
0ºC 0x40
1ºC 0x41 0x01
2ºC 0x42 0x02
Etc... Etc... Etc...
125ºC 0xBD 0x7D
126ºC 0xBE 0x7E
127ºC 0xBF 0x7F
128ºC 0xC0
Etc... Etc...
190ºC 0xFE
191ºC 0xFF
Low/Second byte
Temperature
(decimal)
Resolution
0.0625°C 0.125°C 0.25°C 0.5°C
0.0000ºC 0x00 0x00 0x00 0x00
0.0625ºC 0x10
0.1250ºC 0x20 0x20
0.1875ºC 0x30
0.2500ºC 0x40 0x40 0x40
0.3125ºC 0x50
0.3750ºC 0x60 0x60
0.4375ºC 0x70
0.5000ºC 0x80 0x80 0x80 0x80
0.5625ºC 0x90
0.6250ºC 0xA0 0xA0
0.6875ºC 0xB0
0.7500ºC 0xC0 0xC0 0xC0
0.8125ºC 0xD0
0.8750ºC 0xE0 0xE0
0.9375ºC 0xF0


I2C address[edit | edit source]

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
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)
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

Monitored AD51 pin config bits decimal
A0 A1 A2
? VDD VDD VDD 000 0
? VDD VDD GND 001 1
? VDD GND VDD 010 2
SB VDD GND GND 011 3
? GND VDD VDD 100 4
EEGS GND VDD GND 101 5
? GND GND VDD 110 6
BEVR GND GND GND 111 7
SB  VDD   GND   GND 
EEGS  GND   VDD   GND 
BEVR  GND   GND   GND 

Readout of Thermal and Fan data using Software[edit | edit source]

Readable in software with Sycalls: sys_game_get_temperature (sc383), sys_sm_get_tzpb (sc384), sys_sm_get_fan_policy (sc409)

Fan settings per PS3 model based on syscon data reads[edit | edit source]

Syscon fan factory settings
PS3 Model MotherBoard Syscon Heatsink (Fan Ø) Fan Steps Overheat
Shutdown
Temperature
Fantest
mode

Supported
Step 1 Warmup Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9 Step 10 Step 11 Step 12
Temp1 Speed1 Temp2 Speed2 Temp3 Speed3 Temp4 Speed4 Temp5 Speed5 Temp6 Speed6 Temp7 Speed7 Temp8 Speed8 Temp9 Speed9 Temp10 Speed10 Temp11 Speed11 Temp12 Speed12
CECHAxx COK-001 CXR713 Series Type_1 (14 cm) No
CECHBxx COK-001 CXR713 Series Type_1 (14 cm) No
CECHCxx COK-002 CXR713 Series Type_1 (14 cm) 20/20 0x33 (20%) 72/65 0x40 (25%) 74/66 0x48 (28%) 75/66 0x4D (31%) 76/68 0x55 (35%) No more fan steps ? No more fan steps ? No more fan steps ? No more fan steps ? No more fan steps ? No more fan steps ? No more fan steps ? No
CECHExx COK-002 CXR713 Series Type_1 (14 cm) No
CECHGxx SEM-001 CXR713 Series Type_2 (14 cm) ? Yes
CECHHxx DIA-001 CXR714 Series Type_3 (14 cm) ? Yes
CECHJxx DIA-002 CXR714 Series Type_3 (14 cm) ? Yes
CECHKxx DIA-002 CXR714 Series Type_3 (14 cm) ? Yes
CECHLxx VER-001 SW Series Type_4 (14 cm) ? Yes
CECHMxx VER-001 SW Series Type_4 (14 cm) ? Yes
CECHPxx VER-001 SW Series Type_4 (14 cm) ? Yes
CECHQxx VER-001 SW Series Type_4 (14 cm) ? Yes
CECH-20xx DYN-001 SW2 Series Type_5 (10 cm) 20/20 0x33 (20%) 53/45 0x39 (22%) 54/46 0x3B (23%) 55/47 0x3E (24%) 56/47 0x40 (25%) 57/48 0x43 (26%) 60/62 0x45 (27%) 65/66 0x48 (28%) 69/71 0x4A (29%) Unknown fan steps Unknown fan steps Unknown fan steps Yes
CECH-21xx SUR-001 SW2 Series Type_5 (10 cm) Yes
CECH-25xx JTP-001 SW2 Series Type_5 (10 cm) 20/20 0x33 (20%) 58/54 0x39 (22%) 59/57 0x3B (23%) 60/60 0x3E (24%) 62/61 0x40 (25%) 63/62 0x43 (26%) 64/64 0x45 (27%) 65/65 0x48 (28%) 70/69 0x4A (29%) 73/73 0x50 (31%) Unknown fan steps Unknown fan steps ??/?? Yes
CECH-25xx JSD-001 SW2 Series Type_5 (10 cm) 20/20 0x33 (20%) 59/54 0x39 (22%) 60/56 0x3B (23%) 60/59 0x3E (24%) 61/59 0x40 (25%) 62/61 0x43 (26%) 64/65 0x45 (27%) 65/66 0x48 (28%) 69/70 0x4A (29%) Unknown fan steps Unknown fan steps Unknown fan steps ??/?? Yes
  • Notes
    • The table uses an ambient temperature of 20 celsius degrees, the value doesnt matters for the purpose of the table. PS3 manual states: Ambient Operating temperature 5°C - 35°C (41°F - 95°F)
    • In "Temp1" column the exact temperature has no importance, there is a big gap in this first step (from minimal to around 54º the fan speed is the same), but the fan speed associated in "Speed1" is needed to know because is the minimal
    • Temperatures in the format XX/YY are CELL/RSX in celsius degrees (°, {{degree}}, {{°}} or &deg;)
    • Fan speeds are in hexadecimal and in percentages
    • Firmware installations can change fan configuration values in syscon so the values can vary depending of firmware
    • Fan has a special "test/clean" mode that sets the fan at max speed, only works in some PS3 models, to enter this mode first disconnect power cord from the wallet, then press eject button and keep it pressed, then connect power cord to the wallet
    • When the temperature of the PS3 is decreasing (like when exiting a game) it takes around 2 minutes to step back to the previous speed (to dont disturb the user with too much speed changes up and down). And never returns to the initial speed of 0x33 (tested for 20 minutes)
Test conditions

To make this test, first install "iris manager" and configure the fan speeds to be controlled by syscon (sys_sm_get_fan_policy in mode 1 allows to see the default values syscon is using in real time at the bottom of the screen)... then turn off the PS3 and let it cool for some hours to return to ambient temperature

After this preparation start the test by turning on the PS3 and enter in iris, go to fancontrol settings screen as faster as possible, then start taking notes of how the values that appears at the bottom of the screen changes over time

This test can last over 60 minutes in some PS3 models and will not reach the higher temperature values because the efficiency of the cooling system doesnt allows the PS3 to overheat for obvious reasons. The maximun temperature on the test is not important for this table, the values of the fan speeds are (and the temperature asociated with this fan speed change)

A controlled overheat can be forced by blocking the airflow grills (any of them) with a plastic bag, only use this method for small overheats around 4º or 5º that are the normal peaks that will be present in-game. When manual overheating never exceed the overheat shutdown temperature that is around 85º because this can cause a permanent damage to the motherboard

Homebrew for thermal and fan read and control[edit | edit source]

Control fan utility

Default values used by the payload included in "control fan utility" and "iris manager"

speed_table_default[8]
# value mode notes
0 0x5f sm_shutdown / manual mode
1 0x4d < temp_control0
2 0x54 temp_control0 => temp_control1
3 0x60 temp_control0 <= temp_control1
4 0x68 >= temp_control1
5 0x70 >= temp_control2
6 0x78 >= temp_control3
7 0xA0 >= temp_control4
temp_control_default[5]
# temp note
0 62
1 68
2 70
3 72
4 75

using TC and ccapi[edit | edit source]

prerequisites:

Step by step:

  1. Unzip the package 'CcApi_2.00_package.rar' on your pc and copy the folder 'plugins' to the root of your external hard drive or USB flash drive.
  2. Copy 'XX0001-ENSTONEXX_00-00000000000CCAPIv2.00.pkg' also to the root of your external hard drive or USB
  3. Now go to the ps3, and install the pkg 'XX0001-ENSTONEXX_00-00000000000CCAPIv2.00.pkg', then reboot when it is demanded.
  4. When your PS3 restarts, a popup will appear at the launch of the xmb telling you that the plugin has successfully been loaded.
  5. Now go to the PC, unzip the package 'TC101.zip' and run 'Temp Control.exe'.
  6. Enter the IP address of the PS3 in the red zone.
  7. Then click 'connect' in Blue.
  8. The temperatures will be displayed in green.
  9. Check the box PS3 notifications and temperatures will consistently be displayed on the TV screen.

Using this will allow you to see the actual temperature of the ps3 and to be aware when the temperature goes very high so you turn it off and avoid a problem of your ps3 system.

source: http://wololo.net/talk/viewtopic.php?f=67&t=38795

Thermal Images[edit | edit source]

90nm / 60GB FAT and 65nm / 40GB FAT[edit | edit source]

These tests aren't by any means scientific, as we only heated the PS3's with the "Folding @ Home" application included with "Life With PlayStation" for about an hour, as the temperature had reached it's peak by then. The findings may surprise some of you, as earlier reports stated the 40GB PS3's used much less power and emitted less heat as a result of a smaller CELL processor and some other differences.

With the ambient temperature at about 22 Celcius, we started taking pictures. As you can see in the first image below, the upper-right part of the PS3 heats up the fastest, because this is where the ventilation system outputs most of the hot air building up inside of the console. Already in this image, you can see the power supply in the lower right corner heating up.
PS3 Thermal Imaging - IR_0020
The front of the PS3 didn't heat up as quickly, as we can see in the next picture. The only slightly warm part is the PS3's power supply in the lower left corner of the console as seen:
PS3 Thermal Imaging - IR_0021
The next image also shows the front of the PS3, but from a slightly elevated angle to show the top/side vents in comparison to the PSU.
PS3 Thermal Imaging - IR_0022
Now after waiting some time (7 minutes into testing), we can already see the back and side vents getting quite hot, going as high as 49 C. This is where the heatsink is sitting mostly.
PS3 Thermal Imaging - IR_0024

Now we waited for the PS3 to REALLY heat up. Using Folding@Home, the PS3 is put under a lot of stress, although different to gaming, because the RSX is supposedly not put under as much stress. This was done because it was easier to get a uniform heat output from the system, as various games tax the system's components in different ways and at different times, being that they are not linear.

Sadly, in this pic, the FLIR camera was not calibrated correctly (you have to calibrate it before every pic), so it seems that the PS3 is much hotter than it really is. The heat gauge on the side tells us the actual max temp on this pic is only 29 C. Still, we can gather from this pic that only the PSU is getting hot, and the rest of the console is uniformly orange.
PS3 Thermal Imaging - IR_0026
The backside shows a different picture. The rear vents are now very warm at 45 C, compared to the rest at about 23 C, which is slightly above room temperature.
PS3 Thermal Imaging - IR_0027
Here is the backside of the PS3 after heating up. The complete bottom is getting pretty hot, but the most heat output can still be seen at the side vent, which is at 42 C.
PS3 Thermal Imaging - IR_0028
Now that we know the temperature of the 60GB after being given time to warm up under load, we connected the 40GB unit to the TV. Starting again at about 22 C, we can again see the PSU heating up from the front.
PS3 Thermal Imaging - IR_0030
After only several minutes under load, we get this picture, showing us the heat production compared to the 60GB is nearly the same at the rear vents at 47 C.
PS3 Thermal Imaging - IR_0031
Now we looked at the bottom, and it looked quite different compared to the 60GB. Here we can actually see where the fan is located, and we can see that the distribution of heat is much more uniform. This tells us that the heatsink in the 40GB PS3's is much more efficient, even though the overall heat output is about the same. The 40GB is also a lot quieter. My 60GB unit's spins up to high speed mode quick and stays that way. The 40GB's fan speed nearly always stays one "notch" lower, making it nearly silent when gaming or watching a movie. The back of the unit is also a bit cooler than the 60GB, though the side is about the same. You'll notice fewer deep reds on the 40GB images in comparison to the images of the 60GB console.
PS3 Thermal Imaging - IR_0032

The verdict is still a bit hard to deduce. After all, we know that the CELL in the 40GB is 65nm compared to the 90nm chip in the 60GB consoles, also using about 40 Watts less power overall. Yet, the heat signature is almost the same for both, being slightly more uniform in the 40GB. My guess is, the 40GB does indeed produce less heat, as can be deduced by the much lower weight and smaller heatsink. Thus, it can more effectively transport heat away than the older 60GB model.

All in all, I say, Sony engineered quite a nice little piece of machinery here in terms of heat production and dissipation. Today's laptops have CPU's which usually produce less than 25 Watts of heat under load, normally never exceeding 35 watts. PS3 on the other hand can use up to 200 Watts in a case that is not that much bigger.

source: http://psinsider.e-mpire.com/index.php?categoryid=3&m_articles_articleid=1160

Other[edit | edit source]

The Misdiagnosis of the PlayStation 3 Yellow Light of Death