mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Programmierung AT91SAM7S64 RS232 / USB


Autor: Ma Green (brian)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Microcontroller-Gemeinde,

ich bin mit dem Latein meiner Programmiersprachen am Ende und suche 
jemanden der einen RS232 / USB Konverter mit NAND Flash Speicher 
programmieren kann. (Selbstverständlich gegen Bezahlung) Ich kann es auf 
jeden Fall nicht. Und mir ist auch klar, dass es eine ganze Weile dauern 
würde, bis ich dem erforderlichen Niveau angelangt bin.

Die Aufgabe der Platine liegt darin, selbstständig Daten über die RS232 
Schnittstelle auf den internen Speicher (NAND Flash) abzulegen. 
Spannungsversorgung geschieht über die RS232. Die Schnittstelle der 
Datenquelle entspricht den RS232 Spezifikationen. Die Schnittstelle zum 
Herunterladen verwendet ein Startbit, 8Datenbits mit dem 
niedrigstwertigen Bit an erster Stelle, ein Bit geradzahliger Parität 
und 1 Stoppbit.

Der ATMEL ist ein AT91SAM7S64.

Ich bin recht zuversichtlich, dass es hier jemanden gibt, der mein 
fehlendes Wissen ersetzen kann.

Ich hoffe, dass die Beschreibung fürs erste ausreichend ist.
Weitere Infos gibt es gern auch nachträglich.

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe gerade ein uC Programmiert, der die Daten, die über die 
serielle Schnittstelle via SRecords gesendet werden in einen NOR-Flash 
schreiben. Der Treiber für den Flash-Speicher umfasst gerade mal 30 
Zeilen oder so. Du musst doch eigentlich nur den Befehlssatz des 
Flash-Speichers umsetzen, eigentlich muss man dafür noch nichtmal 
wirklich viel von der Programmierung des Atmels verstehen. Wo genau 
liegt denn dein Problem? Empfangen der Daten, oder schreiben/löschen des 
Flash-Speichers?

Autor: Rooney Bob (rooney)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja NOR != NAND


Soll das zyklisch passieren, oder auf welche Adresse sollen die Daten 
geschrieben werden?

Autor: Ma Green (brian)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Timmo,

das Problem ist hier die Umsetzung des Protokolles für den Datentransfer 
über die RS232. Die Routine muß über die RS232 die Daten anfordern, die 
dann von der Datenquelle über die RS232 in den Flash-Speicher 
geschrieben werden sollen.

Und da waren sie wieder die kleinen Probleme.
Eine Displaysteuerung würde ich gerade noch hinbekommen, das jedoch 
übersteigt etwas meinen Horizont.

Es ist von der Logik her sicher kein besonders großer Umfang an 
Quelltext.

Strukturell könnte ich es als Flussdiagramm aufzeichnen.
Nur in der Umsetzung hakt es.

Autor: Ma Green (brian)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es sollen 8 verschiedene Nachrichtentypen zyklisch über die RS232 
eingelesen werden.

Autor: Rooney Bob (rooney)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Poste einmal ein Flussdiagramm, aber so wie es sich anhört scheint es 
nicht so kompliziert zu sein.

Ich würde dir dennoch raten es selbst zu machen, immerhin willst ja was 
lernen und dieses Forum wird dir sicher unter die Arme greifen. Oder 
hast du einen dringenden Abgabetermin?

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Rooney Bob
> Naja NOR != NAND
Das ist schon klar, aber vom Prinzip bleibt es immer gleich. Nur dass 
man bei NAND größere Blockgrößen hat und er etwas anders angesprochen 
wird. Man kann halt nicht Byte/Wortweise schreiben, aber das wars auch 
schon fast.
Aber er scheint ja eh nur Probleme mit den Protokollen zu haben...

Autor: Ma Green (brian)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Richtig.

Das Problem liegt ganz klar beim Protokoll.

Auszug hängt an.
Spätestens beim Aushandeln der Baud Rate hört es bei mir auf.

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es eine Grundbaudrate? Sprich es werden meinetwegen die ersten 
Bytes immer mit 9600 baud übertragen und dann eingestellt wie sie 
tatsächlich sein soll? Oder aber niemand weiß wie schnell es ist, und es 
muss anhand der Bits erkannt werden mit welcher Baudrate gesendet wird?

Autor: Ma Green (brian)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Baud Rate wird immer zu Beginn einer Übertragung ausgehandelt. Die 
Grundbaudrate ist 9600. Maximal werden 115200 Baud unterstützt. Der 
ATMEL kann ja die 115200.

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut, dann kann ich das Problem nicht ganz nachvollziehen. Du musst doch 
nur die paar Bytes auslesen die du empfängst (80 EE F0 04 87 + 01 01 + 
0X, wobei X sagt wie die Baudrate sein soll). Ist doch nur ein 
stinknormaler vergleich mehrerer Bytes.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.