O žinote, aš vėl sufeilinau paskutinę PCB

December 18th, 2014

… ir visiškai nesuprantu, kodel maketas ant snarglių veikė, o ant padarytos PCB neveikia. Oj kaip aš nekenčiu visokių transformatorių vyniojimų…

Kad neužrūstinti skaitytojus, parodysiu savo stalo naują dizainą. Dabar atsirado “antresolės" ir kartu šiokia tokia atrama ir daiktai nebešliaužia nuo stalo. Taip pat, nišose pasislėpė oscilografas, maitlokiukai ir visokie niekučiai. Monitoriai dabar stovi kiek aukščiau, kas biški man nepatogu, bet tenks kentėti, gal mažiau kuprinsiuos sedėdamas prie stalo.

Levo stalas
Smalsučiams: fotkė pasididina. Galit apžiūrėti “kurybinę betvarkę" atidžiau.

Daugiau kaip ir nėra ką jums papasakoti. Nėra kaip tai laiko.

Viktorina:
1) kiek laikrodžių ant stalo?
2) kiek guli kalkuliatorių?
3) ar Levas turi cianoakrilato klijų?
4) ar mandarinai biški papuvę ir minkšti?

CYPRESS 001: softwarinis USB pasišnekėjimas

December 6th, 2014

Pirmiausia- disclaimer: nieko dar nesuprantu, todėl čia milionas klaidų. Šiaip tai užrašai, kad neužmirsčiau kaip dariau.

Darom naują folderį, jame naują uVision projektą: usbsoft, pasirenkam čipą. Pakeičiam projekto pavadinimą į USBIS.
Į naują folderį kopijuojam failus iš pavyzdinio projekto “bulkloop":

fw.c - usb firmware.
dscr.a51 - usb įrenginio aprašymas.

folderį inc, kuriame yra: Fx2.h, fx2regs.h, fx2regs.inc, fx2sdly.h, syncdly.h. Šiaip jie visi nereikalingi, ir šiaip galima susikonfiguruoti, kad imtu iš inkludų bibliotekos. Tačiau dar nemoku.
folderį lib, kuriame yra: EZUSB.LIB, USBJmpTb.a51, USBJmpTb.OBJ (tas pats komentaras kaip ir su inc).

Kopijuojam failą “bulkloop.c" ir jį persivardinam kaip savo, sakysim “pimpis.c".
Failą pimpis.c, fw.c, EZUSB.LIB, USBJmpTb.OBJ, dscr.a51 prikabinam prie projekto.

Kaip ir senesnėje žinutė modifikuojam projekto nustatymus (Options for Target 'USBIS'): output->create hex, “BL51 Locate" nuimam varnelę, o grafoje “Code Range:" rašom “0×80-0×0FFF", o “Xdata Range:" rašom “0×1000″.

Failuose “fw.c", “pimpis.c" … reikia pataisyti nuorodą į inc folderį, nes pas mus jis biški kitaip stovi. Arba folderius iškelti aukščiau. Kol kas, kad nesigadinti, ir kad būtų pilnai “portable" pakeičiam:

#include “inc\fx2.h"
#include “inc\fx2regs.h"
#include “inc\syncdly.h"

Dabar viskas turėtu susikompiliuoti be klaidų ir ispėjimų. Pradedam modifikuoti “pimpis.c" kodą:

Mūsų pradinėm reikmėm yra dvi paprogramės:
Tai inicializacijos TD_Init(void) kurioje surašoma viską ką reikia inicializuoti įjungiant mašinėlę. O kita mums labiausiai dominanti funkcija- TD_Poll(void) kuri visada sukasi, kai tik būna laisvas procesoriukas.

Ten pavyzduke yra zonos kurios prasideda if(!(EP2468STAT & bmEP2EMPTY))… ir if(!(EP2468STAT & bmEP4EMPTY))… va jas pilnai perdarom į nepriklausomas:

if(!(EP2468STAT & bmEP2EMPTY)) { … } // bulk endpoint 0×02
if(!(EP2468STAT & bmEP6FULL)) { … } //bulk endpoint 0×86
if(!(EP2468STAT & bmEP4EMPTY)) { … } //bulk endpoint 0×04
if(!(EP2468STAT & bmEP8FULL)) { … } //bulk endpoint 0×88

Šios zonos iškviečiamos kai gaunamas užklausimas iš hosto kaip “Bulk in endpoint" ir “Bulk out endpoint" su atitinkamai numeriais. Tie patys endpoint aprašyti “dscr.a51″ faile. Bet kol kas neliečiai nei VID/PID nei USB aprašymo.

Kitų paprogramių kol kas neliečiam. Dar į pimpis.c įmečiau kelis globalius kintamuosius, kad persinešinėti informaciją.

Programos veikimo principas toks, kad pagal išorines užklausas atliekam veiksmus su buferiais EP2, EP4, EP6 ir EP8. Dėmesio yra dvigubas buferizavinas, todėl nereikia stebėtis, kad kai kurie informacijos pokyčiai atsiranda “pavėluotai", tik po antro užklausimo. Nugi dvigubas buferis.

