Category Archives: Betkas

Shopingas: Altera DE1 FPGA plokštė

Seniai aš apie ją galvojau, bet pirkti tiesiai iš Terasic nenorėjau- nors ji ir atpigo iki $150 + idiotiškos siuntimo išlaidos iš Taivanio, bet ji vis tiek pernelyg brangi. Todėl užstačiau eBay automatinę paieška ir maždaug po metų laiko, vienas studentas iš Kanados ją pardavė. Nusipirkau aš ją už 50$+15$ S&H. Tikėjausi prasisukti be muito, tačiau Kanadietis įvertino siuntinį $120 ir gavau 62Lt PVM, muito ir pašto paslaugų (7Lt).
Tai gana sena FPGA mokymo plokštė su Altera Cyclone II 2C20 FPGA. Kam man jos reikia? Ogi todėl, kad ši plokštė buvo naudojama kaip mokymo plokštė keliuose universitetuose ir jai prirašyta kalnai visokiausių projektų. Dabar aišku yra ir DE2 plokštė, tačiau ji man kiek per brangi- $495…

altera DE1

Taigi, ką mes gavom už 237Lt? (tiesa tikriausiai pigiau, nes doleriai gauti iš smulkios spekuliacijos):
FPGA su ~20000 LE, 8Mb SDRAM, 4Mb Flash, 512K SRAM, SD kortelių lizdą, daug mygtukų ir LEDų, 24 bit audio kodeką (plokštė turi Line in, Line out ir MIC jungtis), prastą VGA lizdą (3x4bitai), RS232, PS2, du IDE stiliaus kištukus prisijungti tiesiogiai prie FPGA.

altera DE1

Šiame koliaže mano turima DE1 plokštė ir trys projektai kuriuos skubiai nukroviau iš interneto: Mandelbroto fraktalų skaičiuotojas, Amiga 500 kompiuterio emuliatorius ir kažkokio kompiuteriuko su Z80 procesorium bandymai.

Ubagų mediacentras

Mediacentras tai toks krūts daigts! O šaibų nėr… Gerai, be juokų. Kilo įdėja, investavom $7.31 ir štai rezultatai.

mediacentras

Esmė tokia, USB flashiukai dideli dar labai brangūs. Rašyti kokį serialą į DVD kad poto žiūrėti gal kiek per didelė garbė. Va jei paimti seną defektuotą SATA kietą diską (čia panaudojau nuo notebuko, bet tinka bet koks), beviltišką Philips DVD grotuvą su USB (ir net HDMI) ir Mini USB2.0 to SATA dongle iš dealextrymo (sku 8110, tiesa ten rodos yra ir pigesnių) bei seną kompo maitblokį ir viską sujungti… gaunasi kaip ir mediacentras. Tik pirmiausia HDD reikia suformatuoti FAT sistemoje, nes NTFS filipsas nesupranta. Užmaitinti kietą diską iš pačio filipso maitblokio gal ir galima, bet ten maitblokis ir taip ant energetinės krizės ribos padarytas. Reikėtu perdaryti.

Šiaip viskas veikia.

mediacentras

Šiaip tai reikėtu kažkaip visą diską suformatuoti kaip FAT (jis ten ~160G dydžio) bet windozė man labai skubant neleido, bet atkirtau 30G, tai susiformatavo be problemų. Jei kam įdomu, filipsas tai DVP5960. Tiesa buvo kažkokių šviesos efektų ant menių, bet nežinau ar SATA dongle čia buvo kaltas- filipsas tai iš šiukšlyno, su defektu.

Lietuviškas blacklistas

(Lietuviško spamo blacklistas spamassasin programai. Įkeliam į spamassassin konfiguracine direktorija ir šių debilų laiškai jūsų nebetrugdys)

Čia šiaip sąrašas kontorų kurių išsigimę vadybininkai spamina ir taip nusižengia LR reklamos įstatymui. Nors du kartus kreipiausi į valstybinęs įstaigas ir ant popieriaus rašiau prašymus, bet negavau jokių rezultatų. Kaip nustatoma kad tai spamas (nepageidaujama reklama)? Ogi paprasčiausiai yra nenaudojami domeinai ir sukonfiguruoti emailai. Ir į šiuos emailus ateina pasiūlymai.

Va Lietuviško blacklisto dalis:


