[Erledigt] Serielle Schnittstelle und der Propeller?

Alles zum Thema Hardware rund um die Propellerchips und den Hive.
DJLinux

Re: MAX232 oder MAX3222 und der Propeller?

Beitrag von DJLinux »

Also nochmal ganz langsam für mich "noch" Anfänger ohne laufendem Propeller.

Nach einem Power On oder halt Reset häucht der Loader (oder is es der Spin Interpreter)
im Chip ob er auf RX,TX was empfangen kann wenn nicht dann ob ein serielles RAM was zu bieten hat.

Also wenn man nicht auf die Entwicklungsumgebung von Parallax ich meine die IDE
angewiesen wäre und das genaue Protokoll "mitgeschnitten" hat
dann könnte man auch ohne die 3 DTR Leitung den Propeller via 2 Drat Kommunikation
programmieren.

Oder anders gesagt ein manueller Reset über Taster wäre das gleiche als wenn die IDE via
DTR Leitung den Chip Resetet und mit der Übertragung beginnt.

Richtig oder Falsch???

Ich frag das weil ein eigener Kompiler müste ja auch den Code irgendwie übertragen
oder funkt da etwar der Spininterpreter / Loader dazwischen?

Ähhhh mus ein Kompiler etwas Spin Bytecode vor dem kompiliertem Assembler im Header
ablegen damit der Bootloader überhaupt das "Fremdprogramm" nicht als solches entlarvt
und lädt?

Grüsse und sorry wenn ich nerve wenn mein Prop. entlich läuft
werde ich das meiste schnell selbst rausfinden.

Mann ist das öde wenn man einem 8 Core 160 MHz. 32Bit Controller
auf der "Anti - Statik - Matte" Schlummern hat und nicht loslegen kann.
Nutzlose Nachbarn, warum haben die denn keine standard Transistoren
und Wiederstände der Hausappotheke für Notfälle wie mich :lol:

Joshy
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: MAX232 oder MAX3222 und der Propeller?

Beitrag von drohne235 »

Das ist schon im wesentlichen richtig wie du das siehst. Es wird ein 32 KByte Image in den Ram übertragen, bei Bedarf geflasht und dann gestartet. Start heißt im Fall vom Propeller das in eine Cog der Microcode für den Spin-Tokeninterpreter geladen wird, weshalb wohl jedes Programm letztlich einen "Spinheader" hat - selbst wenn dieser nur aus wenigen Byte besteht um den eigendlichen Code zu starten.

Was aber genau den Ladevorgang realisiert hab ich so noch nicht ergründet - ob das also ein kleiner Spincode ist, oder ab ein passender Microcode in eine Cog geladen wird welcher das realisiert und sich dann beendet. Ich hab nur mal gelesen das ein 32 K Image übertragen wird und wenn das wirklich der Fall ist bleibt eigendlich nur Platz für letztere Lösung, da dann ja beim Upload der komplette Ram mit ebend diesem Image überschrieben wird. Des weiteren ist der Spin-Tokeninterpreter wohl im ROM verschlüsselt, es gibt also keine Sourcen dazu. Wenn man im Amiforum sucht findet man irgendwelche Nachbauten und Versuche den Interpreter zu hacken, aber den echten Sourcecode hat Chip Gracy noch in der Schublade.

Das DTR-Signal könnte man theoretisch auch durch einen Resetschalter erstetzen, aber ob man das Timing wirklich hinbekommen würde? Es gibt aber die Linux-IDE und da vielleicht ja auch die Quellen um sich das mal anzuschauen.

Was ich irgendwo rumliegen habe ist der Aufbau der Objekte, also wo die Pointer, Routinen Variablenbereiche liegen.

> Mann ist das öde wenn man einem 8 Core 160 MHz. 32Bit Controller
> auf der "Anti - Statik - Matte" Schlummern hat und nicht loslegen kann.
> Nutzlose Nachbarn, warum haben die denn keine standard Transistoren
> und Wiederstände der Hausappotheke für Notfälle wie mich

