CPU apkrova

Netyčia internete užbridau ant vieno interneto puslapio, kur buvo įdėti 3 (trys!) animuoti gifai. Staiga mano kompas pradėjo kaukti- pradėjo suktis pilnu greičiu CPU ir korpuso ventiliatoriai. Pasirodo, kad trys animuoti gifai + IE6 + aktyvus langas + Windozė XP pilnai nusodiną procesorių. Čia interneto puslapiuko adresiukas, gal dar jis veikia: http://www.lcdstudio.com/forum/viewtopic.php?t=10684

Turiu dar tokia UPSo monitoringo programą kuri rodo kiek kompas ima elektros. Kairėje matosi kad kompas ima 267W energijos kai rodo animuotą gifą, o dešinėje kai rodomas paprastas “tuščias” guglės puslapis. Ir aišku fotošopas, outlukas ir kitas šlamštas. Billas su savo bugovu animuotų gifų rodymu ima apie 76W elektros energijos. Beja, ugnies laputė (firefox) rodo tuos paveiksliukus be jokių procesoriaus apkrovimų.

CPU apkrova
(Čia du paveiksliukai vienas ant kito.)

Čia screenshot kai dirba tik googlė:

CPU apkrova

O čia, kai rodomas minėtas interneto puslapis. Pas mane dvigubas branduolys, todėl apkrova kyla tik iki 50%. Su vienu branduoliu apkrovimas 100%! 🙂
CPU apkrova

Ekonominiai akumai

Vėl teko proga išardyti kelis akumuliatorius. Tarp jų pasitaikė keletas “ekonominių”, “lengvų” variantų. Tokius paprastai deda į visokius notebukus, kad kiek galima labiau sumažinti prekės kainą. Paprastai notebuko darbo laikas deklaruojamas su “normaliom”, “pilnom” batareikom, o parduoda būtent ekonominius variantus:

eco akumai

Tai 14.8V, 2000mAh. Pilna versija tame pačiame korpuse turėtų būti 14.8V, 4000mAh.

eco akumai

Viršuje: 11.1V, 4000mAh. Čia sutaupyta “ant voltų”. Vietoje celių- juodi vamzdeliai.
Apačioje: 14.8V, 2150mAh. Čia vietoje keturių celių idėti plastikiniai permatomi vamzdeliai.

Abu akumai visiškai vienodų išmatavimų.

USB namuose

Tesiu savo kovą su printerio porto nebenaudojimu. Kiek pasiknaisiojes internete ir dėl to, kad viena Lietuvos elektronikos firma pamaitino mane keliolika ATMEGA16 16AI mikroschemų teko pasidaryti eksperimentinę plokštę.

USB- multiport adapter

Tai nieko naujo ar neįprasto- minėta ATMEGA16, 12MHz kvarcas ir keletas rezistorių. Kiek teko pakeisti programos kodą iš interneto ir tarp kompiuterio įrenginių atsirado AVR309: USB to UART protocol converter. Tai aparačiukas kuris prijungia prie kompo ATMEGA per USB ir su softu galima valdyti visas megos kojytes. O tai gana daug kojycių… 🙂

Dabar reikia tik nusikrauti Delfi7 ir pasirašyti savo programinę įrangą, kad per USB pumpuoti duomenis į FPGA konstrukcijas. Gal ir užkrauti FPGA konfiguracija iš pagrindinio kompiuterio. O tada atsiveria plačios lankos visokiems LCD displėjams, skaitmeniniams oscilografams ir šiaip “digital home” sistemom.

device manager

Čia device manager langelis.
Continue reading →

LCD + FPGA

Po kažkiek tai eksperimentų ir vienos mikroschemos mirties padaryta 1/5 mano LCD kontrolerio projekto. Kol kas veikia tik beveik visi timing’ai, duomenys kol kas perduodami iš flash ROM mikroschemos. Kol kas yra šie bugai: dešinėje ekrano truksta 4 stulpelių (dingo vienas baitas informacijos), truksta 3 eilučių apačioje (ir dėl to pasidaro brukšnys per vidurį ekrano), visas vaizdas pasislinkęs per vieną eilutę (o čia jau ne bugas, o displėjaus ypatybė: jis pirmąja eilutę rodo prieš kadrų sinchroimpulsą).

