Senobinis, bet geresnis- LeCroy

Aš vėl bambėsiu. Esu išbandęs keletą rūšių osciloskopų (oscilografų). Nuo primityviausio tarybinio, kuris tik maždaug parodo, vokiškos chaltūros iki šiuolaikinio, bet kiniško skaitmeninio, su gražiu spalvotu ekranu.
Tačiau atsitiko eBay ir “ant durniaus” pastatyta 120€ atnešė priverstinį pirkinį- LeCroy 9304A. Nu, bus į kaimą osciloskopas…

The 9304A and 9304AM are general purpose 200 MHz four channel digital oscilloscopes. They capture single-shot events at up to 100 MS/s, and repetitive signals at 10 GS/s. Record lengths up to 200k points provide excellent horizontal resolution, and allow fast digitizing of long-duration events.

Ir šis agregatas kaip ir veikia. Tiesa vienas sukintojas šlubuoja ir sunku pastatyti kursorių (net baisu pagalvoti apie šio monstro remontą). Ir kogero neveikia FDD. Dėl PCMCIA klausimų yra, bet dar neaišku.

O dabar bambesys- šis, 30* metų senumo monstras, veikiantis ant kokio beviltiško kompiuterio, žymiai geriau veikia nei visi mano anksčiau naudoti osciloskopai. Ypač patinka kad nėra laginimo ir signalo trigeris veikia idealiai. Visas GUI (graphic user interface) atsiranda akimirksniu ir operatyviai reaguoja. Kas trugdo visą šitą operatyvumą perkelti į naujoviškus kiniškus osciloskopus?

Kaip tie 10GS/s veikia aš neįsivaizduoju. Spėju, kad gaunasi kažkoks hibridas tarp “analoginio” ir “atmintinio”. Bet man kaip ir nesvarbu. Svarbu rodo. Ir kogero nėra “falšyvo” skaitmenio “alias” kai dažniai susiplaka ir rodo tipo mažesnį dažnį. Gal ir yra, nes mažai žaidžiau, tačiau ant kiniško iškarto pagavau šias nesąmones, o čia kaip ir nepavyko- per didelis dažnis paprasčiausiai “užbaltavo” ekraną.

*) 1996 metų kataloge yra.

Vakarietiška senobinė karinė technika ir akytės

Atvežė šiek tiek vakarietiškos senos karinės technikos draiskalų, kaip sakoma – эхо войны…

68K procesorius su FPU ir paprasta 74 54 logika. Tik visur auksiniai korpusai ir labai storos PCB. Tikriausiai daug sluoksnių, nes mikroschemos labai arti viena kitos sudėtos. Pačios PCB tarpusavyje buvo sujungtos kažkokia flex PCB juosta. Kiek suprantu apie 1990 tuosius.

Saugokit savo veizolus… kažką dariau, kažkur pasukau ir staiga užsitrumpino- žaibai ogogo. Bet akių daktarai nieko baisaus nerado. Sakė ateiti po mėnesio.

Iš narkomaniškų į normalias

Tai dar viena priežastis, kodėl nėra straipsnių.

Inkilus reikia gaminti

Šiuo metu daromos šiokios tokios renovacijos ir balkone, nuo sienos teko nulupti kelis inkilus. Pernai, vasaros metu visada kas nors ten gyvendavo ir labai trukdė remonto darbus- pastoviai reikėjo laukti, kad tėvai pašertu vaikus. Ir šiaip, labai tie paukščiai keldavo triukšmo kai kas nors stovėdavo prie jų inkilo. Dabar jie be “kvatierantų”.
Šie inkilai eksperimentiniai- neatitinka jokių standartų. Iš tikro, tai kažkokios dėžutės nuo karinės technikos:

Paprasčiausia plona faniera. Originalios skylutės buvo mažesnės. Kairėje pasididino paukščiai, dešinėje aš jau kiek padėjau. Nes net cypdavo lysdami per skylę.

