intelligentes UART Interface für / mit PICO

Gast #3770816
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.
Moderator (Firma: Titel) Persönliche Seite #3771202
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?
Gast #3771270
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.
Gast #3831225
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
Gast #3831487
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,

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren