Temperature CPU e chip TED in un Commodore Plus/4

La temperatura è un problema? Spoiler: No.

Introduzione
Affidabilità e temperatura
Conclusione
Addendum
Linkografia

Introduzione

Ho acquistato di recente un Commodore Plus/4 con la tastiera non funzionante. Non ne avevo mai visto uno di persona, ma un amico di infanzia possedeva il modello inferiore, il Commodore 16. Leggendo qua e là, una delle prime cose che viene fuori è che l'integrato MOS 7360 detto TED e la CPU MOS 8501 possono rompersi facilmente. Molte teorie sono proposte e, in particolare, diverse persone sostengono che il problema principale di questi integrati è legato al calore che producono [1]. Quando ho parlato su Twitter a proposito di un Plus/4 che mi era giunto fra le mani, mi è stato immediatamente ingiunto di installare dei dissipatori su questi integrati. Disponevo di dissipatori adatti ed intendevo utilizzarli. Nella mia macchina, tutti i chip più importanti sono stati prodotti nelle ultime settimane del 1984.

Tuttavia, mentre stavo riparando la tastiera, ho dovuto fare alcuni test con il computer acceso, per vedere se i tasti funzionavano correttamente. Ho provato a toccare la CPU 8501 per vedere se si scaldasse in maniera eccessiva. Così come ho fatto per la ULA dello ZX Spectrum, di solito adotto una semplice regola empirica: se non riesco a tenere un dito su un integrato perché è troppo caldo, ciò vuol dire che è una buona idea installare un dissipatore. Con una certa sorpresa, ho notato che la CPU del mio Plus/4 era appena tiepida, in contrasto con tutte le teorie apocalittiche che avevo letto su Internet le quali suggerivano che la temperatura fosse un grave problema! Ho quindi deciso di investigare.

Quest'articolo riporta alcune misure, fatte con una piccola sonda di tipo Pt100, e degli estratti di una discussione che ho avuto con Bil Herd, l'ingegnere che ha progettato l'hardware del Plus/4 durante lo sviluppo alla Commodore.

Fig. 1: Il Plus/4 sulla mia scrivania. Che magnifica macchinetta!

Affidabilità e temperature

La mia esperienza sembrava in contrasto con molte opinioni che ho letto su forum tecnici. Quando si è in dubbio, è sempre meglio chiedere ad un esperto. Ho quindi deciso di scrivere a Bil Herd, nientemeno che il progettista del Plus/4. Bil mantiene c128.com, un sito molto interessante che ospita un forum tecnico ed è disponibile a parlare della sua esperienza alla Commodore. Ho quindi ricevuto una garbata risposta che ho potuto includere in un post di quel forum. Ecco qui un estratto tradotto in italiano di quello che Bil mi ha scritto. Ho tagliato qualche frase che comunque si può trovare sul post nel forum [2]:

"Ci sono un paio di verità a riguardo del calore e gli integrati dei computer della serie TED (264/Plus4/C16, etc). La prima realtà è che noi costruivamo dispositivi destinati al grande pubblico che sarebbero dovuti durare circa 3-5 anni, dopo i quali non ci saremmo interessati alla durata rimanente.

[...]

Poi, c'è l'effetto del calore sugli integrati ma, detto francamente, se il calore fosse stato un problema, essi si sarebbero danneggiati già durante il primo anno. Gli integrati che funzionano ancora dopo 35 anni sono la prova che il calore non rappresenta un problema. Sì, sono a conoscenza che certe persone tolgono lo schermo RF e mettono un dissipatore (che tra l'altro invalida i test di emissione radiofrequenza RCC, noi non avevamo scelta), tuttavia in aria ferma (o senza un camino convettivo) tenderei a pensare che gli integrati diventino perfino più caldi: ho intenzione di verificarlo, tra l'altro.

La VERA causa che fa rompere di tanto in tanto un integrato dopo 35 anni, (ogni tanto si rompono, un po' come quell'apprezzato vaso in vetro antico che un giorno si frantuma) è il ciclo termico che avviene quando vengono alimentati. Pensa a quando una lampadina si brucia: è quando è fredda e c'è uno shock termico che determina uno stress fisico sul silicio.

Ebbene, forse la risposta è che si dovrebbero pre-riscaldare i chip prima di accenderli. >:) Pensaci su, è contro-intuitivo a meno di non riflettere sul meccanismo effettivo di rottura.

