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.
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?
Naja NOR != NAND Soll das zyklisch passieren, oder auf welche Adresse sollen die Daten geschrieben werden?
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.
Es sollen 8 verschiedene Nachrichtentypen zyklisch über die RS232 eingelesen werden.
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?
@ 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...
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.
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?
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.