Forum: Mikrocontroller und Digitale Elektronik Tolleranz bei der Berechung wegen Timerschritten


von Damian (Gast)


Lesenswert?

Um die frage mal allgemein zu gestalten, habe einen ATMega mit einem 
14,7456MHz Bautratenquarz. Möchte nun etwas möglichst schnell berechnen 
wo die Zeit in der Formel vorkommt. Damit mir das von den Maseinheiten 
aufgeht, müsste ich die Zeit auf mögichtst genau 1us Schritte haben (am 
liebsten wären mir der Timer hätte count's a 1us, was leider nicht geht, 
da der Bautratenquarz gegeben ist). Ich habe aber im genauesten fall nur 
counts a 0.542us sprich 2 count's entsprechen 1,084us sprich mein 
resulat wird mir dauernd 8.4% zu gross.
Wenn ich also was gemäss meiner formel bereche, wird das resultat um 
diese 8.4% zu gross. Möchte diese nun möglichst einfache und schnell 
(ohne divisionen, real, etc) korrigieren.
Was gitbs da so standartmässig für Möglichkeiten???

von Falk B. (falk)


Lesenswert?

@Damian (Gast)

>14,7456MHz Bautratenquarz. Möchte nun etwas möglichst schnell berechnen
>wo die Zeit in der Formel vorkommt. Damit mir das von den Maseinheiten
>aufgeht, müsste ich die Zeit auf mögichtst genau 1us Schritte haben (am
>liebsten wären mir der Timer hätte count's a 1us, was leider nicht geht,
>da der Bautratenquarz gegeben ist). Ich habe aber im genauesten fall nur
>counts a 0.542us sprich 2 count's entsprechen 1,084us sprich mein
>resulat wird mir dauernd 8.4% zu gross.

Welches Resultat? Eine Zahl im Programm oder eine generierte Pulsbreite?

Quelltext?

>Wenn ich also was gemäss meiner formel bereche, wird das resultat um
>diese 8.4% zu gross. Möchte diese nun möglichst einfache und schnell
>(ohne divisionen, real, etc) korrigieren.

>Was gitbs da so standartmässig für Möglichkeiten???

Sag doch erstmal WAS du WIE berechnen willst. Formel?

MFg
Falk

von spess53 (Gast)


Lesenswert?

Hi

Manchmal muss man Kompromisse machen. Wenn du keine grossen Baudraten 
(>57600 Baud) benutzt ist der Bauratenfehler mehr als ausreichend klein. 
Dafür bekommst du eine genaue µs. Wenn du auf deinem Baudratenquarz 
beharrst, musst du mit der ungenauen µs leben.

"In zweifelhaften Fällen, entscheide man sich für das Richtige"
Karl Kraus

MfG Spess

von Peter D. (peda)


Lesenswert?

Damian wrote:
> Wenn ich also was gemäss meiner formel bereche, wird das resultat um
> diese 8.4% zu gross. Möchte diese nun möglichst einfache und schnell
> (ohne divisionen, real, etc) korrigieren.

Was hast Du denn gegens Rechnen?
Dafür sind doch MCs gemacht, die rechnen gerne.

Ein krumme Zahl ist außerdem nur reine Ansichtssache, mathematisch ist 
sie genau so gut, wie ne glatte.


Peter

von Sascha (Gast)


Lesenswert?

@Damian

wenn du bei 14MHz Taktfequenz eine Zählfequenz von 1MHz erreichen 
willst, so hast du zwischen zwei count's eh nur 14 Takte zur Verfügung. 
Da wird nach Abzug der Takte die deine Zählung benötigt keine Zeit mehr 
bleiben überhaupt irgend etwas zu berechnen.

Sascha

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.