Soft-Serport?

Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Soft-Serport?

 · 
Gepostet: 06.07.2011 - 14:56 Uhr  ·  #1
Hallo allerseits, ich bräuchte an zwei Pins eines Mega644 eine art Software-Serport, ist das irgendwie machbar?
Soweit ich das sehen konnte gibt es in Avrco kein Software-Serport als solches, alle nutzen den Uart des Chips. Ich brächte den Port, zumindest einen TXD-Pin auf einen anderen Pin.

Es war bisher keine serielle Schnittstelle vorgesehen, aber nun wäre sie ganz nützlich für Debugzwecke. Muss nicht schnell sein, es reicht wenn ein paar Zeichen ausgetauscht werden können.

Louis
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: Soft-Serport?

 · 
Gepostet: 07.07.2011 - 14:50 Uhr  ·  #2
Hallo Louis,

ich kann dazu zwar nichts konstruktives beitragen, aber gewünscht habe ich mir das auch schon öfter :)

gruss
Harry
Thomas
Benutzer
Avatar
Geschlecht:
Herkunft: Gera
Alter: 62
Beiträge: 123
Dabei seit: 04 / 2003
Betreff:

Re: Soft-Serport?

 · 
Gepostet: 07.07.2011 - 17:15 Uhr  ·  #3
Hallo,

SerPort in Software ist eine hässliche Sache. Senden geht immer noch. Entweder macht man das Timing mit Delays oder man benutzt einen Timer. Problematisch sind Interrupts während des Sendens. Sie bringen das Timing durcheinander. Wenn von der Aufgabenstellung möglich, dann Senden mit Delay bei gesperrtem Interrupt. Allerdings geht dann während des Sendens nichts mehr, nicht mal mehr der Systick. Empfang ist noch etwas haariger. Man muss das Startbit zeitnah erkennen. Da man nicht ständig ein Pin pollen kann, hilft hier nur der Pinchange-Interrupt oder ein eigener Pin-Interrupt. Das Empfangstiming geht wieder mit Delay oder einem Timer. Auch hier gilt, jeder Interrupt gefährdet das Timing. Wenn im System die Interrupt-Latenz kurz ist, kann es funktionieren. Ich habe es mal bei einem MEGA256 gemacht. Senden über Timer5 und Empfang über Pin-Interrupt und Timer4. Mit 9600Baud und nur Systick ohne Erweiterungen aktiv funktioniert es ziemlich stabil.

Grüße
Thomas
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
nwrightson
Benutzer
Avatar
Geschlecht:
Herkunft: Newcastle
Alter: 64
Homepage: nweha.homeserver.c…
Beiträge: 362
Dabei seit: 08 / 2003
Betreff:

Re: Soft-Serport?

 · 
Gepostet: 10.07.2011 - 03:40 Uhr  ·  #4
Hi,

What about something like a MAX3100 - SPI to serial?
Or the new MAX3109 SPI/I2C to serial?

Neil.
Avra
Schreiberling
Avatar
Geschlecht:
Herkunft: Belgrade, Serbia
Alter: 54
Homepage: rs.linkedin.com/in…
Beiträge: 653
Dabei seit: 07 / 2002
Betreff:

Re: Soft-Serport?

 · 
Gepostet: 11.07.2011 - 01:38 Uhr  ·  #5
I have finally found one 2003 thread with soft serial port driver in pure pascal, so here it is:
topic.php?t=247&page=1
golf
Benutzer
Avatar
Geschlecht:
Herkunft: Donauwörth
Alter: 72
Beiträge: 266
Dabei seit: 11 / 2009
Betreff:

Re: Soft-Serport?

 · 
Gepostet: 11.07.2011 - 07:31 Uhr  ·  #6
Falls nur eine Debuganzeige gebraucht wird, da hat sich eine einfache I2C-LCD-Anzeige bei mir schon öfters als nützlich erwiesen. Ich habe mal einen Plan von sowas angehängt. Die extra Stromversorgung mit 78L05 und die Anteile für die serielle Schnittstelle kann man ja weglassen. Durch die negative Spannung kann man so eine Anzeige auch bei 3,3V einsetzen, z.B. bei ATXmegas.
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: Soft-Serport?

 · 
Gepostet: 21.07.2011 - 15:05 Uhr  ·  #7
Naa...da hat die Abofunktion mal wieder nicht funktioniert, ich habe keine Benachrichtigung über Antworten erhalten, daher kam von mir noch keine Reaktion.
Das sieht doch alles prima aus, ich werde mal versuchen ob ich das eingebaut bekomme, habe da nur einen Mega644 oder evtl. sogar nur Mega164 drin, da gibts nicht zuviele Timer.
Evtl. klappt es auch zu Fuss mit Delays zwischen den Bits, es geht hier nur um ein paar Werte die ausgegeben werden sollen, nichts großartiges.

Vielen Dank für die Hilfe!

Louis
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   121   135 · Page-Gen-Time: 0.037237s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI