Werkszustand von CPLDs?

Gast #701454
Lesenswert?
• ▲
▼
Hallo!

Ich bin dabei eine Schaltung zu bauen wo ein CPLD und ein AVR 
miteinander kommunizieren. Die entsprechenden Pins des AVR sind dabei 
direkt mit den Pins des CPLDs (XC9572) verbunden.
Der AVR ist bereits programmiert, der CPLD ist noch nicht eingebaut. 
Kann ich einen unprogrammierten CPLD in den Sockel einsetzen und dann 
die Betriebsspannung anlegen? Was passiert, wenn eine Leitung mit 
Datenrichtung AVR=>CPLD vom AVR auf high gesetzt wird, und der CPLD 
unprogrammiert ist?
Kann dieser dadurch zerstört werden?
Der AVR ist ein fix eingelöteter Mega128, und ich kann diesen dadurch 
nicht während der Programmierung des CPLDs entfernen.

Noch eine Frage: Angenommen ich habe einen Fehler gemacht, und AVR und 
CPLD wollen beide auf die gleiche Leitung einen unterschiedlichen Pegel 
schreiben.
Wer von den beiden wird dadurch zerstört?

Ich hoffe, dass meine Fragen nicht zu dämlich sind, und würde mich 
freuen, wenn Ihr mir weiterhelfen könntet.

Viele Grüße

Max
#701465
Lesenswert?
• ▲
▼
@ Max (Gast)

>die Betriebsspannung anlegen? Was passiert, wenn eine Leitung mit
>Datenrichtung AVR=>CPLD vom AVR auf high gesetzt wird, und der CPLD
>unprogrammiert ist?

Gar nichts. Die unprogrammierten CPLD Pins sind hochohmig, ggf. mit 
Pull-Ups.
Während der CPLD (neu) programmiert wird ebenso.

>Kann dieser dadurch zerstört werden?

Nein.

>Der AVR ist ein fix eingelöteter Mega128, und ich kann diesen dadurch
>nicht während der Programmierung des CPLDs entfernen.

Wäre auch reichlich sinnfrei. Beide ICs sind ja In System Programmable.

>Noch eine Frage: Angenommen ich habe einen Fehler gemacht, und AVR und
>CPLD wollen beide auf die gleiche Leitung einen unterschiedlichen Pegel
>schreiben.
>Wer von den beiden wird dadurch zerstört?

Der Schwächere. Wobei beide schon relativ robust sind, und solchen 
Missbrauch ne Weile aushalten. Sollte aber die Ausnahme bleiben und im 
richtigen Betrieb vermieden werden.

MfG
Falk
Gast #706112
Lesenswert?
• ▲
▼
@Gast:

Das Kennlinie für den I/O Port eines AVRs sagt das bei 5V und 65mA die 
Spannung auf 3V absinkt. Bei 3.3V kann man den Wert noch halbieren. In 
ug445 kannst du den Verlauf für ein CPLD anschauen (die Kennlinien gehen 
da bis in den Kurzschluss). Anhand der Kurven würde ich sagen, dass da 
maximal 60mA (30mA bei 3.3V) pro Pin fliessen können.

Es gibt dann noch einem maximalen Strom der durch so ein IC 
hindurchfliessen darf. Im Datenblatt des AVR steht 200mA. Wenn also 
nicht gleich ein ganzer Bus gegeneinander kämpft, dann passiert da 
überhaupt nichts. Es besteht höchstens die Gefahr das die ICs die 
entstehende Wärme nicht mehr schnell genug loswerden.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.