Statischer Text als OSD im TV / FBAS mit BASCOM

OP #614328
Lesenswert?

Hallo zusammen!

Ich lese hier seit Monaten mit und habe als anfänger beeits eine Unmenge 
gelernt, aber wie das halt so ist, werfen Antworten grundsätzlich 
weitere Fragen auf....Nun zu meinem Problem:

Ich habe für meine Eltern eien Alarmanlage mit einem ATMega128 gebaut 
welcher gleichzeitig als Kamera-Umschalter fungiert (4 Kameras auf einem 
Monitor umschaltbar), nun sind meine Eltern nicht mehr die jüngsten und 
haben Problemem auf anhhieb zu erkennen welcher Bereich auf dem Monitor 
gerade abgebildet wird. Da wäre es hilfreich eine Text-Einblendung nach 
dem Muster "Garage vorne" oder "Eingang hinten" darstellen zu können.

Es gibt hier und im Netz ja zahlreiche Beispiele die aber entweder nicht 
in BASCOM oder einfach Overkill vom Schaltungsausfwand her sind....ich 
möchte dies nur über 3 zusaätzlich Widerstände (schwarz, grau, weiß) 
realisieren weil ich die Schaltung ja schon fix und fertig in Betrieb 
habe und da keine speziellen OSD-IC's mehr einlöten kann und außerdem 
reicht eine einfache weiße Schrift auf grauem Hintergrund aus.

Die Software soll in BASCOM einfachst gehalten werden, der Text kann 
ruhig fest im Source-Code implemtiert werden (als Variable).

Wäre jemand so lieb mir diesbezüglich mit dem Sourcecode behilflich zu 
sein? Ich würde mich wahnsinnig freuen!
Gast #616847
Lesenswert?

@Falk: Deine herrlich sinnlosen Einträge zeugen von extremer Dummheit 
und Unreifheit. Sie tragen nicht zur Lösung des Problems bei. Wenn also 
ein Problem deinen Horizont übersteigt, antworte einfach nicht

In Bascom wirst du echt Probleme haben, Das umzusetzen, vorallem weil 
die Textausgabe einiges an Rechenzeit in Anspruch nimmt. Ich würde 
behaupten, wenn du 3 Pinne frei hast wäre die am einfachsten zu 
implementierende Lösung eine kleine Zusatzplatine mit nem OSD drauf, die 
dann über I2C oder RS232 Anweisungen bekommt. ELV hatte mal eine fertige 
Platine, für 30€ die nen Controller mit drauf hatte, da konnte der OSD 
GANZ EINFACH über RS232 angesprochen werden
#616864
Lesenswert?

vielleicht nicht die OSD-idee, die du ins auge gefasst hast, aber 
vielleicht lösst sie dein problem trotzdem: wie wär's wenn du auf einer 
zusätzlichen tafel 4 LEDs hast und daneben steht der standort der 
kammera. dann könntest du ganz einfach die entsprechende LED aufleuchten 
lassen. ...aber eben, ich weiss halt nicht, ob das nachträglich noch 
möglich ist.
Gast #616873
Lesenswert?

Also Bascom allein wird das wohl nix. Im ein byte aus dem flash zu holen 
verbrauchst du locker deine 12 takte. man könnte sehen das man das dann 
über die spi schnittstelle rausgibt, allerdings möchte ich behaupten das 
da SEEEEEHHHHRR viel zeit mit debuggen rausgehauen werden wird. und 
takte zählen :-)
Gast #616878
Lesenswert?

Ach und nochwas. Du willst da das bild uberblenden, über die kamera. das 
bedeutet du musst die videosignale übereinander legen, also müssen die 
syncronsignale gleich sein. das heißt du brauchst nen lm1881 oder so.
#616883
Lesenswert?

Ich würde auch zu einem OSD-IC tendieren.

Mit dem AVR + 3 Widerständen wirst du es wohl nicht schaffen, da du den 
AVR mit der Kamera syncronisieren musst. Das ginge evtl noch mit einem 
Sync-Abtrenner und die Impulse auf einen Interrupt-eingang gelegt. Nun 
hast aber das Problem, dass du das Timing sehr genau einhalten musst.
Pro Bildschirmzeile führt ein AVR@4MHz nur 256 Befehler aus, in denen du 
das Bild erzeugen musst! Mit bascom (und vermutlich auch mit C) 
unmöglich.
Gast #617307
Lesenswert?

