www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Porterweiterung


Autor: Techniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Gibt es einen günstigen IC, der eine bidirektionale Porterweiterung
realisiert? Am besten serielle (SPI) Verbindung zum uC! :-)

Sowas wie 74HC4094 und 74HC165 in einem... ;-)

Ich hoffe ihr versteht, was ich meine...!
(als Beispiel fällt mir das alte, parallele Ungetüm 8255 ein...)

Danke!

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ATmega128...
ziemlich grosse Porterweiterung...

Autor: Techniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
..kennst du auch ein richtiges (günstiges) I/O-IC?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bidirektionales Schieberegister:

74HC299


Peter

Autor: Techniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GENIAL! :-)

Danke!

Autor: romanua (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: romanua (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MCP23008 (I2C,SPI) gibt es bei www.mouser.com fuer 83cent (12$ Versand +
paar Cent Zoll)

Autor: Techniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@romanua

Danke! Aber der HC299 ist schon fast perfekt! :-)
SPI-Interface, 8Bit, I/O, supergünstig, ...

(Nur ein Ausgangslatch zwischen Schieberegister und 3State-Treiber wäre
noch was feines gewesen... ;-) )

Autor: Christoph Söllner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PCF8574 IIC Interface sogar mit Interrupt, kannst 8 Knöpfe (oder 16 mit
Matrix) dranhängen, und immer, wenn einer gedrückt wurde, gibt er auf
einem 9. Beinchen einen IRq. Bis zu 8 können an einen IIC Bus, mit der
PCF8574A Variante, sogar 16. LCD-dran geht genauso einwandfrei,
BitBanging wird allerdings schwieriger, je nachdem, was noch am Bus
hängt und Datenkapazität haben will.
PINs können dynamisch als Ein/Ausgänge verwendet werden.
Das Teil sinkt aber nur Strom, und kann keinen sourcen (Habe da 4
Platinen umsonst gemacht deswegen, seitdem schaue ich genauer in
Datenblätter ^^)

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke! Aber der HC299 ist schon fast perfekt! :-)
SPI-Interface, 8Bit, I/O, supergünstig, ...

(Nur ein Ausgangslatch zwischen Schieberegister und 3State-Treiber
wäre
noch was feines gewesen... ;-) )
__________________________________

Schau Dir ruhig noch einmal den 74595 an, der ist besser geeignet und
bietet bei richtiger Beschaltung einige Vorteile,

MfG Manfred Glahe

Autor: Techniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Manfred:
Ja aber der kann doch kein parallel-in -> serial-out..?!?!
Oder überseh ich da was im Datasheet?

Autor: Techniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christoph:
hab schonmal mit I2C lange herumgekämpft und dann aufgegeben, weil ich
dachte es liegt nur an mir. Seit diesem Thread
(http://www.mikrocontroller.net/forum/read-1-262816.html) verzichte ich
ganz auf i2c... ;)

Autor: Christoph Söllner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mal Verzeihung, aber die Atmels laufne auch im MMaster Betrieb
einwandfrei. Das kann ich aus eigenener Erfahrung mit 4 ATMegas
bestätigen. Wenn eben Leute nicht sauber programmieren können, oder
noch eine alte Version der Chips haben, dann kann da TWI oder IIC nix
dafür.
Dann hast Du hier keinen MM Betrieb sondern AT=M, x PCF=S. Und die
Teile sind einfach genial: Willst Du Outputs haben, schreibst Du das
Byte einfach an die IIC-Adresse (Achtung: die sinken nur, also 1=0!).
Willst Du sie dagegen als Input haben, schreibst Du überall eine 1 rein
und sobald ein Pin gegen Masse gezogen wird, gibts auf einem 9. PIN eine
Flanke und du liest von der IIC-Adresse und hast im Bitmuster stehen,
welches Bit denn auf 0 ist.
Kannst also 64 Tasten an den IIC-Bus hängen und jeden Interrupt pin der
PCFs zusammen auf einen INT des AVR schalten, und sobald irgendwo eine
Taste gedrückt wurde, alle der Reihe nach abfragen und brauchst nicht
mehr pollen. Und das ist genial. Und Latch inklusive. Leider kostet das
Ding 1,75 pro Stück, also kannst gleich nen Tiny auch hernehmen ^^
Christoph

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Manfred:
Ja aber der kann doch kein parallel-in -> serial-out..?!?!
Oder überseh ich da was im Datasheet?
_________________________________________

