Forum: FPGA, VHDL & Co. intelligentes UART Interface für / mit PICO


von MicroController-Ingenieur (Gast)


Lesenswert?

Kennt jemand einen tauglichen C-Code, der sich als UART-Interface 
verwenden lässt und auf einem PICOBLAZE läuft, bzw dorthin portierbar 
ist. Gefordert wäre eine Möglichkeit, Textfile in ein RAM zu schreiben, 
um die Texte später mit einem FPGA ausgeben zu können. Die Texte sollen 
als ASCII vorgegeben werden und ins DDR-RAM geschrieben werden.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

MicroController-Ingenieur schrieb:
> Kennt jemand einen tauglichen C-Code, der sich als UART-Interface
> verwenden lässt
Du hast ein FPGA und willst einen Soft-UART einsetzen? Hört sich sehr 
abwegig an. In der Schule wäre das "Thema verfehlt!"
Warum schreibst du nicht mit ein paar Zeilen VHDL die RS232-Schnitte 
direkt in Hardware?

von MicroController-Ingenieur (Gast)


Lesenswert?

Möglich, ich habe mich unklar ausgedrückt:
Ein physikalisches IF ist in VHDL vorhanden, aber es liefert nur die 
dekodierten Bytes, kann also Start Stopp, Parity und Error States.

Aufgesetzt werden muss jetzt ein Protokoll, das Klartext versteht, also 
ASCII-Zeichen interpretiert, Kommata lesen kann, Leerzeichen beliebiger 
Länge überspringt, Integerzahlen In Dezimaldarstellung mit Punkt/Komma 
liest und ins binäre übersetzt.

Der Input könnte so aussehen:

ADR: 16384
DAT: T"Hallo",Z"1000.0"

"T" wäre ein Text und müsste als ASCII H.a.l.l.o ins RAM.
"Z" wäre eine Zahl und müsste gewandelt und als 16 Bitwert gespeichert 
werden.

Wenn "ADR" kommt, muss dann der Adresspointer neu gesetzt werden.

Sicher ist es möglich, dies als state machine zu realieren, aber als 
sequenzielles System sicher kompakter und einfacher, zumal die 
Geschwindigkeit ja gering ist. Es sollen auch Längen-Checks gemacht und 
Prüfcodes der files erstellt werden. Das ist in C eben doch einfacher.

von Duke Scarring (Gast)


Lesenswert?

MicroController-Ingenieur schrieb:
> Kennt jemand einen tauglichen C-Code, der sich als UART-Interface
> verwenden lässt und auf einem PICOBLAZE läuft
Kennst Du einen tauglichen C-Compiler für den Picoblaze?

MicroController-Ingenieur schrieb:
> Sicher ist es möglich, dies als state machine zu realieren, aber als
> sequenzielles System sicher kompakter und einfacher, zumal die
> Geschwindigkeit ja gering ist. Es sollen auch Längen-Checks gemacht und
> Prüfcodes der files erstellt werden. Das ist in C eben doch einfacher.
Da muß man dem Kollegen prinzipiell recht geben...

Duke

von Elektroniker (Gast)


Lesenswert?

wie aufwendig ist es denn, so einen PICO in einen FPGA reinzubringen? 
Geht das nicht automatisch von der Software Xilinx aus? Und hat die 
nicht einen Compiler mit drin?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Elektroniker schrieb:
> Und hat die nicht einen Compiler mit drin?
Aufpassen: Picoblaze /= Microblaze!

von Karl Klarsicht (Gast)


Lesenswert?

Für Picoblaze wird ausschließlich ein Assembler mitgeliefert, es gibt 
auch andere Assembler von Hobbyprogrammieren.


Wenn man bedenkt das ein Picoblaze mit ein paar kbyte an Befehlsspeicher 
und ein paar Bytes an scratchpad RAM auskommen muß kann man verstehen 
das ressorcenverschleudernde C++-Compiler kaum eine Chance haben. Aber 
ein tokenbasierter Kommandointerpreter ist auch in Assembler keine 
Hexerei wie die unzähligen Basic-Interpreter aus den achtzigern 
beweisen. Schau dir mal tinybasic an.

MfG,

von Karl Klarsicht (Gast)


Lesenswert?


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
Noch kein Account? Hier anmelden.