Čia bendras darbo lauko vaizdas: impulsinis maitblokis (+5V ir ~-15V), 20.48MHz osciliatorius (čia nesvarbu, nes dažnis vistiek padalinamas ar tai 4 ar 8 kartus), ATMEL 29C010A “Video ROMas” ir ALTERA FLEX EPF10K10TC144-3 FPGA kuris ir viską daro. Raudoni brūkšneliai ant “breadboard” tai 47K rezistorių rinkiniai “patempti” duomenų ar adresų linijas link 1 ar 0.

LCD+FPGA

Kiek didesnis ekrano vaizdas. Kai kurie bugai yra ne FPGA “schemoje”, bet kiek itariu MS Visual Basic programoje kuri apdoroja vaizdą ir generuoja Video bitmap.

LCD+FPGA

To be done: išgaudyti bugus (ir pridaryti naujų 🙂 ), sukurti kompiuterio interfeisą (dar nežinau kokį), pritaikyti vietoje ROM RAMą (iš pradžių statinį RAMą, o vėliau kokį dinaminį, kad pamažinti laidų skaičių). Dar vėliau- padaryti spalvotą vaizdą.

32G Sony fufelis

Vieni žmogeliukai iš tolimosios Kinijos atsivežė USB flash diskelį. Sony firmos. Ir dėžutė buvo solidi ir pats įrenginys atrodė solidžiai. Bet labiausiai jiems patiko įrenginio talpa- 32Gb…

32G Sony fufelis

Įkišus į kompą, disko properties irgi rodo didelę talpą.

32G

Disk menedžeryje particijos (skirsnio) dydis irgi “teisingas”.

32G

Diskas netgi priima didelius failus. Juos galima įrašyti. Bet tik įrašyti, nes bandant nuskaityti gaunasi skaitymo klaidos. Toks kaip ir “WOM” diskas (Write Only Memory) 🙂

32G

Pats diskelis irgi nesiformatuoja…

32G

Kiek pasinagrinejus ir paeksperimentavus buvo nustatyta, kad reali disko talpa nesiekia 0.5 megabaito… Visi likusi disko talpa visiškai “virtuali” ir iš jos visada nusiskaito &HFF reikšmė.

Malačiai Kitajozai, gražiai išdūrinėja turistus su šiais “fake usb flash disk”. Beja, pilnas eBay tokių ir panašių diskelių. Tiesa ten dažniausiai tokie raudoni Sony diskeliai po 4 ar 8 gigus…

Visas gerumas, kad žmogeliai už šitą stebūklą sumokėjo 40LTL.

Cikloniukas

Kaip jau seniau minėjau, viena firma “davė” keletą plokštelių su ALTERA FPGA Cyclone II (EP2C5T144C6N). Jos buvo išbrokuotos dėl kažkokių tai priežasčių. Kiek apžiurėjus PCB buvo pastebėta, kad kaikurios plokštės perpiltos lydmetaliu, o kitos kiek perkaitintos ir takeliai vietomis susibanginiavo. Išsirinkau kiek mažiau pažeista plokštelę ir nutariau kiek paburti. Pirmiausia, plokštelėje nėra JTAG kištuko, bet yra skylė jam. Įlituojam jį. Ant plokštės sumontuoti core ir kiti stabilizatoriai atrodo nepažeisti. Pajungiau 3.3V maitinimą ir … plokštė atsiliepė JTAG grandinėje.

cyclone II

Tačiau, nors ir leidžiasi programuojama, bet nepereina į “user” režimą. Kiek panagrinėjus takelius ir prasisukus su oscilografu, pamačiau, kad mikroschema pajungta kitam programavimo režimui. Teko kelias valandas paburti ir štai rekomendacijos: reikia susirasti vieną naują mažytį SMD rezistorių apie 10K vertės ir trys mažus laidukus. Geriau naudoti taip vadinamus “Kynar wire” t.y. plonas monolitinis laidelis su izoliacija kiek plonesnis už plauką.

