INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

RS232 auslesen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

03.01.2011, 09:51
Beitrag #1

fk046 Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Jun 2009

2009
2007
de

18059
Deutschland
RS232 auslesen
Frohes neues wünsche ich euch allen.

Ich habe ein Frage bezüglich der Auslesung der RS-232 Schnittstelle.Ich möchte Werte von -8192 bis 8192 am ADC einlesen und an den FPGA senden und an der RS232schnittstelle wieder ausgeben.Mal angenommen es kommt eine Zahl von -5192 an.So muss ich diese Zahl in seinen bit WErte zerlegen(5) und einzelnd über die Schnittstelle schicken oder?Wie kann ich das am besten realsieren?Muss ich beim Vorzeichen etwas beachten?Ich würde mir erstmal die Daten via Trera Term ausgeben lassen und wenn das läuft mir die Daten via Host ausgeben.

Mfg frank
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.01.2011, 09:55 (Dieser Beitrag wurde zuletzt bearbeitet: 03.01.2011 09:56 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RS232 auslesen
Hallo Frank,

wo ist der Link zu deinen vorherigen Threads? Hatte ich dich nicht schon mal auf die Forumsregeln hingewiesen?

- Was ist "Trera Term"?
- "eine Zahl von -5192 an.So muss ich diese Zahl in seinen bit WErte zerlegen(5)" Häh? Was willst du hier?

Schau mal hier rein, da wird auch nach der Umwandlung nach String gefragt... Der einzige Unterschied bei dir ist, dass du mit I16-Werten (statt U8) arbeitest!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.01.2011, 10:30 (Dieser Beitrag wurde zuletzt bearbeitet: 03.01.2011 10:54 von Lucki.)
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RS232 auslesen
' schrieb:.Ich möchte Werte von -8192 bis 8192 am ADC einlesen und an den FPGA senden und an der RS232schnittstelle wieder ausgeben
Am ADC kann man aber nur analoge Spannungen, gemessen in Volt, einlesen. Digits kommen allerdings am Ausgang heraus, und da ist die Frage des Zahlenformates durchaus noch unklar. Ist es ein 14bit ADC? Dann wäre der Bereich -8192 .. 8191 und nicht so wie Du es angibst. Am besten du verrätst uns, welche (nicht vorzeichenbehaftete) Bitfolgen am Ausgang bei bestimmten Spanungswerten auftreten.
Ist es so? (2er komplement Format, "I14" - Format)
0 Volt:_________ 00000000000000
0 Volt +1 digit: 00000000000001
0 Volt -1 Digit: 11111111111111


oder so: (Offset-Format, bei ADCs meistens verwendet)
0 Volt:_________ 10000000000000
0 Volt +1 digit: 10000000000001
0 Volt -1 Digit: 01111111111111


Die erste Möglichkeit ist unwahrscheinlich, da es kein genormtes "I14"-Format gibt. Wenn das 2er Komplement hier verwendet werden sollte, dann wird man die 14bit eher linksbündig (d.h. mit 4 multipliziert) in einen I16-Container stecken, dann kann man problemlis mit den Vorzeichen umgehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.01.2011, 10:59
Beitrag #4

fk046 Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Jun 2009

2009
2007
de

18059
Deutschland
RS232 auslesen
Danke für eure schnellen Tips.
Tera Term ist ein Terminal um sich WErte über RS232 aneigen zu lassen.
Der ADC hat 14 bit und einen Bereich von -8192 bis 8191.
Der Bereich des AD-Wanderls beträgt von 0,4-2,9 V.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.01.2011, 12:13 (Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2011 12:38 von fk046.)
Beitrag #5

fk046 Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Jun 2009

2009
2007
de

18059
Deutschland
RS232 auslesen
Wie kann ich mir die Bitfolgen anzeigen lassen am ADc Ausgang?
Ich kann mir doch das Vorzeichen doch auch rausrechen lassen oder?
Bsp.:-500 wird verabreitet.Ich addiere +8191.
Somit hätte ich Zahlen zwischen 0 und 16383.
Dieses könnte ich einfach auf dem Host wieder zurückrechnen.
Damit könnte man das Vorzeichenproblem auch recht einfach lösen,oder?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.01.2011, 13:00
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RS232 auslesen
Hallo frank,

Zitat:das Vorzeichenproblem
Welches Problem? Du hast eine (Ganz-)Zahl, die weiter übertragen wird...

Zitat:Bitfolgen anzeigen lassen am ADc Ausgang?
Ein ADC hat einen Eingang und eine Schnittstelle zur CPU/zum Bus. Welchen Ausgang meinst du?
Bitfolgen anzeigen lassen: Numerischen Indikator auf Binäranzeige einstellen...

Zitat:Der ADC hat 14 bit und einen Bereich von -8192 bis 8191.
Der Bereich des AD-Wanderls beträgt von 0,4-2,9 V.
Du hast einen (ausschließlich) positiven Eingangsbereich und bekommst trotzdem negative Werte geliefert? Komisches Teil...
Trotzdem:
Umrechnen von Zahlenwert in zu Grunde liegenden Spannungswert: V = (2.9-0.4)/(8191-[-8192])*x.

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.01.2011, 13:36 (Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2011 13:43 von Lucki.)
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RS232 auslesen
Hier ist ja noch mehr rätselhaft:

Zitat:Ich möchte Werte von -8192 bis 8192 am ADC einlesen und an den FPGA senden und an der RS232schnittstelle wieder ausgeben
D.h. die ADC-Werte gehen in den FPGA rein und werden nach dessen interner SR232-Schnittstelle weitergeleitet. Es ist davon auszugehen, daß der FPGA nur 8, 16, 32... bit -Register hat. Dh. er kann gar nicht anders, als intern die ADC-Werte auf 16bit-Format zu konvertieren uns so an die Schnitttelle auszugeben.

Für die Konvertierung in String und wieder zurück gibt es zwei Möglichkeiten:
   
Oberes Bild: Direkte Konvertierung von I16 in zweistelligen (hiroglyphischen) String. Nachteil: Zur Datenübertragung lassen sich keine Steuerzeichen, wie z.B 0xA, verwenden, da die Daten selbst alle Werte von ASCII 0..255 enthalten können.
Unteres Bild: Als HEX-String. Nachteil: Man benötige 2 Zeichen pro Byte, d.h. der gesamte String enthält 4 (lesbare) Zeichen . Man kann aber Steuerzeichen bei der Datenüpbertragung verwenden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.01.2011, 13:42 (Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2011 13:50 von Lucki.)
Beitrag #8

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RS232 auslesen
Hier ist ja noch mehr rätselhaft:

Zitat:Ich möchte Werte von -8192 bis 8192 am ADC einlesen und an den FPGA senden und an der RS232schnittstelle wieder ausgeben
D.h. die ADC-Werte gehen in den FPGA rein und werden nach dessen interner SR232-Schnittstelle weitergleiete. Es ist davon auszugehen, daß der FPGA nur 8, 16, 32... bit -Register hat. Dh. er kann ger nicht anders, als intern die ADC-Werte auf 16bit-Format zu konvertieren uns so an die Schnitttelle auszugeben.

Für die Konvertierung in String und wieder zurück gibt es zwei Möglichkeiten:
[attachment=60625:1.png]
Oberes Bild: Direkte Konvertierung von I16 in zweistelligen (hyroglyphischen) String. Nachteil: Zur Dateinübertragung lassen sich keine Steuerzeichen, wie z.B 0xA, verwenden, da die Daten selbst alle Werte von ASCII 0..255 enthalten können.
Unteres Bild: Als HEX-String. Nachteil: Man benötige 2 Zeichen pro Byte, d.h. der gesmate Strin enthält 4 (lesbare) Zeichen . Man kann aber Steuerzeichen bei der Datenübertragung verwenden.

Solange es keine Probleme mit der Übertragungsgeschwindigkeit gibt, sollte man besser Methode 2 benutzen und an den String ein Zeilenende-Zeichen anhängen.

Man könnte die Datenübertragung sogar als Dezimal-String gestalten. d.h -8192..8193 wird direkt als Dezimal-String gesendet. Man bräuchte dann mit Vorzeichen max. 5 Zeichen, hätte aber den Vorteil, daß die Daten im String direkt lesber sind.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  ADC via RS232 auslesen fk046 6 9.396 23.12.2010 18:17
Letzter Beitrag: GerdW

Gehe zu: