PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Maximale Quarzfrequenz?



EDatabaseError
30.09.2006, 18:21
In meiner Anwendung bekomme ich 10000 Interrupts auf int0 pro SEKUNDE. Das is ne ganze menge ;-) in der ISR Muss ich einen Wert Incrementieren oder Deincrementiren und nebenbei noch einige kleine Abfragen machen. (Basic) Nun bin ich mir nicht sicher ob da 16 MHz reichen.

Ich verwende den ATmega 162. Leider kann ich aus dem Datenblatt nicht entnehmen wie viele MHz'e ich in das Ding reinjagen darf/kann. Ich schäte 32 MHz oder so müssten reichen.

Mfg
Tobi

PicNick
30.09.2006, 18:31
Bei 10000 Interrupts /sec heißt wohl, alle 100 µS ein Schnackler
In 100µS mach dein Seppel bei 16 MHZ immerhin 1600 Machine Cycles, das ist schon was.
Also mit ein bißchen Sparen ("nosave" etc.) geht es sich eventuell aus.

Kommt halt drauf an, was du alles zu tun hast.

EDatabaseError
30.09.2006, 18:38
Also:


Phase_a_edge: 'Interrupt on rising and falling edge
If Phase_b <> Phase_a Then 'test phase B
Decr Axis_raw 'CCW
Else
Incr Axis_raw 'CW
End If

if axis_raw = Pos1 then
q1 = 1
q2 = 0
q3 = 0
q4 = 0
end if

if axis_raw = Pos2 then
q1 = 1
q2 = 0
q3 = 0
q4 = 0
end if

if axis_raw = Pos3 then
q1 = 1
q2 = 0
q3 = 0
q4 = 0
end if

if axis_raw = Pos4 then
q1 = 1
q2 = 0
q3 = 0
q4 = 0
end if
Return

Also so siehts bisher aus *g* und dann können dazwischen au noch andere Interrupts kommen. Deshalb wäre es hilfreich zu wissen wie viel ich reinjagen kann.

izaseba
30.09.2006, 18:55
Leider kann ich aus dem Datenblatt nicht entnehmen wie viele MHz'e ich in das Ding reinjagen darf/kann. Ich schäte 32 MHz oder so müssten reichen.


Es steht auf der ersten Seite ...

Gruß Sebastian

EDatabaseError
30.09.2006, 19:06
möp :oops: also doch "nur" 16 MHz... würde dieser Bascomcode von da oben funken? also bei 16 MHz Quarz und 10000 ints pro sekunde also 10000 Hz

Rofo88
30.09.2006, 20:33
Spiel deinen Code mal mit dem Simulator durch...da wirste sehen wie lange er braucht!!!!

p.s. Man kann einen Atmel auch übertakten, die 32MHz wird er aber nie erreichen. Da gibts auch schon genug Themen drüber.

MfG

EDatabaseError
30.09.2006, 20:38
hast du da nen Link zum Übertakten?

Rofo88
30.09.2006, 20:47
geb mal "übertakten" in die Forum-Suche ein

EDatabaseError
30.09.2006, 20:51
da kommt viel ... und alle schreiben das es nicht sehr sicher ist :?

Frage zum simulator. Wie muss ich die Breakpoints... setzen um genau diese Routine von oben auwerten zu können?

linux_80
30.09.2006, 22:16
@EDatabaseError,
wir wissen ja nicht welche spezielle Funktion und Bauform Du vom M162er brauchst, aber schau Dir evtl. mal den Mega644 an, der kann bis 20MHz, sind auch wieder einige % mehr, und gibts in PDIP40.
Es gibt auch noch ein paar andere Megas die bis 20MHz gehen.