Der einfachste Weg, Daten mit Takt über eine MCU zu übertragen

Angenommen, Sie haben eine MCU mit 80 MHz (arbeitet derzeit mit TI M4). Diese MCU verfügt über 128 KB Speicher, der einige Daten zuweist.

Was wäre der richtige Weg, um diese Daten in ihrer Rohform (nur Bits, keine Startbits, keine Endbits, kein Handshake, keine Bestätigungen, keine Lücken, kein Protokoll) über einen der Pins der MCU und eine Uhr an einem anderen Pin zu übertragen? ?

Ich muss 20 MHz erreichen, mindestens 15 MHz. Ich dachte an die Verwendung eines FPGA, aber eine MCU wäre viel einfacher (und kostengünstiger).

SPI kann mit 1/4 der MCU-Geschwindigkeit arbeiten, daher ist es technisch möglich, SPI auf Tiva mit 20 MHz auszuführen. Aber ich brauche das SPI-Protokoll nicht ...

SPI hat nicht wirklich viel von einem Protokoll, das über das Senden von Bits mit einer Uhr hinausgeht. Was genau ist falsch an SPI?
Meinen Sie zur Klarstellung 20 Mbit pro Sekunde (fast 3 MB/s)? Es gibt keine Möglichkeit, 20 Millionen Datenpunkte pro Sekunde (20 MB/s) mit einem 80-MHz-Takt zu senden.
Suchen Sie nach dem kontinuierlichen SPI-Modus. Sie können beliebig viele Bytes in einem Frame übertragen, ABER es liegt an Ihrem Softwareprotokoll, die Daten korrekt zu verarbeiten.
Derzeit muss ich 14,5 Mbit/s senden
Der Chip, den Sie verwenden, ist CC3200 ... nicht wahr?

Antworten (2)

Die SPI-Peripherie sollte dafür die perfekte Lösung sein. Da der SPI-Ausgang am seriellen Ausgang 1 zu 1 ist, wobei die Daten in das Senderegister geladen werden, sollten Sie bereit sein. Die Hauptsache, die Sie berücksichtigen sollten, ist, dass Sie 8 Takte (wenn Sie mit Byte-Daten arbeiten) bei 20 MHz erhalten, damit die Software das nächste Byte aus dem Speicher zur Ausgabe bereitstellt.

Vielleicht möchten Sie nachforschen. Einige MCUs haben interne DMA-Kanäle eingebaut, die verwendet werden können, um Daten vom Speicher zu einem Peripheriegerät zu leiten. Dies wäre eine hervorragende Möglichkeit für Ihre Bewerbung.

Was ist mit einem LVDS-Serializer ?

Es ist wahrscheinlich nicht die billigste Lösung, aber definitiv eine einfache. Duplizieren Sie einfach die verbleibenden parallelen Bits oder behalten Sie sie bei 1 oder 0.