Forum: Mikrocontroller und Digitale Elektronik flashfile über rs232 weiter mittels i2c ins endgerät, wie?


von Tobias N. (silberkristall)


Lesenswert?

Hallo,

ich habe ein endgerät (Display), dieses lässt sich mittels rs232, i2c 
und spi programmieren. jetzt erstellt mir die software des Displays ein 
*.df file.

Dieses muss ich nun vom PC aus auf den Mikrocontroller und dann vom 
Mikrocontroller zum Display schicken, aber wie muss ich mir das ganze 
nun vorstellen?

Ein entwicklungsingenieur von Electronik Assembly sagte mir ich müsste 
das df file vom pc über rs232 an meinen mikrocontroller schicken. dieser 
wiederrum smuss dann byte für byte das ganze ans Display senden. Mehr 
support erhält man dort leider nicht.

Könnt ihr mir da Hinweise und beispiele geben wie das ganze 
funktioniert?

Zu den Verbindungen:

COM1 (PC) -> MAX232N -> ATMEGA32 (RS232) -> i2c -> Display

Ich hoffe ihr könnt mir weiter helfen.

Danke schonmal.

von Tobias N. (silberkristall)


Lesenswert?

das df file wird von dem compilier erstellt. dort steht auch drinne das 
das ganze auf den internen flash des displays geflasht werden soll.

von holger (Gast)


Lesenswert?

>Zu den Verbindungen:
>
>COM1 (PC) -> MAX232N -> ATMEGA32 (RS232) -> i2c -> Display

Das geht auch so:

COM1 (PC) -> MAX232N -> Display

In einem Verzeichnis deines "Compilers" liegt ein
Commandlinetool dessen Name ich gerade vergessen habe.
Damit kannst du leicht per Batch Datei dein *.df File
ins Display laden. So macht es auch das Evalboard.

Per USB geht das:

COM1 (PC) -> FT232RL -> Display

von holger (Gast)


Lesenswert?

Und ganz leicht geht es mit einem ATMega644p mit zwei UARTS.

COM1 (PC) -> MAX232N -> ATMEGA644P (RS232) -> RS232 -> Display

Da braucht man nur eine kleine Umlenkung schreiben.
Alles was bei RX0 reinkommt sofort in TX1 schreiben.
Was bei RX1 reinkommt in TX0 schreiben.
Einfacher gehts kaum noch.

Für I2C wird es wohl schwer was fertiges zu finden.

von Tobias N. (silberkristall)


Lesenswert?

ja es gibt copycom und lcdterminal das problem ist das die rs232 pins 
des displays "zerschossen" sind. somit sagten die mir vom support das 
ich das so routen muss. deswegen fragte ich.

von holger (Gast)


Lesenswert?

>ja es gibt copycom und lcdterminal das problem ist das die rs232 pins
>des displays "zerschossen" sind.

Ja, copycom meinte ich. Das die RS232 Pins zerschossen
sind wage ich mal zu bezweifeln. Auf den Displays sitzen
ATMega Controller. Da muss man schon was ganz böses machen
um deren Pins wegzuschiessen.

Per copycom über eine RS232-I2C Bridge zu gehen könnte
kompliziert werden. copycom erwartet auch Antworten vom
Display. Dazu müsstest du das Protokoll kennen und
selber in den ATMega einprogrammieren.

Für einen Anfänger wird das wohl kaum zu machen sein.

von Tobias N. (silberkristall)


Lesenswert?

ich habe den usb zu serial converter direkt angeschlossen ohne den 
pegelwandler dazwischen, also 12v +/- statt 5v. der support meinte nun 
die pins sind ziemlich sicher kaputt. deswegen nannte er mir dann die 
methode mit dem i2c.

ich weiss auch nicht wie ich die pins testen kann.

ich habe mir dann den com -> max232 adapter gebaut aber er sagt mit 
diesem immer " error cannot connecting"

von holger (Gast)


Lesenswert?

>ich habe den usb zu serial converter direkt angeschlossen ohne den
>pegelwandler dazwischen, also 12v +/- statt 5v. der support meinte nun
>die pins sind ziemlich sicher kaputt.

So ein RS232 Pegelwandler liefert nicht besonders viel Strom.
Die Wahrscheinlichkeit ist hoch das da noch alles in Ordnung ist.

>ich habe mir dann den com -> max232 adapter gebaut aber er sagt mit
>diesem immer " error cannot connecting"