Was'n das für ne Gegend wo du wohnst... *Kopf schüttel*

;)
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Infinity
Beiträge: 39
Registriert: Do 28. Mai 2009, 23:16

Re: MAX232 oder MAX3222 und der Propeller?

Beitrag von Infinity »

Ich frag das weil ein eigener Kompiler müste ja auch den Code irgendwie übertragen
oder funkt da etwar der Spininterpreter / Loader dazwischen?
Aaahhhmmm, ein compiler hat normalerweise nur die Aufgabe ASM oder Objectfiles zu erstellen das linken und das flashen (übertragen) sind schon wieder 2 eigene Programme......


Darf man fragen was du vor hast?

lg Infinity
Benutzeravatar
digger
Administrator
Beiträge: 676
Registriert: Sa 23. Mai 2009, 22:44
Wohnort: Schorfheide
Kontaktdaten:

Re: MAX232 oder MAX3222 und der Propeller?

Beitrag von digger »

Bezüglich eines Compilers fänd ich es super, wenn man auf dem HIVE selbst SPIN Sourcen bearbeiten könnte und diese dann auch direkt auf dem HIVE zum ausführbaren Bitcode compilieren könnte.

Beim HIVE taucht ja der Begriff "Retro" auf und mit Retro verbinde ich gedanklich diese BASIC-interpreter welche sich ja bei den meisten Homecomputern gleich nach dem einschalten meldeten. SPIN ist in meinen Augen ein würdiger moderner Nachfahre von BASIC (natürlich nur für Propeller) weshalb ich es toll finden würde den HIVE auch direkt in SPIN programmieren zu können ohne den Umweg über die PC-Software und den Upload des Codes.

Das wird auf jeden Fall eine der ersten Sachen mit denen ich auf dem HIVE loslegen werde. ;-)

Gruss digger
DJLinux

Re: MAX232 oder MAX3222 und der Propeller?

Beitrag von DJLinux »

Ich hab den Prop. nun seriell angeschlossen doch leider will die IDE nichts davon wissen.
Das RTS signal kommt (mit LED kontrolliert) am Reset Pin an.
Ankommende Bits werden am RX Pin registiert (mit LED kontrolliert).
Propeller sendet kurz über TX (mit LED kontrolliert).

Ich finde keine Informationen mit welcher
Baudrate, Anzahl der Bits, grade/ungrade, Stopbits und oder Protokoll der Comport eingestellt sein muss.

Grüsse Joshy

edit:
Jetzt habe ich im Parallax Forum gelesen das die IDE den Comport bei jeder neuen Sitzung
mit 115,200 Baud 8,N,1 installiert.
Jetzt weiss ich auch nicht mehr weiter.
Werde mal einen anderen Rechner mit RS232 testen.
Kann ja sein das der Comport in meinem Recher "nicht" mehr funktioniert
oder noch nie richtig ging.
Habe es in der Vergangenheit mangels an seriellen Geräten nie getested.
BorgKönig
Beiträge: 598
Registriert: So 24. Mai 2009, 11:24

Re: MAX232 oder MAX3222 und der Propeller?

Beitrag von BorgKönig »

Das Problem liegt nicht nur am Propeller, sondern auch am OS Deines Computers. Falls du Windows benutzt, musst Du im Geräte Manager die selbigen Einstellungen haben, wie es der Propeller verlangt. Öffne im Geräte Manager die Einstellungen für den Com- Anschluss und stelle alles so ein, wie ich es am angehängten Bild habe. Das ganze bestätigst Du noch mit ein Klick auf "OK", Du wartest dann noch ein paar Sekunden und kannst danach los legen. Dann klappt es auch mit einen Gespräch zwischen den 2 CPU´s ;)
Dateianhänge
anschluss.JPG
DJLinux

Re: MAX232 oder MAX3222 und der Propeller?