Da solltest du mal die Verwendung der SPI Schnittstellen erklären, je
nach Bedarf kann die 2 IC- Lösung auch sinnvoller sein. Was willst Du
ansteuern und was willst Du einlesen mit SPI, erst danach kann man
einen gezielten Vorschlag machen.
Für eine profilaktische Erweiterung von SPI Ports gehe ich doch anders
vor, als für eine gezielt, wenn auch noch unvollständige, Anwendung.

MfG Manfred Glahe

Autor: Techniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte mir eine I/O-Leiterplatte machen, die ich per SPI (oder
dergl) an einen Controller hänge. Die Erweiterungskarte soll mir dann
(z.B.) 8 parallele I/O-Ports "erzeugen".

Was dann später daran alles drankommt ist noch offen! :)
Die Leiterplatte würde ich sowieso gerne zum experiementieren
verwenden.

Anwendungsbeispiele:
-MT8880 (bidirektional)
-Relais (output)
-Tastenmatrix (input)
-usw...

Jetzt bitte nicht hauen! aua ;)

Nach aktuellem Stand würde ich das mit einem kl. AVR und ein paar
Parallel-TTL-IC's realisieren. Der AVR soll dann die Daten per SPI
entgegennehmen und dann einen 8Bit-Datenbus mit 3State-Latches und
3State-Buffers auf 8 Ports verteilen. Werden dann zwar wieder einige
"Käfer" auf der Leiterplatte werden, was ich eintlich vermeiden
wollte, aber naja... ;)

Da das ganze dann auch noch reparabel bleiben soll, werden außerdem
wohl alles DIL-IC's werden... :-/

Trotzdem danke für eure Hinweise!

Autor: Manfred Glahe (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Gut, dann geht das mit dem 74595 doch auch, den benutzt Du dann doch zur
externen Selektion der SPI bzw. Quellen. MOSI/MISO wir doch eh
getrennt.
Im Anhang mal den 74595 als solch einen Selektor.

Ich habe hier mal eine gute Idee zu lesen bekommen (Peter Dannegger),
da wurde nach PowerOn der  Ausgang des 595 hochohmig geschaltet. So
kann man über Widerstände nach GND oder +UB den Resetlogiklevel einfach
vorgeben. Hat der mP die Regie, wird nachgeladen.

MfG Manfred Glahe

Autor: Schoaschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ich bastle gerade mit dem MCP23008 herum. Das ist ein 8Bit IO-Expander
von Microchip mit IIC. Er besitzt ebenfalls einen Interrupt und kann
direkt Leds treiben. es gibt auch eine SPI Version und zwar heisst
diese MCP23S08. Die beiden Chips gibts auch als 20Bit Variante und
laufen unter dem namen MCP23016(IIC),MCP23S17(SPI),MCP23017.

http://www.microchip.com/ParamChartSearch/chart.as...

also ich muss sagen, das Bauteil gefällt mir. Es ist fast so einfach zu
Programmieren wie der IO-Expander(PCF8574) von Philips.

Zu meinem Projekt: Mein LCD (HD44780 kompatibel)hängt an dem
IO-Expander und ich schreib mir gerade einen Treiber dafür, damit ich
eben das LCD über den IO-Expander ansprechen kann. Der Vorteil... Ich
brauche nur 2 Leitungen und ich kann sowohl aufs LCD schreiben als auch
vom LCD lesen.

mfg schoasch

Autor: Schoaschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achja... und die bauteile kosten so knappe 80Cent :-)

Autor: AVRWalli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Schoaschi:
Wo bekomme ich in Deutschland den MCP23008 bzw. MCP23016/17?

mfg
AVRWalli

Autor: Schoaschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da muss ich dich enttäuschen. Das weis ich leider nicht, denn ich komme
aus Österreich und hab da so meine speziall Geschäfte die mir die Teile
Notfalls bestellen. Und ich glaube das sich das Porto nicht dafür steht.
Also wäre der PCF8574 zu empfehlen.

Oder du probierst es direkt über Microchip.

Wieviele würdest du denn benötigen?

Autor: schoaschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal hier :
Ebay-Artikel Nr. 5833213238

Autor: rs485 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

muss diesen Thread nochmal aufwärmen.

Bin auch auf der Suche nach einer Möglichkeit die ports meines µC zu 
erweitern.
Genauer gesagt will ich an einen µC nach 2-3 Module mit Ein- / Ausgängen 
hängen, um z.B. eine Heizungssteuerung an zu steuern.
Die Module sind allerdings min. ein paar Meter vom µC entfernt.

Dachte daher an eine Lösung über einen Bus z.B. RS485.
Ist allerdings nicht ganz günstig und der Strombedarf ist sicherlich 
höher als bei einem Schieberegister.

Wisst ihr ein paar Links zu AppNotes mit dem 74hc299 ?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.