Hallo, möchte einen CPLD (CoolRunnerII) mit möglichst wenig Aufwand an den CAN-Bus anschließen. klappt das mit einem SJA1000? Wieviel Platz(Macrocells) braucht die Ansteuerung auf dem CPLD? Viele Grüße Falk S.
Das kommt ganz daran an was für ein Prozessor mit dem CoolrunnerII an den SJA1000 angeschlossen werden soll. Die meisten Macrozellen würden beim multiplexen des Busses drauf gehen. Deshalb dafür lieber extern 2 Bausteine verwenden (245 und 241) und dahinter eine Tri-state logik aufbauen. Die Steuerleitungen für die Logikchips und für den SJA1000 dann aber im Coolrunner. Bei 5V Technik ist der ATF1502 locker ausreichen (32 Zellen) Bei 3V würde ich den ispMACH4032 empfehlen. Die Coolrunner sind mir zu buggie.
@Max, "Die Coolrunner sind mir zu buggie." kannst Du dazu näheres sagen ? Wir setzen die Coolrunner von Anfang an (Philips) ein und hatten bisher keinerlei Probleme. Nur der Übergang von 5V auf 3,3V erforderte eine Layoutänderung (zusätzlicher Spannungsregler). Sieht ganz lustig aus auf dem Oszi, der Coolrunner sendet 3,3V high und kriegt aber 5V high, quasi "Tristate" im wörtlichen Sinne. Peter
DIe Layoutänderung hättest du dir sparen können, wenn du einfach die ATF15xxAS genommen hättest. Dort gibt es für fast alle Varianten Pinkompatible Ersatztypen. Einzig der Strom ist ein wenig höher als beim Coolrunner. Wenn es um den Strom geht, dann sind aber die ispMACH4000Z noch besser. Zudem können die direkt als Levelshifter genommen werden, da die Corespannung nicht umbedingt der I/O Spannung entsprechen muß. Ebenfalls können die I/O Banke verschieden versorgt werden. Bei 3,3V ist das ganze auch noch 5V Tolerant So ist z.B. ein der Core und eine I/O Bank mit 3,3V versorgbar und die eine oder mehr I/O Banke mir 1,8V Du kannst dann im Chip 1,8V und 5V Signale logisch verknüpfen und wieder 1,8V, 2,5V oder 3,3V signale ausgeben :-) Stichwort Buggie: Schau dir mal die PCN's bzw. die Errata von Xilinx vom letzten Jahr an ;-) Ist ziemlich versteckt und nur angemeldet zu finden! Ich hatte die erwähnten Fehler (Power-up Verhalten)live im Design. Durch den notwendigen Spannungsregler für 3,3V war das ganze sehr empfindlich (3064, aber die anderen haben auch den Serienfehler seit Philips). Seit Ende letzen Jahres wurde extra ein Kommentar ins Datenblatt aufgenommen. Schau dir mal deine Versorgung 3,3V am Coolrunner beim Einschalten an. Du wirst eine Einbruch bei ca. 1,4V sehen. Dort wird die Konfiguration vom EEPROM ins SRAM kopiert. Das ganze war (ist) Buggie und der Chip scheint teilweise zu funktionieren, aber eben auch teilweise ist die FUnktion definitive nicht gewährleistet. Es ist sogar so, das erst ein neuer Power-Down, Power Up Cycle das ganze wieder richten kann. Dieser Fehler wurde (sollte) im Frühjahr mit der C-Revision beim 3064 behoben werden. Doch das ging teilweise Schief, so das bei einem Power Glich ebenfalls teilweise die Konfiguration verloren gehen kann. Folgen müss jeder für sich selber abschätzen. Also nicht wundern, wenn ein Coolrunner Design (mit altem Silizium; neues kommt erst bis Mitte 2005) ab und zu nicht richtig funktioniert. Gruß Max. P.S. Xlinix macht daraus ziemlich ein Geheimnis und falls man die richtigen Dokumente findet, wird ausdrücklich darauf hingewiesen,das das alles nur bei den Coolrunnern so ist. Das ganze entspricht aber bei ALLEN Xilinx Produkten einem SEU.
@Max, vielen Dank für diese Informationen. Ich habe damit aber bisher keine Probleme gehabt. Die Geräte enthalten ein normales 5V Schaltnetzteil. Danach kommt für die 3,3V ein LDO-Spannungsregler (max 250mA) und muß 1 oder 2 Stück XCR3128 versorgen. Die Idee, bei zukünftigen Problemen den Atmel zu probieren, werde ich mir merken. Aber warscheinlich wird der dann kein Abel können und der Code muß umgeschrieben werden. Eine andere komische Sache beim Umstieg 5V->3,3V war noch, daß die neuen Typen weniger Produktterme haben. D.h. was früher in den 5064 gepaßt hatte benötigt nun einen 3128. Peter
Das Netzteildesign sah und sieht bei uns ähnlich aus. Den Fehler haben wir auch zuerst nur bei einem 3064 gefunden. In einen anderem Design mit einem 3128 hatten wir ein dubioses Latchup-Phanomen an einem Eingang, der zu Ausgang wurde. Den systematischen Fehler im Coolrunnerdesign ist aber in allen typen der XPLA3 Familie enthalten. Das mit den scheinbar weniger Produkttermen ist mir auch schon aufgefallen. Das ganze liegt aber an der verschiedenen P-Term verfügbarkeit bei den Makrozellen. Gib mal die Pins frei und es wird wieder klappen. Die Amel haben noch einen zusätzlichen vorteil :-) Sie haben eine Funktion, die pro Macrozelle zwei Funktionen erlaubt. Stichwort: Logicdoubling Die kostenlose Entwicklungsumgebung von Atmel erlaubt nur Cupl und VHDL. Bei VHDL ist hat das problem, das einzelne Macrozellen schlecht ausgewählt werden können. Die Pins sind via attribute direkt im VHDL File einstellbar. Schau dir aber auch mal die ispMACH4000 Famile von Lattice an. Die ist noch ein wenig moderner. Gruß Max
@Max, die Produktterme sind nicht nur scheinbar weniger, sondern real. Die alten konnten nämlich Produkttermsharing (21 je Logikblock). Ich hab alle möglichen Optimierungen versucht, ohne Erfolg. Selbst im 3128 ist nicht mehr viel Luft. Ich wollte ne kleine Erweiterung unterbringen, da krachte es schon. Erst nachdem ich einige Gleichungen optimieren konnte, indem ich die Latchfunktion (.le) verwendete gings gerade noch so rein (die Latchfunktion spart die zur Selbsthaltung notwendige Rückführung ein). Das man tunlichst erst den Fitter ranlassen sollte und erst danach das Platinenlayout machen darf, habe ich auch schon gemerkt. Es ist nicht weit her mit der groß beworbenen flexiblen Pinwahl. Z.B. Adreß- und Datenbusse sollte man auf verschiedene Logikblocks aufteilen, auch wenn dann die Pins nicht mehr nebeneinander liegen. Peter
@Max: Könntest du dieses Sheet mal posten? Ich habe gerade ein Design mit einem XPLA3256 gemacht, aber noch nicht gefertigt. Dieser sollte eine recht sichheitsrelevante Aufgabe übernehmen, weil ich dachte, dass da die Wahrscheinlichkeit einer Fehlfunktion geringer ist als bei einem MC. Wohl falsch gedacht. Gruß Henrik
Ihr könnt es ja selber lesen. http://www.xilinx.com/bvdocs/notifications/pcn2004-23.pdf Für die Errata müsst ihr euch leider bei Xilinx registrieren, da sie meinen das die Daten vertrauchlich zu behandeln sind. Das ganze ist dort ziemlich unscheinbar. Aber ich kann euch sagen, das wegen diesem Fehler bei uns himmel und hölle in bewegung gesetzt wurde um die Zielhardware zurückzuholen und zu modifizieren. Xilinx gibt fehler in der Hardware erst zu, wenn Sie wirklich nichtmehr anders können, obwohl teilweise die Fehler bei ihnen schon bekannt sind. Gruß Max
Ach ja wenn ich gerade die anderen Beiträge lese. Ihr (Peter) wisst, das der MAX7000S auch kompatible zum Coolrunner der PZ5xxx Familie (Die alte 5V Familie) ist bzw war. Ich hab am Anfang nach dem Xilinx die 5V Coolrunner abgekündigt hatte erst auf den MAX7000S gesetzt, der war dann aber zu teuer. Und wir sind auf den ATF15xxAS umgestiegen. Das ganze war am Anfang mit Atmel auch ein Kampf, da die Entwicklungsumgebung ein fertiges VHDL Design nicht fitten wollte (Systemfehler der Software). Das ging dann so weit, das ich die Altera SW genommen habe und via Tool von Atmel das Fusefile (Pof-File) direkt in ein Jedec-File für den ISP-Programmer umgesetzt habe. Nur so am Rande erwähnt, falls jemand viel Geld übrig hat. Gruß Max
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.