Beitrag von DJLinux »

Danke für den Tip aber die Geräteeinstellungen hatte ich schon gemacht war sogar als Defaulteinstellung selektiert.

Grüsse Joshy
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: MAX232 oder MAX3222 und der Propeller?

Beitrag von drohne235 »

Was für eine Schaltung hast du genommen DJLinux? Mit dem MAX232 wie im Hive? Ich verwende meist einen USB-zu-Ser-Adapter da mein Notebook keine serielle Schnittstelle mehr hat, aber wenn ich mich recht entsinne hab ich es auch schon direkt und ohne Adapter verwendet. Allerdings habe ich für das Propeller Tool nie irgendwelche Kommunikationsparameter eingestellt, nur als ich direkt mit dem RS232-Objekt per Software und einem Terminalprogramm am PC experimentiert hab mußte ich da rumstellen.

Hast du vielleicht TX und RX auf einer Seite verdreht?
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
BorgKönig
Beiträge: 598
Registriert: So 24. Mai 2009, 11:24

Re: MAX232 oder MAX3222 und der Propeller?

Beitrag von BorgKönig »

DJLinux hat geschrieben:Danke für den Tip aber die Geräteeinstellungen hatte ich schon gemacht war sogar als Defaulteinstellung selektiert.

Grüsse Joshy
Stören da evtl. andere Programme die Kommunikation? Falls nicht, kann dir drohne235 wohl eher helfen.
DJLinux

Re: MAX232 oder MAX3222 und der Propeller?

Beitrag von DJLinux »

In meiner Verzweiflung habe ich beide mir bekannten Versionen der RS232 to Prop. Schaltungen auf Steckbrett getestet. (Siehe Anhang)
Wenn ich RES,TX,RX mit LED kontrolliere dann sieht alles OK aus.
Mit dem Terminal Programm habe ich auch DTR gesetzt und nach dem Reset "horcht" auch der Propeller ob der PC Daten sendet.
Daher glaube ich als Elektronik-Anfänger keine Fehler mit z.B. den Transitoren (Basis, Emitter, Kollektor) gemacht zu haben.
Was mir sehr merkwürdig vorkommt ist, wenn ich den Com Port selbst programmiere und mit der DTR Leitung den Chip resetten will, das dieses keine erkennbaren Reaktion auslöst.
Erst dachte ich das die Parallax Software (IDE und Terminalprogramm) mit anderen Rechten läuft als meine eigenes DTR Testprogramm.
Das kann es aber nicht sein weil ich es auch mit Administrator Rechten probiert habe.

Wenn weder der Propeller Chip noch der Comport defekt ist (wovon ich noch ausgehe) dann bleibt mir noch eine Möglichkeit.

Parallax hat in der Version 1.26 der Propellertools etwas "winziges" am Timeming geändert (was aber mit USB_to_RS232, Propclip etc. noch funktioniert) aber nicht mit diskreter Schaltung.

Werde daher auch noch eine ältere Version z.B. 1.0 testen.
Vielleicht stammt die Version aus der Zeit wo noch jemand Anderes den Prob am echtem Com Port programmiert hat.

Grüsse Joshy

Edit:
Ich habe nur einen Beitrag überhaupt gefunden wo jemand RS232 to Prop. benutzt und eine Antwort war das mit Steckbrett der Erfolg ausblieb aber die gleiche Schaltung "fest verlötet" soll dann aber funktioniert haben.
Ich als elektronik Einsteiger dachte im KHz. Bereich (RS232) würde es auf so einem Steckbrett keine Probleme geben.
Da ich noch keine E-Ausrüstung habe aber benötige werde ich mir Lötkolben und Zubehör besorgen und es noch mal probieren.
Klar kann ich mir auch so einen PropClip ordern aber jetzt will ich es "Wissen" was da schief läuft.
Dateianhänge
rs232_to_propeller_v1.png
rs232_to_propeller_v2.png
Antworten