Forum: Mikrocontroller und Digitale Elektronik ReadOnly-SubFeld am Read/Write-Port wie realisiert?


von Mutluit M. (mutluit)


Lesenswert?

Hi,
angenommen auf einem 32bit-System ist ein 32bit-Port Read/Write, aber 
ein SubFeld darin, sagen wir 3 bits, kann nur ausgelesen werden, aber 
nicht beschrieben werden.
Es gibt viele solcher Ports. Sie werden im Linux-Kernel mit readl() und 
writel() angesprochen.
Hinter einem Port steckt doch nur eine RAM/ROM-Zelle, aber kein Code, 
oder?
Wie wird dann so etwas wie das oben geschilderte (ReadOnly-SubFeld an 
einem R/W-Port) eigentlich realisiert in der Hardware?

: Bearbeitet durch User
von Joe F. (easylife)


Lesenswert?

Mutluit M. schrieb:
> Hinter einem Port steckt doch nur eine RAM/ROM-Zelle, aber kein Code,
> oder?

RAM/ROM sicherlich nicht, sondern eben ein I/O Port, der 
konfortablerweise über eine Memory-Addresse angesprochen werden kann.

In vielen Fällen haben I/O Ports sog. Push-/Pull-Ausgangstreiber, die 
den Ausgang sowohl VCC als auch mit GND verbinden können.
Wenn beide Treiber (high-side und low-side) inaktiv sind, "floatet" der 
Ausgang (auch High-Z oder tri-stated genannt). In diesem Zustand kann 
der I/O als Eingang verwendet werden und folgt der extern angelegten 
Spannung.
Beim "write" wird also der Ausgangstreiber gesetzt, beim "read" der 
Zustand der Pins abgefragt. Ist ein Pin auf Eingang geschaltet 
(Maskierung), sorgt eine Logik dafür, dass der per "write" gesetzte Wert 
ignoriert wird und der Pin "tri-stated" bleibt.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Mutluit M. schrieb:
> Hinter einem Port steckt doch nur eine RAM/ROM-Zelle, aber kein Code,
> oder?

Ja, so ungefaehr. Aber hinter jedem Bit des Ports steckt ja eine 
einzelne "RAM/ROM-Zelle". Also kann man die auch wild kombinieren. Und 
z.B. aus Spass an der Freud' ein Register bauen, in dem nur jedes 2. Bit 
beschreibbar ist.
Hardware kann man durch Sprachen wie VHDL oder Verilog beschreiben. Also 
steckt da dann auch "Code" dahinter.
Ginge aber auch mit einem Schaltplan mit z.B. TTL Chips.

Gruss
WK

von Michael B. (laberkopp)


Lesenswert?

Mutluit M. schrieb:
> Wie wird dann so etwas wie das oben geschilderte (ReadOnly-SubFeld an
> einem R/W-Port) eigentlich realisiert in der Hardware?

Nur an write Ausgabeports steht hardwaretechnisch ein FlopFlop (RAM-bit) 
dahinter, deren Q-Ausgang mit dem Output-Pin verbunden ist

An den nur read Eingabebits eben nicht, die leiten nur den Zustand am 
Pin beim Lesen weiter nach innen.

von Mutluit M. (mutluit)


Lesenswert?

Jetzt ist alles klar :-)
Herzlichen Dank & Grüsse an alle.

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.