Hi, wie verbinde ich ein FPGA (Xilinx Spartan3E) mit dem 2Wire-Interface eines CMOS-Sensors. Am Sensor habe ich SCL und SDA (SCL: IN, SDA: INOUT), 2.4V <= Vin_HIGH <= 3.1V. LVCMOS33 liefert da zu viel, LVCMOS25 zu wenig. Gruss
I2C ist doch sowieso ein 'Open Drain' Bus, da solltest du insofern sowieso keinen definierten H-Spannungspegel anlegen. Du musst deinen Code nur so schreiben, dass der Pin entweder "Z" oder "0" generiert und auf die richtigen Pullups achten. Gruss, - Strubi
Die Antwort hat Strubi schon gegeben, aber zum Hintergrund:
> LVCMOS33 liefert da zu viel, LVCMOS25 zu wenig.
Du kannst mit diesen Constraints die Spannung am Pin sowieso nicht
einstellen. Der High-Pegel eines Ausgangs wird bei beiden IO-Standards
von Vcco der entsprechenden Bank bestimmt. Genaueres dazu im
Datenblatt...
Erstmal vielen Dank für die Antworten, insbesondere das Stichwort I2C (hab noch nie damit gearbeitet). Ich habe inzwischen auch in ein paar anderen Threads nach I2C nachgeschaut und werde mein Design entsprechend anpassen. Zu LVCMOS25/33: Mein DevBoard erlaubt leider nur 2.5V oder 3.3V je Bank (VCCO). Besten Dank
Hallo FPGA-Noob, wenn dein CMOS Sensor lt. deinem Datenblatt nicht mehr als 3,1V max. vertraegt ( wo hast Du die Angabe her, Max. Ratings?). Dann musst Du dafuer sorgen dass da nicht mehr anstehen. Hast Du Pull-Ups auf dem CMOS Sensor Board? Wenn nein musst Du fuer geeignete Pull-UPs sorgen. Bei I2C (mal vom langsamen 100kHz Standard ausgehend) wird nur der Low-Pegel von den angeschlossenen Bausteinen getrieben, fuer den Highpegel sind die Pull-Ups verantwortlich. Du kannst also unbesorgt zwei FPGA IOs von einer 3V3 Volt-Bank nehmen. getrieben wird dann der Pin so, oder so aehnlich: SCL <= '0' when scl_int = '0' else 'Z'; Gruss
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.