 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
eddie Član

Pridružen-a: Sre 10 Dec 2003 21:02 Prispevkov: 723 Aktiv.: 3.05 Kraj: Severna primorska
|
Objavljeno: Tor Jan 26, 2010 12:00 pm Naslov sporočila: Komunikacija med procesorji |
|
|
Pozdravljeni!
Malo bolj aktivno sem se začel ukarjati s programiranjem Avr mikrokontrolerjev in v planu je kar nekaj manjših sistemov, ki bodo krmilili kakšno prezračevanje, vlaženje/razvlaževanje, meritve nivojev,...
Pri vseh teh aplikacijah pride do potrebe občasnega spreminjanja parametrov oziroma spremljanja dogajanja.
Prišel sem na idejo, da bi naredil nek prenosni terminal (mikrokontroler, lcd display in tipkovnica), ki bi ga bilo možno enostavno priključiti na enega izmed sistemov in preko njega brati in spreminjati parametre.
Prvi dvom: kakšno komunikacijo izbrati, da nebo zasedla veliko pinov, nebo zasedla polovice pomnilnika mikrokontrolerja, jo bo možno uporabiti tudi na manjših procesorjih, ki so naprimer tudi brez kristala in so tako pri kakšnih (S)UART-ih lahko težave.
Raziskoval sem nekaj v smeri I2c in 1wire, pa bi rad še vaše mnenje o vsem tem.
Hvala!
Lep dan! |
|
Nazaj na vrh |
|
 |
mucek4 Član


Pridružen-a: Sob 18 Jun 2005 20:52 Prispevkov: 2952 Aktiv.: 12.46 Kraj: Tržič - Mesto med gorami
|
Objavljeno: Tor Jan 26, 2010 12:44 pm Naslov sporočila: |
|
|
Odvisno kakšno hitrost rabiš. Če ne rabiš prenesti veliko podatkov lahko brez težav daš UART in 300bps. |
|
Nazaj na vrh |
|
 |
eddie Član

Pridružen-a: Sre 10 Dec 2003 21:02 Prispevkov: 723 Aktiv.: 3.05 Kraj: Severna primorska
|
Objavljeno: Tor Jan 26, 2010 12:51 pm Naslov sporočila: |
|
|
Ne seveda ni veliko podakov.
Toliko, da se prenašajo podatki za strukturo menija in par ukazov - nastavitev.
Prva ideja je bila pošiljanje ascii nizov v katerih bi bili direktno ukazi za LCD - ciljni procesor v prikazovalniku bi jih prepoznal in pošiljal LCD-ju.
Tako bi prihranil kar nekaj pinov, če bi šlo samo za monitoring, bi porabil samo 1 pin na procesorju namesto 6ih.
Torej pri 300baud ne gre pričakovati problemov tudi pri uporabi notranjih oscilatorjev? |
|
Nazaj na vrh |
|
 |
mucek4 Član


Pridružen-a: Sob 18 Jun 2005 20:52 Prispevkov: 2952 Aktiv.: 12.46 Kraj: Tržič - Mesto med gorami
|
Objavljeno: Tor Jan 26, 2010 12:53 pm Naslov sporočila: |
|
|
Sam delam samo z notranjim oscilatorjem - Čeprav na PICih - in nisem imel težav. Sicer ima pa vsak procesor tudi kalibrator notranjega oscilatorja. |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.93 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Tor Jan 26, 2010 1:46 pm Naslov sporočila: |
|
|
mucek4 je napisal/a: |
Sam delam samo z notranjim oscilatorjem - Čeprav na PICih - in nisem imel težav. Sicer ima pa vsak procesor tudi kalibrator notranjega oscilatorja. |
Težav ni, dokler bo hardware na konstantni temperaturi. Težave s stabilnostjo internega oscilatorja se po mojih izkušnjah pojavljajo, ko le te odstopajo od deklarirane za več kot 20°C. _________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
eddie Član

Pridružen-a: Sre 10 Dec 2003 21:02 Prispevkov: 723 Aktiv.: 3.05 Kraj: Severna primorska
|
Objavljeno: Tor Jan 26, 2010 2:06 pm Naslov sporočila: |
|
|
Ja sem malo probal in na mizi zadeva deluje....
300 baud je počasi ampak za tak namen čisto uredu.
Branje 4ih analognih vhodov na tiny13 in pošiljanje preko UARTA resda zasede 80% pomnilnika( v Bascomu sicer in spisano na hitro) ampak deluje pa...
Preko Uarta pošiljam vse ukaze za lcd - v taki dolgi obliki, če bi skrajšal in uporabljal neke kode, bi bili telegrami lahko zelo kratki. To bi verjetno še malo pripomoglo k temu da stvar nebi crknila že pri malo drugačni temperaturi.
Sedaj "oddajni" del izgleda takole:
Koda: |
Print #1 , "cls"
Waitms 20
Print #1 , "ln1"
Waitms 20
Print #1 , "adc ch#1: " ; Getadc(1)
Waitms 20
Print #1 , "ln2"
Waitms 20
Print #1 , "adc ch#2: " ; Getadc(2)
Waitms 20
Print #1 , "ln3"
Waitms 20
Print #1 , "adc ch#3: " ; Getadc(3)
Waitms 40
Print #1 , "ln4"
Waitms 40
Print #1 , "adc ch#4: " ; Getadc(4) |
Malo bo še za potuhtati.
Dalo pa bi se. Edino za vpis parametrov, tam bi bilo treba biti pa malo bolj pazljiv.
Kak enostaven CRC bi bilo že treba uporabiti. |
|
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: 494 dni
Powered by phpBB © 2001, 2005 phpBB Group
|