www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Messung digitaler Signale...


Autor: Schorschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,


ich bin grad dabei Funktsignale auszuwerten.
Dabei bekomme ich das empfangene Signal schon Digitalcodiert.
Jetzt muss ich dieses natürlich wieder in Bits umwandeln.

Dabei wird jedes bit durch ein Signal codiert.

z.B. 300µsec high-> 100µsec low -> 100µsec hig ist ne logische 1 usw.

wie stelle ich sowas am einfachsten an.
ich dachte schon an einen Timer der alle 50µsec einen Port pollt oder
per ext. interrupt den timer neu setzt oder löscht.

Nun weiss ich nicht wie ich das Problem am einfachsten lösen soll ohne
mehrere Messungen machen zu müssen um die entsprechenden Daten zu
bekommen.

Als µC will ich den Tiny26 nehmen.

Hat der eine oder andere ev. nen Vorschlag?

Danke und Gruss,
schorschi.

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß nicht, ob der Tiny das kann:

Bei den Megas gibt es das ICP-Modul:
Das misst Zeiten zwischen zwei Flanken.
Man stellt also die Flanke auf steigend ein.
In der ISR sichert man die Zeit (Timer-Wert) und schaltet die Flanke
auf fallend um.
Beim nächsten Auftreten des ICP-Interrupt sichert man wieder die Zeit
und schaltet die Flankenrichtung wieder um.
Die Zeitdifferenz vergleicht man dann mit 300µs: ist sie kleiner ist es
eine logische 1.
Zumindest verstehe ich dein "Protokoll" so, dass eine Sequenz von
300µs high und 100µs low eine 0 und eine Periode aus 100µs high und
100µs low eine logische 1 darstellt.

Autor: Schorschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

ah ich weiss was du meinst..

das ist diese timerfunktion mitn input capture und output compare.
kenn ich von motorolla controllern. Hab daran garnicht mehr gedacht.

da muss ich nochmal ins datenblatt schauen ob es der µC kann.
aber ich glaube das hater der tiny nicht. ich wollte aber diesen
einsetzen da er günstig und rel. klein von der bauform ist.

gruss,
schorschi.

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich das "Protokoll" richtig erkannt?
Notfalls müsstest du das auch per Pinchange-Interrupt emulieren
können.
Das sollte gehen - hab es noch nicht getestet (hab leider zuviel andere
Sachen um die Ohren).

Autor: Schorschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

ja das protokoll sieht so ähnlich aus.
habs grad nicht im kopf und die uterlagen nicht da.

hab mir überlegt mit dem pinchange interrupt auf beide flanken
eingestellt. Einfach mit einem 50µsec timer die zeit zwischen den
interupts messen und dabei noch schauen was am eingang anliegt.

das ist mal das was ich mir überlegt hatte. Aber ev. gibt es da ne
schönere lösung. Das mit input capture ist tatürlich am besten und
einfachsten. aber soweit ich weiss hat es der tiny nicht.

gruss,
schorschi.

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Tiny26 hat auf Portb.6 den INT0,
der auf falling und rising konfigueriert werden kann.
Dann hater noch 2-mal 8-Bit Timer.
Also Du konfiguerierst Int0 als falling,
in der ISR kofiguerierste auf rising um und startest z.B. Timer0,
beim nächsten Int0 liesst Du den Wert aus Timer aus und schon haste
die Signaldauer ... so würds ich in dem Fall machen.

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
huch, im Datenblatt gesehen:

Seite 64: Pin Change Interrupt

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.