Becker

Gast #259448
Lesenswert?
• ▲
▼
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
Gast #259451
Lesenswert?
• ▲
▼
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.
Gast #259452
Lesenswert?
• ▲
▼
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?
Gast #259453
Lesenswert?
• ▲
▼
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.