Bitte nicht gleich auslachen oder Verweise aufs Datenblatt (das hab ich schon gelesen), ich bin ein Software Mensch, mit Hardware hab ich es nicht so … Ich möchte einen Arduino mit einem CPLD verbinden. Das ganze soll aber mit 5V laufen. Ich habe einen Xilinx 95144XL gewählt, weil der noch 5V tolerant ist. Das Board habe ich gewählt, weil da SRAM drauf ist, und ich nicht löten muß. CPLD Board: https://de.aliexpress.com/item/32956386167.html Ich habe mich ein bisschen mit VHDL beschäftigt. Das Board programmiere ich mit einem Xilinx DLC9LP. Funktioniert soweit ganz gut. ========= Nun möchte ich den Arduino anschliessen an dem CPLD Board, und möglichst alles richtig machen, darum frage ich hier nach ... - es werden 12 IO Verbunden (8x Data, 4x Control) - die Datenübergabe soll bi-direktional funktionieren + Worauf sollte ich achten? + Ist es besser OC (open collector) am AVR zu benutzen oder geht direkt auch? + brauche ich Widerstände in Serie? Wenn ja welcher Ohm Wert? + oder ist es besser doch Pegel Konverter zu benutzen?
>+ Ist es besser OC (open collector) am AVR zu benutzen oder geht direkt >auch? Warum OC? Push-Pull ist besser. >+ brauche ich Widerstände in Serie? Wenn ja welcher Ohm Wert? Der AVR verkraftet so ziemlich jeden Kurzschluss. Wie es beim FPGA aussieht weiß ich nicht. Ich kenne die Faustregel 68 Ohm in den Datenleitungen zur Unterdrückung von Reflexionen.
Thomas W. schrieb: > + brauche ich Widerstände in Serie? Wenn ja welcher Ohm Wert? Ja, der CPLD kann nur wenige mA ab, Und nicht nur auf den einzelnen Pin starren sondern auch bedenken das der Gesamtstrom über die GND-Pins muss. Also rechne mal r = U/I mit 5V und 1 mA.
Mike Minibrain (Gast) >Ja, der CPLD kann nur wenige mA ab, Und nicht nur auf den einzelnen Pin Der AVR kann auch nur einen begrenzten Strom, aber trotzdem überlebt er einen Kurzsschluss ( Im Datenblatt gibt's Kennlinien für die Spannung des belasteten Anschlusses ). Ich nehme an, dass der TO die Schaltung nicht im Dauerkurzschluss betreiben will ( der dann auftritt, wenn man sich "verprogrammiert"). Es macht also keinen Sinn, die Dauerstromwerte aus dem Datenblatt für den Sonderfall zu verwenden. Das macht keiner und fällt in die Kategorie "Over-Engineering-Angstschaltung"
Christoph M. schrieb: > Ich nehme an, dass der TO die Schaltung nicht im Dauerkurzschluss > betreiben will ( der dann auftritt, wenn man sich "verprogrammiert"). Nee! Auf gar keinen Fall. Ein Pin ist für die Datenrichtung. Der CPLD ist in jedem Fall schneller als der AVR sein kann. Der Plan ist Wr zu setzen und dann den Port auf Ausgang zu schalten. Wie man es bei einem SRAM machen würde. Danke für die Tipps
Thomas W. schrieb: > Ich habe einen Xilinx 95144XL gewählt, weil der noch 5V tolerant ist. Lass doch einfach deinen uC mit 3,3V laufen. Das kann der tadellos... > + brauche ich Widerstände in Serie? Wenn ja welcher Ohm Wert? Tu das. Irgendwas zwischen 47 und 470 Ohm passt je nach per Bitbanging (einen richtigen Bus hat der AVR ja nicht nach aussen) erreichbarer Geschwindigkeit locker.
Lothar M. schrieb: > Lass doch einfach deinen uC mit 3,3V laufen. Das kann der tadellos... Klar geht das, ich mach das im Moment auch so. Aber der Endausbau besteht aus drei Komponenten: - CPLD Board - Arduino - 5V Retro Hardware Zur Zeit simuliere ich die Retro Hardware mit dem Arduino. Aber letztlich muss die mit dem CPLD verbunden werden. Und die läuft definitiv nur mit 5V. Der Arduino dient dann nur noch dazu, um den RAM zu beschreiben (und zu lesen).
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.