Eksperimentinė programa daro tai:
Host rašymo užklausa 0×02 papračiausiai pasiima vieną baitą iš USB paketo ir paruošia buferį naujam darbui. Aš nesu tikras, ar tik nereikia du kartus pakartoti “rearm" komandos?
Host rašymo užklausa 0×04 irgi protingo nieko nedaro- bando nusiskaityti siustų duomenų ilgį ir šiaip skaičiuoja užklausų kiekį. Informacija pasideda į globalius kintamuosius.
Host skaitymo užklausa 0×86 paprasčiausiai kopijuoja tekstą į USB buferį ir jį persiunčia į hostą.
Host skaitymo užklausa 0×88 paprasčiausiai išspjauna “XXX" seriją, tik keli baitai pakeisti į įvairius seniau surinktus globalius kintamuosius.

Tai tik tiek. Bendravimas su hardware daromas su Cypress USB Control Center
Cypress USB control center

Dabar galima pagal USB užklausas atlikti kokius nors primityvius paskaičiavimus. Tačiau tai softwarinis sprendimas, čia nėra atliekamas tiesioginis GPIO valdymas (Ports mode). Visgi tik antra- pirma pamokėlė. :)

Cypress FX2LP soft USB source code.

CRT2 versija 2

December 1st, 2014

Anksčiau rašiau, kad vienas mano turimu mini kineskopų neveikia. Prieš kokią savaitę radau dar vieną video kamerą ir ji turėjo būtent tokį pat kvadratinį vaizdo ieškiklį.

crt tv mini from camera
Gerai kai yra lazeris ir biški nereikalingo organinio stiklo bei tas pats kilogramas klijų.

crt tv mini from camera
Čia biški pachaltūrinau ir panaudojau termo klijus.

crt tv mini from camera
Pikto Levo selfis per televizoriuką.

crt tv mini from camera
Dar biški.

Papildymas prie manijos

November 28th, 2014

Rašiau, kad mėgstu visokias keistas lemputes. Norėčiau įdėti papildymą. Tai tikrai retas daikčiukas. Tai plazminiai displėjai. Čia nekalbam apie plazminius televizorius. Kalbam apie archainius displėjus. Kolekciją pradedam labai blogos būklės segmentiniu indikatorium ИГП-17.

ИГП-17 indikatorius

Uždegimui reikia (pagal pasą) rodos 190V, srovė per segmentą apie 25 mikro amperai. Baisiausias parametras- darbo laikas 5000 valandų. Mano turimi padirbo - pašvietė ilgiau:
Read the rest of this entry »

SIAscope

November 23rd, 2014

Kažkada ieškojau žmonių kurie padėtu suremontuoti apgamų mikroskopą SIAscope. Ten kartu su ASTRON Clinica softu toks šūdinas USB mikroskopas su R, G, B, W, IR LED pašvietimu. Viskas padaryta ant Cypress EZ - USB FX2LP čipo ir dar stove ATMEGA48 kuri gal valdo LEDus… o gal užsiima kenkėjiška veikla.
SIAscope vibratorius
Dabar kai daug kas paaiškėjo, norėtusi biški pabambėti ir gal kam nors bus sutaupyti pinigai. Nes šito prietaiso esmė- pinigai.
Read the rest of this entry »

VFD ir PT6315 kontroleris

November 22nd, 2014

Taip imat, konstruojat kažką, konstruojat ir staiga tik pyst, prisireikia pajungti daugiau nei kokius trys LEDus, arba kokius nors aštuonsegmenčius displėjus, o dar mygtukai… ir nebeliko kontrolerio kojyčių. Galima paimti kokią 128-koją atmegą (ARMą), naudoti sudėtingas dinamines indikacijas, charliplexingus… nu ir kam to reikia? Vietoje to, kad sutelkti dėmesį į projekto bugų naikinimą, jo naudojimosi patogumus, didžiają dalį savo programinimo laiko praleidi programindamas taimerius-dinaminę indikaciją, kovodamas su lempučių mirgėjimu ir su CPU time trukumu. Dar plius kovoti su mygtukų kontaktų “drebėjimo" problemom. O ką daryti?! Atsakymas paprastas- lituoti dar vieną mikroschemą. Pasakysit jos brangios, sunkiai gaunamos? Taip, visokios brandinės tai tikrai. Tačiau pažiūrėkit po stalu (šiukšlyne). Tikrai rasit kokį nusibaigusi DVD grotuvą. Arba kokį kitokį kinišką “širpotrebą" su indikatorium…

princeton technology corp. VFD LED drivers Read the rest of this entry »

Olympus - InnovX senoviško XRF remontas

November 15th, 2014