Vieleicht hast du den ja auch falsch angeschlossen.
Hast du das Display denn mit den entsprechenden Pins
auf RS232 gestellt? Richtige Baudrate benutzt? Die Baudrate
am Display eingestellt mit den entsprechenden Pins?
Den richtigen COM Port benutzt?

Du siehst da ne Menge Fragezeichen.
Wie gesagt, ich würde noch nicht davon ausgehen das die
RS232 Pins am Display defekt sind.

von Tobias N. (silberkristall)


Lesenswert?

also ich habe rxd auf txd und txd auf rxd gelegt. baud0 habe ich auf gnd 
gesetzt den rest frei, somit eine baudrate von 57600.

aber es passiert nichts. vielleicht liegt ja am pegelwandler.

also wenn ich rxd und txd verbinde und dann putty öffne und com1 und die 
baudrate nutze habe ich nen cursor, wenn ich was schreibe (z.b. hallo) 
dann ist der cursor nach dem o wenn ich dann enter drücke geht der 
cursor auf das h zurück.

wenn ich keine schleife baue dann kriege ich keine verbindung. ich lese 
aber überall man kriegt das was man schreibt als antwort, sollte dann 
nicht wass passieren?

also fangen wir mal hier an. :)

von holger (Gast)


Lesenswert?

>also ich habe rxd auf txd und txd auf rxd gelegt. baud0 habe ich auf gnd
>gesetzt den rest frei, somit eine baudrate von 57600.

In Datenblättern sind die Bezeichnungen für Rx und Tx oft
verwirrend. Es könnte sein das du Tx mit Tx und Rx mit Rx verbinden
musst. Nimm mal zwei 470 Ohm bis 10k Widerständeund verbinde sie so.

>also wenn ich rxd und txd verbinde und dann putty öffne und com1 und die
>baudrate nutze habe ich nen cursor, wenn ich was schreibe (z.b. hallo)
>dann ist der cursor nach dem o wenn ich dann enter drücke geht der
>cursor auf das h zurück.

Könntest du nicht einfach schreiben das dein "hallo" zurück kam?
Supi. Daran liegt es also nicht.

>wenn ich keine schleife baue dann kriege ich keine verbindung. ich lese
>aber überall man kriegt das was man schreibt als antwort,

Nö, du kriegst du in den seltensten Fällen nen Echo deiner Eingabe.

von Tobias N. (silberkristall)


Lesenswert?

wenn ich doch rxd und txd verbinde und ich sende ein "hallo" dann 
schickt der das hallo doch raus und empfañgt es gleichzeitig wieder, 
demnach müsste ich doch ein echo erhalten, oder?

also müsste doch in der console was passieren.

von Tobias N. (silberkristall)


Lesenswert?

ich habe den so wie hier beschaltet:

www.mikrocontroller.net/articles/AVR-Tutorial:_UART

nur das ich dann pin 7 und 8 beschaltet habe, an die 7 und 8 der sub 
buchse beschaltet habe. war so auf dem schaltplan den ich hatte.

von holger (Gast)


Lesenswert?

>nur das ich dann pin 7 und 8 beschaltet habe, an die 7 und 8 der sub
>buchse beschaltet habe. war so auf dem schaltplan den ich hatte.

Rx und Tx liegen aber auf 2 und 3 der Sub-D Buchse.
Auf 7 und 8 liegen die Handshake Leitungen RTS und CTS.
Da liegst du völlig falsch.
Und Ground Pin 5 muss man auch anschliessen.

Ich gebs jetzt auf. Mach was du willst. Aber mach es richtig.
Das wird hier nichts mehr.

von Tobias N. (silberkristall)


Lesenswert?

naja ich habe ja auch 2 und 3, ich habe das genau so verbunden wie auf 
dem link, nur das zusätzätlich noch die pins 7 und 8 angeschlossen sind.

von holger (Gast)


Lesenswert?

>naja ich habe ja auch 2 und 3, ich habe das genau so verbunden wie auf
>dem link, nur das zusätzätlich noch die pins 7 und 8 angeschlossen sind.

Wie zusätzlich? Du hast Pin 7 mit 14 am MAX kurzgeschlossen?

Ich kein Bock mehr auf dein Schaltplanbeschreibung in Prosa.
Mal ein Bild, mach nen Schaltplan oder schick ein Foto.

von Tobias N. (silberkristall)


Angehängte Dateien:

Lesenswert?

so habe ich das beschaltet

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.