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).
Was soll der PLD tun? Die Funktion des uc dazwischen sehe ich noch nicht ganz. (?) Der PLD kann ganz alleine den Datenstrom multiplexen.
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!
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
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 ...
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.