hallo, kann man die spannungswerte der fbasdaten an der antenne nicht wieder auslesen und zu einem bild zusammensetzen z.b. am adc-port.
das evtl mit dem externen interrupt.
mfg pebisoft
Druckbare Version
hallo, kann man die spannungswerte der fbasdaten an der antenne nicht wieder auslesen und zu einem bild zusammensetzen z.b. am adc-port.
das evtl mit dem externen interrupt.
mfg pebisoft
Im Prinzip ja.Zitat:
kann man die spannungswerte der fbasdaten ... nicht wieder auslesen und zu einem bild zusammensetzen
Aber nicht mit einem AVR und schon gar nicht mit dem lahmen AD-Wandler der im AVR eingebaut ist.
Der AVR ist viel viel zu langsam dafür.
Gruß Jan
Hallo,
Ich habe einmal von meinen damaligen Test's einen genommen, abgespeckt und ausführlich kommentiert.Zitat:
ein w. krüger hatte einmal ein einfaches video-programm für avr in bascom mit asm geschrieben.
Allerdings wirst du nicht umhinkommen, dich mit Assembler zu beschäftigen.
Das Programm habe ich aber nur im Simulator getestet, da ich im Moment weder Zeit noch meinen Versuchsaufbau zur Verfügung habe.
Ich hoffe, das macht dir das Timing verständlicher ...Code:;********************************************************************
;
; Testprogramm Videoausgabe 1 Zeile weiss
;
;********************************************************************
.include "m8def.inc" ;--> mit externem 4 MHz Quarz <--
.equ sync = Portb ;-[ 1,2K ]- Sync Ausgang
.equ video = Portd ;-[ 560 ]- Video Ausgang
.equ syn = 7 ; Pin 7 von Portb
.cseg
;Wichtig !!! Stackpointer initialisieren
ldi r16, LOW(RAMEND) ;LOW-Byte der obersten RAM-Adresse
out SPL, r16
ldi r16, HIGH(RAMEND) ;HIGH-Byte der obersten RAM-Adresse
out SPH, r16
ldi r16,0b10000000
out ddrb,r16 ;Portb.7 als Ausgang
out ddrd,r16 ;Portd.7 als Ausgang
; ldi r16,168 ;bei internem RC Takt, unbedingt
; out osccal,r16 ;Kallibrieren !!!
;beim Wert von 168 wurden bei mir genau 4MHz erzeugt
cli ;alle Interrupts sperren
;**************** Hauptschleife **************************************
;
; bei 4 MHz ( 1 Takt = 0,25µs )
; im AVR Studio steht, welcher Befehl wieviel Zeit benötigt
; oder dort im Debug Modus "View Processor"
;
; die Zeiten im Hauptprogramm zählen immer von "cbi sync,syn" (Sync auf Low)
; bis "sbi sync,syn" (Sync auf High) oder eben von High nach Low
;
;*********************************************************************
; __ __ __
; V-Sync |_______| |_______| | ---> die ersten 2,5 Zeilen
; 27,5µs 4,5 27,5µs 4,5
main:
ldi r16,5
syn_0:
cbi sync,syn ;V Sync
ldi r23,36 ;27,5 µs
syn_1:
dec r23
brne syn_1
sbi sync,syn
ldi r23,4 ;4,5 µs
syn_2:
dec r23
brne syn_2
nop
dec r16
brne syn_0 ;Schleife 5 x 32µs = 160µs
ldi r16,5
; __ ________ ________
; Nachtrabanten |_| |_| | ---> wieder 2,5 Zeilen
; 2,25 29,75 2,25 29,75
sync2:
cbi sync,syn ;Nachtrabanten
ldi r23,2 ;2,25 µs
syn_3:
dec r23
brne syn_3
nop
sbi sync,syn
ldi r23,38 ;29,75 µs
syn_4:
dec r23
brne syn_4
dec r16
brne sync2 ;Schleife 5 x 32µs = 160µs
;zusammen 320µs = 5 Zeilen
;************************ Zeile 6-156 *******************************
;
; _______________________
; __ __| |___ ---> 307 Zeilen mit Bildinhalt
; H-Sync |____|
; 4,5 1,5 52µs Bildinhalt 6µs
;
;********************************************************************
ldi r16,151 ;Schleife für 151 Zeilen
hsyn_0:
cbi sync,syn
ldi r23,5 ;4,5 µs
hsyn_1:
dec r23
brne hsyn_1
nop
sbi sync,syn
ldi r23,77 ;59,5 µs ( 1,5 + 52 + 6µs )
hsyn_2: ;da die Pegel für Bildinhalt schwarz
dec r23 ;und 5,8 µs Nachsync gleich bleiben
brne hsyn_2 ;habe ich die Impulslänge zusammengefasst
nop
nop
dec r16
brne hsyn_0
;************************ Zeile 157 *********************************
nop
hsyn_3:
cbi sync,syn ;1 Zeile
ldi r23,5 ;4,5 µs
hsyn_4:
dec r23
brne hsyn_4
nop
sbi sync,syn ;1,5 µs
nop
nop
nop
ldi r24,0b10000000 ; --> Bildinhalt = weiss
out video,r24 ;Bildinhalt 52µs ausgeben
ldi r23,68
hsyn_5:
dec r23
brne hsyn_5
clr r24
nop
nop
out video,r24 ;6 µs Nachsync
ldi r23,7
hsyn_6:
dec r23
brne hsyn_6
;************************Zeile 158-312 *******************************
nop
ldi r16,155 ;Schleife für 155 Zeilen
hsyn_8:
cbi sync,syn ;4,5 µs
ldi r23,5
hsyn_9:
dec r23
brne hsyn_9
nop
sbi sync,syn
ldi r23,75 ;59,5 µs ( 1,5 + 52 + 6µs )
hsyn_10: ;da die Pegel für Bildinhalt schwarz
dec r23 ;und 5,8 µs Nachsync gleich bleiben
brne hsyn_10 ;habe ich die Impulslänge zusammengefasst
nop
nop
dec r16
breq ende ;der Sprung zu "ende" spart 5 Takte
nop
nop
nop ;Ausgleichs nop's, da der
nop ;Sprung zu main mehr Takte benötigt
nop
brne hsyn_8
ende:
nop ;Ausgleichs nop's um genau auf
nop ;312 Zeilen * 64µs = 19968µs zu kommen
jmp main ;Endlos Schleife
;********************** ENDE *****************************************
hallo, albundy, es läuft 100%tig auf einem avr16 mit 4mhz.
werde es jetzt abändern auf 16mhz und in winavr-c umsetzen.
habe auch schon die linien geändert, jetzt ist mir klar wie das alles zusammenhängt. vielen dank.
wer interesse hat sollte dieses beispiel einmal ausprobieren.
mfg pebisoft
antennensignale auswerten als elektr. impulse.
wenn ich den ganzen "bildschirm" mit meinem winavrc-program auf den robby wechselweise schwarz und weiss mache und die daten dann mit den video-sender zu meinem arbeitstisch sende, kann ich im gleichen abstand am videoempfänger-antennenausgang wechselweise 0,1 und 0,7v messen. wenn ich diese signale an int0 lege könnte anhand einer zeitauswertung ein wert entstehen oder kann man mit 0,7v keinen externen interrupt auslösen am avr8 16mhz.
mfg pebisoft
Hallo Forum,
wenn Ihr euer TV als Monitor hernehmen wollt, und vielleicht auch eine PC-Tastastur benutzen wollt, ohne euren Mikrocontroller zu belasten, dann schaut doch mal hier:
http://www.tvterminal.de
Viele Grüße
viax
hallo, das sehr gute programm auf dem avr von jan, was hier beschrieben ist hat fast die gleiche leistung in fbas. ich habe auf meinem robby parallel auf dem steckbrett den avr8-16 für die fbas-darstellung von jan und sende dieses über video-funk zum pc.
das obengenannte nackte board ist zu teuer. die dafür gegebene leistung ist mangelhaft. schau mal im avr-forum "microcontroller.net" dort gibt es sogar günstige lösungen für den vga-monitor, wenn das thema dich interessiert.
mfg pebisoft
Hut ab vor der Leistung von Jan und anderen.
Aber wenn es etwas mehr sein darf...
Buchstaben mit Unterlängen (5x8 Matrix), optional Farbe, 900 Zeichen plus Statuszeile, beschriftbare Grafik, Terminal-Funktionalität und Grafik-Befehle,
Anschluss für PC-Tastatur...
Viele Grüße
viax
P.S.: schon mal das Video angesehen ?
http://www.tvterminal.de/tvt_demo_hi.mpg (20 MB)
ähnliches habe ich schonmal auf ner englischen seite gesehen, aber die konnten auch bilder auf dem RGB-out, was auch kein problem darstellen sollte.
Hallo Sebastian,
weißt Du noch die URL der englischen Seite ?
Würde mich interessieren.
Viele Grüße
viax
Hallo Leute !
Erstmal vorweg schönen Dank für das einwandfreie Programm von JanB.
War genau was ich gesucht habe. Ich bin dabei mir eine kleine Wetterstation zu bauen und da kam mir die Idee die Wetterdaten doch auch auf dem TV auszugeben. Dann kann man mal eben beimTV glotzen auf das Wetter schauen.
Nun zu meinem Problem:
Ich habe das Programm von JanB auf einen Atmega8 geschrieben. Der GrafikAtmel läuft dann auch einwandfrei. Ich bekomme den Begrüßungstext einwandfrei zu lesen.
Dann habe ich einen 2. Atmega 8 genommen und versucht Zeichen an den Video Atmel zu senden. Leider klappt das nicht so wie es soll.
Ich habe folgendes kleines Bascom Programm geschrieben:
$regfile = "m8def.dat"
$crystal = "4000000"
$baud = 9600
Wait 5
Print chr(12)
wait 1
Print "Hallo Welt"
do
loop
Wenn ich die Spannung anlege bekomme ich den Begrüßungstext angezeigt und nach 5 Sec. wird der Bildschirm gelöscht, allerdings steht in der 1. Zeile ganz links "Ca". :-k
Dann wird der Text gesendet und auf dem Schirm sehe ich dann wirre Zeichen und am Ende des Textes steht dann wieder ein "Ca".
Ich habe beide Prozessoren nur mit den Pins PD1 und PD2 verbunden.
Hat irgendjemand eine Idee wo das Problem liegt ???
Gruß, tv freak
Hallo Leute !
Ich habe das Problem dadurch gelöst das ich den Takt von meinem 2. Atmega 8 auf 2 Mhz zurück genommen habe. Jetzt läuft alles perfekt.
Also JanB und alle anderen die daran mitgewirkt haben nochmal herzlichen Dank für euere tolle Arbeit.
Gruss, tv freak
Hi Jungs!
Schaut euch das mal an:
www.tvterminal.de
Ich habe das auf der HAM RADIO live gesehen, und ich muss sagen, das Ding macht ganz schön was her. (Hatte den Link verloren, aber jetzt auch wieder in ner Zeitung gefunden...)
Ich habe mit den Entwickler gesprochen und konnte ihm entlocken, dass das System einen ASM-Programmierten Atmega8 mit 16MHz Taktfrequenz benutzt.
VLG Tobi
wenn du rgb benutzt ist das glaube ich auch nicht soo schwer zu machen, mit den farben. wobei mich ein m128 oder so der bilder über rgb aufgeben kann schon reizen würde. ein bisschen ram dran und ein bitmap über die serielle oder aus nem eeprom rein. und los gehts
In der tat ziemlich gut, aber die Grafiken bestehen auch "nur" aus Strichen, eingetlich finde ich viel beeindruckender, das JanB das auch nicht-komerziell hinbekommen hat.
Das mit der Tastatur ahben die von mir geklaut O:)
Hi!
Hm... ich habe ihn gefragt, ob er das Roboternetz kennt...
Nein sagte er...
Hm... kann schon sein... :D
Alos ich meine, dass das mit der Strich-Grafik halt n effekt ist. Es kann pixelgenaue, farbige Schrift...
Ich finds auch heiß, dass ihr das hinbekommen habt! *hutab!*
VLG Tobi
Also ich weiss zumindest, dass ein Vorgänger vom TV-Terminal
(hieß damals noch "VDS-Terminal", mit Text+Tastatur,
aber noch ohne Grafik und VT-100-Unterstützung) bereits ab
Juni 2004 im Kleinanzeigenteil der c't (Ausgaben 13-16)
angeboten wurde (war zu sehen unter "www.anwahl.net").
Die Idee von Moritz wurde offenbar schon vorausgeahnt...
Habe mir damals so ein Ding gekauft und mir jetzt
noch das wesentlich bessere und billigere TV-Terminal
(TVT-MBKD für 18,50) zugelegt (vor allem wegen der Grafik).
Wenn man die Schaltung etwas abändert und am RGB-Scart
anschliesst, bekommt man auch mit der Ein-Chip-Lösung
farbige Schrift+Grafik (z.B. grün oder orange) auf einen
kleinen Farbfernseher :)
P.S: Für den Anschluss einer Tastatur an einen AVR gibts
auch ne Application Note von Atmel mit Listing:
(http://www.atmel.com/dyn/resources/p...ts/DOC1235.PDF).
Gruss
Thomas
gib es den asm-source mit dazu, falls man den avr8 mal auswechseln muss.
mfg pebisoft
Hallo pebisoft,
nein, den Quellcode der Firmware habe ich nicht erhalten.
Ich habe damit aber kein Problem. Wenn ich einen MAS3507-D
oder einen IO-Warrior40 kaufe, erwarte ich ja auch nicht,
die Quellcodes für die Firmware dieser Prozessoren zu bekommen.
Schießlich müssen die Entwickler ja auch von irgend etwas leben
(nicht jeder ist noch in der Ausbildung), und möchten vielleicht
lieber coole Programme schreiben, als für ihren Lebensunterhalt
bei McDonalds Fritten zu verkaufen :-&
Wenn man kein Geld für Software ausgeben möchte- dann kann
man sie sich ja immer noch selbst schreiben oder offengelegte
Programme einsetzen (wie z.B. die erwähnte Application Note).
Gruss
Thomas
Hallo,
hat jemand den Sourcecode fuer das Videoterminal von Jan mit
48x24 Zeichen fuer dem ATMEGA32-16 ???
Franz
Sorry, da kann ich dir nicht helfen, aber ich habe zu dem Thema noch ein interessantes PDF gefunden:
http://www.atmel.com/dyn/resources/p...ga163_3_04.pdf
Besonders die Links sind interessant.
Ich hab jetzt einiges mit dem Video-Programm von Jan gemacht.
Einen Apple 1 Replika. Nur der Videocontroller laeuft noch mit 28X24 Chars. Hat jemand vielleicht die email-addresse von Jan?
Muesste noch ein paar Tips ueber seine Software haben.
Hier schonmal Fotos vom A1 Replika:
http://www.xs4all.nl/~achatz/Apple_1.jpg
http://www.xs4all.nl/~achatz/Apple_11.jpg
viele Gruesse
Franz
Moin Forum,
ich bin erst vor ganz kurzer Zeit auf dieses Forum und auf diesen Thread gestoßen und habe ihn mit großem Interesse und immer weiter wachsender Hochachtung vor janb und den Helfern von ihm gelesen.
Ich gebe zu, dass ich was µCs angeht noch blutigster Laie bin, ich kämpfe mich gerade durch zahlreiche Tutorials für Beginner. Die oben genannte kommerzielle Lösung unter www.tvterminal.de habe ich schon gefunden, bevor ich dieses Forum entdeckt habe. Wie bekommen die das denn nur hin, eine Farbausgabe mit dem ATMEGA8 und 16MHz Quarz zu realisieren?
Ich habe das Ganze wohl noch zu wenig verstanden, ich dachte bisher, dass Farbe so sehr kritisch sei, dass es nicht wirklich realisierbar wäre.
Mag mich da mal jemand aufklären?
Entschuldigt meine "Spezialgebietsdummheit", ich bin auf dem µC-Auge noch recht blind, arbeite aber langsam daran, das abzustellen.
Gruß,
Heiko
Nur zur Vervollständigung ....
spendiert man dem Atmega8 einen externen 8MHZ Keramik-Ressonator, stellt die zugehörige Fuse entsprechend um, dann verbessert sich die Ausgabequalität nochmals merklich ....
MfG
Gerry
Hier gab es doch jmd der die routinen irgendwie in bascom eingebettet hat. Gits dazu nen link??
das stimmt.
Am Besten geht ein externer Quarz.
Der interne OSC geht zwar auch, aber da muss man
am Calibration-byte herumschrauben.
Und das Byte hat dann von Prozessor zu Prozessor
einen anderen Wert :-(
Habe uebrigens meinen Apple 1 Replica jetzt auf 40 x 24 Zeichen
am laufen. Mit einem super Bild. MEGA32 mit 16MHZ.
mfg
Franz
das ist kein kunststück mit dem board, kauf dir doch gleich einen fernseher.
hier geht es darum, das es ein atmega alleine schafft, oder evtl 2 atmega koppeln, die sich die arbeit teilen.
Irgendwie klappt das bei mir nicht ich bekomme nur ein weißes "Rauschen "auf dem TV-Gerät. Hat vieleicht wer ne Idee??(mit Atmega 8-8 )
@Sebastian:
Das war ich.Zitat:
Hier gab es doch jmd der die routinen irgendwie in bascom eingebettet hat. Gits dazu nen link??
Hier: https://www.roboternetz.de/phpBB2/ze...rag.php?t=7284
Das Programm ist aber nur zum experimentieren.
Ich wollte halt mal sehen ob ich das überhaupt hinkriege.
Es hat nicht allzuviel Nutzen, weil die Videoausgabe fast die gesamte
Rechenzeit verbraucht, und von vielen Bascom-Funktionen gestört wird.
Trotzdem war es interessant und lehrreich, das Videoprogramm mit Bascom
zu verbinden.
Ob das Programm mit der aktuellen Bascom-Version noch läuft, weiss ich nicht.
Müsste mal jemand ausprobieren.
Ich kanns nicht, ich hab nur die alte Version.
Gruß Jan
Hallo Jan,
du kannst dir aber die neueste BASCOM Version bei Mark Alberts (MCS Electronic) herunterladen. Wenn man einmal BASCOM gekauft hat kann
man bei Mark immer wieder kostenlos updaten :-)
mfg
Franz
Nur mal zum Verständniss wie würde ich mit Bascom nen Punkt in der Mitte des Bildschirms anzeigen?
Nur mal zum Verständniss wie würde ich mit Bascom nen Punkt in der Mitte des Bildschirms anzeigen?
Jan,
du sagst, das Programm war nur zum Experimentieren und ohne viel Nutzen. Dem muss ich leider wiedersprechen. Hab dein Programm fuer meinen A-ONE als Video Basis benutzt und es funktiniert wunderbar :-)
Steve Wozniak wollte von mir unbedingt einen A-ONE PROTO-Typen haben, du hast richtig gehoert, der beruehmte Steve Wozniak :-)
Hatte letzte Woche noch Kontakt met Steve und er is begeistert vom
A-ONE und deinem Video-Programm.
mfg
Franz
@Franz:
Hallo,
Meine Aussage "...wenig Nutzen...usw" bezog sich auf die Integration
der Video-Routine in Bascom.
Das Video-Terminal und die AVR-Video-Routine ist natürlich für alles mögliche prima zu gebrauchen.
Hab ich übrigens mittlerweile noch verbessert - 40x25 Zeichen mit AtMega8-16 MHz.
Gruß Jan
Jan,
alles klar, nur muss ich beim A-ONE bei 40x24 Zeichen bleiben.
Das entspricht dem original Apple 1 Design von Steve Wozniak.
Auch der Controller wird der ATMEGA32-16 bleiben.
Was wir noch machen muessen ist das Umstellen auf 60 Hz fuer die
Amis :-(
Wenn du Interesse hast, dei diesem Projekt mitzumachen, dann lass es mich bitte wissen. Wir schrauben z. Zt. noch am A-ONE 6502 Embedded Assembler herum. Als naechstes lass ich in China mehrere Platinen machen und kann dir dann bei Interesse einen A-ONE gratis zukommen lassen.
viele Gruesse aus NL
Franz
Jan,
hier mal ein foto von einer laufenden maschine
meine email: franz@achatz.nl
Franz
Ich bräuchte dringend mal Hilfe wieso geht es nur bei mir nicht ich habe (glaube ich) alle Fuse Bits richtig gesetzt aber ich bekomme immer nur einen von Oben nach unten wandernen Block mit fast unleserlichen zeichen woran kann das liegen???? ](*,)
Hi Phillip,
wenn du einen kaum leserlichen Text siehst,
dann hast du es doch schon fast geschafft.
prüf mal nach, ob du die Widerstände richtig angeschlossen hast.
Evtl. ist es auch nötig den richtigen Kalibrierwert für deinen Mega-8
ins Programm einzutragen. (OSCCAL)
Gruß Jan
Also erstmal Danke für die Hilfe!!, die Widerstände sind richtig habe ich überprüft.
Rein aus Intresse habe ich das ganze mal stat
an mein TV-Gerät an meine TV-Card angeschlossen und siehe da ich bekamm das richtige Bild! Aber wieso nur bei meiner TV-Card??
Und nicht beim Fernseher?
Hallo Phillip,
du benutzt eine alte Version meines Programmes,
wo die Synchronisation der Timer-Interrupts noch nicht 100% stimmte.
Das sieht du ja auch an dem "zappeligen" Bild auf deiner TV-Karte.
Versuch es mal mit dem Programm aus dem Download-Bereich dieses
Forums. Das ist weitgehend fehlerfrei.
Gruß Jan