Hallo, ich stehe vor dem Problem zwei Controller (M16C) verbinden zu müssen. Leider habe ich noch keine Ahnung von uC... Weil die Übertragungsgeschwindigkeint sehr hoch sein muss, dachte ich an SPI oder i2c. Die Daten die Übertragen werden sollen, müssen in Protokoll definiert werden. Deshalb dachte ich an ein einfaches HDCL Protokoll. Leider weis ich nicht wie man soetwas in C umsetzt. Hat schon jemand Erfahrung damit. Evtl. sogar ein Beispiel für mich? Gibt es auch ein einfacheres Verfahren? Danke
Was bedeutet: "Übertragungsgeschwindigkeint sehr hoch"? Kilobit, Megabit oder Gigabit pro Sekunde, Minute oder Stunde?
Was soll jetzt 1 bis 15 MHz bedeuten? Das ist immer noch keine korrekt Angabe. Sollen das 1 bis 15 MBits/s sein oder 1 bis 15 MByte/s oder was? Unabhängig davon brauchst Du dafür eine Hardware-Lösung, z.B. SPI oder eine syncrone, serielle Schnittstelle. Must eben mal ins Datenblatt schauen was Dein Controller so kann.
Sorry! Übertragungsgeschwindigkeit: 5Mbit/s Schnittstelle: SPI Was für ein Protokoll kann man für so eine Anwendung verwenden? Mit Protokoll meine ich nicht das eigendliche SPI-Protokoll(Master/Slave), sondern ein Protokoll zur synchronisation der Kommunikation. Zudem muss ich noch Kontrollinformationen übertragen und auswerten. Die max. Datenlänge ist 64Byte. Hier für ist doch sicherlich ein Verfahren zu Fehlererkennung notwendig, oder? Irgendwie muss ich die Daten vor dem versenden strukturieren und beim Empfänger wieder auswerten(umgekehrt genau so!). Wie kann man so ein Programm nun am besten aufbauen?
Wenn Du auf einem SPI-Bus Fehler hast, ist die Hardware defekt. Sicher, kannst Du Fehlererkunngen etc. einbauen, doch wozu? SPI ist kein Kanal mit Fehlern. Das ist ja kein Internet oder Funk etc. Wenn Du bidirektionale Übertragung machen willst, musst Du in der Tat ein Protokoll drauf setzen. Da reicht aber das aller einfachste. Z.B. ein Byte mit der Länge des Datenpakets senden, dann die Datenbytes. Danach darf der Empfänger senden. Wenn er nichts zum senden hat, schickt er eine "0", und der Sender schickt sein nächstes Datenpaket.
Wieviel MIPS hat denn so ein M16C ? Um bei 5MBaud noch ein Protokoll draufzusetzen, brauchst Du aber Rechenleistung satt ! Single-Master sollte da das einzig mögliche sein, d.h. zum Kollidieren, Arbitrieren hast Du keine Luft mehr. Peter
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.