reede, 10. mai 2013

Tagasiside

Kuna valmis sai siiski tehtud terve komplekt koos näidisülesannetega, testisime seda ka üliõpilaste peal :) Kasu sellest oli kõvasti - juhendid said täiendust, mõned veadki tulid välja. Nüüd veel vaja test programme kõpitseda.

neljapäev, 4. aprill 2013

Voolutarve

Laboris voolutarbimise mõõtmised. Uus komplekt võtab umbes 100mA rohkem voolu, sellest pool läheb BT arvele ja teine pool XuLA arvele.

Järeldused teeme hiljem ...

P.S. Hilisemad kordusmõõtmised näitasid suuremat vahet, ning põhitarbija on ikkagi FPGA.

kolmapäev, 3. aprill 2013

BotCommanderBT

Pärast pikka vaidlust iseendaga tehtud suur muudatus - järjestikliidese asemel suhtlus otse üle BT stacki. Plusspool - jääb ära BT paaritamine ja virtuaalsete järjestikliidestega majandamine. Teegiks valitud BlueCove. Toimib windows, macos ja linux keskonnas. Testitud :)

BotCommander ümber kirjutatud, uus nimi BotCommanderBT, lisatud eraldi klass BT adapteri seadistamiseks. Kood lihtsamaks tehtud, loobutud sisemisest editorist.

P.S. BT adapteri adekvaatne manuaal - ARF-BTC1-2_Modules_Users Guide_V0.90.pdf

P.P.S. Suse peal (arvutiklassis) peab juurde installima paketi bluez-devel - BlueCove Linux module

P.P.P.S. Debian vajab pakki libbluetooth-dev

kolmapäev, 27. märts 2013

Demo - märts

26. märts - tehtu demo.

Ideed edasiseks ...

Bluetooth adapter
  • Paaritamise probleemid - siduda kindla donglega - mingi lihtne kontroll
  • Kirjutada eraldi korralik õpetus BT esmaseks häälestamiseks / konfimiseks

Kasutajaliides
  • Kontrollida toimimist Linux'i all (serial device probleemid)
  • Võimalus tekitada Makefile (export Makefile)
  • Tekitada korralikult pakendus, mida saaks allalaadimiseks üles panna

3.3V vs 5.0V
  • Panna kõik andurid enable reziimi s.t. toide XuLA väljundist, testida (andurite komplekt on ette antud)
  • Lahti saada 3.3V pingemuundurist


reede, 22. märts 2013

Kokku pandud

Lõpuks on asi reaalselt kokku pandud ja ka ära testitud :)
Algne Bot

Uue ajuga Bot

Plaadi möötmeteks on 53mm X 53mm - bot'i gabariidid ei suurenenud.

Lisatud uued funktsioonid kasutajale.

uus funktsioonbasic analoogkommentaar
set_dirDIRx
set_bitOUTx
get_bitINx
pausePAUSEajaühik 10 uS
timePULSINajaühik 10 uS
freqFREQOUTkestvusühik 10 uS, sagedusühik 1 Hz
auto_loadolenevalt sisendist paneb autoload biti 1 või 0 või väljastab väärtuse hetkel

esmaspäev, 18. veebruar 2013

Servomootor ja teised

Esimene katse näitas, et servod töötavad ka 3.3V impulsiga. CRServo-v2.2.pdf - min juhtpinge - 3.3V ja min mootori pinge 4V.

Väike pildike ka signaalist
Tarkvaraline signaali genereerimine ei sobinud, kasutusele tuli Timer - xps_timer.pdf

QTI sensor - toimib ka 3.3 V pealt. Manuaal - qtilinesensorrev1.pdf

Fotodiood (mark teadmata :P) - läbi häda töötab 3.3V peal, läbi häda ...

reede, 15. veebruar 2013

SDRAM

Tundub, et selle SDRAM kasutuselevõtuga pole XuLA puhul veel keegi tegelenud :( Selline vastus siis listist - http://tech.groups.yahoo.com/group/xsboard-users/message/4043


>> Does anyone have a working example where Microblaze is connected with SDRAM ?

I haven't done this yet, nor seen anyone else do it.
-- 
Dave Vandenbout / XESS Corp.


kolmapäev, 13. veebruar 2013

Demo - veebruar

11. veebruar - tehtud tööde demo - testkomplekt montaaziplaadil ja BotCommander

Ülesande püstitus ei muutunud :)