Sako paukščiai savo lizdo nedergia. Aha, šitie tai šiko ant sienų, kad lizdo neuždergti. Paukščiai neišmeta prinešto šlamšto, todėl su laiku, nebelieka vietos. Gerai, kad čia dėžutės ir atsidaro. Visus baldus išmečiau, ir daromas kapitalinis remontas.

O čia eksperimentas- iš viso maža dėžutė. Maniau, kad tokia tikrai niekam netinkama. Bet…

Pusė patalpos užnešta lobiais. Tikrai kažkas čia gyveno. Beja, čia tas inkiliukas, ant kurio stoga kažkada buvo susuktas lizdas (matyt netilpo) ir paukščiukai įžūliai stebėdavo mano veiksmus, tuo tarpu tėvai žiauriai isterikuodavo.

Todėl mano nurodymas- gaminkite bet kokius inkilus, ne tik “standartizuotus”. Ir tikrai gaminkite mažiukus inkilus- nes juosia gyvena visokios mikro “pypiskos”. Šiame mažame gyveno kažkokia raudonai ruda “ugnelė”.

Ir tikrai nereikia laukti inkiliukų sezono- šie pamažinti inkilai būdavo apgyvendinami vasaros viduryje, o ne ankstyvą pavasarį. Ir tikrai mačiau, kaip žiemą juose gyveno visas pulkas paukštukų- kaip jie ten tilpdavo aš nežinau, bet tikriausiai taip šilčiau.

Vasara 24

Visiškai nėra straipsnių todėl kad: biški išsisėmiau, neturiu entuziazmo ir yra kitokie vasariniai darbai. O vasarinius darbus reikia daryti. Keletas darbelių, įvykių kurie vyko per pastaruosius du mėnesius.

  • Sidabro kleckas- gryname sidabre labai gerai tirpsta oras? vanduo? vandenilis? O kai metalas vėsta, gaunasi išsiveržimas. Po keletos ciklų- aušinimo ir perlydymo po fliusu, dujos išeina iš metalo.
  • Raudona honda biški nusibrėžė. Iš keturių “aksidentų”- trys sukelti moteriškių. Matyt jos nemato raudonos spalvos. Viena atsitrenkė kai stovėjo gatvėje ir bandė apsisukti, kita- stovėjo kieme ir važiavo atbula, o paskutinė- honda važiavo žiedu, o VW nepamatė. 🙂
  • Tokie vikšrai ėda buksmedžius. Tai kažkokios kandies vardu ugniukas vikšras. Tai buksmedžių pabaigo pradžia.
  • Pasidariau stalčiukų lentyną- stalčiukai iš senukų, lentyna savadarbė. Be lentynos, konstrukcija pernelyg nestabili. Beja, tokie stalčiukai turi turėti privalomus skyrelius: morgas, random digital chips, random analogue chips ir random chips.
  • Dėl klimato atšilimo, naktimis ir dienomis taip šalta, kad mano rasoda dalinai nustipo, dalinai užsikonservavo ir nebeauga. O kas išaugo buvo suėsta slimokų.
  • Nixiu plokštė su auksinėms mikroschemom. Reikia kažkokį dizainą sugalvoti, kad matytųsi visa plokštė.
  • Verandos turėklų elementai (inox 321)- nes užkniso rudys. Ir prabangios klinkerio trinkelės šiltnamio grindim.

Va tiek reikalų. Jei bus kas nors indomaus, būtinai parašysiu.

Nespauskit

Nespauskit keistų linkų kuriuos gaunat. Aš spaudau už jus, kad žinotumėt.

Scenarijus paprastas- ateina žinutė apie neva nepristatytas siuntas. Ten būna dažnai keistoka nuoroda:

Nelabai gramatana žinutė turėtu kaip ir duoti įspėjimus. Atsidaręs interneto puslapis savo gramatika irgi sako, kad kažkas negerai. Žmogai, jei atsidarėte žinutę, kuri rašo apie jūsų siuntą ir jie jau žino telefoną, tai kodėl vėl prašo asmeninės informacijos? (Ten žemiau buvo ir telefono laukelis). O sekantis ekranas jau sako, kad reikia tik 0.27€ užmokėti. Tačiau bjaurus paštas tikrai be dviejų eurų nieko nedaro 🙂 Aha, ir kortelė ir CVV. Gal dar raktą nuo kambario su pinigais?