Mano darbe yra gana daug XRF analizatorių. Šiaip jie kaip ir negenda, nebent vartotojai negražiai elgiasi- prakiaurina detektoriaus langelį, pripilą smėlio į vidų tarp dantračių, numeta taip, kad motoriukas išlekia iš savo vietos ir aliuminio korpusas susikreivina… Aš niekaip nesuprantu darbuotojų: iš pradžių jie prietaisą saugo, o poto jis jau trankomas kaip kokia Nokia 3310… ir visiškai užmirštama, kad prietaisas kainuoja niolika tūkstančių eurų (detektorius rodos 7k€).
Tačiau pats pirmasis mūsų XRF dar vis dirbo … iki praeitos savaitės. Jam kaip jau ir kokie 10 metų ir tikrai jokių garantijų jam nėra.
Anamnezė kaip visada miglota- tipo vakar veikė, šiandien neveikė. Nieko nedarėm, nieko nelietėm ir iš viso męs nekalti.
Šis aparatas dar iš senos kartos, todėl pas jį nusiima valdymo kompiuteriukas- delninukas. Tai aš tą delninuką nusiimu- neįsijungia. Gerai, mirė batareika, o nuo išorinės jis negali dirbti (vidinė batareikia kaip ir nenaudojama, nes energiją delninukas gauna iš XRF korpuso). Patikrinam batarkę- nulis. Pakraunam, lygtai dar kraunasi- bet delninukas tik pradeda krautis ir užstringa ant boot screen.
XRF boot screen stall ipaq hp
Nuotrauka visiškai nekokybiška, bet vaizdelis maždaug toks. Tik kai užstringa, backlight išsijungia, o vaizdelis kiek lieka. Tačiau neveikia mygtukai ir kas baisiausia neveikia reset mygtukas. Tas pats gaunasi kai bandai įjungti “clean reset" režimą- užsidega, kad ištrinami duomenys, bet delninukas užlinksta toje pat vietoje.
Read the rest of this entry »

Džiaugsmai su nigeriais

November 9th, 2014

Prieš kelis metus rašiau, kad nagrinėjausi internetiniu sukčiavimu. Tačiau tai buvo specifinis aferizmas per automobilių prekybą ir pasakyčiau gana gerai suorganizuotas. Gal net balti žmonės tai darė. Nutariau pasidomėti, kaip visdėlto dirba mūsų draugai iš Nigerijos. Nigerija šiaip buvo internetinio sukčiavimo gimtinė, bet vėliau manau išsiplėtė per visą juodajį kontinentą. Karoče, ten nigeriai gyvena. Užtenka čia to politkorektiškumo… :)
Read the rest of this entry »

Nixie

November 8th, 2014

nixie clock
110×130×60

ATMEGA8, PCF8593, Z573M

Feilai, eksperimentai ir šiaip vandalizacija

November 5th, 2014

Po truputi bandau kažką konstruoti,bet išoriniai trugdžiai labai stipriai stabdo kūrybinį procesą. Stabdo net tokia nesamonė, kad kompiuterio klavietūroje kažko pradėjo nesuveikinėti tarpo klavišas- istrigo kažkoks snarglys :)
Aišku labai stabdo ir darbinės komandiruotės- nors šį kartą visdėlto nuėjau pažiūrėti karūnos brangakmenių. Žinokit neverta išmesti tuos 22£ už tokią nesamonę. Beja, dideli auksiniai bliūdai atrodo blogiau, nei dideli sidabriniai bliūdai. Kai aukso per daug, dingsta grožis. Bet užtenka apie jungtinę karalystę, pašnekam apie feilus.

Atrodo, stengiuosi kaip galima atidžiau skaityti mikroschemų apnašus, bet skaitant kartais padarau grandijozinius feilus. Ypač skaitydamas kiniškus datašytus- tie dar ir parašyti normaliai nesugeba. Todėl susiprojektavau ir pasidariau vieną PCB su kinišku daugiakoju, gavau plokštes ir bac! Iš esmės neteisinga schema- ne tiek, kad perlituoti kelis laidelius, bet iš esmės neteisinga. Pasirodo, kad datašyte įtampa nurodyta labai jau gudriai, o pavyzdinėje schemoje įtampa parašyta su nedideliu kreivu minusu. Todėl gavosi, kad mikroschema reikia maitinti padidinta neigiama įtampa, o ne teigiama. Ko pasekoje sugriuvo kitos dalies maitinimo subtilybės, nes vienas schemos blokas staiga pakeitė savo orientacija (įtampos :) ) ir pasikabino giliam minuse. Pakeliui nunešdamas dar ir papildoma maitblokį. Seniau buvo +5V, +20V, o gavosi +5V, -20V ir dar apie 5V kabantys netoli tu -20V.
Reikia sukurti ne tik invertuojantį step-up stabilizatorių, bet ir dar vieną “floating". Ir viską sudėti keliuose kvadratiniuose centimetruose PCB.

FAN2011
(sufeilintos PCB. Dabar pusę PCB galima naudoti kaip ATMEGA8 testavimo plokštelę)
Read the rest of this entry »

Unhappy Tikbalang