Konstanten Datenstrom erzeugen

OP #5671480
Hallo, bin Anfänger und möchte einen konstanten Datenstrom erzeugen. 
Zuerst sollten die Nutzdaten gesendet werden, danach die BCH-Prüfbits 
(generiert durch ein Generatorpolynom). Nun zur Verständnisfrage: Die 
Berechnung der Prüfbits brauch ja seine Zeit, wenn ich also über einen 
Interrupt heraus springe um die Prüfbits zu berechnen und dann wieder 
zurück um diese dann in dem Datenstrom zu senden, erreiche ich ja keine 
konstante Übertragung.

Nutzbits und Prüfbits sollten exakt in gleicher Geschwindigkeit gesendet 
werden.

Wie lässt sich sowas bewerkstelligen?
Prüfbits vorher berechnen?
Prüfbits in einer Schleife (nebenher) berechnen und am Ende dranhängen?

Für genauere Antworten genauere Infos liefern.
Wo kommen die Daten her?
Wie schnell kommen die an?
Wie schnell gehen die raus?
Auf welcher Hardware?

Usw...
OP
Als Hardware dachte ich an ein Altera Cyclone II EP2C5T144 FPGA.

Das ganze ist sehr komplex. Um es kurz zu fassen, die Daten sind 
digitalisierte Audio/Ton-Signale. Der Frame hat 314 bit und wird mit 
32Khz wiederholt, somit gute 10 MBit. Das ganze soll 2x parallel 
ablaufen, also 2 Datenströme, je 10 MBit.
Davor oder danach die Prüfbits berechnen wäre somit egal, denn die 
Tonsignale laufen ja ständig ohne Pause.

1 bit hat eine Dauer von 31,25 µs, das wäre also der Zeitslot in der die 
Berechnungen stattfinden müssten.

Schafft das die Hardware und wenn ja wie gut ?
Gast
Irgendwas stimmt an der Rechnung nicht:

32Khz Bitrate ergibt bei Berechnung von 1/34kHz eben 32 Mikrosekunden.

320 Bit lange Frames mit einer Framerate von 32kHz ergibt ein 
Bitrate 10,24MiBit/s. Bei Berechnung von 1/10,24MiBit/s ergeben sich 
rund 100ns pro Bit .
OP
Ach ja klar, natürlich. Genau so ist es. 97,6 ns ist die Bitdauer. Jetzt 
ist alles im Einklang, wäre noch die Frage zu klären, ob meine 
ausgesuchte Hardware das gut schafft und wenn ja, steckt die das locker 
weg oder ist die damit überfordert?
nur Daten erzeugen sollte der schaffen, aber woher kommen die und was 
macht der damit?
schreib doch mal ein testprogramm und versuch es für den FPGA zu 
synthetisieren, wenns klappt ist gut, wenn nicht dann 
größeren/schnelleren.
danach kaufst du den dann erst.
Manuel D. schrieb:
> Also der FPGA läuft auf 250 Mhz, bei einer Bitdauer von 100ns wären das
> max. 25 Befehle je Unterprogramm bevor ich wieder in den Hauptframe
> springen muss, damit eine CRC Prüfung z.B. durchzuführen wird schon
> knapp.. :(

[ ] Du hast Ahnung von FPGAs

Einen läppischen 10 Mbit/s Datenstrom incl. Schickimicki ala CRC und 
sonstas macht dir jedes 08/15 FPGA, dazu braucht es auch keine 250 MHz 
Takt. Es ist KEIN serieller Prozessor wie normale CPUs sondern parallel 
arbeitende Hardware. Die kann, wenn man es richtig macht, Dutzende Dinge 
in einem Takt parallel berechnen und verarbeiten. Das ist der Witz am 
FPGA und Hardwarelogik. PARALLELE Datenvererbeitung anstatt serieller.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 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.