Forum: Mikrocontroller und Digitale Elektronik frequenzen , takte, bits


von juniorone (Gast)


Lesenswert?

hallo,
erstmal sorry für den doppelten eintrag hier und in programmierbare
logik(denke aber das ich hier richtig bin).

also,bin neu in diesem gebiet und habe folgende frage:
ich möchte mich mit datenübertragung beschäftigen und habe im moment
kein schimmer davon.

möchte wissen wie ich die bit anzahl berechnen kann wenn ich
datenübertrage im 1 Hz bis 1MHz bereich (was es mit takten auf sich hat
usw.).
habe mich mit crc-32 auseinander gesetzt und nun fehlt mir der
zusammenhang wie ich weiter mein verständnis dafür entwickeln kann(habe
nichts bis dato im internet gefunden und bin gerade auf diese seite
gestossen).
habe das crc prinzip verstanden aber kann mir nicht vorstellen wie ich
jetzt mit frquenz und takten dies verbinden kann.

wäre über jede antwort dankbar........(links zu seiten die mir weiter
helfen)


danke
juniorone

von Oliver (Gast)


Lesenswert?

??? würd dir gerne helfen, verstehe deine frage aber nicht so richtig.
die crc wird zur prüfummenberechnung bei datenübertragungen eingesetzt
deren übertragungsgeschwindigkeit in bit/sec bzw. Mbit/s gemessen
wird.
da man normalerweise eine information (bit) pro takt und signalleitung
überträgt, hat man somit 1 bit pro takt übertragen.
wieviele informationen du nun pro sekunde maximal übertragen kannst
hängt nun von der hardware ab.
vorausgesetzt deine hardware kann nun z.b. 1234 bit/s übertragen ergibt
sich hieraus eine taktfrequenz von 1234 Hz bzw. eine taktrate von 1234
takte/s wobei die periodendauer eines takts und somit eines bits 1/1234
= 0,81037 ms beträgt.
gruß oliver

von juniorone (Gast)


Lesenswert?

hallo,
danke erstmal für die antwort.
versuche es nochmal besser zu erklären.
wenn ich z.B. ein messsystem habe das eine frequenz bis 10 kHz erfasst,
und ich möchte ein signal übertragen, so muss man zunähst zur sicherung
der übertragung die crc32 prüfsummenberechnung durchführen und den rest
des gesammtpolynoms an die daten anhängen.

frage:
wie passiert das genau?
ist jetzt z.b. 10kHz gleich 10kbits zu setzten + die crc restsumme?

wenn ich die letzte antwort richtig verstanden habe,
und ich eine hardware habe die z.B. 1 kbit/s übertragen kann, so ist
die taktfrequenz  1 kHz bzw. die taktrate 1 ktakte/s und die
periodendauer eines takts und somit eines bits 1/1000 = 1 ms. also
bräuchte man zur übertragung von 10 kbit, 10k/1k = 10 ms.

mfg
juniorone

von Nicky (Gast)


Lesenswert?

Hallo,

so wie es klingt, stehts du am Anfang deiner Schaffenskraft!

Fang doch erst mal langsam an, man benötigt nicht immer die crc
prüfung. das ist zwar interessant, und auch alles schön, aber du redest
immer vom messsystem ????

für ein messsystem, brachst du die crc prüfung nicht, eher für die
übertragung und da auch nicht immer. ist von deinem
übertragungsprotokoll, dem anwendungsfall und der hardware abhängig.

beschreib mal näher, was du vor hast! deine "bessere erklärung"
stimmt genau.

XX Takte je sekunde ergeben deine xxHz = xx 1/s
und je takt kannst du 1 bit übertragen (auf einer leitung)

bei paralleler übertragung halt entsprechend deiner Busbreite (z.B. 8
bit breite = 1 byte/takt --> 8 Datenleitungen nötig)

mfg
nicky

von Oliver (Gast)


Lesenswert?

servus,

zuerst zu deiner rechnung bei deiner antwort:
wenn du mei einer taktrate von 1kHz bzw. 1kbit/s 10kbit übertragen
willst brauchst du dafüe eine zeit von 10kbit / 1kbit/s = 10s
bein thema meßsystem wird es noch etwas interessanter :

