Commodore 6526/8520 kopija CPLD

Yra tokia deficitinė senoviška mikroschema- CIA (complex interface adapter) skirta 680x ir 68000 čipsetams – 6526 / 6526A ir 8520. Naudojo ir gamino šias mikroschemas Commodore (jos čipų gamykla MOS). Naudojami šie čipai Commodore 64, 128 ir Amiga serijos kompiuteriuose. Tikriausiai buvo naudojama ir plačiau, bet man nepapuolė plokštės, kurios turėtu šiuos čipus. Šie čipukai tai interfeisiniai, jie visaip programuojami ir paprastai bendrauja su periferija. O kadangi kojyčių apsauga pas senas mikroschemas labai silpna, tai šios mikroschemos miršta vienos iš pirmųjų. Kiek supaprastinta, 8520 versija užlenkė mano Amiga 500 netgi keliems metams.
Dabartiniais laikas šios mikroschemos nebegaminamos, tačiau jos tebemiršta. Ir jų kainą pradėjo kilti- dabar viena mikroschema kainuoja kažkur apie 25€ (be atsiuntimo ir mokesčių). O kompiuteriuose dažnai stovi po dvi. Man netgi susidarė nuomonė, kad apsimoka pirkti kai kuriuos senus kompus, lupti lauk čipus ir parduoti- kaip auto šrote. Palaidos detalės kainuoja daugau nei visas komplektas. O ir nusipirkti galima neveikiančia.

Todėl kilo iškreiptas projektas: Commodore 8526/8520 kopija CPLD. Jei viskas pavyks, tai galima mikroschemą emuliuoti ir greitesniu MCU. Bet kolkas buvo pasirinkta CPLD ir Altera Quartus 9. Kodėl? Todėl, kad aš turiu keleta CPLD suderinamu su 5V TTL lygiais ir softas nemokamas. Softas gana sudėtingas ir turi visokiausiu diagnostinių įrankių, o ir CPLD turi perteklinį kiekį kojelių, todėl galima išsivesti visokius vidinius registrus laukan ir tikrintis su osciloskopu.

Mano poros laisvų dienų darbo frontas atrodo taip:
Commodore CIA 6526/8520 CPLD-FPGA verilog copy
(Nuotrauka pasididina)
.
Continue reading →

Atari 800XL – finita

Po keletos metų nereguliariaus remonto, pagaliau pabaigiau Atari 800XL remontą. Apie remonto pradžią rašiau net 2016 metų pabaigoje. Aišku aš jo neremontuodavau kiekvieną dieną. Tačiau po truputi kaupėsi atsarginės detalės, žinios, dokumentacija, papildomi instrumentai.

atari 800xl
Kas gi buvo pakeista: RAM pilnai, net buvo išbandytas savadarbis statinės atminties modulis. Kitos mikroschemos, ne tik čipsetas, bet ir keletas smulkmių, kur buvo aplituota tarybiniais laikais. Perrašytas ROM (dabar OS sėdi EEPROMe), perrašytas MMU (vietoje sužalotos PAL panaudota GAL).
Continue reading →

Automatinis Defibriliatorius

Automatinis Defibriliatorius. Kas per daiGtas? Ogi toks, žmonius gelbėjantis prietaisas, kuris profilaktiškai sustabdo širdį tikintys, kad ji pradės veikti normaliu sinusiniu ritmu. Kartais, kai žmogui būna blogai su širdim, jam širdis nesustoja, bet nusimuša normalus ritmas- širdis pradeda labai greitai plakti, kartais netgi virpėti. O tada širdis nebeatlieka siurbliuko darbo ir automatiškai viskas sustoja ir numiršta. Todėl tokiu atveju reikia pistelti bent jau su kuloku per krutinės ląstą, atlikinėti dirbtinius kvėpavimus ir širdies masažą. Tačiau kartais gerai būtų, jei šalio stovėtu defibriliatorius kuris ir atlieka pistelėjimo darbą- duoda stiprų elektros impulsą, kurs “perkrauna” širdies raumens darbo režimą.