Nupjaunam takelį nuo 85 kojos (MSEL1) kuris einą į vieną iš stabilizatorių. Su lituokliu paimam lašiuką lydmetalio ir užtrumpinam tarpelį tarp 85 ir 84 (MSEL0) kojos. Čia turi gautis, kad abi kojos pajungtos į žemę. 10K rezistorių vienu galu lituojam prie Vcc 3.3V. Prie kito galo prilituojam laiduką apie 10mm ilgio ir jungiam jo kitą galą prie išorės kištuko adatėlės kuri eina prie 15 (DCLK) kojos. Taip padarom DCLK pull up. Kitą gal net trumpesnį laidą prilituojam prie žemės, o kitą gala prilituojam prie kištuko adatėlės kuri eina į 14 (DATA0) koją. Dabar idomioji dalis- ant plokštės stovi LCX125 (buferiukai paprasčiausi). Galima juo panaudoti, bet paprasčiau (bent jau man) tai nutraukti takelį iš LCX125 6 kojos einanti į cikloną. Tai patogu padaryti kitoje plokštės pusėje. Toliau plonu laideliu reikia nutrauktą takelį einanti į cikloną sujungti su Vcc 3.3V, juolab kad čia taip patogiai jis eina ir yra abieju signalų VIA skylės.

Žodžiu turi gautis taip: 14 (DATA0)=GND, 15 (DCLK)=PULLUP, 16 (nCE)=GND, 20 (nCONFIG)=VCC OR PULLUP, 82 (nSTATUS)=PULLUP, 83 (CONFDONE)=PULLUP, 84 (MSEL0)=GND, 85 (MSEL1)=GND.

Plokštėje yra kažkokios paslaptys susijusios su šoniniu kištuku, kažkodėl ant jo išeinantis signalai kažkaip dubliavosi, nors to neturėtų būti. Dar neišsiaiškinau- bet padavus signalą iš ciklono, ten pasidubliavo kai kurie išėjimai ir pats ciklonas kiek pradėjo šilti. Tačiau eksperimentams visai tinka ir kita skylė skirta kažkokiai jungčiai- ten yra 12 kontaktų ir kurių 11 pajungta prie “atsarginių” ciklono kojų (113, 112, 115, 114, 121, 118, 125, 122, 133, 126 ir 134). Dvylikta koja tai žemė. Taktiniam dažniui patogu naudoti šoninį kištuką, jo viena adatėlė eina per 56 omų rezistorių į 17 (CLK0) ciklono koją.

Ciklonas bent jau per šias kojas puikiausiai dirba ir programuojasi. Dėkui už mikroschemą.

3.3V stabilizatorius

Kadangi sudegė flexas ir kol atsiuntė pakaitalą buvo laiko panagrinėti cikloną. Tačiau ciklonui reikia kiek kitokio maitinimo- 3.3V I/O (išorė) ir 1.2V core (branduoliui). Visa laimė, kad core ir PLL maitinimui stabilizatoriai jau sumontuoti ant PCB plokštelės kuria kartu su visu ciklonu draugiškai atidavė viena firma. Tačiau man teko paieškoti 3.3V maitinimo šaltinio. Deja artimiausias veikiantis šaltinis buvo ATX maitblokis. Jis kiek per didelis, kad pasidėti ant stalo. Gerai kad ciklonų “tiekėjai” kartu “pateikė” ir keletą prietaisų su 3.3V stabilizatoriais. Beja, šalia stabilizatoriu buvo prilituoti ir Atmel ATMEGA16 procesoriukai. Ir už juos dėkui- tuzinas mikroschemyčių tikrai privers mane jas panaudoti… 🙂

3V maitinimo šaltinis padarytas naudojant National Semiconductors mikroschemą LM2676S-3.3. Tai 3.3V impulsinis stabilizatorius kuris reikalauja tik keletos papildomų detalių. Beja, naudojant išorinį įtampos daliklį galima stabilizavimo įtampą ir padidinti.

3.3V PSU

D2 – tai tik apsauga nuo neteisingo maitblokio pajungimo. Mano konstrukcijos naudoja standartinius transformatorius nuo switchų ar rūterių. O tarp jų kartais papuola egzotikos ar maitblokiai be lygintuvo kaip nuo išorinio modemo.