Vielen Dank für die Hinweise und vor allem den sehr interessanten Link, 
die Sache mit dem LM1881 habe ich auch bereits in's Auge gefasst, 
außerdem bin ich gerade dabei von BASCOM auf WinAVR unzusteigen, weil 
ich bei einem anderen Projekt bemerken mußte daß BASCOM für die selben 
Routinen doch ein paar Takte mehr benötigt als C.....ich denke in C 
ließe sich das mit dem OSD (zusammen mit LM1881 sicher, denke ich) 
bewältigen.
Ursprünglich dachte ich, ich könnte die Synchronisation über Ain (0-Volt 
abtasten und dann den Text ausgeben), aber da muß ich wohl doch noch ein 
paar PAL-Grundlagen studieren, immerhin habe ich auf die Art einen 
flimmernden weißen Streifen über das Kamera-Bild gezaubert.

@Sebastian:
Vielen Dank für den Link, das werde ich mir jetzt mal genauer ansehen, 
das könnte ich hinbekommen, nur blöd das die ganze Anlage von mir 
bereits in BASCOM programmiert wurde.....
Gast #617428
Lesenswert?

Ich benutze NUR bascom (und asm wenns wirklich nötig ist), allzublöd is 
das nicht.

Du wirst schon nen anständigen interrupt-pin nehmen müssen. sonst wird 
das mit dem genauen timing nix
Gast #617458
Lesenswert?

hier hat wohl noch keiner gehöhrt das man ASM direkt in bascom einbinden
kann deswegen macht das umsteigen auf C keinen sinn,
zumal C kein wenig schneller ist wenn man mit bascom vernünftig umgehen 
kann und nicht die high level befehle benutzt.in diesem fall müste man 
bei C auch mit ASM einbinden arbeiten.
Gast #617490
Lesenswert?

Tja, ich bin nun auch wieder am schwanken, bisher habe ich nur an einem 
herumliegenden ATMega8 mit C / WinAVR herum experementiert, aber 
eigentlich arbeite ich am liebsten mit dem 128 bzw 168-Crumb. Jetzt ist 
mir gerade etwas aufgefallen:

Kann es sein das WinAVR nur die Prozessoren

AT90USB82, AT90USB162, ATmega325P, ATmega3250P, ATmega329P, 
ATmega3290PA, AT90PWM1, ATmega16HVA und ATmega8HVA

unterstützt? So steht es zumindest in dem Handbuch.....das wär ja mau.

Zu dem Interrupt, ja davon bin ich bereits ausgegangen: 0V an Ain0 löst 
Interrupt aus und der AVR schreibt dann Pixel für Pixel in's Bild, aber 
wie gesagt, ziemlich laue Vorstellung die ich da habe. Ich habe mir 
jetzt erstmal nen 2,1"-Mini TFT mit FBAS-Eingang gekauft und muß mal n 
bißchen herum experimentieren was wie eigentlich in so enem Signal 
passiert, dan zerschiess ich mir wenigstens nicht den Fernseher. wenn 
alle Stricke reißen nehm ich halt n2. Prozessor nach dem Beispiel von o. 
g. Link. Ist dann zwar nicht so schön weil nicht selbst entwickelt, aber 
hier geht es ja auch um eine schnelle Lösung und gut.
Gast #619118
Lesenswert?

Ich versuche nun die Sync-Signale über den Comparator abzufragen (0V = 
Interrupt) und einen Text (bzw. die Pixel) Bitweise über SPI raus zu 
feuern.
So, und nu bin ich mit BASCOM bei dem Problem timing angekommen.....
Kennt jemand einen Link bzw. sonstige Quelle wo ich eine Übersicht aller 
Bascom-Befehle mit deren benötigten Takten zur Ausführung her bekomme?
Ich hab' mich schon wund gesucht.....

Vielen Dank und Gruß!
#619123
Lesenswert?

Mario wrote:
> Kennt jemand einen Link bzw. sonstige Quelle wo ich eine Übersicht aller
> Bascom-Befehle mit deren benötigten Takten zur Ausführung her bekomme?
> Ich hab' mich schon wund gesucht.....

Würde mich auch wundern, wenn es dazu etwas gäbe.
Diese Taktzahl kann/wird sich mit jeder neueren Version
des Compilers verändern. Der Entwickler braucht nur einen
neuen Kniff in die Optimierungsstufe des Compilers einbauen,
und schon stimmt nichts mehr.

Wenn du taktgenau arbeiten willst/musst, dann ist Assembler
immer noch das Sicherste.
Gast #620241
Lesenswert?

Ah ja, klar, daran hatte ich nicht gedacht, das ist im Simulator 
natürlich schön zu sehen, danke!
Bzgl. If abfragen: Danke für den Hinweis, bei der Timingabhängigkeit 
werde ich in erster Linie mit den Timern arbeiten und die Pixel über SPI 
(mittels DATA oder BIN-FIle ausgeben, ich denke (und werde es am WE 
testen) das sollte gehen, mal sehen.....

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren