Ich möchte gerne eine USB-Buchse als Device am Altera FPGA Cyclon EP1C6Q240C8 anschließen. In der Zeitschrift ELEKTOR Teil8 ist ein Beispiel das ich gerne auf meinen T-Rex C1 nachvollziehen möchte. Laut Schaltplan in der Elektor wird D+ und D- nur mit den beiden FET's für low- bzw. full-speed über 1.5 Kohm beschaltet. D+ D- geht direkt am Eingang des FPGA LVDS51p bzw LVDS48p. Geht das ohne "Treiber IC"? Muß man auf kurze Verbindung achten oder ist das ganze unproblematisch? Gruß Dieter
Ich habe sowas noch nicht gemacht und denke auch, daß es von der Betriebsstablilität her nicht sinnig ist. Ich wäre aber daran interessiert ,zu erfahren, ob es nicht doch geht. (?) Zwischenzeitlich könnte Dir eine Schaltung bereitstellen, wie Du vom Cyclone auf USB kommst.
Hallo, es geht. Ich hab das USB-Beispiel für Elektor entwickelt - und es funktioniert ganz hervorragend. Man ist zwar bei den elektrischen Parameter (Slewrate, Pegel, ...) nicht ganz USB-Spec-Konform aber bisher habe ich noch bei keinem PC Probleme desswegen. Allerdings gehen nur low- und full-speed auf diese Weise. Für high-speed braucht man einen Phy.
Hallo, ich bin nicht sicher, ob dieser Thread den gleichen Fall beschreibt, den Ich habe.... Ich möchte eine kleine Zeilenkamera bauen. Die CCD Zeile soll über einen CPLD gesteuert werden. Diese Einheit soll einen kleinen Befehlssatz verstehen können (z.B. belichtungszeit. start messung etc) Die Einheit soll von einem PC über USB betrieben werden, d.h. die Befehle werden über USB zu der Zeilenkamera gesendet. Frage: Kann ich den USB (z.B. FTDI) allein über den CPLD steuern oder muß ich einen Mikrocontroller dafür nutzen?
Da in dem FTDI-Chip schon die ganze USB-Logik drin ist, sollte das kein Problem sein. Mit direkter Ansteuerung hat das aber nichts zu tun. Du musst dir nur noch einen Befehlssatz und eine dazu passende State-Maschine für das CPLD überlegen.
@Nullplan Ein FTDI-Chip kannst du auch im sogenannten BitBang-Modus betreiben, damit bekommst du so was wie ein In-Output-Port mit Schreib- und Leseimpuls, den direkt mit einem CPLD verbinden kannst. So benötigst du keinen UART im CPLD. Gruss Andi
@ Andreas: Ich habe mir das Beispiel von Elektor auch angesehen und habe dazu eine Frage: Seh ich das richtig, das diese Lösung für einen Xilinx Spartan3 nicht denkbar ist, weil da die I/O's nicht 5V tolerant sind?
Hallo, die I/O's beim verwendeten Cyclone sind ebenfalls NICHT 5V tolerant. Dies ist aber kein Problem da USB mit 3,3V Signalpegeln arbeitet. MfG. Andreas
Das USB-Modul kann mit 5V Pegeln und mit 3,3V Pegeln arbeiten. Dafür gibt es bei dem USB Modul (FDTI-UM245R) einen Jumper. Das Modul kann man sogar bei Farnell bestellen. Den Treiber für die PC-Seite gibt es auch auf der FTDI-Homepgae. Zudem sind da auch Bsp. wie Du den Treiber ansteuern kannst. Die Beispiele sind in unterschiedlich Programmiersprachen. Deshalb beide DAUMEN hoch für FTDI so muss das sein. Den USB-Chip von FTDI kann man sehr einfach ansteuern. Du legst mit Deinem CPLP die Daten an Deinen 8 Bit Datenbus an. Anschließend änderst Du den Zustand der CLK_Leitung von '1' auf '0'. Durch diese abfallende Flanke erkennt das USB-Modul, das die Daten die anliegen übernommen werden sollen. Danach setzt Du das Signal wieder von '0' auf '1' zurück. Du solltest aber unbedingt darauf achten, dass Du keine Daten an das USB-Modul senden solltest, wenn die Busy-Leitung gesetzt ist. Falls Du es doch machen solltest, wird das Modul nicht mehr richtig funktionieren und Du must es Neustarten.
Kann Jemand mir die Schaltung mal zeigen? Ich weiss nicht, ob ich richtig verstande habe. "==" ist Pull UP Wiederstand: --==--|---------|--==-- USB |FPGA | USB ------| |------ | | |---------| einfach so?
Diese Frage kann ich nur Bestätigen. Mit einem Cyclone 1 (EP1C3T144C8) und sogar noch einer mieser Stiftleiste und Flachkabel zwischen USB-Stecker und FPGA funktioniert die Kommunikation prima. Sogar Risetime und Falltime werden eingehalten.
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.