O kaip jis padarytas?

Lifepak 500 internal pictures
Tai Lifepak 500, automatinis, išorinis defibriliatorius. Nuotraukoje nėra elektrodų, kurie prilipinami prie nuogos krutinės ląstos. Poto užtenka beveik nieko nedaryti- aparatas parodo ir pasako ką reikia daryti. Dar jis patikrina ar tikrai reikia pistelti elektros srove ir jei reikia- pisteli.
Energijos šaltinis- nuotraukoje švino akumuliatorius. Būna ir ličio elementai (nepakraunami). Šis prietaisas nurašytas, akumai pilnai neveikia ir gal net ir blogas. Nelabai norisi jį ir išbandyti.
Continue reading →

Paprastas SIN generatorius

Nėra jis toks paprastas. Yra paprastesniu, su vienu tranzistorium. Tačiau aš turėjau dvipolį maitinimo šaltini ir universąlią PCB su dvigubu invertuojančiu operaciniu stiprintuvu.

OP AMP sin generator
Tai vienas iš fazių užsukinėjančių schemų. Pliusai- gana švarus sinusas. Minusas- vienas dažnis (nesireguliuoja paprasai).
Užtenka vieno trikampio kad paleisti generatorių, tačiau “tap point” labai jautrus ir be antro trikampio neprasisuksi.
Continue reading →

AM moduliacija, purizmas, schemos, daug tranzų ir simuliacija

Lipdžiau sau visokias radijo schemas ir reikėjo pasitikrinti kaip veikia AM moduliacija. Mano turimas tikras generatorius pernelyg aukšto dažnio, o savadarbis iš viso neturi moduliacijas. Dar senesnis savadarbis irgi nelabai moduliavosi AM. Todėl nutariau pasidaryti pats, nes tai lygtais paprasta. Juk 20 amžiaus pradžioje tai buvo labai populiariu. Ilgai negalvojau ir pradėjau žiūrinėti internetus- ten schemų pilna (bent jau iš pirmo žingsnio) tačiau kai kurias teko atmesti, nes moduliacija buvo sugretinta su generatoriumi. O man reikėjo grynos universalios schemos: vienas laidelis- nešančioji (carrier), kitas- moduliuojantysis signalas. Trečias (arba trečias ir ketvirtas)- jau moduliuotas signalas. Aišku labai nesistengiau, bet daugelis schemų nelabai teisingos. Tiesa, mažytis kiniškas radijo aparatas muziką grojo, bet piktas oscilografas parodė, kad ten ne visai toks signalas kaip vadovėliuose.

AM modulator
Gaila, nepadariau savo oscilogramos, todėl čia keletas nuotraukų iš interneto. Dažniausiai buvo arba 1 ar 2 variantas (t.y. gyvačiukė arba pusė signalo), tačiau niekada 3 (tikras AM moduliavimas).
Continue reading →

Xicato LED moduliai

Kažkur renovuoja parduotuves ir keičia “mėsos” lemputes. Ten pagrinde stovi Philips HID lemputės, nuo 30 iki 75W. Tačiau kalba eina ne apie jas. Tobulėjant technologijom, atsirado LED lemputės. Jos beveik amžinos, tačiau jos genda. Ir tokiose lempose pačių lempučių nepakaitaliosi. O dėl gedimų… nu kondensatorių senėjimo niekas neatšaukė… Štai bendram Xicato XSM standartinės serijos datašyte parašyta:
Color Consistency – Maintained: C3 50,000hrs.
Lumen Maintenance: L80 50,000 hrs.

O kaip manot, kas parašyta “draiverio” kondensatoriaus datašyte? Tiesa, ten ne paprastas “kinas”, o Rubycon ZLH serijos kondikas. Ką rašo:
Load Life : 105°C 6000∼10000 hours.