bei analoger betrachtung sollte dein meßsystem immer schneller abtasten
als dein eingangssignal ( stichwort : shannonsches abtasttheorem ), die
besagt daß du dein meßsystem mindestens doppelt so schnell abtasten
sollte wie deine eingangsfreqenz, ich empfehle jedoch 10 bis 50 mal so
schnell wenn du dir das digitalsinal optisch und analog betrachten
willst.

bei einer digitalen betrachtung mußt du dich um eine synchronisierung
mit deinem eingangssignal kümmern. hier gibt es zwei bis drei
unterschiedliche ansätze. entweder führst du über eine seperate leitung
ein taktsignal vom sender mit oder du mußt aus dem signal deines senders
ein taktsignal auf meßseite gewinnen können. letzteres verfahren läßt
sich dann auch wieder in zwei kategorien unterteilen.

würde dir gerne helfen, aber du siehst ja, da stekt schon einiges an
unterschiedlichen betrachtungsweisen dahinter. probier mal bis ind
detail zu erkären was du machen willst so a la: ich habe da eine uhr
die die zeit seriell ausgibt und ich möchte sie mit einer digitalen
meßkarte erfassen.

gruß oliver

von juniorone (Gast)


Lesenswert?

hallo,
danke erstmal für eure antworten.

damit ich das ganze system verstehe, werde ich jetzt von anfang an
alles püapü im detail erklären was mich interessiert. wollte es
eigentlich nicht so machen, da ich wahrscheinlich dan fragen stelle die
simpel sind und vorrauszusetzten sind. aber ich tue es mal.

also was mich interessiert ist, ich habe ein sensor der schwingungen
erfasst, diese messdaten sollen mit einem A/D wandler (mikrocontroller)
digitalisiert werden.danach sollen diese daten zu meinem pc sicher
übertragen werden. das ist das was eigentlich dahinter steckt. ich
würde jetzt gerne wissen wie das im detail funktioniert, wo drauf man
aufpassen muss usw (frequenzen, bandbreite, bit.....).(habe nicht viel
ahnung davon!)

zunächst ist mir das mit der bandbreite nicht ganz klar, z.B. eine
gängige bandbreite ist z.B. 1024, was heist das genau? das man 1024
signale/werte aufnehmen kann, dabei sollte die bandbreite doppelt so
gross sein wie das eingangssignal, d.h. eingangssignal höhstens 512
werte? wie ist da die verbindung mit der bandbreite, frequenz und bit
genau zu sehen? (ist bandbreite auch frequenz?)

als nächstes wandelt man das analoge signal in ein digitales signal um.
wie kann ich mir das vorstellen? was kommt da genau als analog an und
was bekomme ich als digital raus? wie sind die verhältnisse zu
einander? (z.b. sinusperiode -> bit?)

dann habe ich ein digitales signal in bit bzw. byte und dieses signal
möchte ich übertragen. das hängt ja von der hardware ab die das signal
überträgt, wie lange es dauert usw.

so, denke das reicht erstmal, vielen dank im vorraus für euere hilfe.

mfg
juniorone

von Andreas Schwarz (Gast)


Lesenswert?

Ehrlich, ich glaube so wirst du nicht weiterkommen. Mit den Antworten
auf diese Fragen könnte man Bücher füllen; aber Bücher darüber gibt es
schon genug, deshalb empfehle ich dir mal ein paar davon auszuleihen
und zu lesen. Das ist natürlich nicht in 5 Minuten getan.

Eine gute Webseite für den Einstieg ist
http://elektronik-kompendium.de/. Konkrete Tipps für Bücher habe ich
leider nicht (aber sicher jemand anders hier im Forum).

von Michael Melzer (Gast)


Lesenswert?

oder du überprüfst das nochmal auf richtigkeit

von Oliver (Gast)


Lesenswert?

mit den büchern muß ich andreas schon recht geben, da hast du schon ein
sehr breites themenfeld vor dir.
aber versuchen wir es schritt für schritt zu lösen:
wie lange soll deine messung dauern?
mußt oder willst du dir die meßdaten während oder nach der meßung auf
dem pc ansehen ( letzteres ist schwieriger )?
welche maximale frequenz haben deine schwingungen ?
welche auflösung (bit) hat dein ad wandler?
wie soll der mikrocontroller mit den pc kommunizieren ( serielle
schnittstelle )?
welchen microcontroller verwendest du?
gruß oliver

von juniorone (Gast)


Lesenswert?

