Posts Tagged ‘ARM’

Atsirado poreikis gaivinti kelerių metų senumo projektą su radijo ryšiu. Tik kad aš jau apleidau terliojimąsi su AVR/Arduino, prisikūriau visokių gerų ir nelabai bibliotekų STM32F10x mikrovaldikliams ir panorau su kažkuriuo iš jų tą darbelį pasidaryt. Archyvuose dar mėtosi RFM12B moduliukų, dalis jų prilituoti prie senų devboardų, bus galima nusiimt norint. Tai kažkiek pasiknisęs pabandžiau perrašyti JeeNode RFM12 biblioteką, kad ji tiktų STM32F10x.

(daugiau…)

Kai rašai kodą visokiems smulkiems įrenginiams, yra kelios taisyklės apie tai, kas vyksta greitai, o kas — lėtai. Esu skaitęs porą knygų, rašytų 80-aisiais, kur patyrę kompiuterastai svaigdavo apie visokius asemblerius, atminties taupymą, efektyvų registrų išnaudojimą neliečiant atminties ir taip toliau. Šiomis dienomis smulkūs įrenginiai, IoT ir apskritai įterptinis programavimas yra labai plati ir mažai matoma pasaulio pusė, kurioje galioja senosios taisyklės.

(daugiau…)

Mano šviesų tinkle prasidėjo keisti gliukai. Iš pradžių galvojau, kad mano nauji firmwarių eksperimentai kalti. Paskui pasirodė, kad nebuvau įdėjęs į firmwares apsaugų, jei CAN žinutės išsiuntimas užvėluoja. Paskui dar pasirodė, kad kai kurie tinklo mazgai iš viso „išsijungia“ (bus-off būsena)Atradau, kad galima liepti valdikliui iš bus-off išlipti pačiam. Bet kodėl tai iš viso prasidėjo? Juk pusę metų buvo viskas gerai. Ir štai, prieš kelias dienas mano šviesų tinklas iš viso dingo iš eterio. Gal susiję su pražaibavusia audra, o gal ir ne.

(daugiau…)

Dallas DS18B20 ir kitų panašių termometrų nuskaitymas su mikrovaldikliu yra tikrai gan trivialus darbelis, o Arduino frameworkui pritaikytos OneWire ir DallasTemperature bibliotekos naudojamos visur kiaurai, kai kur perrašomos, kad tiktų (pvz. NodeMCU eLua firmwarėje) ir jų kokybės bei panaudojimo niekas nekvescionuoja. Na, išskyrus gal vieną kitą bambeklį gyką, tokį, kaip aš.

(daugiau…)

Iki šiol skaitmeninius termometrus DS18B20 naudojau tik su Atmel procesoriais ir pagalbine Arduino programine periferija. Pagrindas yra OneWire biblioteka bei ant jos užtempta Dallas Temperature Control biblioteka. OneWire biblioteka paremta bitbanginimu, t.y. pilnai programiniu mikrovaldiklio kojytės „baksnojimu“. Tai reiškia, kad procesoriukas gan smarkiai apkraunamas, nes reikia programiškai išlaikyti tinkamas pauzes ir tuo metu nieko neveikti. Dar ir neleisti pertraukimų.

(daugiau…)

Išmanūs šviesos valdikliai | Elektronika | Darau, blėVisai nekalėdinės temos mano tinklarašty. Tiesa, jau turiu pusę japoniško kario recepto, bet turbūt irgi ne į temą. Pastebėjau tik, kad prieš Kalėdas padaugėjo baksnojimų į Velingtono kepsnio receptą. Ruošiuosi ir pats jį kepti.

Nugriebdamas laiko vis bandžiau prisėsti prie vieno mintyse kirbėjusio neramumo: o kaip reikės savo šviesų sistemoje atnaujinti firmwares? Dabar krapštydamasis net SWD nenaudoju, pažaidžiu džemperiukais ir permetu firmwares per USART. Kartais tai nervija, ypač, kai prasideda kokios nors neaiškios klaidelės gaudymas ir firmwarę reikia kas pusę minutės perkompiliuot ir permest. Bet konfigūruotis SWD tingėjau dar labiau 😀

(daugiau…)

Aš po truputuką vis dirbu ir krapštausi prie savo gudraus apšvietimo. Kol kas vis dar nesigailiu 😀 Kaip bus vėliau — matysim. Bet pradėjau po truputuką galvot, kaip visą tą plokščių ir kitų laidų bardaką reikės junginėt. Na, fiziškai, gaminti visus valdymo skydus. Iš savo patirties su visokiais maršrutizatoriais žinau vieną dalyką: ateini prie kokio nors kabančio divaiso ir galvok, čia tas ar ne tas, kurio reikia.

(daugiau…)

Ką gi, pagaliau atėjo laikas, kai nebebijau garsiai išreikšti savo nevisai neerotinių fantazijų apie būsimo savo namuko apšvietimą. Projektėliui jau maždaug metai laiko, bet dariau jį priešokomis, su daugybe pasiruošiamųjų bandymų bei gamintojų paieškų. Dabar jau pagaliau turiu visus esminius komponentus galutiniam projektui ir veikiantį prototipą. Patobulinti jį yra kur, be abejo, bet svarbiausia, kad pasiekiau pačią esmę.

(daugiau…)

Canberry

Posted: 2016-04-18 in Darbeliai
Žymos:, , ,

Canberry: CAN bus, Raspberry Pi, Linux | Darau, blėKadangi po truputuką kurpiu savo mistinį CAN magistralės projektą, tai po truputuką pradėjau artėti ir prie to galo, kuris viską kaip ir valdys (ar, tiksliau, konfigūruos ir stebės). Tas galas, be abejo, kažkuris tai Raspberry Pi kompiuteriukas. Kadangi „RS Components“ atstovai man padovanojo trečiąją Avietę, tai pagalvojau, kad arba ją, arba kurį nors kitą daiktą panaudosiu būtent šiam poreikiui patenkinti.

O kaip dabar Raspberry Pi prijungti prie CAN tinklo? Jou. Geras klausimas, į kurį aš jau turu atsakymą sau — Canberry. Tiesa, aš užsisakiau neizoliuotą versiją, bo pigesnė, bet ir šiaip galvos dėl to per daug nesuku. Tai dabar tą daiktą pabandysime ir užkurti.

(daugiau…)

AVR procesoriai turi EEPROM gabaliuką. Taip pat turi specialią EEMEM kompiliatoriaus direktyvą pažymėti, kad kintamasis guli būtent EEPROM’e. Na, o štai STM32F10x procesoriukai EEPROM neturi. Regis, Cortex M4 iš mikrovaldiklių šeimos turi EEPROM’o.

Užtai visi mikrovaldikliai turi Flash atminties gabaliuką, kurion rašoma firmwarė. Bet firmwarė užima ne visą flešą, nebent jau labai smarkiai prikodijama ir kitaip iki lubų užkopiama. Visgi būkim biedni (be EEPROM’o), bet teisingi: vienas kitas flešo puslapėlis tikrai lieka laisvas ir kiek pasistengus ten galima pasikavoti savo duomenų bei juos perrašinėti.

(daugiau…)