Atspėkit ar kai kurie šie LED prožektoriai nemirksi? 🙂 O jei mirksi, tai jie keliauja į šiukšlyną.

O kai kurie netgi švyti, jei dirba kiek geriau aušinamam režime:
Xicato XSM8040-100/A2D
Continue reading →

AVR100: Max7219 LED matricos iš kinų

Reikėjo padaryti LED eilutę. Kaip visada greitai ir pigiai. Labai prabangiai nereikėjo, todėl pasirinkau kiniškas 8×8 matricėles su MAX7219 valdymu. Viskas ko reikia tai tik maitinimas ir koks nors SPI. Kelios komandos leidžia reguliuoti šviesumą. Visas gerumas tame, kad kiniški modeliai agregatuojasi į ilgą eilutę ar panašiai. Pats eilutės valdymas vyksta per USB-COM portą.

MAX7219 LED matric control USB AVR

Jau toks senas ir nuvalkiotas projektas tikrai bus padarytas pas “arduinistus”. Tačiau trumpos paieškos parodė- kad taip nėra. Dalis projektų atsisijojo dėl visokių keistų “arduino” failų formatų. Kiti… neveikia. Net pačiuose straipsniuose parašyta- “I don’t know, but this example do not work”. Pradėjus nagrinėtis kodą, susidarė nuomonė, kad programos rašytojai net nabandė skaityti MAX datašyto arba tūpai kopy-pastino svetimą kodą. Netgi klasikinė nesamonė su soft SPI padaryta. Ir vėl teko viską perdaryti. Baisiausiai kas gadino projektą tai paprastas kiniškas laidelis su kištuku- tai buvo kontaktas, tai nebuvo. Ne veltui jau rašiau apie wire wrap.
Tačiau problemos buvo įveiktos ir projektas greitai sumestas į vieną vietą- vienam gale USB, kitam gale LED matricų “kirmelė” (aišku ir maitinimo šaltinis reikalingas. Demonstracijai užtenka ir USB). Softas kiek pakeistas- sudėtas ATARI fontas, dar keli pakitimai. Tačiau viskas veikia. Kad paleisti- reikia prijungti prie kompiuterio ir per naują COM portą pumpuoti tekstą. Tekstas rodomas ant LED matricos. Nėra teksto išvalymo komandos, todėl jei reikia pašalinti, naudokit probelus.

Kaip visada:
AVR USB serial LUFA MAX7219 LED Matrix source code (ATmega32U4).

Valdymui naudojamas COM portas leidžia duomenis rodyti iš daugelio šaltinių ir skriptų. Galima rodyti kokio nors saito lankytojų skaičius ar kiek kartų buvo atidarytas šaldytuvas. Rodyti kokius nors keistus tekstus ar siuntinėti pranešimus aplinkiniams. Ar paprasčiausiai rodyti laiką. Čia labiau nuo fantazijos priklauso.

AVR:99 GPS duomenų analizė ir LUFA USB su COM

Šiais laikais, kai kiniški GPS imtuvai visai atpigo, kilo noras panaudoti juos kaip RTC. Tačiau iškilo paprasčiausia problema- programinė įranga internete arba “arduino” arba “C++” arba velniai žino kokia. O man reikėjo kažko paprasto, grynam AVR GCC. Todėl, pasižvalgant į svetimą softą, iškilo mano NMEA teksto analizatorius. Jo dirbimo rezultatas- struktūra užpildyta duomenim, tuos duomenis galima ir parodyti per COM portą, o galima panaudoti savo programoms.

putty output
Mano paprogramės duomenys parodyti raudonai, o baltai matosi duomenys iš GPS imtuvo. Pastabesni žmonės gali surasti kur tuo metu buvo Levas.
Matosi, kad ne visi sakiniai analizuojami- man visiškai neįdomu, kiek ir kur kabo satelitai, ar judėjimo gretis. Nereikalingus sakinius galima išjungti su konfiguracine programa, tačiau čia eina “default” duomenų srautas.
Continue reading →