Posts Tagged ‘ARM’

FreeRTOS logotipas | Darau, blėTaigis ką gis, po pertraukėlės ir ilgoko terliojimosi pagaliau pasidariau kreivai šleivai veikiantį pirmą pavyzduką su FreeRTOS, CAN2B pranešimukais ir kitom subtilybėm. Kadangi norisi viską padaryti gražiai su FreeRTOS ir visokiais multitaskingais, tai dar ir prisėdau pasinagrinėti tokį reikalą, kaip eilės (queue). Eilės — tai toks reikalas, kuriuo galima tarp užduočių perdavinėti duomenukus. Arba tarp pertraukimo paprogramių ir užduočių — kas ir svarbu.

(daugiau…)

Pagaliau turiu tai, ko troškau ilgą laiką ir ką kažkiek bandžiau įgyvendinti pasitelkdamas savo elektronikos bei programavimo įgūdžius. Nuo vieno gyko nusižiūrėjau tikrą išmanųjį lituoklį, kurį sukūrė neabejotinai geri dizaineriai kinai, mokantys gaminti kokybišką aparatūrą. Na, o programinė įranga – atvirojo kodo. Ko dar galima norėti?

(daugiau…)

Taigi nusprendžiau pasidaryti laikrodį su HP-21 skaičiuotuvo (kalkuliatoriaus) ekranu. Kadangi STM32 procesoriukas su 48 kojomis tų kojų turi pakankamai bei turi viduje RTC laikrodį, tai daugiau jokios periferijos ir kitų komponentų nereikia.

(daugiau…)

Kažkada čia rašiau, kaip išjungti JTAG debuginimą paliekant SWD. Viskas kaip ir gražu ir paprasta, dvi funkcijikes iškviečiam ir pamirštam. Deja, išskyrus tai, kad tos funkcijikės iš STM32 sukurto rinkinuko Standard Peripherals. Visokios tos funkcijikės ganėtinai gremėzdiškos, su visokiais assertais ir pan. Na, assertus galima išjungti, bet vis tiek perteklinio kodo yra žiauriai daug. Na, kažkas panašaus į Arduino.

(daugiau…)

FreeRTOS logotipas | Darau, blėPradėsiu turbūt šiokį tokį dalinimąsi mintimis ir patirtimis apie FreeRTOS. Trumpai tariant tai kažkas panašaus į operacinę sistemą mikrovaldikliams. Galima naudoti net ir AVR procesoriukuose, kurie, palyginus su ARM, yra kiek labiau riboti resursų prasme. Na, bet ir kai kurie dalykai juose vykdomi paprasčiau ir taupiau. Apskritai, jeigu jumi kyla klausimas, kam gi OS reikalinga mikrovaldiklyje, tai atsakymas yra toks: nekūrėte bent kiek didesnio projekto, žongliruojančio davikliais, besikeičiančio informacija ir kitokiais periferiniais smagumais.

(daugiau…)

Apšvietimo reguliavimui man norisi naudoti rotacinius enkoderius, o ne kokius nors potenciometrus. Panašiai, kaip dauguma grotuvų automobiliuose. Yra vienas didelis ratukas, kurį paspaudus paprastai įvyksta įjungimas/išjungimas, o sukant dešinėn ar kairėn atitinkamai didinamas arba mažinamas garsas. Rotacinis enkoderis sukamas spragsi ir į abi puses gali būti sukamas be galo. Sukimo krypčiai nustatyti yra trys kojelės: bendra (C, common), A ir B. Tų kojelių generuojami impulsai ir padeda nustatyti, kurion pusėn enkoderis sukamas.

(daugiau…)

Darau USB divaisą

Posted: 2015-12-08 in Darbeliai
Žymos:, ,

Iki šiol gyvenime neteko nieko daryti su USB divaisais. Tame programuotojo lygmenyje, kur su jais reikia kažkaip „šnekėtis“. Na, meluoju, šiek tiek teko. Teko ir USB steką išsinagrinėti gan nuodugniai. Bet programuoti ne kažką teko. Tiesą sakant, niekada ir nenorėjau per daug, nes USB dėl savo nepaprasto lankstumo yra sušiktai sudėtingas dalykas. Tikrai sudėtingas. Ale va, gyvenimas eina, reikia tobulėt…

(daugiau…)

CAN magistralė: filtrai

Posted: 2015-11-30 in Darbeliai
Žymos:,

CAN logotipas | Darau, blėViena iš CAN savybių, kuri mane stačiai užvežė — automatinis žinučių filtravimas. STM32 „kauliukai“ tai daro patys, reikia tiktai juos tinkamai sukonfigūruoti. Teko šiek tiek palaužyti galvą, kol įkirtau kas ten kaip, bet paskui viskas pasidarė aišku.

(daugiau…)

CAN magistralė: įžanga

Posted: 2015-11-27 in Darbeliai
Žymos:,

CAN logotipas | Darau, blėEilinis neaiškios kilmės projektas šviečiasi ant nosies ir jame reikės sujungti kelis mikrovaldiklius į tinklą. Dar būtų gerai, kad jie tame tinkle galėtų „kalbėtis“ įvairiomis kryptimis, atseit, kad tinklas būtų „multi-master“ tipo, o ne tai kad vienas yra „šeiminykas“, o kiti — „tarnukai“. Dar kitaip: kad visi mikrovaldikliai būtų sąlyginai lygiaverčiai ir bet kuris galėtų pradėti duomenų transliaciją.

Pabandžius ko nors panašaus paieškoti forumuose ar pasišnekėjus su kai kuriais subjektais dažniausiai pasiūloma naudoti RS-485 „tinklą“. Na, nepaisant siūlymų naudoti TCP/IP, kas yra vabšė nesąmonė ir didžiausias pereboras, kai tinkle turi skraidyti vos po kelis baitukus — ne filmams pumpuoti tas tinklas gi.

(daugiau…)

Unikalus ID | Darau, blėGera žinia tiems, kas krapštosi su STM32 procesoriukais. Kiekvienas iš jų (bent jau teoriškai) turi unikalų 96 bitų serijinį numerį, įsiūtą firmwarėje. Tai yra baisiai naudinga, nes gaminant visokius įrenginius patogu juos „pririšti“ pagal kokį nors numerėlį. Be to, kadangi šis ID yra įsiūtas į procesoriuko ROM atmintį, jis nesikeičia ir jo nesugadinsite perrašydami programinę įrangą. Jis liks ten, kur ir turi likti.

(daugiau…)