www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Signalerkennung


Autor: Stefan Müller (skysurfer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich hab 2 Signale auf einem Bus das eine mit 4810 Bit/s das andere mit
2405 Bit/s wie kann ich mit einem AVR am einfachsten erkennen um welchen 
Signaltyp es sich handelt?

Gruß SkySurfer

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klingt nach serieller Übertragung, oder?

Werden die Signale asynchron (ohne Clocksignal wie bei RS232) oder 
synchron (mit Clocksignal wie bei SPI) übertragen?

Wenn du ein Clocksignal anzapfen kannst, musst du nur die Periodendauer 
messen.

Gruß,
Magnetus

Autor: Ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohne Taktsignal muss sich im Datensignal irgendwo ein Sync-Muster 
befinden,damit der Empfänger feststellen kann wo ein Datenpaket 
beginnt/endet.Und das besteht meistens aus einer 1/0/1 oder 
0/1/0-Folge,so das sich damit die kürzeste Bitdauer ergibt.Also einfach 
einige Zeit auf den Bus schauen und aus der kürzesten Zeit schwischen 2 
Flanken dann die Bitdauer berechnen.

Wie Magnus schon sagte:Das gilt bei serieller Kommunikation.Werden die 
Daten hingegen z.B. im Frequenzmultiplex (oder Zeitmultiplex wie z.B 
PCM30 ISDN/Telefon) übertragen,ist es dann nicht mehr so einfach.

Erzähl doch mal,was für ein Bus das ist.CAN,ASi,Interbus,etc?

Autor: Stefan Müller (skysurfer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Daten sind Seriell ohne Sync Signal ...  dann werde ich mal schauen 
ob ich da ein SyncMaster finde.

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nochmal nachgehakt:

Geht es nun darum, dass du einen seriellen Bus hast der die Daten 
ENTWEDER mit 4810 Bits / Sekunde ODER mit 2405 Bits / Sekunde 
überträgt, oder ist es doch eher so, dass die Wertigkeit der Bits durch 
unterschiedlich lange Pulse festgelegt wird???

Gruß,
Magnetus

Autor: Stefan Müller (skysurfer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es werden Datenpakete versendet und das mit 2 unterschiedlichen 
Geschwindigkeiten also entweder 4810 B/s  oder 2405 B/s also kein PWM 
wie du damit wohl andeuten wolltest.

Mein Ansatz war jetzt das Signal auf PD6 eines ATTiny2313 zu legen damit 
müsste ich ja während dem Empfangen die Geschwindigkeit bestimmen können 
und wenn es die falsche Geschwindigkeit ist die Daten einfach verwerfen.

Oder hab hab ich da ein Denkfehler drin?

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du willst nicht wirklich behaupten, dass die Daten in ein und der selben 
Anwendung von ein und der selben Quelle je nach Lust und Laune mal mit 
der einen Baudrate (2405 Baud) und mal mit der anderen (doppelten) 
Baudrate (4810 Baud) gesendet wird?!? Wer baut / programmiert denn so 
einen Mist??!

Gruß,
Magnetus

Autor: Stefan Müller (skysurfer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist ein Bussystem von Motorola. Nur werden keine Chips mehr dafür 
hergestellt aber das System ist eben nach wie vor im Einsatz. So muss 
man sich eben an die Gegebenheiten anpassen.

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
alle_infos_aus_der_nase_ziehen_muss

Gibts noch mehr aussagekräftige Infos zu diesem "Bussystem"?

- Welches Format / welche Codierung?
- Wie wird das Taktsignal übertragen?
  (wenn es nicht separat zur Verfügung gestellt wird, so muss es
  zumindest aus dem Datenstrom extrahiert werden können!)
- Wie nennt sich / wie nennt Motorola dieses Bussystem?

...oder was auch immer...

Gruß,
Magnetus

Autor: Stefan Müller (skysurfer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht ums Märklin Digital/ Motorola Format

Hab grad ne gute Beschreibung der Signale gefunden :

http://www.heise.de/ct/Redaktion/cm/buch/digit_1.html

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Stefan Müller (skysurfer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Links sind sehr hilfreich.

Noch mal zur Umsetzung über den Clock Counter wäre es ein möglicher weg 
die Signale einzulesen? Ich hab mit dem Clockcounter bis jetzt noch 
keine Erfahrungen. Hat vielleicht jemand irgendwo ein Beispiel dafür?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.