C1 ir C2 tai tinklo pulsacijos mažinantys kondikai, kurie dar ir kaupia energiją impulsiniam stabilizatoriui- talpa čia nėra labai svarbi, bet kuo daugiau bus, tuo bus geriau. Ir aišku kondensatoriai turi buti geriau su maža vidine varža (low ESR). C3 ir C5 tai energiją kaupiantys kondikai- jie jau tikrai turi būti mažaomiai (low ESR) ir galintys dirbi su didelėm srovėm. Talpa- 1000µF ar daugiau. C4- boost kondikas kuris padeda darinėti vidinį mikroschemos mosfetą. Čia reikia dėti 0.01µF 50V keramiką. D1 tai greitaeigis, geriau šotki diodas. Jis turi greitai atsidarinėti ir įtampos kritimas ant jo ne daugiau kaip 1V. Induktyvumas L1 parenkamas pagal lenteles iš mikroschemos datasheeto, bet jei nenorim išspausdi didelio naudingumo koeficiento, galima dėti labai jau “apytiksles” reikšmes. Aš panaudojau SMD 27µH droselį. R2, LED2 tai tik veikiančio prietaiso indikatorius. Mikroschemos 7, valdymo, koja palikta ore kaip ir rekomenduoja datasheetas- jei reikia, galima per ją junginėti stabilizatorių.

Viskas sumontuota ant mažos folguotos plokštelės (nerekomenduojama konstruoti impulsinius stabilizatorius “ant oro” dėl parazitinių induktyvumų ar talpų) kuri įsismeigia į maketinę plokštę (breadboard).

O štai pirmasis bandytas ciklonas atsiliepė per JTAG grandinę ir net leidosi programuojamas. Tik kažkodėl neiššoko į “user” režimą. Įtariu, kad trūksta keletos rezistorių ant specialių kojyčių… Bet čia jau kita istorija.

Elektromagnetinė spinduliuotė

Gyvenimas užnešė mane į nykštukinę valstybę- San Mariną. Ten visi turistai turi užlipti į patį kalno viršų ir į tokia stovinčia pilaitę. Ant tos pilaitės vieno bokšto kabo va toks antenų miškelis:

Elektromagnetinė spinduliuotė

Vienam kambariukyje stovi nemenkas siustuvas- ošia oras kaip reikiant. O maitblokis kogero aušinamas vandeniu. Žodžiu pavaikščiojom ten ir tiek. Bet kai peržiūrėjau filmuotą medžiagą išgirdau čirškimą. Elektromagnetinės bangos prasimušė į kameros elektroniką ir sukėlė garsinius trūgdžius. Bangų dažnis kogero aukštas, nes antenos nėra didelės ir dar priedo trugžiai neina kiaurai žmogų- jei nusisuki nuo antenų, triukšmas nuslobsta. Taip pat, triukšmas nuslobsta jei atsistoji už akmeninės sienos.

Dar kai vaikščiojau, mačiau, kad visi metaliniai turėklai sujungti storais laidais ir įžeminti. Aš galvojau, kad tai padaryta dėl žaibosaugos. Bet kai peržiūrėjau įraša, nešant kamerą prie tūrėklų, triukšmas taip pat sustiprėdavo. Net ir dideliam nuotolyje nuo antenų. Manau, kad įžeminimas dar skirtas ir nuo antenų elektromagnetinės spinduliuotės (radiacijos) indukuotu srovių.

Įdomu, kiek laiko reikia stovėti ant tos pilies, kol ištirptų smegenys.

Gerai jiems, jie nepriklauso europos sąjungai, todėl jiems negalioja EU saugos įstatymai. 🙂

Sudege

Va norėjau jums parašyti daugiau apie FPGA mikroschemas, dariau jums veikianti modelį ir dėl mano išsiblaškymo susvilinau mano Altera Flex čipuką. Man darbo laukas lygtai ir nebuvo labai sudėtingas. Buvau jau sukonstravęs veikianti modulį ir norėjau kiek patobulinti… Va darbo lauko fotkė:

darbastalis

Čia matosi maketinė ploštė su maitinimo šaltiniu, ByteblasteMV programavimo kabelis, Altera Flex maketinė plokštė su EPF10K10TC144-4 čipuku (iš tikruju čipukas prilituotas prie universalios plokštės iš Lemonos- 15Lt), rotary encoderis (sukinėji rankenėle ir jis generuoja impulsus pasislinkusia faze), Altera Cyclone II (EP2C5T144C6N)- šitas čia jau kaip pakaitinis, dar neišbandytas ir dar matosi VGA kištuko adapteris maketinei plokštei su pajungtu CRT VGA monitorium.