blacklist_from *@pb.lt
blacklist_from *@officesystem.lt
blacklist_from *@*.officesystem.lt
blacklist_from *@skelbiu.lt
blacklist_from *@open24.lt
blacklist_from *@tuktuk.lt
blacklist_from *@b-a.lt
blacklist_from *@kompiuterijospasaulis.lt
blacklist_from *@cvmarket.lt
blacklist_from *@childreninteriors.net
blacklist_from *@laimek-iphona.lt
blacklist_from *@shambu.lt
blacklist_from *@victoriana.lt

Šios kontoros piktybiškai siuntė žinutes su prikabintom nuotraukom ar net MS Word dokumentais. Viena kontorėlė siuntė virš 1Mb (netto) dydžio laiškus.

Jei netyčia jūsų emailas yra šiuose domeinuose ir jus norėsite parašyti man laišką, tai neišdegs- blacklistas atmes bet kokius bandymus rašyti į mano serverį. O tai ne vienas mano emailas…

12V akumuliatorių pakrovėjas- mintys

Jau keletą kartų žmonės naujienų grupėse ieškojo “teisingų” 12V švino akumuliatorių pakrovėjų. Internete schemos tipinės, 20 amžiaus: didelis trafas, diodų tiltelis, kažkoks tranzas ant kurio sodinama perteklinė galia, akumas. Jei jau koks mandresnis pakrovėjas, tai bandoma kapoti tinklo įtampos pusperiodžius ir taip reguliuoti akumo krovimą…
Kiek pasiskaičiau apie švino akumų krovimą. Teisingas akumuliatoriaus krovimas susideda iš kelių etapų. Taip pasiruošimas, krovimas apribojant srovę, palaikomasis krovimas apribojant įtampą. Ant kai kurių želilinių akumuliatorių (12V 7.5Ah) net parašyta, kad maksimali krovimo srovė 2.25A, maksimali palaikimo įtampa 13.6-13.8V. Dar yra “ciklinio” naudojimo įtampa 14.5-14.9V. Šito režimo nelabai suprantu. Apie “paruošimo” režimą niekas nerašo, bet tai režimas skirtas pribaigtiems akumams- kad netraumuoti pernelyg iškrautą akumą. Tačiau dažniausiai tokių akumų krovimas yra beprasmiškas- jie jau būna pažeisti.
Šiuolaikinis pakrovėjas turi būti kompaktiškas, ekonomiškas, automatinis ir atsparus durniui. Tokius kriterijus atitinka beveik bet koks šiuolaikinis impulsinis maitinimo šaltinis. Nutariau pasibandyti savo idėjas praktiškai. Taip ir gimė ši schema. Kaip konstrukcijos pagrindą panaudojau kažkokio LCD monitoriaus maitblokį. Maitblokis padarytas naudojant Fairchild Semiconductors FAN7601 mikroschemą ir išorinį raktą. Schema tipinė- ji tokia pat ir Application note AN4129 ir su nedideliais pokyčiai padaryta tame LCD monitoriuje. Aišku buvo galima pasinaudoti PCB iš monitoriaus, tačiau, kad labiau suprasti kas ir kaip veikia, schemą persipaišiau ir padariau savo PCB.

Schema iš dokumentacijos:
Schema
(didelė schema peržiūrai)

Detalės nupaišytos mėlyna ir raudona spalva nesumontuotos. Raudonom strėlėm pažymėtos detalės kiek įdomesnės. R107 (originalioje schemoje 0.5 omo) apriboja srovę per mosfet raktą. Du rezistoriai R204 ir R205 nustato išėjimo įtampą. Čia pastačiau paprasčiausią 22K kintamą rezistorių.
Transformatorius tai pati sudėtingiausia detalė. Nors tinka trafas iš LCD monitoriaus, aš vieną transformatorių dalinai išvyniojau. Vyniojant transformatorių labai svarbu nesupainioti apvijų pradžias su pabaigom. Schemoje pradžios pažymėtos taškeliais.
Transformatoriaus pirminė apvija turi 15+15 vijų. Apvijos skeltos į dvi sekcijas, plačiau apie tai senesnėje žinutėje). Antrinė apvija 7 vijos. Mikroschemos maitinimo apvija (NVcc) taip pat turi 7 vijas. (Beja tokie koeficientai visuose mano ardytuose kompų maitblokiuose). Transformatoriaus šerdis su tarpeliu.

