Dividera encoder pulser

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Dividera encoder pulser

Inlägg 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? :roll:
H.O
Inlägg: 5902
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Dividera encoder pulser

Inlägg 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? ;-)
Larsson90
Inlägg: 646
Blev medlem: 24 december 2008, 21:43:25
Ort: Göteborg

Re: Dividera encoder pulser

Inlägg 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)?
bearing
Inlägg: 11670
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Dividera encoder pulser

Inlägg 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.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Dividera encoder pulser

Inlägg 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.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Dividera encoder pulser

Inlägg 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?

Bild
Användarvisningsbild
BEEP
EF Sponsor
Inlägg: 1593
Blev medlem: 21 januari 2006, 16:57:56
Ort: Mölndal

Re: Dividera encoder pulser

Inlägg 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.
Larsson90
Inlägg: 646
Blev medlem: 24 december 2008, 21:43:25
Ort: Göteborg

Re: Dividera encoder pulser

Inlägg av Larsson90 »

>1/(Fosc / 4)

Så en PIC är 4 ggr långsammare än en AVR?
bearing
Inlägg: 11670
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Dividera encoder pulser

Inlägg 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".
Skriv svar