Sida 6 av 6
Re: Dividera encoder pulser
Postat: 9 april 2009, 19:54:51
av jesse
Delar PIC frekvensen med 4?
En AVR på 20MHz klarar 40 instuktioner på 2µS (fast vissa instruktioner går på 2 klockpulser). Då är det inte så omöjligt längre.
propeller - lite overkill med tanke på uppgiften kanske?

Re: Dividera encoder pulser
Postat: 9 april 2009, 21:00:40
av H.O
Japp, den interna cycel-tiden på en PIC (10, 12, 16 och 18 i alla fall) är 1/(Fosc / 4). Så med en 20Mhz kristall så kör den "5 MIPS". Alla instruktioner tar en cycel, utom hopp som tar två.
Har du kopplat nått ännu?

Re: Dividera encoder pulser
Postat: 9 april 2009, 22:35:25
av Larsson90
Vad menas med "Fosc" och MIPS (vill lära mig)? Är det någon som vet någon mer länk där man kan läsa/lära sig mer och PIC (lite mer detaljerat)?
Re: Dividera encoder pulser
Postat: 9 april 2009, 22:57:48
av bearing
Bland application notes på
http://www.microchip.com
På KTH. (Kurslitteraturen finns på nätet)
http://www.ict.kth.se/courses/IL131V/kursprogvt09.htm
Testa att skriva: wikipedia MIPS
i addressfältet i Firefox
Fosc är beteckningen på oscillatorns frekvens, vilken skiljer sig från instruktionsfrekvensen med faktor 4 på en PIC.
Re: Dividera encoder pulser
Postat: 9 april 2009, 23:54:14
av jesse
>Har du kopplat nått ännu?
nja... jag har i alla fall beställt kretsarna. Lyckades dock göra fel och får hem en OR-grind som skulle varit XOR

Det lär dröja i vilket fall, nu är det helg (=resa bort) och sedan jobb,jobb,jobb... men så småningom ska det väl bli något. Tänker simulera en encoder med hjälp av lite grindar och ev. en µC och sedan läsa av med oscilloskop. Har tyvärr ingen så fin logiklogger som du har.
Re: Dividera encoder pulser
Postat: 11 april 2009, 12:11:39
av jesse
Vet inte om det här är helt korkat (orkar inte tänka / har inte tid just nu) men jag kom plötsligt på en annan koppling som kanske fungerar?

Re: Dividera encoder pulser
Postat: 11 april 2009, 15:31:20
av BEEP
"propeller - lite overkill med tanke på uppgiften kanske?"
I assembler på Propellern så tar en instruktion fyra klockcykler vilket är lika många i sekunden som på en 20 MHz AVR och jag tror inte att man vinner så mycket på att dela upp processen.
µC måste hinna med att läsa encodern medans pulserna är höga eller låga vilket blir ca 24 klockcykler på en 20 MHz AVR. Utan att koda något så tror jag att det går åt ca 10 klockcykler för att läsa encodern och då har man 14 kvar som borde räcka för att dividera med 16 och skicka ut encoder pulser.
Edit:
Jag tror att jag har tänkt fel för AVR'en har bara 12 klockcykler för att hinna läsa A och B.
Re: Dividera encoder pulser
Postat: 14 april 2009, 20:53:29
av Larsson90
>1/(Fosc / 4)
Så en PIC är 4 ggr långsammare än en AVR?
Re: Dividera encoder pulser
Postat: 14 april 2009, 21:38:01
av bearing
Ibland kan PIC:en lösa samma uppgift med färre instruktioner, men generellt är en AVR snabbare vid samma klockfrekvens tror jag. Anledningen till att AVR kan utföra de flesta instruktioner på en klockcykel är att instruktionerna är "
pipelineade".