Hallo zusammen
Ich machte mir Gedanken mit einem MIcrocontrolle ein TV-Terminal zu
machen um ein Bild in voller TV-Qualität auf dem Fernseher darzustellen.
wieviel RAM brauche ich?
Ich nehme an dass man für jeden Bildpunkt (RGB) schon 3 Byte braucht?
625 Zeilen soll ein Fernsehbild haben kann aber nirgends nachlesen
wieviel Spalten es sind. Spalten gibt es vermutlich ja keine da es
Analog ist?
Wer kennt sich damit aus?
Möchte was selbermachen und nicht unbedingt kaufen.
CPLD/FPGA möchte ich nicht verwenden.Welcher uc wäre dazu geeignet?
Gruss
Zirrus
>wieviel RAM brauche ich?>625 Zeilen soll ein Fernsehbild haben kann aber nirgends nachlesen>wieviel Spalten es sind
Na überleg mal, welches Seitenverhältniss hat den dein TV Bild?
Wieviel Spalten würdest du daher sinnvollerweise nehmen?
Normal sind 768x576 bei PAL. Je nach Empfangsqualität bekommt man mit
analogen Geräten auch noch mehr Spalten hin. Macht also 768x576x2
(bytes/pixel), also ~880kB.
Da kommst du mit'm uC wahrscheinlich nicht weit.
Hallo I_ H.
Demfalls sind wird für die Farbe pro Pixel also 2 Byte verwendet. Also
gar kein RGB? Also müsste ich einen 16Bit DA-Wandler nehmen für die
Ausgabe?
Denn ich will wie Ausgabe nicht über Scart machen sondern über das
normale Antennenkabel.
Da ich 880kB SRAM brauch könnte ich ja ein externes SRAM anschliessen
welches genug schnell ist dass ich in nützlicher Zeit schreiben und
lesen kann.
16bit sind auch RGB, glaub 5 bit rot, 6 bit grün und 5 blau. Wenn du das
Bild mit'm uC auf den Fernseher bekommen willst, brauchst du garnet
weitermachen, dafür ist der uC zu langsam. Du hast da auch gleich
mehrere Probleme:
- ein AVR kann 800kb nicht direkt adressieren, also muss
banking/segmentierung her (über 4 extra IO Ports)
- die Daten wollen auch recht flott zum Fernseher, effektiv (ist ja
interlaced) sind's 22MB/sek. Nun rechne mal, 16 bit sind ein Symbol,
also hast du 'ne Symbolrate von 11MBaud. Bei 22MHz AVR Takt musst du
also alle 2 Takte 16 Bits auf die IO Ports gegeben haben
- Da du über/unter dem Bild noch schwarze Zeilen hast, und links/rechts
außerhalb noch schwarze Spalten reichen die 11MBaud sowieso nicht
- und schließlich brauchst du noch SRam mit <25ns Zugriffszeit, und dann
auch gleich 880kB
Also Bild im AVR speichern geht mit viel Mühe. Den AVR das Bild direkt
auf'm Fernseher anzeigen lassen: vergiss es
Hab mal kurz gesucht und das gefunden: max. 80MHz, 32k ram, 32k rom
Klingt für mich auch nach 64kB Adressraum, also am Stück kannst du die
880kB nicht adressieren. Das Timing ist auch mit dem Teil sehr sehr
knapp. Rechne mal mit 20MSamples/sek, dann hast du 4 Takte in denen du
16bit raushauen musst.
Wenn's ein 8bitter ist, hast du für 8bit grad mal 2 Takte. Wenn man es
klug anstellt, kann man zwischen den einzelnen Bänken umschalten während
der Strahl links/rechts außerhalb vom Bild ist (Bild nicht am Stück im
Speicher ablegen). Die 16bit machen sich zum sequenziellen Auslesen
schon ganz gut, den DAC wirst du aber mit einzelnen Widerständen aubauen
müssen. Für die Ansteuerung von einem externen DAC ist keine Zeit.
Das größte Problem ist der Befehlssatz. In 4 Takten musst du 2mal
Inkrement machen, 2 Speicherstellen lesen und 2 schreiben. Mit 'nem
nicht superskalaren RISC (was der Propeller wohl sein wird) kannst du
das gleich vergessen, mit (nicht superskalarem) CISC wäre es unter
Umständen möglich. Aber selbst wenn das machbar ist (was ich nicht
glaube), das ist 'ne echte Aufgabe.
Mach das doch einfach mit diskreter Logik, dürfte vom Umfang her
überschaubar sein, und schnell genug ist es auch. Wenn du dir zB. SRam
mit 16bit Anbindung holst, brauchst du für die Adresserzeugung nur ein
paar kaskadierte Zählbausteine.
Die lässt du in den unteren Bits dann zB. immer von 0 bis 2048 zählen,
die oberen gibst du für jede Zeile extra mit'm uC vor. Dann brauchst du
noch eine Resetlogik, die dafür sorgt, dass der Zähler bei einem
bestimmten Wert auf 0 zurückgeht, 'nen Multiplexer damit du die unteren
Adressbits auch per uC ansteuern kannst (irgendwie müssen die Daten ja
erstmal in den Ram), und ein Enable für der Zähler, damit du den auch
anhalten kannst (zB. Spalten/Zeilenrücklauf).
Die Logik musst du dann nur mit etwa 20MHz takten.
VGA ist was anderes als TV. Als VGA geht nämlich auch 320x240x8bit
durch, oder 300x200x4bit. Letzteres wären grad mal 1.8MB/sek (bei 60hz).
Der Propeller ist ein bisschen ein ungewöhnliches Konzept, für den
Einsteiger nicht so geeignet. Du kaufst ja auch nicht dein erstes Auto
mit Ionenantrieb.
Wenn Du ein bisschen Hardware um dein RAM rum baust, ähnlich wie bei
einer Grafikkarte, dann wird es gehen. Dann läuft die
Bildsignalerzeugung sozusagen vollautomatisch, ohne Zutun des µC. Guck
mal den 6845 an. Für einigermassen statische Bildinhalte mag das gehen,
aber wenn du 50 mal pro Sekunde ein komplett neues Bild im RAM haben
willst, geht das nicht mit einem µC.
Ins Antennenkabel heisst, du brauchst noch einen HF-Modulator.
Wie es ausschaut ist es doch mindestens so aufwendig wie ich zuerst
dachte.
Vermutlich wäre eine Steuerung mit diskreter Logik welche über einen AVR
angesteuert wird am besten.
Ich dachte so was gehe ohne HF-Modulator da ich mal in Elektor ein
einfaches s/w Tennisspiel gesehen habe?
Ich will kein Video abspielen, nur was Anzeigen und bei Bedarf was
ändern. Vielleicht noch einfache bewegliche Grafik.
Zirrus wrote:
> Ich dachte so was gehe ohne HF-Modulator da ich mal in Elektor ein> einfaches s/w Tennisspiel gesehen habe?
Da war dann aber auch Schwarzweis, und hatte nur eine Auflösung von
wenigen 100x100 Pixel oder nochweniger. Außerdem wird die Ausgabe meist
auch speziell dafür angepasst. Man baut das Bild also nicht in einem
Speicher auf, sondern setzt die Blöcke direkt bei der Signalerzeugung.
Kannst auch 8-bit-Palette (256 Farben aus 18-bit Farbraum) nehmen, dann
ist's nur noch die Hälfte. Passende DACs kann man aus alten Grafikkarten
schlachten. Oder gleich die Grafikkarte ansteuern.
> Ich dachte so was gehe ohne HF-Modulator da ich mal in Elektor ...
Geht definitiv nicht. Das was zum Antenneneingang reinkommt, wird
erstmal auf eine Trägerfrequenz im Bereich hunderte MHz untersucht, und
ohne die läuft gar nichts.
So ein HF-Modulator ist aber einfach zu machen, wenn es nicht schön oder
genau sein muss. Gibts auch fertig für wenig Geld.
Texte oder einfache kleine Grafiken bekommt man mitm AVR schon hin,
jedoch kannst du nicht frei zeichnen es muss schon vorher ungefähr
feststehen was wo landen soll. Ein OSD Menü z.b. kann man hinbekommen.
Oder solche einfachen Spiele wie snake oder dieses Ping Pong o.ä.
Farbe ist auch möglich aber nur ein paar Farben und recht aufwendig zu
berechnen. Graustufen sind da wesentlich einfacher.
Dazu betreibt man den AVR mindestens mit 16 Mhz, Bastelt eine kleine
Synchronimpulserkenung dazu gibts entweder IC´s von Maxim die man an die
externen Interrupts hängt oder man bastelt ne kleine Analogschaltung mit
der man sich über den Analogkomperator Interrupts generieren lassen
kann.
Die Ausgabegeschwindigkeit bekommt man über die SPI hin, dabei muss man
aber recht effizient Programmieren.
> Ich dachte so was gehe ohne HF-Modulator da ich mal in Elektor ein> einfaches s/w Tennisspiel gesehen habe?
Da verwechselst du was. Anntenneneingang nicht gleich
Video-Composit-Eingang.
Mit einem Mikrocontroller ist es wohl derzeit noch nicht möglich ein
farbiges PAL-Videosignal in 768*576 @ 16Bit zu erzeugen ...
Mit FPGAs sieht die Sache anders aus, denn da hab ich vor einiger Zeit
eine Art Grafikkarte für Microcontroller gebastelt. Der FPGA erzeugt ein
780*576 @ 16Bit PAL-Videosignal ... [1]
Zu deiner eigentlichen Frage: Mein PAL-Encoder ist mit 1MB
Bildschirmspeicher ausgestattet. Ich hab pro Pixel 2 Byte (=16Bit im
5:6:5 Format), brauch also mindestens 878kB Speicher.
Mfg
Thomas Pototschnig
[1]: http://www.opencores.org/projects.cgi/web/graphiti/overview
>Mit FPGAs sieht die Sache anders aus, denn da hab ich vor einiger Zeit
eine Art Grafikkarte für Microcontroller gebastelt.<
Hut aber aber mit FPGA kenne ich micht nicht aus. Mit uc kann ich doch
das eine oder andere umsetzen ,ausser eben ein gutes TV-Terminal wie es
scheint.
Zirrus wrote:
>> Mit FPGAs sieht die Sache anders aus, denn da hab ich vor einiger Zeit>> eine Art Grafikkarte für Microcontroller gebastelt.>> Hut aber aber mit FPGA kenne ich micht nicht aus. Mit uc kann ich doch> das eine oder andere umsetzen ,ausser eben ein gutes TV-Terminal wie es> scheint.
Es lohnt sich in die Welt der FPGAs reinzuschnuppern ... Man kann viele
tolle Sachen machen, die nicht oder nur sehr schwierig mit uCs
umzusetzen sind :-)
Mfg
Thomas Pototschnig
>Es lohnt sich in die Welt der FPGAs reinzuschnuppern ... Man kann viele
tolle Sachen machen, die nicht oder nur sehr schwierig mit uCs
umzusetzen sind <
Stimmt werde ich auch machen. Nur muss ich Schritt für Schritt vorwärts
gehen und die FPGAs müssen noch ein bisschen warten.
Als Propeller Fan muss einfach mal einiges richtigstellen:
I_ H. schrieb:
"Hab mal kurz gesucht und das gefunden: max. 80MHz, 32k ram, 32k rom
Klingt für mich auch nach 64kB Adressraum, also am Stück kannst du die
880kB nicht adressieren. Das Timing ist auch mit dem Teil sehr sehr
knapp. Rechne mal mit 20MSamples/sek, dann hast du 4 Takte in denen du
16bit raushauen musst.
Wenn's ein 8bitter ist, hast du für 8bit grad mal 2 Takte. Wenn man es
klug anstellt, kann man zwischen den einzelnen Bänken umschalten während
der Strahl links/rechts außerhalb vom Bild ist (Bild nicht am Stück im
Speicher ablegen). Die 16bit machen sich zum sequenziellen Auslesen
schon ganz gut, den DAC wirst du aber mit einzelnen Widerständen aubauen
müssen. Für die Ansteuerung von einem externen DAC ist keine Zeit."
Also der Propeller ist kein 8bitter sondern er besteht aus 8 parallelen
32bit Prozessoren, jeder mit etwa 20 MIPS, die auf ein globales 32 kByte
RAM zugreifen können!
Er hat einen speziellen Videoshifter bei jedem Prozessor (also 8 mal)
eingebaut, der mit 32bit Werten gefüttert wird und diese dann mit
Farbinformationen zu einem FBAS Signal verwandelt und rausschiebt. Am
Ausgang braucht man nur eine 3-bit DAC aus 3 Widerständen, und hat das
fertige Video Signal inclusive Farbmodulation.
Mehr noch: es ist möglich das FBAS Signal noch auf einen Träger
aufzumodulieren (Kanal 1 oder 2), und kann dann direkt in den
Antenneneingang gehen, oder noch besser ein Stück Draht als Antenne und
einfach durch die Luft zum TV. Dazu ist kein einziges zusätzliches
Bauteil notwendig.
Allerdings erreichst du natürlich nicht 768x576 Pixel mit 24bit Farbe,
das ist schon wegen dem RAM nicht möglich. Realistisch ist 320x200 mit 4
Farben . Die 4 Farben werden aus ca. 256 möglichen für jeweils 16 Pixel
ausgewählt. So was benötigt 12 kByte wenn Grafik gewünscht ist. Soll nur
Text dargestellt werden, so hat der Propeller ein Character Set im ROM,
und du brauchst nur noch ca. 1-2kByte im RAM um die Zeichen
auszuwählen.
Tom schrieb:
"Der Propeller ist ein bisschen ein ungewöhnliches Konzept, für den
Einsteiger nicht so geeignet. Du kaufst ja auch nicht dein erstes Auto
mit Ionenantrieb."
Ungewöhnlich - JA. Aber für den Einsteiger nicht so geeignet - NEIN. Der
Propeller ist sehr einfach zu programmieren, wenn man sich auf die
Sprache Spin beschränkt, und vorgefertigte Objekte einbindet. Viel
einfacher als C z.B. Erst wenn man mehr will, muss man sich mit
Assembler und der genauen Architektur beschäftigen.
Es gibt dutzende fertiger Objekte für TV und VGA Ausgabe von Graphik und
Text. Und diese benötigen 2-3 Prozessoren, so dass man noch genügen
Resourcen hat um auch gleich ein PS2 Keyboard und eine Maus abzufragen,
Bilder ab eine SD Karte zu laden usw. Alles mit ein paar Spin-Zeilen,
ohne tiefere Kenntnisse.
So jetzt ist mir wohler - und ich arbeite nicht etwa für Parallax, dem
Hersteller des Propeller Chips, nur finde ich dieser Chip wird total
unterschätzt.
Gruss
Andi
Hallo Andi
Ich interessiere mich ebenfalls für ein ähnliches Projekt und der
Propeller finde ich auch interessant. Hast du vielleicht ein paar
interessante Links zu einem TV-Terminal (mit einem Propeller) was
einfach zu verstehen ist?
MfG Pozo
Hallo Pozo
Die freie Programmierumgebung zum Propeller enthält einige Beispiele zu
Keyboard, TV und Serielle Ein/Ausgabe. Sie heisst Propeller Tool und
kann hier heruntergeladen werden:
http://www.parallax.com/ProductInfo/Microcontrollers/PropellerDownloads/tabid/442/Default.aspx
Eine Webseite mit einem Terminal Projekt kenne ich gerade nicht (meist
ist Tastatur und TV Ausgabe nur ein kleiner Teil von grösseren
Projekten) aber hier ein Codebeispiel auf dem man aufbauen kann, und das
zeigt wie einfach es sein kann:
Dieses Beispiel läuft genau so in die IDE kopiert, ohne irgendwelche
Zusätze, alle eingebundenen Objekte gehören zur Standard Library der
oben erwähnten Propeller Tool IDE.
Wie du vielleicht bemerkst kann man die meisten Objekte für beliebige
Pins konfigurieren, und man kann sie auch mehrfach an verschiedenen Pins
verwenden.
Andi
Sowas wie ein diskreter RAMDAC klingt ja eigentlich recht gut.
Würd mich mal zum rumspielen interessieren.
Weiss zufällig jemand ob soetwas schon irgendwie im Netz rumschwirrt?
Könnt einem ja doch die ein oder andere Stunde Hirnschmalz ersparen.
greets, Jens
Übrigens kommt man mit 256 darstellbaren Zeilen ganz brauchbar hin.
Auf Zeilensprung wird man für eine einfache Darstellung ohnehin
eher verzichten wollen, da hat man also nur noch 312 Zeilen
insgesamt. Die Differenz zu 256 ist dann die Bildaustastlücke
(Strahlrücklauf von unten nach oben).
Mit ebendiesen 256 Zeilen haben früher die typischen Computer
gearbeitet, die ihr Videosignal auf einen Fernseher ausgegeben haben.
Wenn man als Seitenverhältnis 4:3 annimmt, hätte man 341 Spalten
und knapp 64 Ki Bildpunkte. Andererseits haben ebendiese Computer-
adapter dazumals schon auch 64 Zeichenpositionen je 8 Pixel
darstellen können, also 512 Pixel. Damit käme man auf 128 Ki
Pixel.
Alles aber immer noch mehr als das, was man ohne memory banking
an einen AVR als RAM dranklemmen kann.
Hallo Andi
Ich bin eigentlich erstaunt mit wie wenig Code man mit diesem Propeller
was umsetzen kann.
wie einfach dies nun ist kann ich nicht beurteilen aber irgendwie ist
dieser Chip interesant für mich.
Leider habe ich bis jetzt noch kein brauchbare Bild gesehen wie es
ausschaut wenn Grafi man auf den TV (Antenneneingang) ausgibt.
Hat vielleicht jemand so eine Beispiel gesehen?
Gruss
Pozo
768x576 Pixel machen doch, bei Übertragung per FBAS Video oder gar
Antenne, gar keinen Sinn. Die horizontale Auflösung eines TV-Bildes
beträgt dabei ca 160 unterscheidbare Pixel, darüber verwaschen sich die
Pixel zu einem grösseren mit falscher Farbe. Nicht umsonst hatten
Commodore64 und Co Fonts, die aus 2 Pixel breiten Linien bestanden (bei
320*200Pixel), weil es sonst zu seltsamen Effekten kommt. Etwas anders
ist das natürlich wenn Filme oder Fotos dargestellt werden sollen, da
macht höhere Auflösung schon Sinn.
Aber für höher auflösenden Text oder Linien-Grafik sollte man einen VGA
Monitor benutzen, und kein TV.
@Pozo
Ich habe mal versucht ein Bild von der Ausgabe eines Propellers mittels
einer Antenne zum TV zu machen. Leider habe ich nur eine ganz billige
Kamera ohne Macro. Durch vorhalten einer Lupe ergab sich dann doch ein
Bild das wenigstens einige scharfe Stellen aufweist. Also Verzerrungen
und verwaschene Darstellung am rechten Rand sind nicht so auf dem TV,
sondern kommen nur von der Aufnahme! Und auch die Farben sind viel
besser als auf dem Bild.
Am Propeller ist nur ein Draht von 20cm und der Frenseher ist ein
kleiner, tragbarer mit Antenne. Dieser lässt sich mit einem Drehregler
stufenlos durch die Kanäle abstimmen, was vieles erleichtert.
Antennen Eingang gibts nicht, darum durch die Luft von Antenne zu
Antenne.
Wichtig ist, dass man den Propeller mit einem PAL Quarz betreibt
(4.43..MHz), da sonst Streifenmuster bei einigen Farben entstehen. Das
heisst er läuft dann mit 71MHz Clock, und 8*17.7 MIPS.
Die Trägerfrequenz auf die aufmoduliert wird, muss ein ganzzahliges
Vielfaches der Quarzfrequenz betragen und es kommen eigentlich nur die
Kanäle 2..4 (47..68MHz) in Frage.
Laut Parallax ist dieser Video-Broadcast Mode nicht dazu gedacht um den
Propeller dauerhaft an einen TV "anzuschliessen", sondern z.B. für
Roboter um während dem, herumfahren drahtlos Daten anzeigen zu können.
Und dafür taugt er allemal.
Noch mal zur Erinnerung: An Hardware benötigt man gerade mal 3
Widerstände und ein Draht.
Andi
Ich habe in der Zwischenzeit doch noch ein Bild gefunden.
Sieht eigentlich gar nicht so schlecht aus wenn es klappt.
http://ftp.parallax.com/forums/default.aspx?f=25&m=205116
Ich glaube ich kaufe mir so einen Propeller der macht mich noch ganz
"verzückt".
Kann man den auch ganz normal über die RS232-Schnittstelle programmieren
oder ist man gezwungen den USB-Adapter von Parallax zu verwenden?
Eigentlich müsste es ja auch ohne gehen.
Weiss jemand gerade ob die Eingänge vom Propeller 5V-Tolerant sind?
Grüsse
Pozo
Ja diese Bilder zeigen es einiges besser als mein Billigfoto :)
Der Parallax USB Adapter ist nur ein FT232RL den sie etwas teuer
verkaufen. Ich habe mir das selber gebastelt. Es geht auch RS232 mit
Pegelwandler auf 3.3V (MAX232 oder die Transistorschaltung im Propeller
Datenblatt).
5V tolerant ist er nicht direkt, aber es braucht nur einen Vorwiderstand
von ca. 1k..10k vor einem Eingang um 5V Signale anzuschliessen.
Am günstigsten fährst du mit einem ProtoBoard (ca. 25 €) und
selbstgebautem RS232 Interface. ProtoBoard erhälst du z.B. bei
www.zerko.ch
Gruss
Andi
@ Andi (Gast)
>Der Parallax USB Adapter ist nur ein FT232RL den sie etwas teuer>verkaufen. Ich habe mir das selber gebastelt. Es geht auch RS232 mit>Pegelwandler auf 3.3V (MAX232 oder die Transistorschaltung im Propeller>Datenblatt).
Wozu einen Multikernprozessor wenns ein kleiner AVR locker tut?
Beitrag "AVR ASCII Video Terminal - 40 x 25 - BAS Signal"
MfG
Falk
>Wozu einen Multikernprozessor wenns ein kleiner AVR locker tut?<
Ja schon, nur ich habe aufgehört Assembler zu programmieren das es mir
zu auf wendig ist. Ich möchte in Zukunft nur noch in einer Hochsprache
Programmieren solche Programme kann man auch in einem Jahr lesen und
versteht sie. OK es gibt auch mit dem AVR ein Beispiel welches in
C-Geschrieben wurde aber da bleibt nicht mehr viel übrig. Leider fehlt
die Farbe beim AVR. Ein bisschen Farbe wäre schon schön.
Gruss
Pozo
"Wozu einen Multikernprozessor wenns ein kleiner AVR locker tut?"
Vielleicht, weil:
- Du Farbe möchtest
- auch Grafik darstellen willst
- ein moduliertes VideoSignal für Antenneneingang möchtest
- alternativ auch VGA darstellen willst
- gleichzeitig Tastatur und Maus abfragen möchtest
- und vor allem: Daneben ja noch eine Anwendung laufen lassen möchtest,
die die Anzeige auch sinnvoll einsetzt, diese vielleicht Messwerte
verarbeiten muss, oder komplizierte Grafikberechnungen durchführen soll.
Das geht mit dem Propeller eben alles auf einem Chip. Und die parallelen
Prozessoren machen solche Anwendungen nicht komplizierter, sondern
einfacher!
Gruss
Andi
P.S. bin auch ein AVR Anhänger, wenns um kleine einfache Anwendungen
geht, wo ein Propeller zu teuer ist.
@ Pozo (Gast)
>Ja schon, nur ich habe aufgehört Assembler zu programmieren das es mir>zu auf wendig ist.
Du hast aufgehört zu denken, weil es zu anstrengend ist?
Klar programmiert man die meisten Sachen sinnvollerweise in einer
Hochsprache, aber für solche sehr zeitkritischen Dinge muss es eben
Assembler sein. So what.
@ Andi (Gast)
>"Wozu einen Multikernprozessor wenns ein kleiner AVR locker tut?">Vielleicht, weil:>- Du Farbe möchtest>- auch Grafik darstellen willst>- ein moduliertes VideoSignal für Antenneneingang möchtest
Ob das der Propeller schafft wage ich zu bezweifeln ;-)
>- alternativ auch VGA darstellen willst
Kann der AVR auch, muss man nur separate Sync-Signale erzeugen, die
jetzt im Videosignal mit drinstecken.
>- gleichzeitig Tastatur und Maus abfragen möchtest
Kann der AVR auch, schliesslich arbeitet er als Terminal.
Und sowas macht man ja auch sinnvollerweise mit einer CPU? Komisch, der
Rest der Welt nimmt dafür einen Grafikchip. Der kann das gleiche leisten
bei wesentlich weniger Takt und Leistungsaufnahme.
Beitrag "High-Quality PAL-Grafikkarte für µCs">- und vor allem: Daneben ja noch eine Anwendung laufen lassen möchtest,>die die Anzeige auch sinnvoll einsetzt, diese vielleicht Messwerte>verarbeiten muss, oder komplizierte Grafikberechnungen durchführen soll.>Das geht mit dem Propeller eben alles auf einem Chip. Und die parallelen>Prozessoren machen solche Anwendungen nicht komplizierter, sondern>einfacher!
Ist dennoch eine rein akademische Spielerei. Ganz nett, aber praktisch
ohne Bedeutung.
MFg
Falk
@ Pozo
Um den Propeller voll auszunutzen, muss man ihn auch in Assembler
programmieren..
@ Falk Brunner
>Ob das der Propeller schafft wage ich zu bezweifeln ;-)
Dann schau mal ein paar Beispiele an:
http://www.youtube.com/watch?v=_MMAMRoURcIhttp://www.youtube.com/watch?v=kA8sq_7nYlEhttp://www.youtube.com/watch?v=EjkXokgcBZwhttp://www.youtube.com/watch?v=pV7-twaYG84>>- alternativ auch VGA darstellen willst
>Kann der AVR auch, muss man nur separate Sync-Signale erzeugen, die
>jetzt im Videosignal mit drinstecken.
Für VGA mit 1024*768 brauchst du >40MHz Pixelclock, das halte ich für
unmöglich mit einem AVR. Der Propeller kann bis ca. 160MHz Pixelclock
wenns sein muss.
>Und sowas macht man ja auch sinnvollerweise mit einer CPU? Komisch, der>Rest der Welt nimmt dafür einen Grafikchip. Der kann das gleiche leisten>bei wesentlich weniger Takt und Leistungsaufnahme.
Der Propeller ist eben auch ein Grafikchip (oder besser 8 Grafikchips).
Weniger Takt und Leistung als der Propeller? Dieser benötigt ca. 12mA
pro Prozessor bei voller Geschwindigkeit !
>Beitrag "High-Quality PAL-Grafikkarte für µCs"
Diese Grafikkarte gefällt mir sehr, spielt aber in einer anderen Liga.
144Pin (0.5mm) FPGA, externes SRAM, 40 Euro Bauteil+Printkosten im
Vergleich zu einem DIL-40 mit 3 Widerständen, wobei man den Propeller
Chip eigentlich gar nicht mitrechnen darf, da du zum Ansteuern der
Grafikkarte ja auch noch eine CPU brauchst.
Dagegegen erreicht man natürlich nie die Qualität dieser Grafikkarte,
die Video-Grafikfähigkeiten des Propellers sind etwa mit einem Commodore
64 vergleichbar.
>>- und vor allem: Daneben ja noch eine Anwendung laufen lassen möchtest...
>Ist dennoch eine rein akademische Spielerei. Ganz nett, aber praktisch
>ohne Bedeutung.
??? - Eine Grafikausgabe ist normalerweise dazu da um das Ergebnis eines
Programmes darzustellen. Das kann ein Spiel sein, eine Textverarbeitung,
eine Messwertaufnahme, eine Klang Visualisierung... und Millionen andere
Möglichkeiten. Ich finde das praktisch sehr von Bedeutung.
Gruss
Andi
@Falk Brunner
>Du hast aufgehört zu denken, weil es zu anstrengend ist?<
Nee weil Zeit Geld ist und ich keinen Luft habe unnötig viel Zeit für
was aufzuwenden wenn es auch mit einer Hochsprache in viel weniger Zeit
möglich ist. Und das Programm wird man auch noch in einem Jahr
verstehen. Ich bezweifle dass du nach einem Jahr deine Assemblerprogramm
ohne grossen Zeitaufwand noch verstehst.
@ Pozo (Gast)
>verstehen. Ich bezweifle dass du nach einem Jahr deine Assemblerprogramm>ohne grossen Zeitaufwand noch verstehst.
Aber sicher! Assembler != Spaghetticode
Man kann in JEDER Sprache unleserlicj programmieren.
MFG
Falk
>Man kann in JEDER Sprache unleserlicj programmieren.<
Stimmt aber ich möchte nich versuchen deinen Code zu verstehen obwohl
ich nie behaupten würde dass dein code unleserlich ist..
Obwohl ich kein Superprogrammierer bin würdest du aber meinen Code in
Hochsprache eher verstehen, als ich oder viel andere deinen
Assemblercode.
Und um genau dies geht es mir.
@ Andi (Gast)
>Dann schau mal ein paar Beispiele an:>http://www.youtube.com/watch?v=_MMAMRoURcI
Auch zitieren will gelernt sein.
>>- ein moduliertes VideoSignal für Antenneneingang möchtest>Ob das der Propeller schafft wage ich zu bezweifeln ;-)
Mein Zweifel bezieht sich darauf, dass der Propeller ein Signal für den
Antenneneingang direkt selber erzeugen kann. Das kann er sicher NICHT,
denn die Antennensignale liegen je nach Kanal im VHF/UHF Band bei
150..300 MHz irgendwo. Farbe und Grafik ist klar.
>Für VGA mit 1024*768 brauchst du >40MHz Pixelclock, das halte ich für>unmöglich mit einem AVR.
Ja, das stimmt.
>Diese Grafikkarte gefällt mir sehr, spielt aber in einer anderen Liga.>144Pin (0.5mm) FPGA, externes SRAM, 40 Euro Bauteil+Printkosten im>Vergleich zu einem DIL-40 mit 3 Widerständen, wobei man den Propeller>Chip eigentlich gar nicht mitrechnen darf, da du zum Ansteuern der>Grafikkarte ja auch noch eine CPU brauchst.
Naja, der meiste Aufwand entsteht dadurch, dass das Signal als FBAS
moduliert wird. Was eigentlich wenig sinnvoll ist, eine direkte
RGB-Ansteuerung eines Monitors ist 10mal einfacher. Aber ein nettes
Projekt, das die Leistungsfähigkeit moderner FPGAs als DSP eindrucksvoll
demonstriert.
>Dagegegen erreicht man natürlich nie die Qualität dieser Grafikkarte,>die Video-Grafikfähigkeiten des Propellers sind etwa mit einem Commodore>64 vergleichbar.
R.I.P. ;-)
>Möglichkeiten. Ich finde das praktisch sehr von Bedeutung.
Im LCD Zeitalter?
MFG
Falk
@ Pozo (Gast)
>Obwohl ich kein Superprogrammierer bin würdest du aber meinen Code in>Hochsprache eher verstehen, als ich oder viel andere deinen>Assemblercode.>Und um genau dies geht es mir.
OK, hast Recht. Aber worauf ich hinauswollte ist, dass man eben für
KLEINE, zeitkritische Dinge noch Assembler nimmt, der Rest halt in
Hochsprache.
MFG
Falk
>OK, hast Recht. Aber worauf ich hinauswollte ist, dass man eben für>KLEINE, zeitkritische Dinge noch Assembler nimmt, der Rest halt in>Hochsprache.
Dagegen habe ich auch nichts gesagt. Es ist auch nicht so dass ich
Assembler aufgebe, aber ich werde Assembler so selten wie nötig
verwenden.
@Falk Brunner
Es war nicht klar das sich deine Bedenken auf die HF-Modulation
beziehen. Um so mehr ich das, in diesem Thread, 14 Beiträge zuvor doch
genau beschrieben habe, und sogar versucht habe ein Foto davon zu
machen.
Glaub mir: es geht. Zumindest auf den Knälen 2,3,4 evt auch noch bei
150MHz, da die (16!) PLLs des Propellers bis 160 MHz gehen.
>R.I.P (C=64)
Einige sind da anderer Ansicht ;) Aber sollte auch nur ein Vergleich
sein, mit etwas das viele kennen (kannten).
>LCD Zeitalter
Wenn du mir ein LCD mit mind. 320*200 Auflösung nennen kannst, das mit
3...5 Pins ansteuerbar ist, mind. 7 Zoll gross ist, und fast nichts
kostet, bin ich sofort bereit dafür die TV und VGA Ausgabe des
Propellers aufzugeben.
Ich kenne da nur Handy-Displays, aber die sind für viele Fälle einfach
zu klein.
Gruss
Andi
@ Andi (Gast)
>Glaub mir: es geht. Zumindest auf den Knälen 2,3,4 evt auch noch bei>150MHz, da die (16!) PLLs des Propellers bis 160 MHz gehen.
Theoretische Überlegung oder real nachgewiesen?
[ ] Du kennst den Unterschied zwischen analoger Modulation und einem
digitalen Takt.
Von einer halbwegs brauchbaren Filterung mal ganz zu schweigen.
MFg
Falk
Andi wrote:
>>LCD Zeitalter> Wenn du mir ein LCD mit mind. 320*200 Auflösung nennen kannst, das mit> 3...5 Pins ansteuerbar ist, mind. 7 Zoll gross ist, und fast nichts> kostet, bin ich sofort bereit dafür die TV und VGA Ausgabe des> Propellers aufzugeben.
Jedes beliebige Notebook TFT:
Auflösung >=1024x768, meist 14" oder größer, Kosten: mit etwas Glück
garnichts, Ansteuerung via 4-5 LVDs Leitungen.
Falk Brunner fragte:
"Theoretische Überlegung oder real nachgewiesen?"
Real nachgewiesen auf Kanal 2 von Propeller mit Antenne zu kleinem
tragbaren Ferneseher ebenfalls mit Antenne.
Der Propeller macht die Modulation per Hardware vor dem DAC darum ist
das Signal nicht einfach digital verknüpft sondern analog
amplitudenmoduliert.
@Benedikt K.
Und wie wird so ein TFT angesteuert? Doch mit einem VGA ähnlichen
Signal.
Damit hätten wird uns dann einmal voll im Kreis gedreht :)
Genau das Ansteuern eines VGA LCD Monitors ist doch durch den Propeller
so einfach. Und ich benutze dazu einen ausgedienten 14 Zöller der mich
gar nichts gekostet hat. Oder alternativ ein Fernseher, wenns drahtlos
sein soll. Aber Falk findet es ja völlig unnötig, dass ein Prozessor
auch eine Grafik-Hardware eingebaut hat, im heutigen LCD Zeitalter.
Gruss
Andi