www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

PIC to PIC prenos bytov

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Iztok
Član
Član



Pridružen-a: Pet 08 Okt 2004 0:55
Prispevkov: 4974
Aktiv.: 21.00
Kraj: LJ

PrispevekObjavljeno: Tor Mar 06, 2007 8:44 pm    Naslov sporočila:  PIC to PIC prenos bytov Odgovori s citatom

Ima mogoče kdo kakšen primer ali osnutek programa v ASM za prenos vrednosti GPR registrov iz enega v drug PIC?

Rabil bi prenašat 32 bytov iz 16F628A v 16F876A. Vendar teh 32 bytov ni po vrsti, ampak so v malem PICu postavljeni v GPR vrsti 56 bytov ... rabim pa v velikega prenesti samo določenih 32, ki pa niso zaporedoma, ampak "nametani" med tisti 56 v velikem. Confused
Pri tem bi rad to izvedel preko navadnih portov brez uporabe Rx, Tx, I2C ali podobnih SFRjev.
Vsaj ena "olajševalna" okoliščina je to, da imata oba PICa isti izvor OSC, ki je 20MHz.

P.S. Ne morem uporabiti enega PICa, ker se večji s clockom sinhronizira z eno napravo (COMPOSITE SYNC), manjši pa z drugo (9600 baud). Zato veliki bere podatke iz malega le takrat, ko ima čas, mali pa sprejema podatke preko Rx-a - vsako sekundo tistih omenjeni 56 bytov.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
bostjang
Član
Član



Pridružen-a: Tor 03 Jan 2006 15:29
Prispevkov: 3469
Aktiv.: 14.65
Kraj: Postojna

PrispevekObjavljeno: Sre Mar 07, 2007 11:12 am    Naslov sporočila:   Odgovori s citatom

Kode sicer nimam... le idejo.
Kaj pa če bi prenašal paralelno po 4 bite. Zraven bi dodal še kakšno linijo za kontrolo prenosa. Npr. mali bi samo pošiljal (s primerno hitrostjo), stanje linije A pa menjal za vsak nibble. Preko linije B bi veliki povedal kdaj podatke rabi. Seveda, če imaš 6 prostih pinov na obeh PICih.
Drugače pa s SW serijskimi vrati ali SW SPI.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bungee
Član
Član



Pridružen-a: Pon 07 Mar 2005 18:49
Prispevkov: 1479
Aktiv.: 6.24
Kraj: Ljubljana

PrispevekObjavljeno: Sre Mar 07, 2007 11:29 am    Naslov sporočila:   Odgovori s citatom

Koliko imaš še neuporabljenih portov ... oziroma kaj lahko žrtvuješ pri obeh. Če imaš možnost narediti 9 bitno vodilo, potem je to trivialno. Z enim bitom iz velikega PIC-a sprožiš prenos na ostalih osmih, pa samo poslušaš. Drugače pa boš moral realizirati glede na dane možnosti.

Variant je veliko, le napisati moraš malo več detajlov.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Iztok
Član
Član



Pridružen-a: Pet 08 Okt 2004 0:55
Prispevkov: 4974
Aktiv.: 21.00
Kraj: LJ

PrispevekObjavljeno: Sre Mar 07, 2007 1:36 pm    Naslov sporočila:   Odgovori s citatom

Paralelni prenos odpade ... premalo I/O-jev. Problem "nametanosti" bom rešil s prenosom vrednosti po registrih že v malem PICu, kjer je še nekaj prostora. Potem pa bi na zahtevo-signal iz velikega PICa prenesel cel že sortiran paket po dveh ali treh navadnih I/O pinih - signalih ... in za tak način iščem kakšeno "kitico" ASMja ... Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.71
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Sre Mar 07, 2007 1:40 pm    Naslov sporočila:   Odgovori s citatom

Rešitev je softwerski UART. Na enem poljubnem pinu pošiljaš ven serijske bite, na drugem jih sprejemaš. Na ta način se lahko na com port priključi chipe, ki sploh nimajo TX in RX funkcije. google, pic software uart najde source kodo. Če se ne motim je tudi na microchipoven webu (aplikacije). Koda vsebuje tudi CRC detekcijo napak.

Jur
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sre Mar 07, 2007 1:55 pm    Naslov sporočila:   Odgovori s citatom

Iztok,
Če imaš dovolj proscesorskega časa na obeh straneh si mogoče omisliš 1Wire ali I2C protokol. Če bi imel FSR posrotirane, bi seveda malo olajšal programiranje. Pri branju bi lahko uporabil indirektno naslavljanje preko FSR. Domnevam, da pišeš v assemblerju.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.71
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Sre Mar 07, 2007 1:58 pm    Naslov sporočila:   Odgovori s citatom

Tale hip se mi zdi najbolj zabavno tole v prilogi. Delalo naj bi na pic 10F chipih.

Jur



software_uart.pdf
 Opis:

Download
 Ime datoteke:  software_uart.pdf
 Velikost datoteke:  118.81 KB
 Downloadano:  31 krat

Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
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: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group