Visa šita mašinerija sugeneravo va tokį vaizdelį ant VGA monitoriaus:

Pong game using FPGA chip

Čia aš nieko pats neišradau, viskas nukopijuota iš interneto, tik kiek pakeisti parametrai, kad prisitaikyti prie mano turimos hardware ir mano naudoto osciliatoriaus. Deja niekaip nepavyko priderinti VGA dažnių kad matytusi visas teisingas vaizdas. Tas kliaksas per vidurį ekrano tai judantis kvadratėlis kuris atsimuša nuo sienelių ir nuo “raketėlės”. Pastarąją galima stumdyti į šonus sukinėjant encoderį.

Taigi norėjau visą šitą sistemą perkelti iš CRT VGA monitoriaus į LCD panelę. Tačiau netyčia pajungiau encoderį ne prie žemės, o prie LCD bias (~ -15… -20V) ir mano vargšas FPGA sudegė. Sudegė vienas I/O blokas ir čipukas labai kaista. Ir aišku nebesiprogramuoja, nes prieš programavimą atliekama diagnostika. Nors CORE dar veikia- galima nuskaityti, kad čipukas dar kabo ant JTAG grandinės.

Kol kas teks jums apseiti be detalaus aprašymo. Nes kito tokio pat FPGA neradau. Nupirkau aš porelę eBay aukcione, bet kol jos pas mane atsiras. O su Cyclone II dar nepradėjau žaisti- čia parinkta iš vienos Lietuvos firmos broko. Net nežinau ar jos veikiančios. Reikia man pasidaryti 3.3V ir galbūt 1.2V (core) maitblokius. Ir nėra garantiju, kad nors vienas ciklonas bus veikiantis- nors kai kurie labai baisiai prilituoti ir lydmetalis patekęs tarp kojyčių.

TOP2004

Ebay aukcione nusipirkau TOP2004 mikroschemų programuotoją. Nelabai man jo reikėjo, nes turiu Willem’ą. Tačiau užkniso man tas pastovus printerio porto perjunginėjimas- ant printerio porto kabo HP lazerinis printeris, JTAG kabelis ir dar Willem eprom programeris. Pastoviai reikia ką nors perjungti. Dar nepatinka, kad pas Willema reikia junginėti tuos jumperiukus. Ir dar Willemas nepalaiko kai kurių mikroschemų. O porą mikroschemų Wilemas ir nesugebėjo užprogramuoti- programavimo metu čipai susvilo.

Taigi eBay aukcione pastebėjau TOP serijos programatorius. Vieną užsakiau ir laimėjau aukcioną, bet tuo metu virtuone nebuvo reikiamo kiekio pinigų ir nesumokėjau- ir mano laimė, kad nesumokėjau. Kitą dieną atėjo pranešimas iš eBay, kad aukcionas anuliuotas- pardavėjas aferistas. Paypal irgi parašė laiškelį ir pasakė, kad jei aš padariau mokėjimą, tai man kompensuos ir grąžins pinigėlius. Po kiek laiko, iš kito kiniečio vėl nupirkau aš tą programerį (buy it now) už 49.99 USD. Bėda ta, kad siuntimas iš Honkongo net 34 USD. Gerai tik tai, kad doleriai nuvertėjo ir nėra tokios baisios kainos. Viso aš sumokėjau pagal banko ataskaitą 218Lt 00 ct. Praėjo trys nepilnos savaitės ir gavau pakvietimą į paštą. Jau buvau pasiruošes mokėti muitą ir PVM, bet kinietis buvo malačius ir parašė “žalią lapuką” su 13USD įvertinimu. Todėl mokesčių nebuvo.
Suinstaliavau softą, pajungiau aparatą per USB ir viskas veikia. Vienintelis minusas kur pastebėjau- tai visi programos pranešimai ir instrukcijos parašytos taip vadinama “chinenglish” kalba. Žodžiu ne tik gramatikos klaidos, bet ir žodžiai kai kur supainioti. Nors tai dzin, nesu puristas ir puikiausiai galiu naudotis prietaisu.

TOP2004 universal programmer

O dabar atsiliepimas apie patį programatorių… Continue reading →