Edasised tööd
  • kaks erinevat reset'i
    • hardware reset - flashist loetakse kogu bitstream uuesti, bootloader jääb kasutaja koodi ootele
    • protsessor reset - mb reseti puhul kontrollida, kas kasutaja kood juba olemas mälus, kui jah siis jätkab koheselt kasutaja koodi täitmist, vastasel juhul jääb koodi ootele. lahendus - bootloader paneb lipukese püsti BRAM'i
    • eraldi valgusdiood, mis näitab, kas kasutaja kood on mälus või mitte
  • alustada prototüübi kokkupanemist, bluetooth adapteriks valitud Adeunis ARF7678AA
  • BASIC käsud üle vaadata - FREQOUT, PULSOUT, PAUSE jne. implementeerimine, kas siis funktsioonid või lahendada riistvaras
  • olemasolevad näidisülesannetele teha C vaste - http://petski.tainas.ee/?page_id=228
  • toide ... 5V versus 3.3V - kas on vaja asenda plaadipealne pingeregulaator ? servo ja andurite toimimine ?
  • kompileerimine - kontrollid kas kasutaja programm saab kasutada bootloaderi heap'i
  • mälu - kui sdram kasutada ei saa siis teha bootloaderile ja kasutaja programmile ühine mäluruum ja anda kasutaja programmile maksimaalne osa, lscript.ld abil piiramine
  • teha võrdlus BASIC Stamp'i ja prototüübi voolutarbe kohta
  • BotCommander pakendada ühte .jar'i - kompilaator kaasa vöi ikkagi Xilinx ISE eeldus ?

esmaspäev, 4. veebruar 2013

BotCommander

Alustatud siis BotCommander'ga. Kirjutatud Java's. Koosneb järgmistest osadest -

  • terminal
  • editor + kompilaator
  • konfigureerimine


Terminal

Järjestikliidesega suhtlemise võimalused Javas

  • Java Communications API - toetatud platvormid - Solaris, Linux (32-bit)
  • RxTx - toetatud platvormid - Windows (32-bit), Linux (32-bit)
  • jSSC - toetatud platvormid - Windows, Linux, MacOSX, Solaris - kõikidel platvormidel on toetatud 32/64-bit
Valik oli jSSC.

Terminal võimaldab suhelda nii alglaaduriga kui ka kasutaja programmiga. Koostöös alglaaduriga on võimalik mällu laadida kompileeritud programm ja see käivitada.


Editor

Minimalistlik editor koodi kirjutamiseks, tõeliselt minimalistlik :)


Kompilaator

  • -nostartfiles option
  • startup kood puudub, sisenemispunktiks on otse main funktsioon
  • lihtsustatud linker fail

reede, 25. jaanuar 2013

Riistvara

Millest peaks siis koosnema riistvaraline osa

  • protsessor - MicroBlaze, tundub mõistlik lisada sinna ka riistvaraline ujupunktarvutus
  • mälu booloaderile - BRAM,16k - peaks vähemaga hakkama saama
  • konsool - max kiirus testida
  • väline mälu - koht kuhu laadida kasutaja programm - XuLA peal oleva SDRAM ühendamine osutus keerulisemaks kui algus tundus, netist leiab ainult kaeblemist :S Alternatiiv 16k BRAM'i
  • sisend-väljund viigud bot'i jaoks
  • timer, counter, mootori juhtimine riistvaras, analoog sisendid kasutusele jms. ?

momendil siis püüan tööle saada välist mälu, alla anda veel vara

teisipäev, 8. jaanuar 2013

Eesmärgi täpsustus

vaatenurk pärast vestlust
  • Bot'il asendada BASIC Stamp XuLA'ga
  • XuLA peal MicroBlaze
  • MicroBlaze programmi laadimine juhtmevabalt - Bluetooth sobib
  • Kompileerimiseks ja üleslaadimiseks oma kasutajaliides - kasutajale asi maksimaalselt lihtsaks teha



Mõtlemiseks ...

bootloader
  • tarkvaraline - katkestuse koodi muutmine ?
  • riistvaraline
erinevad kompilaatorid ... puuduvad. on ainul Xilinx enda omad, nende source http://wiki.xilinx.com/mb-gnu-tools http://xilinx.wikidot.com/mb-gnu-tools git://git.xilinx.com/microblaze-gnu.git

MB alternatiivid ? Suurt mõtet pole, sest aktiivselt neid ei arendata.


Test

Riistvara - MicroBlaze, konsooliks BT

Sinna kirjutasime tarkvara mis võimaldas

  • mälupesa lugeda
  • mälupessa kirjutada
  • jätkata programmi tööd suvaliselt aadressilt - jätkamine aadressilt 0 == tarkvaraline reset :)

Kokkuvõte - tarkvaraline alglaadur on teostatav