Monthly Archives: June 2010

NiosII vs Atmega16

Vėl prisiminiau savo žaidimus su FPGA čipu. Prisiverčiau pasižaisti su virtualiu (softcore) procesorium. Juolab, kad Altera atidarė savo licenziją ir NiosIIe procesorių galima naudoti savo kūriniams nemokamai. NiosIIe procesorius tai 32 gyvis su galimybe prikomponuoti matematinį koprocesorių (FPU).
Procesorių nutariau sukišti į savo gamybos plokštę su minimaliu Cyclone II čipu (EP2C5T144). Kas įdomiausia, softas su programiškai padaryta slankiojo kablelio matematika netilpo į čipo vidinę atmintį, tačiau tilp FPU ir softas su koprocesoriaus panaudojimu :).
Kad palyginti procesoriaus greitį, panaudojau tą patį softą (C kalboje) tiek ant Atmega 16, tiek ir su NiosII procesorium. Štai jumi ir rezultatas:

Pagrindiniai parametrai:

  • ATMEGA16, veikianti 12MHz dažniu. Softas kompiliuotas su GNU C. Interfeisas su FPGA čipu per 4 duomenų bitus ir keliais kontroliniais laideliais. FPGA vidinis skaitliukas resetinamas su Atmega, vėliau paveiksliukas pumpuojamas po 4 bitus. (4 bitai, strobas, 4 bitai, strobas, FPGA padidina adresą, ir taip ratu).
  • NiosIIe, ekonominis, nemokamos licenzijos procesorius. Softas kogero irgi GNU C kompiliuojamas. Duomenų perdavimas kiek kitoks, nes viduje FPGA sujungti žymiai lengviau: 8 bitai duomenim, kelioliką bitų adresui. Kaip jau ninėjau- FPU, hardware floating point (sudėtis, atimtis ir daugyba). Procesorius veikia nuo 50MHz taktinio dažnio. Didesnio dažnio negalėjau panaudoti, nes FPGA neturi laisvo PLLo (PLLas naudojamas LVDS interfeisui).
  • NiosIIf, tas pats kaip ir NiosIIe, tik dabar “komercinė” versija, vadinama dar “fast”. Matosi, kad kiek greitesnė. Tačiau pagrindinis greitumas pasijaustu, jei softas važiuotu iš išorinės SDRAM ar DDR atminties.

Tikėjausi žymiai didesnio greičio skirtumo. Gi Mega tik 8 bitų, neturi “geležinio” slankiojo kablelio ir važiuoja nuo 12MHz (todėl, kad toks kvarcas prilituotas). Tuo tarpu Niosas 32 bitų, hardwarinis floating point, groja ant 50MHz ir naudoja vidinę FPGA atmintį kuri tikrai nestabdo.

Nemanau, kad reikia publikuoti softą (tiek C, tiek Verilog) nes hardwarė labai jau specifinė ir niekas jos nepasidarys. Jei labai labai susidominot, rašytik laiškelį, pamačysim.

Kaitintuvo oscilograma

oscilograma
Žalia didžiausia sinusoidė- įtampa ant konturo, 370V amplitudė.
Geltona sinusoidė- srovė trafo pirminėje apvijoje (nekalibruota).
Melsvas meandras- įtampa trafo pirminėje apvijoje, 160V amplitudė.
Įtampa prieš inverterį 140V DC.
Srovė į inverterį (apytikslė, šuntas parėjo) 2.7 – 3.3A
105kHz sistema.
C konturo 1.5uF (0.707 omo)
Teorinė konturo srovė (amplitudinė) 523A?
15 kondikų- 35A per kondiką?

Impulsinis maitblokis

Mano indukcinio kaitinimo aparatui reikia daug maitinimo šaltinių. Ir durniausia tai, kad reikia nepriklausomų šaltinių (float). Dabar naudoju standartinius 50Hz transformatoriukus, bet iškilo keletas problemų. Pirmiausia- standartiniai maži transformatoriukai turi vieną ar dvi išėjimo apvijas. Maži transformatoriukai labai negalingi- 5…7W. Tokios galios pilnai užtenka indikacijai ar pagrindinei plokštei. Tačiau IGBT draiveriams ir ventiliatoriui su vandens pompa tai jau per mažai. Pagalvojau pritaikyti maitblokį iš LCD monitoriaus. Viduje stovi Fairchild FSDM0565R mikroschema. Šį mikroschema teoriškai leidžia sukonstruoti 60 – 70W maitblokį. Man tiek vatų nereikės, bet rezervas nepamaišys.
Mano “aparatui” reikia šių įtampų:

  1. 12V stabilizuotos apie 1A IGBT draiveriams
  2. maždaug 12V prie 1…2A vandens pompai
  3. maždaug 12V prie 1…2A ventiliatoriams
  4. 5V stabilizuotos, 200mA (?) voltmetrui
  5. 5V stabilizuotos, 200mA (?) ampermetrui
  6. apie 15V prie 100 … 200mA pagrindinei plokštei