O, va ir kambario raktas. T.y. anonimiškas “bankas” ir patvirtinimo kodas. Aš naudojau randominį telefoną (nu ne randominį, bet policijos) ir generuotą kreditinę kortelę. Todėl galiu tik spėti apgavystės mechanizmą. Tikriausiai į mobilų ateina kažkas dar, gal koks netikras bankas. Gal šiuo momentu jau pasijungia gyvas žmogus kuris pradeda rankiniu metodu dirbti tarpine tarp aukos ir banko. Tačiau mano eksperimente įvedus bet kokius skaičius, puslapis užlinko.

O bonuse, tokius puslapius blokuoja mūsų pareigūnai. Tai jei neskubėsite spausti nuorodos, tai vėliau ji gali pasirodyti tokia kaip paveiksliuko dešinėje.

O dabar bambesys ir patarimai- net jei ir laukiate siuntos, neskubėkite. Niekur ta siunta nedings, nepanikuokit. Skaitykit atidžiai ir galvokite logiškai- kodėl? Kam jies to reikia? Kur jūsų siuntos identifikacinis numeris. Kodėl siuntėjo numeris ne iš Lietuvos? Kodėl interneto adresas toks keistas? O jei tikrai nerimas dėl siuntos, tai eikite į oficialų pašto puslapį. Nežinot siuntos numerio? Tai iš viso ko čia blaškotės? Laukite lapuko savo pašto dėžutėje. Ar net didelio laiško.

Visi dokumentai pildomi tik oficialiam pašto interneto puslapyje, o apkomėti galima tik teisingai prisiregistravus prie lpexpress savitarnos. Nebūkit šiuolaikiniai hipsteriai, kurie viską bando daryti savo ultra išmaniu įrenginiu, kuriame sudėtos VISOS JŪSŲ PASLAPTYS! Žinot patarlę apie “visus kiaušinius vienoje kraitelėje”?

O dabar testas:

Kuri žinutė teisinga?

makefile (užrašai sau)

