PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Was ist 1MHz



snygg
09.12.2006, 10:48
Hallo,

ich möchte einen ATmega16 programieren um eine Uhr zu bauen. Dazu muss ich jedoch wissen mit welchem Takt der µC läuft.

Im Datenblatt steht, dass die interne Clock ab Werk auf 1MHz gestellt ist.
Die frage ist nun, ob es sich um ein binäres M oder ein dezimales M handelt, also ob der Takt 1.048.576Hz oder 1.000.000Hz ist.

snygg

Jon
09.12.2006, 10:56
Soweit ich weiß sind es 1.000.000Hz. Nur ist der Quarz von der Umgebungstemperatur abhängig.
Wenn du also eine Uhr bauen willst solltest du einen externen Quarz nehmen.

jon

Artur
09.12.2006, 11:14
...
Die frage ist nun, ob es sich um ein binäres M oder ein dezimales M handelt, also ob der Takt 1.048.576Hz oder 1.000.000Hz ist.

snygg

Hi ,
ein M ist immer eine Million

Die Mbit , MB , und die Speicher M's - sind nur Auf-/Ab-gerundete Millionen
- Danke an die IBM , aber damals war Speicher noch sehr sehr Teuer.
Das sind dann aber auch die einzigen Ausnahmen.

Der Interner Takt eignet sich nur sehr bedingt für eine Uhr , es sei denn da komt noch ein FunkModul dazu.

Dazu nimmt ein 32,xyz khz Quarz und Oszilator ( der damit läuft )

Gruss
Artur

Jon
09.12.2006, 11:33
es sei denn da komt noch ein FunkModul dazu.
Was hat der Quarz mit einem Funkmodul zu tun?
Was soll da ein Funkmodul machen?

jon

Felix G
09.12.2006, 11:49
ein M ist immer eine Million

Die Mbit , MB , und die Speicher M's - sind nur Auf-/Ab-gerundete MillionenStimmt nicht ganz...
Ein Kilobyte sind 2^10 = 1024 Bytes, das hat aber nichts mit irgendwelchen Rundungsfehlern zu tun, sondern es hat sich im Computerbereich eben irgendwann durchgesetzt daß 1k nicht 1000 ist sondern eine 2er Potenz, nämlich 1024.

Aus diesem Grund wurde vor einiger Zeit etwas Ordnung in die Sache gebracht, und die auf 1024 basierenden Einheiten wurden umbenannt.

aus KB (Kilobyte) wurde KiB (Kibibyte), aus MB (Megabyte) wurde MiB (Mebibyte) und aus GB (Gigabyte) entsprechend GiB (Gibibyte). Klingt bescheuert, und kaum Jemand verwendet die neuen Bezeichnungen, ist aber so.

