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 

fpga - lpt port

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> FPGA in CPLD programabilna vezja
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
trot
Član
Član



Pridružen-a: Čet 18 Jan 2007 20:25
Prispevkov: 1270
Aktiv.: 6.07
Kraj: glej fogl

PrispevekObjavljeno: Tor Jan 29, 2013 9:40 am    Naslov sporočila:  fpga - lpt port Odgovori s citatom

Fpga sem preko uporov povezal s pc lpt portom. Fpga bere podatke iz lpt porta. Branje imam narejeno tako da prebere ob spremenbi stanja. Problem je, da mi fpga občasno prebere napačno vrednost (bere cca 4000krat/s in enkrat na sekundo prebere napačno, včasih tudi večkrat). Nimam ideje kaj bi lahko bilo narobe... je možno da se stanje na izhodu lpt porta spremeni prepočasi in je napetost ob branju nekje na mejni vrednosti in zato pokaže enkrat nekaj drugič drugo? Frekvenca fpga-ja je 50 Mhz.
_________________
lp, Klemen
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
chaos
Član
Član



Pridružen-a: Sob 16 Sep 2006 22:12
Prispevkov: 1063
Aktiv.: 4.98
Kraj: Zagorje ob Savi

PrispevekObjavljeno: Tor Jan 29, 2013 1:16 pm    Naslov sporočila:   Odgovori s citatom

Kaksen protokol pa uporabljas - sinhron, asinhron, posiljas clock (takt), uporabljas zastavice, ...?

Na pamet lahko recem, da bi znal biti problem z metastabilnostjo, ce se PC in FPGA ne pogovarjata z istim ciklom. Verjetno bos rabil za podatkovno vodilo asinhroni FIFO z Greyevim stevcem.

LP!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
trot
Član
Član



Pridružen-a: Čet 18 Jan 2007 20:25
Prispevkov: 1270
Aktiv.: 6.07
Kraj: glej fogl

PrispevekObjavljeno: Tor Jan 29, 2013 2:34 pm    Naslov sporočila:   Odgovori s citatom

Nimam nobenega posebnega protokola, kot je to recimo rešeno z epp. Vse kar delam je, da z lpt potom spreminjam 3 pine, ki predstavljajo števec/naslov, poleg pa na ostale pine dodam še koristne podatke. Na fpga-ju pa samo sledim spremembi tega števca in ob spremembi preberem podatke.

Se pravi povezava med lpt portom in flga-jem je asinhrona. Bom poskusil naredit ta fifo... saj ti moduli so v ISE že poleg, če prav razumem?

_________________
lp, Klemen
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
chaos
Član
Član



Pridružen-a: Sob 16 Sep 2006 22:12
Prispevkov: 1063
Aktiv.: 4.98
Kraj: Zagorje ob Savi

PrispevekObjavljeno: Tor Jan 29, 2013 6:38 pm    Naslov sporočila:   Odgovori s citatom

Verjetno imas v FPGA-je neke registre (flipflope), ki tecejo z nekim svojim clockom. Problem nastane, ce se podatki na vhodu flipflopa spreminjajo ravno takrat, ko flipflop latcha svoj vhod, takrat lahko flipflop preide v stanje metastabilnosti in se za nekaj casa malo "zmede" - prebere napacno vrednost ali celo zaoscilira.

Taksni problemi se lahko pojavljajo povsod tam, kjer signali grejo iz ene clock domene v drugo, ali ko se gre iz asinhronega v sinhron del kode.

Za kaksne enobitne signale se to ponavadi resi tako, da se en za drugim dasta dva ali vec flipflopa, med katerima ni nobene kombinatorne logike, to sta potem t.i. sinhronizacijska flipflopa, ki skoraj iznicita moznost metastabilnosti.

Za vecbitne se uporabi asinhron FIFO (FIFO, ki ima na vsaki strani svoj clock), po vsej verjetnosti bos kaj taksnega nasel v tistem ISE wizardu.

LP!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
int47
Član
Član



Pridružen-a: Pon 15 Dec 2003 0:10
Prispevkov: 2066
Aktiv.: 9.30
Kraj: Ljubljana

PrispevekObjavljeno: Tor Jan 29, 2013 7:11 pm    Naslov sporočila:   Odgovori s citatom

Če nimaš clock signala, kako FPGA ve, kdaj so podatki veljavni?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
chaos
Član
Član



Pridružen-a: Sob 16 Sep 2006 22:12
Prispevkov: 1063
Aktiv.: 4.98
Kraj: Zagorje ob Savi

PrispevekObjavljeno: Tor Jan 29, 2013 7:26 pm    Naslov sporočila:   Odgovori s citatom

Saj v tem je problem Smile

Najbolje je, ce oba uporabljata isti clock. Lahko tudi del logike v FPGA-ju dela na zunanjem clocku, to je npr. ce imas kaksno standardno 8008/6800 vodilo, kot ga ima kaksen graficni LCD, kjer potem tisti CE signal uporabis kot clock. Ce pa prihajajo podatki od zunaj cisto asinhrono, je pa lahko velik problem, odvisno od razlike v hitrosti podatkov in hitrosti notranjega clocka. V vecini primerov se to da resiti, 100% pa ni, ker ce imas npr zelo hitro 16-bitno podatkovno vodilo, ne mores za vseh 16 flipflopov znotraj FPGA-ja zagotovit, da bodo v nulo natancno istem casu latch-ali svoj vhod, torej bi lahko prebrali napacne podatke, to se pa ne da resit tudi s sinhronizacijskimi flipflopi.

LP!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
andrej_s51mo
Neznanec
Neznanec



Pridružen-a: Čet 29 Maj 2014 9:05
Prispevkov: 2
Aktiv.: 0.02

PrispevekObjavljeno: Pon Jun 02, 2014 1:22 pm    Naslov sporočila:   Odgovori s citatom

///// ******** leto in pol kasneje *******************////

Si preveril ali ti vhod "zazvoni" pri spremebah stanja in fpga prebere več stanj?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Dorijan
Član
Član



Pridružen-a: Ned 22 Jun 2008 10:48
Prispevkov: 2481
Aktiv.: 12.93
Kraj: južnoprimorska

PrispevekObjavljeno: Pon Jun 02, 2014 1:34 pm    Naslov sporočila:   Odgovori s citatom

Poženi v FPGAju post-map simulation in boš videl kaj se dogaja v FPGAju pri "istočasni" spremembi nekaj bitnega vodila.

Ni veliko ampak tako zgleda znotraj FPGAja prehod stanj na 8bitnem portu, pa predstavljaj si kaj se bo dogajalo na tem prehodu v asinhronem vezju.



Wiki - Zim.jpg
 Opis:
 Velikost datoteke:  3.36 KB
 Pogledana:  15991 krat

Wiki - Zim.jpg



_________________
Če nekaj deluje, razstavi in ugotovi zakaj.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
trot
Član
Član



Pridružen-a: Čet 18 Jan 2007 20:25
Prispevkov: 1270
Aktiv.: 6.07
Kraj: glej fogl

PrispevekObjavljeno: Tor Jun 03, 2014 2:43 pm    Naslov sporočila:   Odgovori s citatom

To sem potem rešil tako kot je predlagal chaos in potem ni bilo več problemov. Končni rezultat je bil krmilnik linearnega servomotorja in ta sedaj dela brez problema - klik
_________________
lp, Klemen
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 -> FPGA in CPLD programabilna vezja Č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: 47 dni


Powered by phpBB © 2001, 2005 phpBB Group