Va taip atrodo surinktas pakrovėjas:
12V akumų pakrovėjas
(Raudonas ir juodas “objektai” prie didžiausio kondiko tai gnybtai iš laboratorinio maitinimo šaltinio).
Pakrovėjas pradeda veikti kažkur nuo 20V maitinimo, tačiau prie tokios įtampos, pakrovėjas nenaudingas. Tačiau jau kažkur prie 90V viskas jau normaliai veikia. Taigi įėjimo įtampa gali kisti nuo 100V iki kokių 250V (AC/DC). Kaitaliojant itampa nuo 70 iki 270V išėjimo itampa stabili.

Į akumą tekančia srovę galima apriboti dviem metodais: pirmas, tai statyti šuntą, papildomą optroną ir padaryti feedback. Kitas metodas- pasinaudoti raktinio tranzo apsauga- R107 rezistorius apriboją srovę per mosfetą. Taip galima apriboti pumpuojamą galią per trafą.

Taip gavosi gana kompaktiškas prietaisiukas. Dabar projektas perėjo į bandymų stadiją. Kol kas kraunam želinį akumą. Tačiau tokio dydžio trafas laisvai gali išpumpuoti apie 50W. O jei paimti didesnį trafą 60…100W nėra riba. O su tokiom galiom ir kiek didesniais radiatoriais galima krauti ir starterinius automobilių akumuliatorius.

High Voltage

Low Level įrankiai

Truputi paporinsiu apie paprastus įrankius kuriuos naudoju kai užeina noras ką nors išardyti arba sukonstruoti. Pagrindinis elektroniko instrumentas tikriausiai tai lituoklis:
Irankiai
Tai litavimo stotelės lituoklis. Turiu dar kelis paprastus lituoklius kitokiems darbams. Dažniausiai naudoju šitą, nupaveiksluotą, nes jis greitai užkaista, turi temperatūros reguliavima. Teko perdaryti įžeminimo grandinę. Originaliam lituoklyje jis buvo prijungtas tiesiai prie PE laidininko. Deja lituojant įjungtas schemas (akumuliatorių pakrovėjas čia dažniausiai papuola), lituoklio galiukas trumpina maitinimo grandinę. Todėl teko įmontuoti kiloomų eilės rezistorių tarp lituoklio galiuko ir PE laidininko.

Toliau bus dar daugiau informacijos, todėl spauskit čia, kad perskaityti straipsnio tęsinį: Continue reading →

Dar vienas grafinis LCD

Iš senovinių delninikų prilupinėjo LCD ekraniukų. Gerai, kad dar spėjau prigriebti vieną delninuką ir pažiūrėti kas per signalai. Tai senoviškas, 94mm ištrižainės juodai baltas, tikriausiai 16 pilkumo lygių, LCD ekranas su touch screenu. Ekraniuko modelio numeris: 01251P01.

BW LCD grafinis ekraniukas

Sprendžiant pagal elektroniką, tai ekraniukas be kontrolerio. Epson SCI7500F0A (ar SC17500F0A) čipukas kažką kontroliuoja, bet tikrai neturi atminties. LCD pašvietimas padarytas su elektroliuminiscencine plėvele, tačiau su išlikusiu delninuku aš nesugebėjau jo įjungti.
Ekraniuko kontrastas nėra labai geras, bet manau, reikėtu patiuninti maitinimo įtampas.
BW LCD grafinis ekraniukas

Vienintelis ekraniuko gerumas tai toks, kad jo kontaktinės aikštelės labai didelės ir jų nėra daug. Čia yra 20 kontaktų lizdas, tačiau visų laidų tikrai nereikia.
BW LCD grafinis ekraniukas

Šio ekraniuko pinoutas ir truputi reverse engineering: Continue reading →

LVDS SERDES sinchronizacija

Pagaliau kiek paaiškėjo kaip veikia LVDS SERDES (serializer- deserializer) sinchronizacija.
Iš pradžių, galvojau kad užtenka padaryti LVDS megafunkcija ir viskas išsispręs automatiškai. Deja, gavosi bet koks niekalas. Tada aptikom “rx_data_akign” piną. Trumpas impulsas perstumia gautą baitą per vieną bitą. Bet to neužteko. Tada atradom “rx_data_align_reset” piną, kuris nustato bitų postumį į standartinę padėtį. Bet ir šitas nepadėjo. Tada įjungiau “pll_areset” piną. Pinas, kuris pilnai rezetuoją LVDSin megafunkcijos PLLą. Gavosi maždaug toks monstras (dalis imtuvo schemos):
LVDS SERDES
(didesnis paveiksliukas)

