mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LTC TimeCode Decoder bauen


Autor: Simon Schmid (simschmid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Professionelle Broadcastvideokameras (abder auch DAT- und andere
Bandgeräte) bieten einen TimeCode Ausgang, an dem ein LTC oder VTC
TimeCode anliegt. Dieser ist Analog und im hörbarenbereich. Somit
einfach übertragbar.

Ich möchte nun einen Leser bauen, der mir diesen TimeCode anzeigen
kann. Stunden:Minuten:Sekunden:Frames.

Im Internet konnte ich diverse Infos finden. So zum Beispiel das
Protokoll:
http://www.ebu.ch/CMSimages/en/tec_doc_t3097_tcm6-10504.pdf
http://www.poynton.com/notes/video/Timecode/

Sogar einen C-Code für die decodierung per Computersoundkarte habe ich
gefunden:
http://www.lurkertech.com/lg/ltc.c
Dadurch kam ich auf die Idee, dass die decodierung auch per AVR möglich
sein müsste.

Was ich nun realisierne moechte, ist eine AVR Schaltung, der ich an
einem AD Eingang den LTC TimeCode einspeisen kann und die mir dann den
TimeCode als rs232 oder direkt auf eine Ledanzeige ausspuckt.

Nur leider kann ich mit dem oben angefuehrten C-Code nicht viel
anfangen.

Hoffe, hier jemanden zu finden.

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Simon,

bin gerade damit beschäftigt, mir nochmal einen Timecodereader zu
programmieren (hatte ich vor einigen Monaten bereits realisiert - aber
leider hat sich wenige Wochen später meine Festplatte verabschiedet).

Den AD-Wandler brauchst du nicht. Der TC steht ja im Prinzip als
digitales Signal zur Verfügung (wenn auch i.d.R. nicht mit
TTL-Pegeln).

Mein Programm hat im Prinzip nur einen der Hardwaretimer und den dazu
gehörigen Input Capture benutzt... Werde dieses Prinzip wohl auch bei
der "Wiederauferstehung" meines TC-Readers verwenden.

Falls du noch Interesse hast, können wir ja weiter in Kontakt bleiben
;)

Gruß
Magnetus

Autor: Simon Schmid (simschmid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Magnetus

Ja, klar bin immer noch dran interessiert.
Welchen AVR hast du da verwendet?

Lass uns ind Kontakt bleiben!

Gruess Simon

Autor: Magnus Müller (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Simon,

hier bin ich wieder ;)

Ich verwende bisher einen ATmega128 (Crumb128 von www.chip45.com). Das
Ganze lässt sich aber auch mit kleineren AVRs mit InputCapture
realisieren.

Welchen AVR verwendest Du?

Habe in den letzten Tagen noch einmal einen LTC-Leser programmiert. Die
ersten Tests in AVRStudio hat das Programm bereits bestanden. Der
Praxistest steht noch aus.

Im Anhang sind die ersten Früchte zu finden (hier für nen ATmega128
@16MHz) Das Signal wird auf PD4 (IC1) zugeführt. Das Einlesen geschieht
Interruptgesteuert.

tc[0] enthält die Frames   als Ganzzahl (0 bis 24)
tc[1] enthält die Sekunden als Ganzzahl (0 bis 59)
tc[2] enthält die Minuten  als Ganzzahl (0 bis 59)
tc[3] enthält die Stunden  als Ganzzahl (0 bis 23)

tc[4]  enthält die Frames   Einer  (0 bis 9) als ASCII
tc[5]  enthält die Frames   Zehner (0 bis 2) als ASCII
tc[6]  enthält die Sekunden Einer  (0 bis 9) als ASCII
tc[7]  enthält die Sekunden Zehner (0 bis 5) als ASCII
tc[8]  enthält die Minuten  Einer  (0 bis 9) als ASCII
tc[9]  enthält die Minuten  Zehner (0 bis 5) als ASCII
tc[10] enthält die Stunden  Einer  (0 bis 9) als ASCII
tc[11] enthält die Stunden  Zehner (0 bis 2) als ASCII

ub[0..7] enthalten die Userbits

Der Programmierstil ist vielleicht nicht der Beste (und es fehlen noch
einige Kommentare), aber es scheint zu funktionieren ;)

Gruß
Magnetus

Autor: Simon Schmid (simschmid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Magnetus

Ich habe bisher nur den 2313 und den 8515 programmiert.
Und dies direkt in Assembler mit dem STK500.
Dein Programm sieht aber ganz ordentlich aus.
Leider bin ich an meinem Projekt immer noch nicht weiter.

Bitte halte mich auf dem Laufenden.

Simschmid

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm... ich glaube, es ist bestimmt nicht verkehrt, den (ATtiny oder
AT90S)2313 in Assembler zu programmieren (hat ja nicht gerade viel
Flash). Ich habe erst vor ca. 1 Jahr mit den AVRs und mit C
angefangen.

Ich warte gerade auf die Lieferung meines STK500... muss ich zwar erst
reparieren (weil angeblich defekt), aber das wird hoffentlich nicht
lange dauern (so kompliziert kann ein STK500 ja nicht sein ;) )

Muss gleich mal gucken, welche Features der 8515 hat...

Bis denne,
Magnetus

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
grübel ...

2313 und 8515....

Welche AVRs meinst Du eigentlich?

--> AT90S2313 (alt) oder ATtiny2313 (neu) ?
--> AT90S8515 (alt) oder ATmega8515 (neu) ?

Sowohl Mit dem tiny2313 als auch mit dem mega8515 sollte es machbar
sein (beide haben genug Flash und nen Input Capture).

Autor: Simon Schmid (simschmid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, genau die AT90S.
Was verwendest du um vom C zu simulieren und programmieren?
Ich habe eben nur die STK500 AVR Studio Software.

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Simulieren / Debuggen verwende ich auch AVRStudio.
Zum Programmieren (Schreiben/compilieren) verwende ich WinAVR.
Zum Flashen benutze ich bis jetzt noch PonyProg.

Habe gerade noch mal nachgesehen... Auch der AT90S2313 und der
ATmega8515 haben ausreichend Flash sowie einen Input Capture. Mit
diesen sollte das Ganze also auch (leicht) machbar sein.

Gruß,
Magnetus

Autor: Markus Mueller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich möchte auch ein LTC reader bauen.
wurde das projekt fertiggestellt? falls ja, würde mich freuen wenn 
jemand den schaltplan und den code online stellen könnte :-)

mfg
MM

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.