Forum: Mikrocontroller und Digitale Elektronik Wieviel SRAM braucht man für ein Fernsehbild


von Zirrus (Gast)


Lesenswert?

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

von Kupfer Michi (Gast)


Lesenswert?

>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?

von I_ H. (i_h)


Lesenswert?

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.

von Zirrus (Gast)


Lesenswert?

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.

von I_ H. (i_h)


Lesenswert?

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

von Zirrus (Gast)


Lesenswert?

Und mit Parallax Propeller?
Kann ja angeblich auf VGA ausgeben.

von I_ H. (i_h)


Lesenswert?

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).

von Tom (Gast)


Lesenswert?

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.

von Zirrus (Gast)


Lesenswert?

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.

von Benedikt K. (benedikt)


Lesenswert?

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.

von *.* (Gast)


Lesenswert?

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.

von Tom (Gast)


Lesenswert?

> 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.

von Christian U. (z0m3ie)


Lesenswert?

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.

von Obelix (Gast)


Lesenswert?

> 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.

von Thomas P. (pototschnig)


Lesenswert?

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

von Zirrus (Gast)


Lesenswert?

>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.

von Thomas P. (pototschnig)


Lesenswert?

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

von Zirrus (Gast)


Lesenswert?

>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.

von Zirrus (Gast)


Lesenswert?

Was ist das Geheimnis an diesen Geräten?

http://www.tvterminal.de/

Die arbeiten ja auch mit AVR und sind denoch erstaunlich leistungsfähig?

von Andi (Gast)


Lesenswert?

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

von Pozo (Gast)


Lesenswert?

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

von Andi (Gast)


Lesenswert?

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:
1
'  TV Terminal Demo
2
3
CON  _clkmode = xtal1 + pll16x   ' Quartz und PLL definieren
4
     _xinfreq = 5_000_000
5
6
OBJ  kb :     "Keyboard"                    
7
     tv :     "TV_Text"
8
     ser:     "FullDuplexSerial"
9
  
10
PUB Main | k
11
  
12
  tv.start(12)         ' start the TV display on Pin12..14
13
  kb.start(26, 27)     ' start the keyboard on Pin 26,27
14
  ser.start(31, 30, 0, 9600)  ' start UART 9600 Baud 8N1 Pins 31,30
15
16
  repeat
17
    if kb.gotkey
18
      k := kb.getkey   ' empfangene Tasten seriell ausgeben
19
      ser.tx(k)
20
      tv.out(k)        ' mit Echo
21
    k := ser.rxcheck
22
    if k > 0
23
      tv.out(k)        ' seriell empfangene Zeichen anzeigen
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

von Jens P. (Gast)


Lesenswert?

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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ü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.

von Pozo (Gast)


Lesenswert?

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

von Karl H. (kbuchegg)


Lesenswert?

Zirrus wrote:
> Was ist das Geheimnis an diesen Geräten?
>
> http://www.tvterminal.de/

Keine vollen 768*576 ansprechbaren Pixel.

von Pozo (Gast)


Lesenswert?

>Keine vollen 768*576 ansprechbaren Pixel.<

Ich habe diesen Konverter auch angeschaut. Sieht recht respektabel dafür 
dass es ein ATMega8 ist.

von Andi (Gast)


Angehängte Dateien:

Lesenswert?

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

von Pozo (Gast)


Lesenswert?

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

von Andi (Gast)


Lesenswert?

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

von Falk B. (falk)


Lesenswert?

@ 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

von Pozo (Gast)


Lesenswert?

>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

von Andi (Gast)


Lesenswert?

"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.

von Falk B. (falk)


Lesenswert?

@ 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

von Andi (Gast)


Lesenswert?

@ 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=_MMAMRoURcI
http://www.youtube.com/watch?v=kA8sq_7nYlE
http://www.youtube.com/watch?v=EjkXokgcBZw
http://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

von Pozo (Gast)


Lesenswert?

@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.

von Falk B. (falk)


Lesenswert?

@ 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

von Pozo (Gast)


Lesenswert?

>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.

von Falk B. (falk)


Lesenswert?

@ 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

von Falk B. (falk)


Lesenswert?

@ 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

von Pozo (Gast)


Lesenswert?

>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.

von Andi (Gast)


Lesenswert?

@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

von Falk B. (falk)


Lesenswert?

@ 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

von Benedikt K. (benedikt)


Lesenswert?

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.

von Pozo (Gast)


Lesenswert?

>Kosten: mit etwas Glück garnichts,

Da muss ich und Millionen anderen aber recht unglücklich sein.

von Andi (Gast)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.