mehr zu dem Thema gibts auch hier: Wikipedia: Einheitenvorsätze (http://de.wikipedia.org/wiki/Einheitenvors%C3%A4tze)
und hier: Wikipedia: Binärprefix (http://de.wikipedia.org/wiki/Bin%C3%A4rpr%C3%A4fix)


Bei den Taktfrequenzen werden aber seit jeher die "klassischen" Einheitenvorsätze verwendet. Also wenn 1MHz drauf steht ist auch 1MHz drin.

Artur
09.12.2006, 13:06
...Was hat der Quarz mit einem Funkmodul zu tun?
Was soll da ein Funkmodul machen?

jon

Der Quarz / Der F-Teiler - braucht nicht 100% genau su laufen , wenn es in bestimmten abständen über das DSF77 ( ? ) Signal wieder Synchronisiert wird + brauchst dich nicht mehr um die Sommer-/ Norm- ( Winter-) Zeit umstellung zu kümmern

und wegen dem 2^10 werden dafür auch keine 1MHz Dinger verwendet sondern 32,xyz kHz Quarz

Gruss
Artur

snygg
09.12.2006, 15:14
ja, 2^10 (vom Timer prescaler) passt einfach net gescheit mit 1MHz zusamen... schade, aber ich kann den Fehler ja ausrechnen und korigieren.

Jup, ich will ein Funk modul verwenden, nur soll die Uhr eben auch halbwegs gescheit weiter laufen wenn das DCF-77 (!) Signal mal nicht empfangen wird.
(DCF-77: D = Deutschland, C = Langwelle, F = Frankfurt, sendet auf 77,5kHz)

JonnyP
09.12.2006, 19:06
Nimm doch einen Quarz von 2,048 MHz, den kannst du locker mit dem Timer auf Sekundentakt runterteilen. Oder einen Uhrenquarz mit 32.768 kHz.

Bei (k)ilo und M(ega) handelt es sich um 10er Potenzen.
Das die Halbleiterindustrie sich von z.B. 1024 auf 1000 abgeseilt hat geschah doch nur, um dann mit größeren Zahlen z.B. bei Festplatten protzen zu können.

snygg
10.12.2006, 22:03
scha la la la la,

mir ist gerade was aufgefallen:

Ich will ca 80 LEDs ansteuern. Da das ja mit dem µC so erstmal nicht geht, unterteil ich die 80 LEDs in 5 Bänke à 16 LEDs die ich mit ~1kHz "blinken" lassen will.
Bei 1kHz und 5 Bänken und einem Prozessortakt von 1MHz muss der Timer alle 200 Takte einen Interrupt auslösen durch den dann die nächste LED Bank angesteuert wird
=> ich brauch gar keinen Prescaler, da der Timer locker bis 200 Zählen kann.

Also hat sich auch das mit Problem von selber gelöst... musst einem nur mal auffallen, dass garkein problem existiert :)

Ein 32.768 kHz Quarz ist (wie man oben sieht) viel zu langsam für mich.

Felix G
10.12.2006, 23:14
Bei (k)ilo und M(ega) handelt es sich um 10er Potenzen.
Das die Halbleiterindustrie sich von z.B. 1024 auf 1000 abgeseilt hat geschah doch nur, um dann mit größeren Zahlen z.B. bei Festplatten protzen zu können.Also das ergibt aber irgendwie keinen Sinn...

Angenommen wir hätten einen Speicher mit einer Größe von genau 1024 Bytes.
Bei Verwendung der normalen Einheitenvorsätze würde sich damit ein Wert von 1.24kB ergeben.
Nutzt man aber die "falschen" auf 2er Potenzen basierenden Vorsätze, dann dürfte man nur 1.0kB auf den Speicher schreiben.

Es verhält sich also genau umgekehrt, und das was in der Computerindustrie inkorrekterweise als Kilobyte bezeichnet wird, sind eigentlich 1.24 Kilobyte.

JonnyP
11.12.2006, 19:34
Es gibt da kein richtig oder falsch. Um dein Beispiel etwas zu erweitern:
Man schreibt z.B. auf eine Festplatte 107(,3742) GB, das sind 7% mehr als die "läppischen" 100 GB, die dein PC "sieht". Die Angabe ist dezimal, aber der PC rechnet binär.
Schau mal in den einschlägigen Foren, da gibt es oft die Fragen: Ich habe eine Festplatte von so und so groß gekauft, aber mein PC zeigt mir NUR soviel an.

Felix G
11.12.2006, 20:09
Das ist mir bekannt...

ich wollte nur anmerken, daß die Angaben - z.B. auf Festplatten - nicht "geprotzt" sind, sondern völlig korrekt.

Richard
05.01.2007, 17:42
Es verhält sich also genau umgekehrt, und das was in der Computerindustrie inkorrekterweise als Kilobyte bezeichnet wird, sind eigentlich 1.24 Kilobyte.

Moin moin,

Der Unterschied liegt im Zahlensystem und unsere Gewohnheit für
"1000" Kilo zu sagen. ein "Kilobyte" besteht aber aus 1024 BIT

Dual Zahlensystem <=> Dezimalzahlensystem

8 Bit = 255
9 Bit = 512
10 Bit = 1024

Gruß Richard

SIGINT
05.01.2007, 18:31
@Richard:



Der Unterschied liegt im Zahlensystem und unsere Gewohnheit für
"1000" Kilo zu sagen. ein "Kilobyte" besteht aber aus 1024 BIT


Und das ist genau falsch! Das hat nix mit "Gewohnheit" zu tun: Es gibt das
SI-Einheitensystem, das international anerkannt ist. (Zitat Wikipedia: "In der Europäischen Union und den meisten anderen Staaten ist die Benutzung des SI im amtlichen oder geschäftlichen Verkehr gesetzlich vorgeschrieben;")
Im SI ist "kilo" das 10^3 (1000) fache der Grundeinheit.... da gibts nix zu diskutieren. Das ist auch im Computerbereich so: 1 kiloByte = 1000 Byte !!!
Früher wurde fälschlicherweise gesagt, daß 1 kiloByte = 1024 Byte sind... das kommt bekannterweise von den 2er Potenzen. Mittlerweile hat man aber gesagt, daß die SI Einheiten vorrang haben und man hat extra neue Binärprefixe eingeführt:
http://de.wikipedia.org/wiki/Bin%C3%A4rpr%C3%A4fix

Offiziell ist nun also folgendes richtig:
1 kiloByte = 1000 Byte
1 kibiByte = 1024 Byte

Hört sich komisch an, ist aber internationale Norm!

Soviel von meiner Seite,
SIGINT