Hallo! Ich möchte gern mit einem DS1822 Temperaturen messen. Mit µC und ARM habe ich das alles schon gemacht. Mein Problem ist nun, dass der Bus durch einen Pullup nach High gezogen werden soll. Die Frage ist nun, wie realisiere ich das? Bsp: --> pin : inout std_logic; wenn ich auf low ziehen will, ist alles klar: pin <= '0'; und auf high mit pin <= '1'; wäre ja Quatsch! funktioniert das mit pin <= 'z'; ??? danke euch!
Ja, funktioniert so. Ich habe auch schon ganz gerne die IO-Buffer direkt als Component instanziert, dann hast du genaue Kontrolle über Tristate, In und Out. Gruß
wie meinst du das genau? bin da noch relativ unerfahren!
Ok, dann kannst du auf jedenfall einfach den 'Z' genutzten ;-) Aber gut: Wenn du in deinem Synthese-Tool oder der Doku zum Baustein suchst (bei mir .z.B Lattice Diamond) findest du in der Hilfe eine Beschreibung der "Primitives", also dedizierter Resourcen des Bausteins. Sieht jetzt für nen IO Buffer mit Tristate und PullUp so aus: Component BBPU port( I : out; -- rein in den IO -Buffer O : in; -- raus aus dem Buffer T : in; -- Tristate Steuerung, Tristate und Input das gleiche B : inout -- der "physikalische" Pin am FPGA ); Den kann man instanzieren, hilft IMHO wenn man aufwendige Ansteuerungen bastelt.. Gruß
Danke für die Einstiegserklärung! Dann werd ich mal die Doku wälzen ;-)
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.