Forum: FPGA, VHDL & Co. ds1822 an Cyclone --> wie High an PullUp übergeben?


von Axel (Gast)


Lesenswert?

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!

von franke (Gast)


Lesenswert?

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ß

von Axel (Gast)


Lesenswert?

wie meinst du das genau? bin da noch relativ unerfahren!

von franke (Gast)


Lesenswert?

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ß

von Axel (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.