Monthly Archives: April 2007

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 →

Biški apie CPLD

Trumpai papasakosiu apie savo eksperimentus su CPLD mikroschema ir Lattice programine įranga.

Prisiverčiau biški pasimokinti naudotis programuojama logika. Kaip jau rašiau kitose žinutėse, mano mikroschemų pasirinkimas buvo labai mažytis ir teko žaisti su Lattice isp2032VE110LT44 mikroschema. Taip pat labai padėjo straipsnis iš Seattle Robotics Society. Taip pat tuo pačiu metu nagrinėjausi supaprastinto LCD ekrano veikimu. Todėl sujungiau abi mintis į vieną ir gavosi va tokia nesamonė…

CPLD + LCD

Beja, šiame projekte dalyvauja ir dvipoliaris reguliuojamas maitinimo šaltinis iš senesnės žinutės.

Teorija apie LCD valdymą išbandžiau su BASIC programa. CPLD programinę įranga nusikroviau iš Lattice puslapių. Programavimo kabelį taip pat pasidariau. CPLD mikroschemą prisilitavau prie maketinės- eksperimentinės plokštės.

O dabar pradedam šneką apie CPLD programavimą…
…skaityti toliau… Continue reading →

Stabilizatorius maketinei plokštei

Labai dažnai, bandant visokias schemas maketinėje plokštėje prisireikia stabilizuoto maitinimo šaltinio. Paprastai nieko negalvodamas ten dedu 780x serijos mikroschemą ir viskas. Bet per paskutinius eksperimentus, man pritruko tiek galios, tiek vietos ant maketinės plokštės (breadboard). Ir dar man prireikė neigiamos įtampos šaltinio.
Paprastai, aš naudoju standartinius sieninius transformatoriukus nuo įvairiausiu switchų ar kitų įrenginių. Bet kai prireikė dvipoliarinio maitinimo, tai jau reikia naudoti du transformatoriukus. Ir dar tie laidai visur besimaišantys… Ir dar aišku bėda su reguliatoriaus temperatūra- pas transformatoriukus įtampa nuo 7 iki 20V. O aš savo schemose naudoju 3.3 … 5V, 12V. O kai prireikė aukštesnės neigiamos įtampos, tai neradau tokio transformatoriuko.

Ir kai neišlaikė nervai, gimė va šitas įrenginys:

impulsinis stabilizatorius

Tai joks ne stebūklas, o dvigubas impulsinis stabilizatorius ant LT1076 mikroschemų. Mikroschemas ir droselius išlupau iš kažkokio seno aparato. Schema pagal mikroschemos aprašymą. Viena LT1076 veikia kaip standartinis įtampos stabilizatorius, o kita- impulsinis invertorius. Jis iš teigiamos įtampos gamina neigiamą stabilizuotą itampą. Abiejų reguliatorių išėjimas reguliuojamas su kintamais rezistoriais. Teigiama įtampa kinta nuo Vin iki 0V. Neigiama nuo 0 iki -25V (tiek pavyko pakelti su standartiniu 7.5V 1A transformatoriuku nuo ruterio).

skaityti daugiau… Continue reading →

Kabelių schemos

Norintiems susikonstruoti kokį programavimo kabelį, aš sudėjau keletą schemų į vieną vietą. Tai įvairūs ISP kabeliai AVR procesoriams, programuojamai logikai…

Per silpna mikrschema

Eksperimentuojant su programuojama logika kilo noras pasijungti LCD monitorių. Monitorius be kontrolerio, todėl visą darbą turi atlikti programuojama mikroschema. Pirmiems eksperimentams aš naudojau Lattice isp2032VE. Jos programavimas paprastas, softas lengvai suprantamas (per vieną vakarą galima išmokti), konfiguracija įrašoma į vidinį flašą. Bėda ta, kad mažokai kojyčių ir mažai logikos elementų.

Low of GLBs.

Čia mano eksperimentinis darbo laukas. ROMas imituoja atmintį- jo turinys turi vaizduotis ant ekrano. Turime gauti chaotišką, bet statinį vaizdelį. CPLD (programuojama logika) atlieka dažnio daliklį, generuoja sinchro signalus ir bando išduoti adresų signalus atminčiai. Bet priėjau prie mikroschemos ribų- užtenka pridėti dar vieną kojytę ar perkelti jau naudojama koją į kitą mikroschemos pusę ir iškarto gaunam klaidos pranešimą: “34200 ERROR: Number of GLBs, 9, exceeds maximum number of available GLBs, 8, in part ‘ispLSI2032VE-110LT44’ “.

O man dar reikia iškišti kaip minimum dar 11 kojų! Perkuičiau savo archyvą, gal kokių mandresnių mikroschemų… Labai tiktų ispLSI2128-100LT… Pajungiau prie programatoriaus- neskaito. Nu galvoju bloga. Paimu iš kitos plokštės (tikrai veikiančios)- vėl neveikia. Labai labai įtariu, kad šikniai iš Lattice Semiconduktors neduoda demo licenzijos vartotojams jos programuoti. Arba aš kažko nesuprantu.

Labai nesinori, bet gal teks pereiti prie kitos šeimynos. Iš kažkokio senoviško DSL modemo išlupau plokštę, su statybiniu fenu nupūčiau lauk procesorių, RAM, ROM ir dar kažką, kas nusipūtė :). Žodžiu pasidariau kąžką panašaus į ekpsperimentinę plokštę. Teko tik prisilituoti programatoriaus lizdą (skylutės jau buvo paruoštos 🙂 ).

Low of GLBs.

Alteros softas visiškai skiriasi nuo Lattice. Teks mokytis per naujo. Programatorius irgi kiek skiriasi, bet schema nėra labai sudėtinga. Pasidariau ir šį programatorių. Pajungiu schemą ir valio! Mato programa mano FLEXą. Bėda ta, kad velniai žino kur kokia koja nuvesta- plokštė daugiasluoksnė, sunku surasti. O ir logika tai FPGA tipo, su RAM tipo konfiguracija. Išjungi maitinimą ir viską ji užmiršta.