Hallo zusammen, ich benötige mal Hilfe von den Spezialisten hier. Ich möchte mit einem Mikrocontroller Daten einlesen, die über ein normales Telefonkabel bitseriell übertragen werden. Takt und Daten werden vom Sender gemeinsam über einen Leiter übertragen. Der Leitungscode ist so gewählt, dass eine Taktrückgewinnung möglich wird, da jedem Bit eine Flanke vorausgeht. Der Leitungscode ist allerdings kein gebräuchlicher. Die Frequenz beträgt etwa 5 kHz. Folgende allgemeine Fragen: 1. Welche Methode zur Taktrückgewinnung würdet Ihr mir vorschlagen, ich hatte an eine Flankenerkennung gedacht, eignet sich diese Methode? 2. Wenn Flankenerkennung, wie bestimme ich die richtigen Schaltpegel für die Komparatoren? Gibt es feste Formeln dazu ? 3. Welche Störeinflüsse können auftreten, hat die Frequenz irgendwelche Einflüsse ? 3. Mit welcher Methode würdet Ihr das Bit bzw. die Zeichen anschließend abtasten um den logischen Zustand zu bestimmen? Danke vorab
:
Bearbeitet durch User
Michael S. schrieb: > 1. Welche Methode zur Taktrückgewinnung würdet Ihr mir vorschlagen, ich > hatte an eine Flankenerkennung gedacht, eignet sich diese Methode? Vermutlich ja.. Flanke erkennen und dann, abhängig von deinem Leitungscode abtasten Michael S. schrieb: > 2. Wenn Flankenerkennung, wie bestimme ich die richtigen Schaltpegel für > die Komparatoren? Gibt es feste Formeln dazu ? Das gibt dir doch deine Spezifikation des Signals vor.. Low-Schwelle, High-Schwelle.. entsprechend dieser legst du deinen Komparator aus Michael S. schrieb: > 3. Welche Störeinflüsse können auftreten, hat die Frequenz irgendwelche > Einflüsse ? z.B. kurzzeitige Störungen des Signals. Wenn diese deutlich kürzer als eine Bitzeit sind, kann diese entsprechend gefiltert werden Michael S. schrieb: > 3. Mit welcher Methode würdet Ihr das Bit bzw. die Zeichen anschließend > abtasten um den logischen Zustand zu bestimmen? Mit der für deinen (unbekannten) Leitungscode geeigneten
Michael S. schrieb: > 3. Welche Störeinflüsse können auftreten, hat die Frequenz irgendwelche > Einflüsse ? Wenn man Signale über Optokoppler schickt (was bei längeren Leitungen vorteilhaft ist, um eine galvanische Trennung zu haben), kann die Pulsdauer signifikant verändert werden, wenn sich Ein- und Ausschaltzeiten des Optokopplers unterscheiden. Das dürfte bei deinen 5 kHz aber noch keine Rolle spielen, erst so im MHz-Bereich. Duke
@Schlumpf: Sry, ich hatte vergessen zu erwähnen, dass dieses Signal drei Pegel hat, da alle Empfänger über das Signal auch mit Energie versorgt werden. Vor jedem Bit fällt die Spannung ab. Das bedeutet ich benötige einen Komparator für den Takt und einen für das Bit. Bsp: Stell Dir vor Du hast drei Pegel, 12 V für Energie dann eine fallende Flanke auf 3 V für High oder 0V für low usw. Legt man die Schwellen denn am besten immer genau in die Mitte, zwischen min und max oder gibt es da auch theoretische Ansätze die man verfolgen muss? Danke vorab
:
Bearbeitet durch User
Ich würde die Schwelle in die Mitte legen. Spricht ja erstmal nix dagegen. Duke
Michael S. schrieb: > Bsp: Stell Dir vor Du hast drei Pegel Mach hier keine Rateshow, wo sich jeder etwas Anderes vorstellen könnte, sondern nenne Ross und Reiter! Serielle Übertragung über eine einzelne Ader gibt es, seitdem es Telegrafie gibt. Welches Prinzip bzw. Protokoll sollen wir für dich betrachten?
> Der Leitungscode ist so gewählt, dass eine Taktrückgewinnung möglich wird,
Und ohne Kenntnis des Leitungscodes lässt sich rein gar nichts zur
Taktrückgewinnung sagen.
Michael S. schrieb: > Bsp: Stell Dir vor Du hast drei Pegel, 12 V für Energie dann eine > fallende Flanke auf 3 V für High oder 0V für low usw. Legt man die > Schwellen denn am besten immer genau in die Mitte, zwischen min und max > oder gibt es da auch theoretische Ansätze die man verfolgen muss? und zwischen den Bits geht das Signal immer wieder auf 12V zurück? Also 12V -> 3V = Logisch 1 12V -> 0V = Logisch 0 3V -> 12V = Keine Information 0V -> 12V = Keine Information Richtig so? Wenn das so ist, dann würde ich zwei Komparatoren verwenden. Einer hat die Schwelle bei 5V (Komparator A)und einer bei 1,5V (Kpmparator B) Dann kannst du anhand der Zustände des aktuellen und des vorangegangenen Abtastzyklus feststellen, ob eine steigende oder fallende Flanke aufgetreten ist und welche Pegel dabei anlagen. Aber Achtung: bei einer Flanke 12 -> 0 sind ja theoretisch beide Komparatoren aktiv. Wenn du aber genau während der Flanke abtastest kann sein, dass gerade erst Komparator A geschaltet hat und B noch nicht. Daher solltest du auf jeden Fall ein weiteres mal abtasten und das Ergebnis auf plausibilität prüfen.
Route 6. schrieb: > Mach hier keine Rateshow, wo sich jeder etwas Anderes vorstellen könnte, > sondern nenne Ross und Reiter! Verdirb doch den devoten und diensteifrigen Usern des Froums nicht den Spaß.
Danke erstmal allen, dass das überhaupt wieder so schnell geht ... @Schlumpf: Das Signal sieht genau so aus wie Du es beschrieben hast, zwischen den Bits geht es auf 12 V zurück. Die Bitzeit und die Zeit für die Pause ist im übrigen gleich lang. Nach den Datenrahmen sind etwas längere 12 V strecken zur Resynchronisation vorhanden. Ich werde den Ansatz mit der Flankenerkennung jetzt weiter verfolgen. >"Aber Achtung: bei einer Flanke 12 -> 0 sind ja theoretisch beide >Komparatoren aktiv. Wenn du aber genau während der Flanke abtastest kann >sein, dass gerade erst Komparator A geschaltet hat und B noch nicht. >Daher solltest du auf jeden Fall ein weiteres mal abtasten und das >Ergebnis auf plausibilität prüfen." Nachdem ich den Takt an einem digitalen Eingang aufnehme, habe ich vor, eine Zeit zu warten und dann erst mit (Komparator B) abzutasten und dann mehrmals, dann sollte es ja passen. Nochmal ein paar (ja vielleicht) blöde Fragen zum theoretischen Verständnis. Zunächst mal diese hier. bei Wikipedia steht: "Grundsätzlich kommen zur Taktrückgewinnung zwei verschiedene Verfahren zum Einsatz: -Nichtlineare Verzerrung des Eingangssignals -Entscheidungsrückgekoppelte Verfahren mit adaptiven Filtern." Welchem Verfahren wird die Flankenerkennung denn nun zugeordnet, oder sprechen wir überhaupt nicht über eine Taktrückgewinnung, sondern gibt es eine andere Bezeichnung? @Route 66: Kann ich leider nicht ... Danke vorab
:
Bearbeitet durch User
Michael S. schrieb: > @Route 66: Kann ich leider nicht ... Keine Arme (Info) -> keine Kekse (Hilfe).
Michael S. schrieb: > Welchem Verfahren wird die Flankenerkennung denn nun zugeordnet, oder > sprechen wir überhaupt nicht über eine Taktrückgewinnung, sondern gibt > es eine andere Bezeichnung? Du brauchst den Takt doch gar nicht zurückgewinnen, denn der wird ja bei jedem einzelnen Bit mitübertragen... > sprechen wir überhaupt nicht über eine Taktrückgewinnung, sondern gibt > es eine andere Bezeichnung? Ich würde es einfach "Signalauswertung" nennen. Michael S. schrieb: > 2. Wenn Flankenerkennung, wie bestimme ich die richtigen Schaltpegel für > die Komparatoren? Gibt es feste Formeln dazu ? Was für Komparatoren? Du musst das Signal eigentlich nur so konditionieren, dass du es mit einem schnarchlangsamen µC-Pin abtasten kannst. > Der Leitungscode ist allerdings kein gebräuchlicher. Zeig doch einfach mal ein Bild davon... > 3. Mit welcher Methode würdet Ihr das Bit bzw. die Zeichen anschließend > abtasten um den logischen Zustand zu bestimmen? Hinreichend schnell. BTW: was hat die Frage eigentlich mit "FPGA, VHDL & Co." zu tun?
Lothar M. schrieb: > Was für Komparatoren? Du musst das Signal eigentlich nur so > konditionieren, dass du es mit einem schnarchlangsamen µC-Pin abtasten > kannst. Das Signal kann 3 Pegel annehmen.. Das wird mit einem µC-Pin schwierig, wenn man nicht nen AD-Wandler nehmen will.. Lothar M. schrieb: > BTW: was hat die Frage eigentlich mit "FPGA, VHDL & Co." zu tun? Hab ich mich auch schon gefragt :-)
@Michael S. (newby101) >Leitungscode ist allerdings kein gebräuchlicher. Welcher ist es denn? Siehe Netiquette! >1. Welche Methode zur Taktrückgewinnung würdet Ihr mir vorschlagen, ich >hatte an eine Flankenerkennung gedacht, eignet sich diese Methode? Kann man ohne Kenntnis des Leitungscode nicht sagen. Aber die Flanken müssen so oder so erkannt werden, denn das sind die einzigen Zeitmarken die du hast ;-) >2. Wenn Flankenerkennung, wie bestimme ich die richtigen Schaltpegel für >die Komparatoren? Gibt es feste Formeln dazu ? Ohne die Kodierung kann man da gar nicht sagen. Du mußt aber 2 Stufen trennen. 1.) Analoge Signalaufbereitung (Filterung) + AD-Wandlung. Da kann ein Komparator reichen, ggf. braucht man mehrere oder gar einen AD-Wandler. Kommt auf den Code an. 2.) Digitale Verarbeitung mit Flankenerkennung und Dekodierung. >3. Welche Störeinflüsse können auftreten, Viele. > hat die Frequenz irgendwelche Einflüsse ? NIEMALS! (wait . . .) >3. Mit welcher Methode würdet Ihr das Bit bzw. die Zeichen anschließend >abtasten um den logischen Zustand zu bestimmen? Siehe oben. >Danke vorab Hausaufgaben? Projektarbeit?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.