Oppgradering av en sovjetisk kalkulator med en moderne CPU

Dagens forsyningskjedeproblemer kan gjøre det vanskelig å kjøpe mikrokontroller, eller virkelig noen form for type halvleder. Men for de som holder retringere i live, har dette problemet alltid eksistert: gamle elementer kan ha vært ute av produksjon i flere tiår, med en svindlende tilførsel av brukte deler eller “nytt gammelt lager” som det eneste alternativet. Hvis en uvanlig CPU bryter, kan du ikke ha noe valg for å erstatte hele datamaskinen.

[Piotr Patek] løp inn i dette problemet da han kjøpte en Elektronika MK-85 programmerbar kalkulator med en skadet CPU. Ikke i stand til å oppdage en erstatning, bestemte han seg for å utvikle et PIN-kompatibelt CPU-system basert på en STM32 mikrokontroller. Av programmet Ingen moderne CPU er pin-kompatibel med en sovjetisk stil fra 1980-tallet, så [piotr] måtte style en liten interposer PCB for å matche den opprinnelige pinout. Dette ga også ham tilstrekkelig område for å legge til en effektiv DC / DC Converter-chip som produserer 2,5 V-forsyningen for STM32.

Når det gjelder programvaren, håndteres [Piotr] til Port den opprinnelige grunnleggende tolk, som ble skrevet i PDP-11-montering, til en moderne ekvivalent skrevet i C. Mens han var på det, løst han noen få bugs som hadde satt der for ca 35 år. Den oppdaterte CPUen gjør det også mulig for MK-85 å kjøre sirkler rundt sine moderne søsken: [piotr] timet det for å være omtrent tretti ganger raskere enn den originale brikken, samtidig som den utnytte en lignende mengde strøm.

Hvis du også forekommer for å ha en MK-85 med en dodgy CPU, vil du være glad for å oppdage at skjemaene samt kildekoden til [Piotr] s justering, blir tilbudt på bloggen sin. Dette er mest sannsynlig den aller første kalkulatoren CPU-oppdateringen vi har sett, selv om vi har vist andre gamle kalkulatorer oppdatert med ny firmware, så vel som noen helt nye kalkulatorstiler basert på tradisjonell maskinvare.

Takk for tipset, [cmholm]!

Leave a Reply

Your email address will not be published. Required fields are marked *