|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Silvo Moderator
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14555 Aktiv.: 65.27 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Čet Jun 09, 2011 7:01 pm Naslov sporočila: |
|
|
red_mamba je napisal/a: |
...
poleg tega pozabljaš da je šift operacija procesorsko najmanj zahtevna od vseh ukazov ki jih procesorji poznajo |
Ravno zaradi tega sem to predlagal. Raba v industrijski elektroniki je kar dokaj pogosta. V podjetju kjer sem bil prej zaposlen je bil en stroj katera logika je v celoti bila izvedena s shift registri. Stroj je bil dolžine kakih 10m. Na vhodu v stroj je bilo le eno stikalo, ki je dejansko zaznalo kdaj je obdelovanec vstopil v stroj ter koliko je bil dolg. Shift registri so obdelovanec navidezno prenašali po celi obdelovalni površini ter vklapljali agregate. Za navidezno premikanje je skrbel enkoder na pogonu, ki je služil kot clock. Cela veriga obdelovalnega stroja je bila lahko polna obdelovancev, ki so bili seveda lahko različnih dolžin.
Podobnih izvedb najdeš veliko v lesni industriji. Recimo zelo podobna izvedba je bila tudi na brusilkah. Na vstopu v stroj serija kapacitivnih senzorjev, ki so zaznali obdelovanec. Ko je obdelovanec prišel pod brusni papir so čevlji papir stisnili le tam, kjer je bil obdelovanec. ( sicer bi prišlo do prebrušenja robov)
_________________ lp
Silvo |
|
Nazaj na vrh |
|
|
igo Član
Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3638 Aktiv.: 17.04
|
Objavljeno: Čet Jun 09, 2011 7:39 pm Naslov sporočila: |
|
|
red_mamba je napisal/a: |
to bi se dalo samo če bi lahko naslavljal na bit natančno, kar pa ne moreš kolikor je meni poznano. Ti lahko naslavljaš podatke samo po bajtu naenkrat. |
V Zbirniku lahko z malce računanja dostopaš do katerega koli bita v pomnilniku.
Z nekaj vrsticami programa lahko vklopiš ali izklopiš poljuben bit v poljubnem paketu 18-bitnih spremenljivk.
Naprimer 2. bit v 98. paketu je 1766. bit . To je 220x8bitov + 6 bitov. Gledano z leve strani torej delaš z drugim bitom 221. byta pomnilnika.
Lahko pa shiftaš le 72 bitov (9 bytov = 4 paketi po 18 bitov). Ko jih napolniš, greš na naslednjih 72 bitov.
Ali pa 80bytov = 4 paketi po 20 bitov.
red_mamba je napisal/a: |
poleg tega pozabljaš da je šift operacija procesorsko najmanj zahtevna od vseh ukazov ki jih procesorji poznajo |
Pri par bytih to drži, za shiftanje večjega kolosa registrov (72000 bitov zaenkrat ne bom omenjal) pa ne več. Takrat se dela le še s kazalci na naslove spremenljivk.
MCU in serijski I2C EEprom je v tem primeru ugodnejša rešitev. Sem pa tudi jaz pred leti dizajniral en stroj z 2048 centimetri poti (2 kolesi fi~320cm) izdelkov in 74HC SIPO registri.
_________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
Nazaj na vrh |
|
|
red_mamba Član
Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.66 Kraj: Yogyakarta
|
Objavljeno: Čet Jun 09, 2011 7:54 pm Naslov sporočila: |
|
|
igo je napisal/a: |
red_mamba je napisal/a: |
to bi se dalo samo če bi lahko naslavljal na bit natančno, kar pa ne moreš kolikor je meni poznano. Ti lahko naslavljaš podatke samo po bajtu naenkrat. |
V Zbirniku lahko z malce računanja dostopaš do katerega koli bita v pomnilniku.
Z nekaj vrsticami programa lahko vklopiš ali izklopiš poljuben bit v poljubnem paketu 18-bitnih spremenljivk.
Naprimer 2. bit v 98. paketu je 1766. bit . To je 220x8bitov + 6 bitov. Gledano z leve strani torej delaš z drugim bitom 221. byta pomnilnika.
Lahko pa shiftaš le 72 bitov (9 bytov = 4 paketi po 18 bitov). Ko jih napolniš, greš na naslednjih 72 bitov.
Ali pa 80bytov = 4 paketi po 20 bitov.
red_mamba je napisal/a: |
poleg tega pozabljaš da je šift operacija procesorsko najmanj zahtevna od vseh ukazov ki jih procesorji poznajo |
Pri par bytih to drži, za shiftanje večjega kolosa registrov (72000 bitov zaenkrat ne bom omenjal) pa ne več. Takrat se dela le še s kazalci na naslove spremenljivk.
MCU in serijski I2C EEprom je v tem primeru ugodnejša rešitev. Sem pa tudi jaz pred leti dizajniral en stroj z 2048 centimetri poti (2 kolesi fi~320cm) izdelkov in 74HC SIPO registri. |
No in še vedno naslavljaš zadeve po bajtih, in šele nato ko najdeš pravi bajt po bitih.
Isto si povedal kot sem ti jaz
Tale z I2C EEprom je sicer možna a način ki sem ga prej opisal naredi to precej hitreje ker šiftaš samo 24 bitov, operiraš pa še z enim byte arrayem ki je ciklični. Vse skupaj par vrstic kode
_________________ Bad things happen to good people all the time for no reason!
Blog |
|
Nazaj na vrh |
|
|
Silvo Moderator
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14555 Aktiv.: 65.27 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Čet Jun 09, 2011 8:49 pm Naslov sporočila: |
|
|
Bojan,
V kakih intervalih se mora osveževati prikaz? Mogoče navedeš konkretno v kak namen bi rad zadevo uporabil. Bi bilo lažje najti najprimernejšo rešitev. Če bom imel čez vikend kaj časa, bom poskusil spisat program. Z Mego8 kot si omenil.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
|
BojanR Član
Pridružen-a: Tor 08 Apr 2008 9:52 Prispevkov: 684 Aktiv.: 3.50 Kraj: Vnanje Gorice
|
Objavljeno: Pet Jun 10, 2011 8:12 am Naslov sporočila: |
|
|
Prijazno, Silvo.
Osveževanje prikaza ni kritično. Lahko je eno sekundno, toliko je tudi resolucija. Prikaz je na LCD.
Čeravno je dogodek lahko dolg 200ms, jih v eni sekundi ne pride več kot eden.
Zadeva pa je namenjena za merjenje in ugotavljanje izvora motenj v obratovalnici, ker po omrežju naključno (nam to sedaj tako izgleda) priletijo motnje.
Njihov signal sem že uspel kondicionirati, zdaj je potrebno zadevo šteti.
Na izhodu bo alarm za prekoračeno vrednost (nastavljivo) števila dogodkov.
Včasih 2 meseca ni motenj, zato bi rad avtomatsko spremljanje. Mogoče dodam še RTC in zapišem datum/uro prekoračitve. Ampak to je stvar detajlov.
|
|
Nazaj na vrh |
|
|
. Neznanec
Pridružen-a: Pet 01 Okt 2004 1:17 Prispevkov: 1 Aktiv.: 0.00
|
Objavljeno: Pet Jun 10, 2011 9:55 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika.
|
|
Nazaj na vrh |
|
|
igo Član
Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3638 Aktiv.: 17.04
|
Objavljeno: Pet Jun 10, 2011 5:19 pm Naslov sporočila: |
|
|
Tu bi bila zanimiva uporaba naprav iz potresnih opazovalnic ...
Če je kot "omrežje" mišljeno 3x400V napajanje, izvor motenj pa je predvidoma zunaj obratovalnice, se da z Elektrom zmeniti za I+U logger.
Če je izvor motenj predvidoma v obratovalnici, pa jih lahko povzročajo kvečjemu slabo sklenjeni kontakti močnostnih kontaktorjev. Neka 16A brenčalica je premalo za resne motnje. Kakšno VF varjenje plastike, varjenje kovin, slabo useden in pregret/ožgan kontakt 100A kontaktorja pa lahko pošlje par sekund motenj po eni ali vseh fazah.
Pomaga preventiven pregled velikih kontaktorjev in intenzivno spremljanje delovnih procesov v času, ko je motenj več.
_________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
Nazaj na vrh |
|
|
Silvo Moderator
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14555 Aktiv.: 65.27 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Sob Jun 11, 2011 10:03 pm Naslov sporočila: |
|
|
Bojan,
Pripravi si en testni hardware. Data linije displeja so vezane na portb 0-3 -> LCD d4-d7 (4 bitna komunikacija) En -> Portc,1 RS -> Portc,0 RW vežeš na maso.
V prilogi je koda, ki sem jo spisal do sedaj, tako da lahko oživiš displej. Nisem je preveč komentiral, ker mi to vzame preveč časa. Bom jo poskusil malo pokomentirati, ko bo končano. Na portuC,2 je tesni led, ki mora utripat v ritmu 1 sec. Uporabljen je interni oscilator 4mHz. Če ne bo dovolj natančen, se doda zunanji kristal.
Opis: |
|
Download |
Ime datoteke: |
ErrLog.zip |
Velikost datoteke: |
10.73 KB |
Downloadano: |
3 krat |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
|
Silvo Moderator
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14555 Aktiv.: 65.27 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Ned Jun 12, 2011 2:10 pm Naslov sporočila: |
|
|
Evo delujoča verzija:
Program je napisan tako, kot sem predlagal zgoraj.
Kratek opis:
Štetje dogodka sproži zunanja prekinitev Int0 na pinu PD2. Prekinitev se sproži ob padajoči fronti. Vključil sem pulup zaradi lažjega testiranja. (lahko spremeniš kako ti najbolje odgovarja) Glede na to, da sem prebral, da v sekundi ni več kot en dogodek sem uporabil 8 bitni števec. Dogodke štejem 5 sekund (prikaz levo zgoraj) Prešteti dogodki desno zgoraj. Po poteku 5 sekund števec shranem v ram vrednost prištejem glavnemu števcu 720 bytov srama "shiftam" Izrinjen byate je čas, ki je potekel po 1h ter 5 sec. Tega odštejem od glavenga števca ter izvršim prikaz. (prikaz spodaj desno) Žal za osveževanje glavnega števca na sekundo Mega8 nima dovolj rama. Po moji presoji je osveževanje na 5 sek. dovolj, sicer je treba vzeti kak mikrokontroler z 4K srama. Poskusi, če ti zadeva odgovarja. V prilogi imaš komplet z izvorno kodo vred. Vse skupaj je pisano v assemblerju. Nekaj kode sem pokomentiral. Če imaš možnost priklopa na kak pc ti lahko spišem še serijsko komunikacijo ter en preprost vmesnik, ki bi dogodke beležil online v neko datoteko.
Opis: |
|
Velikost datoteke: |
780.28 KB |
Pogledana: |
0 krat |
|
Opis: |
|
Download |
Ime datoteke: |
ErrLogV100.zip |
Velikost datoteke: |
11.93 KB |
Downloadano: |
3 krat |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
|
Silvo Moderator
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14555 Aktiv.: 65.27 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Ned Jun 12, 2011 4:44 pm Naslov sporočila: |
|
|
Dodal serisko komunikacijo ter spisal preprost vmensik. Tx pin je PD1 Vmesnik beleži datum ter uro. Podatke shranjuje v txt datoteko z imenom "datum_log.txt"
Opis: |
|
Velikost datoteke: |
95.24 KB |
Pogledana: |
16 krat |
|
Opis: |
|
Download |
Ime datoteke: |
ErrLogV1_1.zip |
Velikost datoteke: |
12.24 KB |
Downloadano: |
2 krat |
Opis: |
|
Download |
Ime datoteke: |
LogerErr.zip |
Velikost datoteke: |
216.86 KB |
Downloadano: |
2 krat |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
|
Silvo Moderator
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14555 Aktiv.: 65.27 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pon Jun 13, 2011 11:08 am Naslov sporočila: |
|
|
Popravljen bug softverskega vmesnika. Ob spremembi datuma se je sicer kreirala nova datoteka a v njo se je shranila tudi vsebina pred tem datumom. Popravljeno.
Opis: |
|
Download |
Ime datoteke: |
LogerErr101.zip |
Velikost datoteke: |
216.72 KB |
Downloadano: |
1 krat |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
|
BojanR Član
Pridružen-a: Tor 08 Apr 2008 9:52 Prispevkov: 684 Aktiv.: 3.50 Kraj: Vnanje Gorice
|
Objavljeno: Pon Jun 13, 2011 11:15 am Naslov sporočila: |
|
|
Silvo, tole še nisem preizkusil, takoj ko bo čas pa bom. V bistvu je več, kot sem hotel.
Po mojem lahko tole prestaviš med projekte, tako lepo si že obdelal.
|
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 76 dni
Powered by phpBB © 2001, 2005 phpBB Group
|