Real Time Clock (RTC)
Il real-time clock è un componente con la funzione di orologio in un sistema. Di norma è costituito da un circuito integrato che calcola il tempo reale (anno, mese, giorno, ore, minuti e secondi), un oscillatore al quarzo ed è dotato di una batteria tampone, esterna o interna, che ne consente il funzionamento anche quando il sistema non è alimentato da corrente.
Introdotto agli inizi degli anni 80 nell'Apple III, è stato impiegato negli IBM PC AT e nelle vecchie motherboard fino al 486 (in alcuni casi anche nei primi Pentium). Esempi di RTC sono il DALLAS DS1287/ DS12887A, l'ODIN OEC12C887A e il Benchmarq BQ3287 AMT. Nei sistemi moderni l'RTC è integrato nel chipset.
Problemi al boot
Un RTC con batteria scarica può generare messaggi di errore al boot bloccando l'avvio del sistema. Questo perchè le informazioni del BIOS salvate si perdono in tempi brevi quando l'alimentazione esterna viene interrotta. In questo articolo, prendendo spunto dagli appunti originali di Peter H. Wendt pubblicati nel 2006 su IBM MicroChannel ( Link), vedremo come ripristinare il funzionamento del DALLAS DS1287 installando una batteria esterna.
Olivetti PCS 386 SX: Fixed Disks Not Present
All'avvio dell' Olivetti PCS 386 SX il Resident Diagnostics (tipico di quei PC) non riesce a rilevare l'hard disk pur essendo installato e funzionante. Accedendo al BIOS (SHIFT+CTRL+ALT+CANC) verifichiamo che le informazioni sono errate ed è presente il warning sulla batteria scarica. Impostando di nuovo tutti i parametri, al riavvio la situazione non cambia: il BIOS è di nuovo inconsistente e il boot non avviene. La batteria interna del DALLAS DS1287 risalente al 1992 è ormai completamente scarica ed occorre sostituirla. Purtroppo il chip è monolitico: sarà quindi necessario rimuovere parte del materiale plastico e saldare dei fili di collegamento al circuito interno, bypassando la vecchia batteria.
Pin 16 e 20
Il chip è saldato sulla motherboard quindi occorrerà fare attenzione a non danneggiarne le tracce. I pin sono numerati in senso antiorario da 1 (white circle) a 24: i pin 16 e 20 sono rispettivamente il negativo ed il positivo della batteria che andremo ad installare. Segnata la posizione esatta usiamo un taglierino affilato per rimuovere parte della copertura di plastica.
Rimozione copertura in plastica e interruzione vecchio circuito
Eseguiamo tagli sovrapposti dall'interno verso l'esterno della motherboard per evitare danni. Il materiale è abbastanza duro, alla profondità di circa 1mm il primo contatto elettrico viene scoperto. Ripetiamo la stessa operazione sul pin 20. Effettuando una misurazione con un multimetro, rileviamo che effettivamente la batteria interna è scarica.
Per interrompere definitivamente il circuito interno, forziamo la connessione sul pin 16 con un piccolo cacciavite a taglio: il contatto cede facilmente e una nuova misurazione con il multimetro conferma che non c'è corrente tra i due poli. Ripuliamo con cura le superfici dei due contatti e procediamo con la saldatura dei fili esterni.
Installazione battery holder per CR2032
Installiamo un battery holder per batterie bottone di tipo CR2032 più versatili e sicure. Saldiamo i fili rispettando le polarità : eseguiamo questa operazione in maniera abbastanza rapida per evitare di scaldare troppo il chip interno che potrebbe danneggiarsi. Inserita la batteria, la misurazione sui due poli con il multimetro va a buon fine e la tensione corretta è 3 Volt.
Isolamento saldature e riassemblaggio motherboard
Utilizziamo ora del nastro isolante per coprire le saldature e in modo analogo proteggiamo anche la nuova batteria. Per i test occorre rimontare la motherboard all'interno del case poichè l'alimentazione non è standard AT. Assembliamo quindi i dischi e la riser card di espansione e il sistema è pronto per il boot.
Boot
Dopo aver effettuato un reset della CMOS con i due jumper in prossimità dei BIOS (la motherboard ha due chip: HIGH e LOW) e collegato alimentazione esterna, monitor e tastiera proviamo il boot: il sistema si avvia correttamente. Accediamo al BIOS e configuriamo tutti i parametri tra cui l'hard disk: le capacità preimpostate e selezionabili sono solo 20, 40, 80, 100 o 120MB (questo è un po' una limitazione) comunque per il CONNER CP 3044 originale da 40MB va bene il preset 02; salviamo e riavviamo di nuovo. Il Resident Diagnostics conferma che ora è tutto ok e può effettuare il Primary boot-strap. Il Sistema Operativo è MS-DOS 5.0 Rev. 2.00 customizzato da Olivetti S.p.A. All'avvio, abbastanza veloce, viene caricata la DOS Shell che offre un'interfaccia grafica più comoda per la navigazione del sistema. Microsoft Windows 3.1 preinstallato sembra girare bene e l'ambiente a finestre è fluido grazie anche alla RAM da 1MB.
Conclusioni
Un chip RTC con batteria scarica può dare problemi al boot. Il DALLAS DS1287 può essere ripristinato scollegando la batteria interna e collegandone una esterna sui pin 16 e 20 (la procedura si può applicare anche al successore DS1287A). Dopo la modifica, l'Olivetti PCS 386 SX rileva correttamente l'hard disk avviandosi di nuovo senza problemi e, nonostante i 'soli' 16MHz di clock, risulta abbastanza veloce con MS-DOS 5.0 e Windows 3.1. |