mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mehr I/O Pins.


Autor: Peter Pippinger (uncle-sam7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo NG,

kann mir jemand sagen, was man macht, wenn man an seinem MC mehr I/Os 
braucht (so um die 32 3,3V + evtl. 5V tollerant)? Ich hab mal irgendwo 
was gesehen, das über SPI funktioniert. Wie schnell kommt man den da an 
einen PORT-Zustand ran, bzw. wie schnell (wieviele Zyklen) kann man 
einen PORT auf High oder Low setzen?

Am liebsten würde ich das Teil für AT91SAM7S256 nehmen. Aber das dürfte 
wg. SPI ja eigentlich egal sein, was für einen MC man nimmt?

Viele Grüße und Danke für jeden Hinweis (oder Link :-).
Peter

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich hab mal irgendwo was gesehen, das über SPI funktioniert.

SPI Portexpander lautet dein Suchwort.

> Wie schnell kommt man den da an
>einen PORT-Zustand ran, bzw. wie schnell (wieviele Zyklen) kann man
>einen PORT auf High oder Low setzen?

Hängt vom SPI Takt ab.

Autor: Tom M. (tomm) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Klaus 2m5 (klaus2m5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es auf jeden Takt ankommt, würde ich parallele Bus-Register nehmen. 
Ein Puls auf Enable und die Daten sind da.

Autor: Peter Pippinger (uncle-sam7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jetzt hab ichs wieder gefunden:

http://www.nxp.com/documents/data_sheet/PCA9505_9506.pdf
z.B. auf:
http://www.tinyclr.com/downloads/Component/Broch_F...

gibts da was vergleichbares fertiges? sind $44 gerechtfertigt?

Nochmal wegen der Geschwindigkeit:
Muss ich da immer alle Bits "abholen" und auswerten?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Nochmal wegen der Geschwindigkeit:

Bei I2C würde ich mir keine Gedanken um die
Geschwindigkeit machen. Diesen scheiss einfach
vergessen und SPI nehmen;)

>Muss ich da immer alle Bits "abholen" und auswerten?

Nö, letzten Zustand im RAM merken, ändern
und rüberbeamen.

Ach, ich vergass, du willst ja kein RAM benutzen;)
Buhahaha!

Autor: Peter Pippinger (uncle-sam7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
okok, danke für die Antwort, aber vielleicht ein wenig langsamer für 
mich zum Verständnis:

Momentan ist es ja so, dass ich die Pins über GPIO auslesen kann. Sowas 
in der Art hätte ich mir dann auch vorgestellt.

Hintergrund:
Ich möchte gerne noch ein Display an den ARM anschließen. Momentan habe 
ich auch nur 2 Taster und 2 LEDs dran. Nun könnte ich natürlich die 
Datenleitungen des SID doppelt belegen, da ja sowohl das Display als 
auch der SID "CS" haben. Das gefällt mir aber nicht so gut. Es gibt ja 
noch so viele Dinge, die denkbar wären (z.B. Drehcodertaster oder wie 
man die Dinger nennt).

Deswegen auch die Frage nach der Geschwindigkeit:
wenn ich den ARM mit ca. 47MHz am Laufen habe, wieviele Takte würden 
verbraten, um z.B. einen beliebigen PIN auf High oder Low zu setzen? 
Dauert es für den Ersten genau so lange, wie für den Letzen?

Ich glaube im Endeffekt suche ich sowas mit Datenleitung und 
Adressleitung?

Autor: Peter Pippinger (uncle-sam7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist sowas OK?

http://www.reichelt.de/?ACTION=3;ARTICLE=90047;PROVID=2402

Hab im Datenblatt gesehen, dass SPI bei max. 10MHz liegt.
Was bedeutet das?

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Pippinger schrieb:
> Ist sowas OK?
>
> http://www.reichelt.de/?ACTION=3;ARTICLE=90047;PROVID=2402

Zu teuer. 74HC595 bzw HC597 sind die Standardlösung für sowas.

> Hab im Datenblatt gesehen, dass SPI bei max. 10MHz liegt.
> Was bedeutet das?

Nun ja, Du brauchst pro bit ein Takt, bei 8 Bits sinds 8 Takte, bei 10 
MHz kannst Du Dir ja ausrechnen, wie lange das dauert.

Am einfachsten und schnellsten ist es, einen Controller mit mehr Pins zu 
nehmen. So ein STM32F103 mit 144 Pins erlaubt schon einiges. Oder ein 
LPC2468 mit 208 Pins. Mehr wirst Du als Bastler aber nicht verarbeiten 
können.

fchk

Autor: Peter Pippinger (uncle-sam7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Frank,

ich hatte ja zuerst auch die Idee, dass ich den LPC3131 nehme, da es 
diesen von Olimex entsprechent nett aufbereitet gibt.

Allerdings habe ich noch nie mit JTAG gearbeitet und bin mir nicht 
sicher, was ich da bestellen muss, damit ich auf win7 (nur USB) 
entwickeln kann. Wenn bei einem JTAG "ARM" dabei steht, kann ich das 
dann mit dem LPC3131 verwenden, bzw. mit jedem "ARM"?

Grüße
Peter

Autor: Hans W. (stampede)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

>Ich möchte gerne noch ein Display an den ARM anschließen. Momentan habe
>ich auch nur 2 Taster und 2 LEDs dran.
Aha. 4 IOs weg und schon Panik :)

>Nun könnte ich natürlich die
>Datenleitungen des SID doppelt belegen, da ja sowohl das Display als
>auch der SID "CS" haben. Das gefällt mir aber nicht so gut. Es gibt ja
>noch so viele Dinge, die denkbar wären (z.B. Drehcodertaster oder wie
>man die Dinger nennt).

Und warum "gefaellt dir das nicht so gut" ?!?! Das ist mit Abstand die 
beste Loesung!!! Schnell und keine Extrabauteile. Was will man mehr?

Ich nutzt beispielsweise ein LCD (7 IOs), einen PGA2311 (4 IOs) und 
einen Drehgeber (4 IOs) an einem 8 Bit Port, durch geschickes 
Verschalten und Multiplexen der IOs. Das klappt wunderbar und ist auch 
schnell. So schnell wirst du das mit einem Schieberegister, I2C 
Expander, oder was auch immer nicht hinbekommen.

Gruss,
Stefan

Autor: Frank Buss (foobar)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Pippinger schrieb:
> Allerdings habe ich noch nie mit JTAG gearbeitet und bin mir nicht
> sicher, was ich da bestellen muss, damit ich auf win7 (nur USB)
> entwickeln kann. Wenn bei einem JTAG "ARM" dabei steht, kann ich das
> dann mit dem LPC3131 verwenden, bzw. mit jedem "ARM"?

Viele LPC-Microcontroller haben einen Bootloader per seriellen Port: Man 
muß da während Reset eine Taste drücken oder so ähnlich und kann dann 
mit einem speziellen Tool von NXP über den seriellen Port 
(USB-nach-seriell Adapter hatte bei mir auch funktioniert) das Flash 
beschreiben. Debuggen geht darüber aber nicht, dafür wäre JTAG gut, aber 
debuggen braucht man ja sowieso nicht :-) Kann sein, daß die Bausteine 
mit USB-Anschluss auch einen USB-Bootloader haben, sodaß man keine 
weiteren USB-seriell-Adapter braucht.

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Pippinger schrieb:
> Hallo Frank,
>
> ich hatte ja zuerst auch die Idee, dass ich den LPC3131 nehme, da es
> diesen von Olimex entsprechent nett aufbereitet gibt.
>
> Allerdings habe ich noch nie mit JTAG gearbeitet und bin mir nicht
> sicher, was ich da bestellen muss, damit ich auf win7 (nur USB)
> entwickeln kann. Wenn bei einem JTAG "ARM" dabei steht, kann ich das
> dann mit dem LPC3131 verwenden, bzw. mit jedem "ARM"?

Im Prinzip ja, aber:
ARMs gibts in verschiedenen Versionen: ARM7, ARM9, Cortex M0/M1/M3,...

Und: Deine Entwicklungsumgebung muss diesen Adapter können. Schau nach, 
was für Adapter unterstützt werden und kaufe dann einen aus der Liste.

fchk

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank K. schrieb:

>> Allerdings habe ich noch nie mit JTAG gearbeitet und bin mir nicht
>> sicher, was ich da bestellen muss, damit ich auf win7 (nur USB)
>> entwickeln kann. Wenn bei einem JTAG "ARM" dabei steht, kann ich das
>> dann mit dem LPC3131 verwenden, bzw. mit jedem "ARM"?

Oder, was für Dich einfacher ist:

Nimm einen 100 Pin PIC32MX. Dazu hat Microchip den passenden Compiler 
für Dich, den passenden Debugger, die passende IDE, die passenden 
Bibliotheken, und die passenden Eval-Boards. Alles passt nahtlos 
zusammen, alles ist aufeinander abgestimmt, aus der Ecke wirst Du dann 
keine Probleme mehr haben. Und Du hast Support aus einer Quelle, und der 
Microchip-Support ist vergleichsweise gut. Als Anfänger wirst Du so 
deutlich schneller vorankommen.

Der MIPS-Kern im PIC32 ist mindestens genauso leistungsfähig wie die 
ARM-Konkurrenz.

fchk

Autor: peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jetzt habe ich gerade bei rs folgendes gesehen:
http://de.rs-online.com/web/search/searchBrowseAct...

aber irgendwie komm ich nicht dahinter, was sich hinter diesem Angebot 
verbirgt. Gibts da ne Herstellerseite? Hab auf Anhieb nichts gefunden...

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.