La cosa peggiore che vedo in questo momento è che certe persone scrivono le loro teorie su come gli integrati avrebbero dovuto essere stati progettati per funzionare ancora più freddi, spendendo ancora più soldi. Una persona in particolare ha dato degli incompetenti a tutti quelli che hanno partecipato alla progettazione ed alla produzione, inclusi gli ingegneri di processo, i progettisti degli integrati, gli ingegneri meccanici, gli ingegneri hardware, gli agenti degli acquisti. Persone come questa non sono state mai, in realtà, esposte in nessun modo alla produzione, al progetto o alla semplice fisica del mondo reale. Non ascoltano quando noi spieghiamo come funzionano veramente le cose: noi eravamo lì ed abbiamo fatto l'esperienza di aver costruito milioni di questi oggetti."

Fig. 2: La freccia indica il piccolo sensore di temperatura Pt100 che ho utilizzato con un multimetro Philips PM2521

Viviamo tempi meravigliosi. Se qualcuno avesse detto al me stesso di 7 anni che 33 anni dopo avrei potuto discutere con la persona che ha progettato il C16, il Plus/4 ed il mio adorato C128, non gli avrei mai creduto.

Dopo aver letto la risposta di Bil, ho pensato che sarebbe stato interessante misurare le temperatura della CPU con la scheda al di fuori del case oppure installata al suo interno, così da avere qualche dato reale. Qualche mese fa, ho acquistato alcune sonde di temperatura Pt100 [3] che volevo utilizzare con il mio multimetro d'epoca Philips PM2521, il quale ha un'ingresso opportuno. Come si può vedere in figura 2, queste sonde sono piuttosto piccole: ho collegato una di esse a quattro fili di piccola sezione (il PM2521 utilizza un ponte di Thompson con una connessione a quattro fili con la sonda) e l'ho usata per fare le misure riportate nella tabella 1, dove Delta t indica lo scarto di temperatura rispetto alla temperatura ambiente. Ho potuto mettere un pochino di pasta termica sulla sonda, di modo da ottimizzare il contatto termico con la CPU. Tuttavia, le temperature cambiavano leggermente muovendo la sonda, il che aumenta l'errore di misura. Penso che sia ragionevole ammettere che tutte le temperature misurate sono affette da un'incertezza di +/-2°C, tranne per la temperatura ambiente dove non ci sono problemi di contatto termico. In questo caso, l'errore è legato all'incertezza del multimetro e della sonda che è dell'ordine di +/-1°C. Misurando scarti termici non eccessivi, l'errore della sonda e del multimetro si cancellano e mi aspetto un'incertezza di +/-2°C anche nella stima di Delta t.

Fig. 3: La misura della temperatura della CPU del Plus/4, con la scheda nuda sulla mia scrivania. Non ho collegato né video né periferiche

ParametroCondizioniMisuraDelta t
Temperatura ambienteIn aria22,6°C-
Centro della CPUPCB sul banco, dopo 45 min40,7°C18,1°C
Bordo della CPUPCB sul banco, dopo 10 min (*)32°C9,4°C
Centro della CPUPCB nel case, dopo 45 min52,5°C29,9°C
Bordo della CPUPCB nel case, dopo 10 min (*)37,7°C15,1°C
Bordo della CPUPCB nel case, dopo 10 min (*), dissipatore37,5°C14,9°C
Centro del dissipatorePCB nel case, dopo 10 min (*), dissipatore 47,8°C25,2°C

Tabella 1: Misure di temperatura della CPU. L'incertezza è di +/-2°C. L'asterisco (*) indica che ho spento il computer e ci ho messo alcuni minuti per posizionare la sonda e preparare la misura, ho poi acceso di nuovo il computer ed atteso per 10 minuti

Fig. 4: Misura della temperatura sul bordo della CPU

Fig. 5: Misura della temperatura sul bordo della CPU con dissipatore installato

Desideravo osservare l'effetto di un dissipatore sulla CPU e, poiché risulta impossibile per me misurare la temperatura del centro della CPU con il dissipatore al suo posto, ho deciso di misurare la temperatura anche nel bordo della CPU, che rimane accessibile anche con il dissipatore. Ciò permette di comparare i risultati. La figura 4 mostra cosa intendo con "Bordo della CPU" nella tabella 1.