Kadangi visi išėjimai nepriklausomi (vandens pompa ir ventiliatorius galima užbendrinti) tai iškilo problemos su stabilizacija. Todėl nusprendžiau stabilizuoti tik IGBT draiverių maitinimo šaltinį. Ventiliatorius sėkmingai dirba ir prie 5V ir prie 15V. Voltmetras ir pagrindinė plokštė turės savo stabilizatorius (2 x 7805 ir 7812).

multi output SMPS
Gavosi va toks “šedevras”. Čia dar nesumontuoti du 7805. 7812 jau seniai stovi pagrindinėje plokštėje. Plokštės “laboratorinis” testas atliktas, veikia. Tik reikėtu nustatyti tiksliai 11..12V išėjimą. Trafuką pavyko suvynioti kokybiškai, tai kitos įtampos nelabai stipriai vaikšto apkrovus stabilizuojamą išėjimą.

multioutput SMPS
Schema pagal gamintojo datasheetą, visos detalės išluptos iš LCD monitoriaus maitblokio. Tik teko pervynioti transformatorių. Tinklo apvija 40 vijų, 12V apviją apie 10 vijų.
Skylutes po transformatorium išgrežiojau kad geriau vėdintusi, bet čia neprivalomas reikalas.

multi output SMPS
Tačiau šitą plyšį rekomenduoju išfrezuoti. Ir aukštos įtampos pusę geriau nulakuoti. Turėjau nutikimą, kad gerai veikianti impulsinio maitblokio plokštė po metų darbo susvilo vien tik dėl drėgmės ir dulkių.

Cadsoft Eagle schema ir PCB: RAR archyvas. (Ten dar yra biblioteka su mano detalėm)
High Voltage

Liūtis

Jau tikriausiai visi žinot, kad Kaune paūžė vasarinė liūtis. Bet tikriausiai mažai kas žino, kad ši liūtis kėsinosi į šiuos interneto puslapius. 🙂
Štai nuotraukytė pasiskolinta is 15min.lt leidinio:

Kalantos 16
(originali nuotrauka)

Čia ne kas kitas, o pastatas R. Kalantos gatvėje. Tas kvadratinis langas su grotom, tai mūsų puslapių optinio kabelio galo kambariukas. Čia optinis signalas pavirsta įprastu ethernetu ir per kelis ruterius-firewalus jungiasi prie www1.savel.org serverio.
Vandenėlis pasiekė langus, koridoriuje pridarė bardakų. Tačiau į kambariuką, kur stovėjo elektronika įtekėjo gal kokie … 2 cm vandens. O visa technika sudėta kai minimum 1 metro aukštyje…
Kitas įėjimas, kur guli kromelis.savel.org šiukšlynas irgi nenukentėjo- vanduo tekėjo srautu per koridorių ir ištekėjo į kiemą. O tuo tarpu šlamštas nešamas srovės užkimšo tarpelį po durim ir nieko blogo neatsitiko. Čia nukentėjo tiktai viena varna, kuri susisuko lizdą eglėje. Vėtra nulaužė šaką, lizdas nukrito. Varniukas dar lakstė po kiemą, bet vietiniai katinai padarė savo darbą. Varna dar pusę dienos liudnai karksėjo ir kabinėjosi prie žmonių. Vienas įdomumas- lizde radom gal puse kilogramo aliuminio vielos. Lizdo pagrindas padarytas iš aliuminio dratų, o visus išklotas plonom šakelėm ir samanėlėm. Gaila tos varnos… 🙁
Kiek baisesnė situacija kitoje patalpoje kur prieš dvi savaites stovėjo www1.savel.org! Ten vanduo sutekėjo į tokį nusileidimą laiptais, išlaužė metalines duris ir vieną pusrusį pripildė bent pusantro metro vandens. Sekančios metalinės durys atlaikė. Tačiau vanduo vistiek rado kelią ir bent 50 cm užtvindė. To užteko, kad du kompai paskęstu. Abu senukai- P4, 1.6GHz. Išmečiau šiandien juos. Pasilikau tik atimintį- pusantro gigo DDR1 nesimėto.
Labiausiai gailą 5 vienetų APC Smart UPS. 650…700W galingumo. Pasirodo, UPSai po vandeniu, pilnai panardinti neveikia 🙂 Juos teko irgi išmesti. Jei mano www1 dar būtų likęs toje patalpoje, tai gal gal ir apatinė dalis ir sudrėktu, nes kompas stovėjo kiek aukščiau.

Vėliau parušiuosiu nuotraukas ir pabandysiu ištraukti idomesnius momentus iš stebėjimo kamerų, nors ten nieko įdomaus nesimato- lietus buvo toks smarkus, kad vaizdas susiliejo…