hallo,
danke erstmal an alle.
vorab wollte ich noch sagen, das dies ein projekt ist, ich bin am
anfang meines studiums maschinenbau und es gibt von profs verschiedene
projekte, dieses projekt hat nicht viel mit maschinenbau zu tun aber
ich finde es sehr interessant und wollte mal schauen ob ich in der
gruppe mit machen kann. der prof hat mir nur das prinzip erklärt, und
was zunähst gemacht bzw. errechnet werden soll. deshalb weiss ich nicht
alle daten zu den geräten.

<versuchen wir es schritt für schritt zu lösen:
<wie lange soll deine messung dauern?
z.B. 1,5 s.

<mußt oder willst du dir die meßdaten während oder nach der meßung <auf
dem pc ansehen ( letzteres ist schwieriger )?
nach der messung, da die daten noch bearbeitet werden sollen(z.B. fft)


<welche maximale frequenz haben deine schwingungen ?
ich meine 1 Hz bis 1 MHz

<welche auflösung (bit) hat dein ad wandler?
weiss ich nicht, dies soll glaube ich errechnet werden!

<wie soll der mikrocontroller mit den pc kommunizieren ( serielle
<schnittstelle )? es soll drathlos übertragen werden, wie genau ?
die erste frage die der prof gestellt hat war, wieviele bits ich
brauche um 1Hz bzw. 1MHz zu übertragen (+ CRC32 Prüfsumme). dann würden
wir uns zusammensetzten und weitere dinge besprechen.

für mich wäre also zunächst wichtig wieviele bits bzw. bytes ich
brauche, falls man dies wegen fehlender informationen nicht errechnen
kann, könnte man ja werte annehmen, damit ich den rechnen vorgang
verstehe und dies dann auf die wirklichen werte anwenden kann.

wäre sehr dankbar für eure hilfe, oder meint ihr ich soll es lieber
seinlassen? werde mich aufjedenfall weiter informieren, bis ich es
begreiffe.

mfg
juniorone

von Oliver (Gast)


Lesenswert?

ok, nun kommen wir langsam weiter.
betrachten wir zunächst die mewßwerterfassung.

da du frequenzen bis 1MHZ erwartest mußt du dein analoges meßsignal des
sensors mit mindestens 2Mhz abtasten ( shannonsches abtasttheoren ).
wenn der mikrocontroller schneller kann, würde ich da auch noch ein
paar Mhz drauflegen, jedoch nicht zuviel da du  das meßsignal ja durch
eine fft und nicht optisch betrachten willst. ein erfahrungswert sind 4
MHz, streng genommen tun es aber auch 2. Du mußt jedoch sicherstellen
daß es keine höherfrequenten schwingungen aus dem sensor rauskommen (
eventuell das anlaoge signal des sensors mit einem tifpaßfilter höherer
ordnung filtern ).
nur zur info : das analoge signal hat nun eine bandbreite von 1MHz und
deine abtastrate ist 2 bzw 4 MHz, dh. das analoge signal wir alle 500
bzw. 250ns vom mikrocontroller abgetastet.
der ad wandler hat immer eine feste auflösung meißt 8,12,14 bit ( 10
oder 16 sind auch möglich ).
info der mikrocontroller produziert also 2Mhz*12bit=24Mbit/s was sich
keinesfalls online über eine normals serielle schnittstelle übertragen
läßt.

so nun sind wir im mikrocontroller
dieser tastet nun das signal mit 2Mhz ab und hat eine auflösung von 12
bit, dh. in einer sekunde muß er 2.000.000 mal einen meßwert von z.b.12
bit speichern, das entpricht einer datenmenge von 24 Mbit oder 3 Mbyte
wenn du die daten optimal im speicher des mikrocontroller
zwischenspeicherst. da jedoch die speicherzellen meißt mit 8,16 oder 32
bit angesprochen werden ist eine speicherplatzbedarf von 2M*16bit=4Mbyte
zu reservieren, was schon ganz schön viel für einfache mikrocontroller
ist.

so, nun haßt du die daten im mikrocontroller und alle zeit der welt
diese mit crc32 zu versehen und zu übertragen. hier hängen bandbreite
taktrate usw. nur noch von deiner schnittstelle ab und sind von der
meßung unabhängig

so, nun fahr ich in urlaub
wünsche dir noch viel spaß
oliver

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.