Makefile tai specifinis instrukcijų rinkinys kuris gali pats paleisti kitas instrukcijas ir pats save ir panašiai. Naudojamas automatizuoti programų kūrybą ir gal dar ką nors. Ši žinutė skirta man pačiam, nes atmintis labai blogai dirba. O jei kitiems tiks, ar bus kokių nors patarimų- welcome.

  1. PROJECT = $(notdir $(CURDIR))
  2. SRC = $(wildcard *.c)
  3. BDIR = build
  4. OBJ = $(patsubst %.c, $(BDIR)/%.o, $(SRC))
  5. .PHONY: clean all hex
  6. #phony - komandos (jei netycia sutaptu su failo pavadinimu)
  7. all:
  8. @echo "all" $(PROJECT)
  9. #all pasileidzia kai paleidziamas make be komandu
  10. levas:
  11. @echo $(SRC) $(OBJ)
  12. #pirmas iki: objektas komanda arba failas, antras -kokiems failams galioja
  13. $(BDIR)/%.o: %.c
  14. echo $@
  15. mkdir -p $(BDIR)
  16. cp $< $@
  17. objects: $(OBJ)
  18. elf: $(BDIR)/$(PROJECT).elf
  19. #sutrumpinta komanda, kad nereiketu ivesti pilno failo pavadinimo
  20. $(BDIR)/$(PROJECT).elf: $(OBJ)
  21. cat $(OBJ) > $(BDIR)/$(PROJECT).elf
  22. clean:
  23. rm -f $(BDIR)/*.o $(BDIR)/*.hex $(BDIR)/*.bin $(BDIR)/*.elf

Komentarai:
Eilutės 1-4: paprasčiausi kintamieji ir kelios operacijos su jais. 1) kintamasis “PROJECT” pasidaro naudojamo folderio pavadinimu, 2) “SRC” – visų failų su išplėtimu masyvas. 3) paprasčiausias priskyrimas. 4) vieno masyvo konvertavimas į kitokį.
Eilutė 8: make visiškai nesvarbu ar dirbama su failais, komandomis ar “kažkokiais objektais”. Jei folderyje bus failas “clean” ir jis nekis, make pasitikrins tai ir nebevykdys komandos. Phony pasako, kad čia ne failas.
Eilutė 11: “all” pasileidžia, kai make paleidžiamas be parametrų, čia kaip “main()” funkcija.
Eilutė 15: komanda gali vadintis bet kaip. Tik turi užsibaigti dvitaškių. O jos atliekamos komandos turi būti “atitrauktos” per tabą.
Eilutė 20: komanda gali būti failo pavadinimas, kad ir iš komentaro, o antras žodis po dvitaškio kaip ir filtras kokius failus galima naudoti. Čia biški nesuprantu.
Eilutė 25: komanda “daryk objektus” pasiima visus būsimus “O” failus ir generuoja pagal 20 eilutę iš “C” failų. Jei “O” failai jau sugeneruoti ir jų “šaltinis” toks pats, failai ignoruojami.
Eilutė 27: Kad nereikėtų nurodyti kokį “ELF” failą generuojam, čia parašom supaprastinimą.
Eilutė 30: Kai reikia generuoti kokį “ELF“, kad ir iš 27 eilutės, naudojam tokią instrukciją ir gaminam iš “O” failų. Savo ruožtu, jei nėra “O” failų, tai juos generuojam iš “C” failų (20 eilutė). Ir kartu stebim, ar kas nepasikeitė
Eilutė 33: Paprasčiausiai ištrinam viską ką sugeneruojam.

Atrodo viskas siaubingai ir keistai. Ir net nesuprantu kaip tai veikia. Tačiau teisingai parašytas makefile viską labai palengvina, nes nebereikia galvoti, kas ten su kuo jungiasi ir kas iš ko darosi. Iš principo tai gana specifinė “skripto” kalba.

P.S. Jei dirbat su windows ir jus užkniso, kad kiekvieną kartą paspaudus ant “makefile” windows klausia su kokia programa ją atidaryti, darykite taip:

assoc .="No_Extension"
ftype "No_Extension"="C:\WinAVR\pn\pn.exe" "%1"

Tiktai “path” iki savo redaktoriaus pasikeiskit.

GAL/PAL “hackinimas”

Aš biški domiuosiu senais kompais, o ten dažnai naudojamos programuojamos logikos mikroschemos (PAL/TIBPAL/GAL/PALCE). Šios mikroschemos, ypač senos laidos, labai kaista ir net kartais nuo to kaitimo susidefektuoja. Todėl kartais jas reikia pakeisti “naujom” PALCE ar GAL mikroschemom. Visa bėda- nežinom mikroschemos turinio. Kartais “fuse” failai randami internete, kartais net būna “lygtys”. Kartais galima atstatyti turinį pagal prietaiso schemą (taip atstačiau ATARI 1200 čipą). Tačiau tai suveikia ne visada.

GAL ir PALCE čipai perrašomi. Todėl juos galima lupinėti iš senų plokščių ir panaudoti iš naujo.

Internete yra metodas, kad paprastas mikroschemas (be registrų) galima atburti naudojant paprastą “brute force” t.y. išbandant visus variantus ant kojyčių. PAL mikroschema prijungiama kaip 27C020 ir nuskaitoma kaip paprastas EPROM ir gautas “rom dump” sumaitinamas specialiai programai “pa.exe”.

Jei PAL/GAL mikroschema neturi viduje registrų ir (kas svarbu!) neturi viduje užciklintos logikas “ala” registras, tai viskas veikia. Deja, tos mikroschemos kurios man buvo svarbios buvo TIBPAL16L8 – gryna logika, bet “užciklintos” ir man nepavyko jas “nulaužti”…

Taip atrodo PAL16L8 į 27C020 adapteris.

Taigi, jei netyčia turit Amiga 2000 1Mb DRAM plokštės jungiamos į CPU slotą schemą ar PAL formules, pasidalinkit 🙂 Nes dabar atminties išpėtimas net pradeda smirdėti nuo karščio.

Pareigūnų sirena

Toks beveik vandalizacinis straipsnis. Tarp utilizuojamos technikos pasitaikė sirenos generatorius. Dar prie jo reikėtu ir aukštavolčio garsiakalbio, bet jo neturim.

Tokias sirenas naudoja įvairių šalių pareigūnai. Musiškiai naudoja tokią- dviejų melodijų ir beep-beep (air horn) imitacija.

Schemos nesinagrinėjau, bet spėju, kad tai bus gryna skaitmena stiprintuve- nemanau, kad du tranzistoriai su tokiu mažu aušinimu dirba kokiam nors kitokiam režime nei D. Trafukas švelniai groja sirenas, prie išėjimo pabandžiau paprastą gasiakalbį ir kelių šimtų omų rezistorių. Iškarto rezistorius pakaito- galios turi daug.

Tik trys mikroschemos. PICas lizdelyje- “operatyviai” galima keisti melodijas. Dar viduje turi būti kažkoks ADC keitimas, nes galima šnekėti per tą “gavarilką”– “vairuotojas, prašom sustoti” 🙂

Jokio panaudojimo nesurandu, nes negalima naudoti. Nebent kaip signalizacijos triukšmo šaltinį.

27C400 arba Amiga Kickstart readeris

Biški gliučino mano remontuojamos Amigos, tai teko greituoju būdu pasidaryti 27C400 skaitytuvą nes pasirodo, nei vienas mano turimas EPROM skaitytuvas 256Kb x16 nevirškina. Nutariau pasinaudoti eiline STM32F103VGT plokšte. Dėmesio! Čipas VGT turi 96kb RAM, kiti gali netikti, nes programa naudoja 64K buferį mikroschemos skaitymui. Ir dar kažkiek užima USB procedūros.

STM32F103 yra tolerantiška 5V logikai, o šios ROM mikroschemos visiškai tolerantiškos kiek žemesnio potencialo logikai. Gal, jei šitą plokštę perdaryti iki programatoriaus, tai Vcc ten 6V (Vpp-12.5V). Jei tie 6V nutekės iki kojyčių, tai STM gali ir nugeibti.

Net ir naudojant GPIO valdymą, STM labai greitai nuskaito informaciją. O va greičio USB perdavimui tai labai labai trūksta. Kažkur skaičiau, kad STM32F1 gali iki 700kbit/s greitį pasiekti. Man kogero nepavyko- pagal LED matosi, kad iš čipo skaito gal ketvirtį sekundės, o poto ilgai ir nuobodžiai pumpuoja informaciją.

Viduje žalių laidelių žarnynas. Bet viskas veikia. Palaidas kondensatorius reikalingas- pasirodo, mano kompiuterio USB maitinimas visiškai blogas ir duomenų skaitymas labai jau matosi ant Vusb linijos.

Pasitikrinau visus Kickstartus, ir visi buvo geri.

Programinėje įrangoje daug nesąmonių. Bet gal kam nors bus įdomu. Yra tikras CRC32 skaičiavimas, hardwarinis CDC valdymas, IntelHex duomenų skaitymas ir rašymas. Viską galima valdyti per terminalinę programą. Savo reikmėm pasirašiau VB.NET programą, bet ja nesidalinsiu, nes ten viskas labai baisu ir vienintelė iki galo padaryta funkcija- nuskaityti čipą, paskaičiuoti CRC32 ir įrašyti čipo turinį į failą.

Visas STM32F103 27C400 ar Amiga Kickstart čipų skaitymo įrankio (ROM READER) source code ir CubeMX darbinis failas.

P.S. programa daro “byte swap”, nes visi Amiga kickstartai internete taip surašyti. O čipuose baitai sukeisti vietomis. Nedarašytas šios funkcijos valdymas ( reikia išjungti n = __builtin_bswap16(n); ). Sukeitimas tikriausiai susijęs su 68000 ir Intel MSB-LSB ar panašiai ideologija…