Kadangi naudojam 2 poras duomenim, vieną porą CLK ir x6 serializavimo faktorių, tai per vieną “pirstelėjimą” perduodam 12 bitų. 8 bitai naudingų duomenų (nors praktiškai užtenka 7 ar net 6 – akis nepastebi skirtumų, o ir nulinis bitas net teoriškai nedalyvauja matematikoje…) ir dar lieka 4 bitai sinchronizacijai.
Vienas bitas naudojamas kaip kadrų sinchronizacija (VSYNC, beja itariu, kad pas mane kadrų dažnis gavosi kraupiai didelis. Patikslinimas- vaizdas atnaujinamas 1000 fps greičiu. Gal kiek daugoka 🙂 ), o likusieji 3 bitai naudojami SERDES modulio sinchronizacijai.
Aš perskaičiau daugybe datasheetų apie gigabitinius ethernetus, optinius kabelius… Sužinojau apie Hummingo kodą, apie 8b10b kodavimą ir visokius kitokius IP. Bet viskas čia man pernelyg sudėtinga ir visai nereikalinga RGB matricai- nedidelė bėda, jei dėl trugdžio bus koks nors nedidelis atsitiktinis pasimirguliavimas.
Todėl sinchronizacija labai paprasta: jei neatinka 3 bitų seka, pastumiam bitus (inst:105, 101, 103, 106..). Jei per sakysim keliolika bandymų nepavyksta gauti rezultato, darom bitų postumio rezet (inst:110, 104, 102, 108, 109). Jei po keliolikos rezetų vistiek nepavyksta gauti vaizdelį- rezetuojam PLLą ir kartu visą LVDS modulį (inst:111, 112). Kodėl tiek daug bandymų iki pilno numetimo? Ogi todėl, kad kartais sugeba susisinchronizuotis su atsitiktiniu vaizdo gabalėliu ir vaizdas pasidaro stabilus, bet neteisingas. Todėl reikia kiek palaukti, kad pralėktu daugiau video informacijos ir suveiktu klaidų detektorius.

Va koks gavosi rezultatas. Čia įjungiu visą mašinerija ir smaukau UTP kabelį. Kai išjungiu kabeli kažkiek triukšmo ištrina matricos viršų. Kartais jungiant prisigaudo visokių gliukų, bet pilnai įsmeigus kabelį, vaizdas stabilizuojasi.

Omni Connect USB dongle

Vienam “verslininkui” sulūžo Omni Connect USB “modemas”. Sulūžo fiziškai. Kaip senas ir lojalus klientas, jis kreipėsi į omnitelį pagalbos. Jam pasakė, kad šitas USB dongle jau negarantinis, šiuo metu kito jie neturi, remontuoti gal būt ir galima, užeikit po savaitės. Žodžiu mandagiai pasakė- “tuda nax**”. Verslininkas jis žmogus paprastas, jis net būtų nupirkęs naują “pirštuką”… Negražiai čia omnis pasielgė. Priedo čia prie tų “gerųjų” taupymo planų…
Taigi USB aparatas atkeliavo ant mūsų stalo.
Omni connect shit

Pradedam ardyti: du varžteliai, biški “užspaudimų” ir dėžutė atsidaro.
Omni connect shit
Matosi MicroSD kortelės lizdas ir grupė tantaliniu elektrolitų- čia tikriausiai energijos saugykla GSM/edge-šmedge/3G siųstuvui.
Šiaip viduje dvi PCB plokštės sujungtos viena jungtimi ir dvipusia lipnia juosta.

Omni connect shit
Čia viskas uždengta ekranais. Ekranų nelupau, nes šios vandalizacijos tikslas yra žymiai kilnesnis- remontas.

