Forum: Mikrocontroller und Digitale Elektronik Buffer für Kommunikation


von Onkel Tom (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe momentan ein kleines Problem, ich habe mir einen RFID Reader 
beschafft mit welchem ich Daten Aus einer Karte Auslesen will.

Der Reader liefert recht viele Daten z.B. wenn ich Daten aus dem Tag 
lese.

Da ich verschieden viele Daten erfassen will z.B. 250Byte brauche ich 
einen RX und einen TX Buffer in meinem Controller der das Managt. Die 
Daten kommen per UART rein bzw. Raus.

Wie würdet ihr sowas angehen und wie gehe ich am besten vor um die Daten 
zu verarbeiten...

Ich arbeite auf einem SAM3S1A mit 16k RAM. Dort läuft aber noch ein 
USB-CDC Drauf. Somit habe ich nicht all zuviel speicher frei.

Anbei ein PDF welches die Daten erklärt.

von nicht"Gast" (Gast)


Lesenswert?

Himmel, was machst du denn mit dem CDC, dass von 16K nicht mehr viel 
übrig bleibt.

Allokier dir einfach den Buffern, den du brauchst und fertig. Wenn es 
eng wird, kannst du immer noch überlegen, wie du das optimieren willst.

Grüße

von Bitflüsterer (Gast)


Lesenswert?

Zunächst mal würde ich raten, dass Problem in den Details zu klären:

1. Wie viele Daten empfängst Du maximal von den Tags?
Die Angabe "z.B. 250 Bytes" könnte bedeuten, dass auch mehr Daten 
ankommen können.

2. Wie viel RAM-Speicher hast Du noch übrig?
Vielleicht reicht er ja. Ist das der Rohwert oder ist da Platz für Stack 
und sonstige Variablen abgezogen?

Da Du uns die Beschreibung der Daten lieferst, liegt die Annahme nahe, 
das Du vermutest, Du könntest einige Daten beim Empfang gleich, 
sozusagen "wegwerfen". Das ist eine durchaus gute Idee.
Sie setzt aber voraus, dass Du einen recht grossen Überschuss an 
Verarbeitungszeit übrig hast. Denn Du musst die Daten sofort oder 
jedenfalls rechtzeitig genug untersuchen können, um die Entscheidung zu 
treffen, was Du behälst und was nicht.
Welche Daten allerdings DU genau aufheben willst und wie viele das sind, 
können wir nicht wissen.

Daher
3. Was geschieht mit den Daten nach dem Empfang?

von Onkel Tom (Gast)


Lesenswert?

Hallo,

Also

1. Momentan belege ich mit meiner Applikation ink. USB Stack 9964 bytes 
SRAM. Somit noch gut 6k über.

2. Maximal werde ich momentan ca 1k RX + TX Buffer benötigen um den 
Inhalt einer Karte zu verarbeiten. Also 1024Byte Nutzdaten von der Karte 
+ 13 Byte Command.

3. USB benötige ich da ich eine Config Schnittelle brauche, momentan 
nutze ich die auch noch zum Debuggen.

4. Nach dem Empfangen der Daten rechne ich ein Paar Parameter 
gegeneinander die in den 1024 Byte versteckt sind und prüfe ob die 
Karten Daten OK sind, ist für ne Zugriffskontrolle.

Besten Dank schon mal

von Bitflüsterer (Gast)


Lesenswert?

Hm. Dann ist Dein Problem also nicht das Du zu wenig Speicher hast. 
Richtig?

Sondern Du fragst danach, auf welche Weise Du Daten verarbeiten kannst. 
Richtig?
Dann erkläre doch einmal was für ein spezifisches Problem Du damit hast.

Mal ganz stumpf gesagt:
An sich verarbeitet man Daten einfach in dem man eine oder mehrere 
Variablen miteinander verknüpft und das Ergebnis einer weiteren Variable 
zuweist.

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.