🙂
Category Archives: Betkas
STM32F103 ir “tikras” CRC32
STM32F103 (bent jau mano naudojamas) turi hardwarinį CRC32 skaičiuotuvą. Tačiau bėda- kažko tai suskaičiuotas CRC32 neatitinka kokio nors online kalkuliatoriaus rezultatui. Internetas prirašytas visko, bet niekur dorai nepaaiškinta kodėl nesutampa.
Atsakymas labai paprastas- big ar little endian skaičiuoja mūsų MCU ir dar kokia bitų seka.
CRC32 pas STM32 skaičiuojasi 32 bitų skaičiais. Todėl kokį nors baitų (ar raidžių) masyvą reikia papildyti iki kartotinio 4 dydžio. Jei masyvas sudarytas iš 32bitų elementų, reikia pasitikrinti tą “endian”. Poto imti masyvą po 4 baitus, sukuisti bitų seką (gerai, kad yra komanda RBIT, Reverse the bit order in a 32-bit word.), suskaičiuoti su hardware CRC32 rezultatą ir vėl sukuisti bitus su ta pačia komanda. Jei reikia, rezultatą invertuoti.
/* tekstines eilutes CRC skaiciavimas. Kartotinis 4. Netilpe baitai ignoruojami */ uint32_t RealCRC32txt(char * buf) { uint32_t len=strlen(buf)/4; return RealCRC32((uint32_t *) buf, len); } /* CRC skaiciavimas naudojant 32 bitu masyva. Jei tikras masyvas, tai svarbu baitu seka, jei konversija is char/byte masyvo, tada nesvarbu */ uint32_t RealCRC32(uint32_t * buf, uint32_t len) //demesio, kas 4 baitai! { uint32_t crc,tmp,i; hcrc.State = HAL_CRC_STATE_BUSY; __HAL_CRC_DR_RESET(&hcrc); for(i=0;i<len;i++) { tmp=buf[i]; //tmp = ((tmp>>24)&0xff) | ((tmp<<8)&0xff0000) | ((tmp>>8)&0xff00) | ((tmp<<24)&0xff000000); //baitu sekos konverteris tmp = __RBIT(tmp); hcrc.Instance->DR = tmp; } crc = __RBIT(hcrc.Instance->DR); hcrc.State = HAL_CRC_STATE_READY; return crc; }
Užkomentuota ilga eilutė atkomentuojama, jei reikia skaičiuoti CRC tikram 32 bitų masyvui.
Teksto “00010002” CRC32= 1366C59F
STM32 LCD devboardas
Rašiau, kad prisirinkau PCB nuo brokuotų Varnos žoliapjovių, su grafiniu LCD, STM32F103VGT ir BT. Viskas kaip ir veikia, bet šūdas tas BT (hosto softo normalaus neradau), o ir daugumas MCU kojų neišvedžiota. Todėl nutariau pasidaryti savo PCB.
Kibiras broko. Bėda ta, kad beveik visos PCB lakuotos. Lakas nusiima tik mechaniškai.
Continue reading →
Ugniniai peniai
Toks trumpas xxx postas. Ateinančiam postui reikia pasiruošti keletą chemikalų ir netikėtai gavosi egzotiška nuotrauka:
Tai toks savaime augantis vamzdelis iš kurio galo veržiasi liepsna ir ta pati medžiaga kuri ir formuoja vamzdelį. Kažkokio tai fizikinio ar cheminio kaprizo dėka, tie vamzdeliai gavosi kaip bybukai kurie spjaudo ugnimi.
Continue reading →
Aukso viela
Šiam postui reikalingas “diskleimeris”: Iš kur gauti tokius chemikalus be atitinkamų leidimų aš nežinau. Šios cheminės medžiagos pavojingos, o su kai kuriomis kombinacijomis- nuodingos. Jei kils mintis daryti cheminį aukso gryninimą namų sąlygomis, galiu pasakyti, kad šis biznis nėra pelningas- per didelė savikaina ir per maža marža. Apsimoka tik tada, kai dirbama su kilogramais, o tokiais kiekiais vartosi tik didelės chemijos įmonės. Gal kokioje rusijoje, kur visiems nusispjauti ant ekologijos ir sveikatos ir kur pusė chemikalų galima pavogti tai dar atsipirktu.
Antras diskleimeris- kas parodyta, tinka tik mažiems kiekiams, laboratorinėms sąlygoms, kai eksperimentui prisireikia gryno metalo. Patikėkit, bandant didinti mąstelį gaunasi daug problemų ir feilų- patikėkit mano patirtimi ir praktika. Ir visdėlto, jei norite kažką daryti tokio- pasidomėkite Italijoje gaminamom perdirbimo linijom.
Taigi, mums reikia aukso vielos. Gryno aukso vielos, kur švarumas yra 999+. Kaip pradinė medžiaga buvo panaudotas visoks auksinis šlamštas- atliekos nuo mikroschemų, sutraukytos grandinėlės ir net motinos dantis (kažkada išmainiau į naujus šiuolaikinius protezus). Auksas nėra grynas- detalės užterštos visokiais metalais, grandinėlės apie 50%, dantis buvo gal 70% (dantistai pavogė). Visi aukso gabaliukai buvo kažkada sulydyti į mažus blyniukus.
Šiuos blyniukus reikia ištirpdyti rugštyje- karališkoje, aqua regia. Tačiau, jei metale yra daugiau nei 10% sidabro, tai blyniukas netirps (reikia metalą skiesti auksu arba variu).
FDD magnetinio srauto skaitytuvas
Mano senienų kolekcijoje keletas kompiuterių naudoja lanksčiuosius diskus (disketes). O ir aš pats turiu gana didelę savo Amigos diskelių kolekciją. Taigis, reikalingas įrankis nuskaityti ir kartais atkurti informaciją surašyta į FD. O kartais net reikia kažkaip atkurti disketės turinį, kad paleisti kokį nors eksliusyvinį antikvarą. Atrodo galima pajungti FDD prie kiek senesnio kompo ar net panaudoti FDD su USB. Bet čia nelabai, nes šiuolaikinis kompas ir nešiuolaikinis PC skaito tik savo formatą. O egzotikos tai nelabai. Va, turiu ZX Spectrum kompiuterio, disk monitor diskų- ten sektoriai po kilobaitą. Niekas neskaito. O kaip nuskaityti Amigos diskelį? Ten pilnas ignoras į disko indeksą ir kiekvieną kartą perrašomas visas trekas. Joks PC kontroleris tos košės nenuskaitys.
Reikalingas žymiai žemesnio lygio skaitytuvas- magnetic flux reader. Yra vienas toks atviras projektas Greaseweazle. Va juo ir pasinaudosim.
Tai AT32F4xx, pora TTL draiverių ir USB. Galima net surinkti su STM32F103, bet pastarasis kiek silpnokas.
Tada reikia tik susirasti visus reikiamus FDD. Du variantus 5.25″ (DD ir HD), du variantus 3.5″ (teoriškai užtenka ir HD, bet kažkotai Amigos diskelių HD blogai skaitė) ir visiška egzotika- 8″ ir 3″.
O dabar kiek kitos programos, magnetinio srauto analizatoriaus screenšotai:
Continue reading →
IT saugumas
Einu sau pro IT atliekų krūvą ir matau kažkokį nešiojamą kompą su biški sulaužytu ekranu. Standartinė šiukšlė, bet patraukė dėmesį užrašas ant kompo:
Galvoju… nu negali būti. Niekas taip gi nedaro. Nutariau pasitikrinti. Ištraukiu diską, inkišu į testavimo kompą:
Ir:
Diskas atsirakino, visi failiukai matosi.
O dabar gerieji skaitytojai paaiškinkit. Man, kaip truputi suprantančiam apie IT ir saugumą, visiškai nėra minčių. Kodėl?
Žalvariavimas
Straipsniukas turėjo būti apie cinkavimą, bet gavosi nelabai. Todėl trumpas straipsniukas apie cinko reakciją su variu.
Efektas remiasi tuo, kad cinkas (ir alavas) prie aukštesnės temperatūros susimaišo su variu. Ir net nereikia pasiekti metalo lydymosi temperatūros. Su alavu kažko gražaus nesigauna- bronza nėra labai išvaizdi. O su cinku gaunasi kitas lydinys- žalvaris.
Pradinis metalas- varis. Cinkavimas iš abiejų pusių. Pradinis metalas buvo nelabai švarus, o ir cinkavimas man nesigavo. Ir po terminio apdorojimo.
Continue reading →
Cheminis Alavavimas
Cheminis vario alavavimas? Jo, dar yra elektrolizinis ir “mechaninis”, kaip paprasčiausiai varis aplituojamas. Čia kalbėsim apie labai konkretų variantą- kaip alavu dengiamas varis norint apsaugoti nuo pajuodavimo. Paviršiuje susidaro plonytis alavo sluoksnis, kuris palaipsniu pavirsta bronza (ypač prie didesnės temperatūros).
Daugiausiai šis metodas naudojamas savadarbių PCB padengimui, kad varis lengviau lituotusi ir plokštė gautusi graži, be pirštų anspaudų.
Šis metodas nenaudoja elektros- nusodinimas vyksta “automatiškai”, todėl vario elementai neturi susijungti į vieną grandinę.
Reikės šių chemikalų:
Deja, tiokarbamidas nepakeičiamas. Jis kartais naudojamas sidabro valymo skystyje (deja negaliu nurodyti konkrečiai, nes Lietuviški juvelyrikos priemonių pardavėjai nesilaiko LR įstatymų ir neįdeda saugos duomenų lapų į aprašymus. Jei kenkia “vaisiui”, tai tikrai didelė tikimybė, kad ten tiošlapalas). Man pasisekė- nors jau suseno, bet veikiantis buvo spintelėje. Alavo chloridas sunkiai tirpsta vandenyje, net kiek pridėjus druskos rūgšties. Čia jis toks geltonas gavosi tik todėl, kad aš semtelėjau šaukštą (žiauriai per daug) nes man negaila- keli kg alavo chlorido jau irgi suseno.
Continue reading →
Nikeliavimas
Norėtusi pasakyti- “Nikeliavimas buitinėse sąlygose”, bet pas visus vis kitokios tos “buitinės sąlygos”. Kartais pas žmones guli visokių chemikalų, o kartais nieko nėra. Todėl teko kiek pagalvoti, kaip receptą pritempti prie prieinamų sąlygų, bet neperžengiant proto ribų su actu ir valgoma druska.
Čia va gal mano “buitinė chemija”, bet tikrai ne pas visus bus tokia pati. Beja, chemikalas kairėje, anot mūsų valdininkų, yra baisesnis už chemikalą dešinėje. Gal dabar jau pasitaisė. Chemikalo dešinėje tikrai nereikės šiam eksperimentui, tačiau chemikalas kairėje, nors neprivalomas, bet gali būti naudingas.
Kokį rezultatą norim pasiekti? Gauti stabilų nikelio padengimą kuris tvirtai prikibtu, būtu plastiškas (nebijo mechaninio lankstymo- galima nikeliuoti spyruokles). O jo grožis tai jau kaip gautųsi tai taip ir gerai. Nors gavosi visai nieko. Armatūra iš senesnio posto visai žvilga.
Continue reading →