Omni connect shit
Pagaliau atsikasėm iki esmės. Šiaip gedimas primityvus- nusilankstė ir nulūžo USB kištukas. Skubiai iš donorinio MP3 grotuvėlio išlupau kištuką, perlitavau, dar kiek pritvirtinau su super glue, surinkau ir veikia. Man tik patiko įrenginio įdeologija- tai USB multi įrenginys. Jis kompiuteriui matosi kaip CDROMas su instaliaciniu softu ir kaip USB modemas. Automatiškai windozė instaliuoja CDROMą iš savo build-in draiverių ir iškarto modemas turi iš kur instaliuotis savo draiverius. Aš jau seniai svajojau, kad kokie nors dolbani USB printeriai savyje turėtu savo draiverius. Tada nereikėtų CD/DVD diskelių. Ir nebūtų problemu su perinstaliavimu, kai jau seniai CD diskeliai pamesti. O kad nebūtų chaoso, printeris galėtu išjungti virtualų CDROM po instaliacijos.

Skaitmeninis oscilografas

Labai dažnai prireikia pažiūrėti kokius nors elektros signalus, jų formas, pabandyti skaičiuoti impulsų pločius, signalo dažnius, įtampas ir dar kokį biesą. Tam tikslui naudojam oscilografus (tiesa užsieniečiai teisingiau juos vadina- osciloskopais, nes gi prietaisas lygtai ir nieko nerašo, o tik leidžia pažiūrėti). Aš jau labai senai naudojų senutį, bet jau Lietuvišką C1-112A. Iki 10MHz signalams kiek pažiūrėti gal ir tinkamas, bet mažas ekraniukas, dažnai signalas perjunginėjant režimus pabėga iš ekrano, viska reikia rankutėmis skaičiuoti, ir svarbiausia, tik vieno kanalo. Nepatogu. Darbe buvau gavęs dviejų kanalų kiek profesionalasnį oscilografą, bet pas ji buvo bloga sinchtonizacija ir kas svarbiausia, siaubingai jis cypia (ten viduje maitblokis specialus tipo aukšto dažnio yra, bet rusai debilai nesugebėjo jo padaryti ultragarsiniam dažnyje).
Tai teko paaukoti “easy money” iš interneto ($380 su atsiuntimu) ir parsisiūsdinti šitą aparatą.
Welec

Iškarto sakau, šitas aparatas yra šudinas. 🙂 Nerekomenduoju. Nebent nusipirkot jį kaip Altera FPGA dev bardą su spalvotu VGA ekranu. 🙂
Už šiuos pinigus gausite dvi Altera Cyclone II mikroschemas (EP2C35F484C8N), 16 Maxim ADC, labai grubiai surinkta analoginį traktą, LCD monitorių, maitblokį, daug mygtukų ir šviesdiodžių… Softas (tiek windozei, tiek viduje aparato) lėtas, bugavotas, su akis badančiom klaidom (sakyčiau “alfa”, net ne “beta” lygyje). Ir vaizdelis labai labai triukšmingas… Žodžiu- crap.
Toliau bus labai labai labai daug teksto, fotkių ir t.t. Manau, kad kol kas tai ilgiausias straipsnis. Continue reading →

Dalinai veikia LVDS per UTP

Kiek laiko praleidau belaužydamas galvą. Problema tokia, kad nors ir susijungia dvi plokštės su FPGA mikroschemoms per pusantro metro UTP Cat5 LAN kabelio, PLLas sinchronizuojasi, tačiau RGB matrica rodo kažkokius niekalus. Pagrindinė problema, kad nepasigauna reikiama bitų seka LVDS serializeryje/deserializeryje. Kiek paskaičius dokumentaciją, radau kad galima pasigaminti bitų poslinkio valdymo kojeles. Dabar sinchronizacija ŽYMIAI pagerėjo, bet dar neįdeali. Tačiau bent jau mąstymo gairės atsirado ir projektas pasislinko iš tupiko.

Mažoji (master) plokštelė tai antras Alteros ciklonas (kurį man antrinių žaliavų pavidalu padovanojo Lietuviška elektronikos firma su trumpu pavadinimu iš T raidės). RGB matrica– tai jau seniai iš eBay nupirkta pramoninė matrica su pirmos eilės ciklonu. Plokštės sujungtos mėlynu lanksčiu UTP LAN kabeliu nuo telekomo DSL modemų. Duomenų perdavimo greitis 2*100Mbit. Manau galimas ir didesnis, tik neaišku ar man didesnio reikia.