Senza il dissipatore, le temperature sono perfettamente normali per quanto mi aspetto da un circuito elettronico che si comporti correttamente. Un aumento di 30°C rispetto alla temperatura ambiente è perfettamente tollerabile in un prodotto per il grande pubblico che abbia una durata di vita dell'ordine dei 3-5 anni, come Bil ha scritto (e pure di più).

Poiché ero curioso di verificare l'effetto di un dissipatore, ne ho installato uno sulla CPU con un po' di pasta termica ed un paio di piccole gocce di colla cianoacrilata. La temperatura sul bordo della CPU è rimasta la stessa (vedere figura 5). Non mi è stato possibile misurare la temperatura al centro della CPU perché non è più accessibile con il dissipatore installato. Tuttavia è ragionevole pensare di aver guadagnato qualche grado in meno. Ho potuto piazzare il sensore fra le alette al centro del dissipatore e la temperatura era di 5 gradi centigradi in meno di quanto misurato in precedenza senza il dissipatore.

Dato che la CPU funziona mantenendosi relativamente fredda, ho provato a misurare anche le temperature del TED, mettendo la sonda tra la linguetta di rame che è attaccata al coperchietto dello schermo RF e l'integrato. Ho messo un po' di pasta termica: questa posizione non è ottimale per il contatto termico perché la sonda ha un certo spessore. Si veda la figura 7. I risultati sono riportati nella tabella 2. Il TED si mantiene a temperature anche inferiori a quelle della CPU, anche se non è facile mantenere la sonda in posizione sotto il coperchietto dello schermo RF.

ParametroCondizioniMisureDelta t
Temperatura ambienteIn aria22,2°C-
Centro del chip TEDPCB dentro il case, dopo 45 min, schermo RF installato44,3°C22,1°C

Tabella 2: Misure di temperatura per il chip TED. L'incertezza dei dati è +/- 2°C.

Fig. 6: Posizione della sonda Pt100 sul chip TED prima di chiudere il coperchietto dello schermo RF

Conclusione

L'obiettivo di quest'articolo è di riportare le temperature misurate sulla CPU MOS 8501 e sul chip TED MOS 7360 per vedere se fossero eccessive. Un Plus/4 non modificato è stato utilizzato con lo schermo RF chiuso attorno al chip TED. I risultati hanno mostrato un incremento di temperatura di 29,9°C +/-2°C rispetto alla temperatura ambiente, perfettamente normale in un prodotto coevo di elettronica di consumo. Un piccolo dissipatore ha ridotto leggermente l'incremento di temperatura a 25,2°C +/- 2°C.

La temperatura del chip TED è stata pure misurata ed un incremento di 22,1°C è stato rilevato, posizionando la sonda Pt100 fra il chip TED e la linguetta in rame che si protende dal coperchietto dello schermo RF.

In conclusione, penso che in generale l'affidabilità della CPU e del chip TED non cambi praticamente nulla se un dissipatore è presente o assente. Se la CPU 8501 ed il TED tendono a rompersi (ma dopo 35 anni non è poi così strano anche in chip considerati affidabili), ciò non è a causa di una temperatura eccessiva.

Addendum

Pare che quest'articoletto abbia attirato una certa attenzione e ne sia nata quasi immediatamente una controversia (vedi per esempio [4] che riporta una discussione molto interessante). Vorrei mettere in chiaro la mia posizione:

Linkografia

[1] - "There are 3 main reasons for a dead 264 system - CPU (7501 or 8501), TED (7360 or 8360) and PLA (251641-02). All three are prone to overheating." (February 10, 2019)
http://www.retroisle.com/commodore/c16plus4/techdetail.php

[2] - Discussing with Bil Herd http://c128.com/plus4-cpu-and-ted-temperatures-and-heatsinks

[3] - NB-PTCO-160, Farnell 2748869

[4] - https://plus4world.powweb.com/forum/37711

Log

February 19, 2019: Italian translation and corrections here and there

February 14, 2019: Written the "Addendum"

February 11, 2019: Added measurements of TED temperature

February 10, 2019: First version of the page, with CPU temperatures

License

Creative Commons License
This work is licensed under a CC BY, NC 4.0 licence.