Forum: FPGA, VHDL & Co. RS232-->µC-->PLD-->Schnittselle???


von Andreas M. (spomue)


Lesenswert?

Hat jemand eine Ahnung wie ich Datenvon einer RS232 Schnittstelle über
einen µC an einen PLD sende der die Daten dann an verschiedene
Schnittstellen sendet!
Mich interessiert die Programmierung des µC und des PLD (in VHDL).

von Jürgen Schuhmacher (Gast)


Lesenswert?

Was soll der PLD tun? Die Funktion des uc dazwischen sehe ich noch nicht
ganz. (?)

Der PLD kann ganz alleine den Datenstrom multiplexen.

von Andreas M. (spomue)


Lesenswert?

Der PLD soll Timer realisieren, Schnittstellen adressieren können und
handshake können. Der µC verwaltet die Daten und schickt sie mittels
Adressbit an die entsprechende Stelle im PLD!

von Dirk (Gast)


Lesenswert?

Hi,

es kommt darauf welchen µC du nimmst. Es waere moeglich per SPI, TWI
,Parallel Bus usw.. Ich wuerde ein AVR mit Adressbus nehmen und den
CPLD per Adressbusansteuern. Falls der I/O Verbrauch gering sein sollte
wuerde ich einen SPI Slave Core implementieren.

Gruß,
Dirk

von Jürgen Schuhmacher (Gast)


Lesenswert?

Ja, das bitorientierte Daten-handling sollte man den PLD machen lassen.
Der uC kann sich dann darauf beschränken, Daten auf Adressen zu
schreiben und von ihnen zu lesen. Für high speed Anwendungen, könnte
man über einen interrupt nachdenken: Nach Empfang eines fertigen Datums
oder eines fertigen Datenblocks gemäß proprietärem Protokoll, legt der
PLD eine Leitung des Controllers auf lo und signalisiert so das
Vorhandensein eines neuen Datums. So kann man auf unterster Ebene
Redundanzen einbauen, Daten plausibiliseren und den darüber
"liegenden" Controller minimal belasten. Der arbeitet einfach in
Echtzeit ab ohne pollen zu müssen ...

von Andreas Müller (Gast)


Lesenswert?

Danke für die Antworten.

Ich verwende einen AT89C51AC3 von Atmel der über SPI programmiert
wird.
Von dort werden Daten über eine 8Bit-Port zum PLD geschickt und dann zu
den entsprechenden Ports gesendet.Per handshake oder so. Die Adresse
wird seperat gesendet wonach der PLD entscheiden muss welche
Schnittstelle er ansprechen muss. Die Programmierung des µC und das
senden an die Ports funktioniert schon. Nur das Programmieren des PLD
macht mir zu schaffen. Wie würde denn ein Programm in Quartus zum
Beispiel aussehen? Und gibt es Pegelwandler der mir 3,3V in 5V macht.
Es gibt ja fast nur PLDs die mit 3,3V betrieben werden.

von Jürgen Schuhmacher (Gast)


Lesenswert?

Eine busweise Aufwärtswandlung von 3.3 auf 5V gelingt bidirektional z.B.
mit den CBT-Bausteinen von TI. Z.B. gibt es einen 163244/45, der einem
konventionellen 244/245 Treiber entspricht, aber mit zwei
Spannungsquellen betrieben wird. Damit kann die eine mit 3.3 und die
andere mit 5.0 betrieben werden.

von Andreas M. (spomue)


Lesenswert?

Alles klar. Hab einen gefunden das wahrscheinlich passt.
Aber wie ist das mit dem programmieren. Hat den da keiner mal ein
kleines Programm was sowas in der Art macht. Ich brauch nur eine
kleinen Denkanstoß.

Helft mir!

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.