www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik µC Datenbus


Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

welcher µC besitzt einen 32Bit breiten Datenbus, den man auch als 32 
GIOPs verwenden kann (sozusagen 32Bits gleichzeitig in die weite Welt 
schaufeln kann)?


Gerhard

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Definiere "gleichzeitig".

Wenn Du z.B. bei nem AVR alle 4 8Bit Ports nacheinander setzt (dauert 
0,2µs), ist das aus Sicht eines langsamen CD4xxx CMOS-ICs (max 1MHz) 
total gleichzeitig.


Peter

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein ich möchte gern 32GIOPs zusammenhängend nicht 4x 8Bit Ports... 
sondern 1x 32Bit Port...

Gerhard

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie schnell muss dein 32-Bit-Parallel" sein? Reichen da auch 4x8-Bit 
Schieberegister und gleichzeitiges "Enable"?

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein, ich will keine schieberegister etc. verwenden... auch keine 
latches... das muss ohne allem zusätzlichem gehen... schnell muss der 
controller nicht unbedingt sein....


Gerhard

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alternativ könnte vielleicht auch eine Kombination aus dem Vorschlag von 
Peter Dannegger in Verbindung mit 4x 74HC573 (8Bit Latch) sowohl schnell 
als auch zeitgleich sein (wenn ich die Funktion richtig verstanden 
habe).

EDIT: war ich wohl zu langsam mit der Antwort^^

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerhard wrote:
> schnell muss der controller nicht unbedingt sein....
Wenn nicht schnell, warum dann zeitgleich?

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schnelligkeit und synchronität hat ja erstmal nichts gemeinsames... nur 
die darstellung mit schieberegister oder latches benötigt erstes etwas 
mehr platz, und wenn man eh einen 32Bit breiten Datenbus benötigt, 
dachte ich mir wäre es performanter gleich einen µC zusuchen bei dem man 
zwischen GIOPs und Datenbus hin- u. herschalten kann...

Gerhard

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nem nen ARM7 von NXP oder ATMEL da gibt es jeweils Varianten mit 32 Bit 
Datenbus. Die Dinger sind leicht zu Programmieren.

NXP: LPC22XX; LPC23XX; LPC24XX
ATMELT : AT91SAM XXXX

sind alles 32 Bit Prozessoren

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du 32-Bit-I/O-Operationen durchführen willst, dann solltest Du Dir 
mal einen ARM7-basierenden µC ansehen. Da reicht schon der LPC2106 von 
Philips, bereits der hat einen 32 Bit breiten GPIO (den man zwar kaum 
nutzen kann, aber das ist 'ne andere Geschichte).

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>(den man zwar kaum nutzen kann, aber das ist 'ne andere Geschichte).

wie meinst du das???

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gibt es bei den LPC auch welche die Flash und mehr als 16Bit RAM 
aufweisen?



Gerhard

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der LPC2106 hat nur sehr wenig Pins, das liegt am 48poligen Gehäuse.
Möchte man beispielsweise das JTAG-Interface nutzen, gehen eine ganze 
Latte I/O-Leitungen deswegen verloren.

Das macht aber nicht wirklich was, denn der 2106 hat natürlich auch 
größere Brüder mit sehr viel mehr I/O-Leitungen.

Jeder LPC2xxx hat internes Flash-ROM und internes RAM - mehr als 16 Bit 
sowieso. Der 2106 beispielsweise hat 64 kByte RAM und 128 kByte 
FlashROM.

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aber die LPC21xx haben doch alle keinen Daten- u. Addressbus - deshalb 
gehen sie nicht...

wo findet man eigentlich die LPC24xx-Serie bei Phillips?

http://www.nxp.com/#/homepage/cb=[type=product,pat...]

Gerhard

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was genau willst Du denn?

Möchtest Du 32-Bit-I/O-Operationen durchführen? Dazu brauchst Du weder 
Daten- noch Adressbus. Dafür genügt der 32 Bit breite I/O-Port des µC.

Möchtest Du externen Speicher anschließen?

Reicht der im µC vorhandene Speicher nicht aus?

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
beides - ich möchte einen 32Bit breiten Datenbus + entsprechenden 
Addressbus und ich möchte diesen 32Bit Datenbus umschalten können zu 
normalen GIOPs so dass ich 32Bits mit einem Befehl rausschieben kann...

Atmel: bei den AT91SAM7SE geht das z.B. nicht, weil der Datenbus aus PC, 
PA etc. zusammengesetzt wird.. ansonsten sind die Datasheets von Atmel 
zu diesem Punkt sehr undurchsichtig, weil sie es nämlich nicht 
erwähnen...

http://www.atmel.com/dyn/resources/prod_documents/...
zwar hat dieser einen 32Bit breiten Datenbus, aber ich kann leider nicht 
finden, ob man diesen 32Bit Datenbus auch als 32GIOPs verwenden kann 
(ohne mehree Ports ansprechen zu müssen)



Gerhard

Autor: opacer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wäre mal ganz interessant zu wissen wo der Sinn liegt einen Externes 
Businterface zwischendurch umzuschalten auf GPIO. Was hängt denn da 
dran?

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
einerseits die Outputs und andererseits der externe speicher - und das 
umschalten nur deshalb, damit man nicht andere Pins dafür belegen 
muss... zuerst wird vom externen speicher daten geholt im internen 
speicher müssen diese noch in die richtige reihenfolge gebracht werden 
etc. und dann werden sie an die outputs gegeben --> das geht so die 
ganze zeit...

Gerhard

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> und ich möchte diesen 32Bit Datenbus umschalten können zu
> normalen GIOPs so dass ich 32Bits mit einem Befehl rausschieben kann...

Und wozu soll das gut sein?

Entweder Du machst I/O-Zugriffe auf Peripherie oder Du machst 
irgendwelche Speicherzugriffe. Ein 32 Bit breiter Datenbus (für 
Speicherzugriffe) ist nur dann erforderlich, wenn die Busbandbreite 
eines 16-Bit-Datenbusses nicht ausreicht.


32 Bit breite I/O-Zugriffe können verschiedene ARM7-basierende 
Controller durchführen, wie eben schon die einfachen LPC2xxx.

Das erfordert eben nicht mehrere Portzugriffe, denn der Port ist 32 
Bit breit.

Was lässt Dich annehmen, daß das beim AT91SAM7S... nicht der Fall sein 
soll?

Informationen darüber wirst Du übrigens nicht im ARM7-Manual finden, das 
beschreibt den Prozessor, nicht die Peripherie. Und für die ist nicht 
ARM zuständig, sondern der jeweilige Hersteller, also Atmel, NXP etc.



Was ist Deine Anwendung, was hast Du vor?

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>32 Bit breite I/O-Zugriffe können verschiedene ARM7-basierende
>Controller durchführen, wie eben schon die einfachen LPC2xxx.

würde mir reichen - nur der interne RAM ist zu wenig - ich benötige mehr 
als 16kB - ansonsten wären die super!


>Informationen darüber wirst Du übrigens nicht im ARM7-Manual finden, das
>beschreibt den Prozessor, nicht die Peripherie. Und für die ist nicht
>ARM zuständig, sondern der jeweilige Hersteller, also Atmel, NXP etc.

aber der link war doch das Datasheet von Atmel (von einem µC)... oder 
nicht?


Gerhard

Autor: opacer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und was hängt an den Output dran?

Also ich sehe nicht wo das Problem ist ein ARM zu holen, wenn man viel 
Speicher braucht ein externes Ram dran und das ganze dann per 
Schieberegister raushauen. Mit einem gemeinsamen Enable ist es dann auch 
ziemlich synchron. Schließlich braucht es ja auch was zeit die 
Peripheriefunktion (in dem Fall Datenbus) abzuschalten, auszugeben und 
wieder einzuschalten. Und wie reagiert der µC darauf? Schaltet er den 
kompletten externen Daten/Adressbus ab oder nur die Peripherie an dem 
Pin? Nicht das der externe Speicher auf einmal Matsch ist ..

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn Geschwindigkeit kein Thema ist, kann man SRAM auch prima 
8bittig an den LPC ranbaumeln.

Ich hab z.B. 128kB SRAM 8bittig an den LP2292 rangepappt, spart 
Routingzeit und Chips (nur 1 SRAM statt 4). Trotzdem kann man natürlich 
den SRAM 32bittig ansprechen, der LPC macht automatisch 4 8bit-Zugriffe 
draus.


Peter

Autor: Christian U. (z0m3ie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was machen denn deine Outputs, wenn du Daten vom ram holst ?
Dann Flackern die lustig vor sich hin.
Also brauchst du Lataches dazwischen wo ist jetzt der Unterscheid zu der 
Schieberegister Variante ?
Irgendwie hört sich das für mich nach Denkfehler an.
Du kannst warscheinlich problemlos nen 8-Bitter mit Schieberegistern und 
villeicht wenn nicht so schnell sein soll sogar n SPI oder I2C Ram 
nehmen.

Das ganze bekommt man mit nem Tiny auf 2x4 cm platine o.ä.
Nimmst du nen 32 bit Arm, nen externes Ram und Latches brauchst du 
locker mal 5x8 oder so. Ich seh da keinen Sinn.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, der Link war nicht das Datenblatt. Heimtückisch.

Das Datenblatt ist das hier 
http://atmel.com/dyn/resources/prod_documents/doc6175.pdf

Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst ja einen 32 Bit Latch an deinen 32 Bit Bus hängen. Und der 
Latch wird dann wie ein Memory adressiert. Klappt wunderbar, und du hast 
schon deinen 32 Bit Output Port. Den Latch zurücklesen kannst du 
natürlich nicht... Ausser du nimmst entweder einen Read-Back-Latch oder 
aber einen Bustreiber, dessen Eingänge mit den Latchausgängen verbunden 
sind, und der vom READ-Signal gesteuert wird. Aber ich denke, auf diese 
Idee bist du sicher schon selber gekommen.
Wäre dann allerdings eher etwas für einen PLD... denn ich habe noch nie 
einen 74er oder 4000er Chip gesehen der 32 FFs enthält ;)

Autor: Robert Teufel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Gerhard,
info zum LPC24xx gibts hier:
http://www.standardics.nxp.com/products/mcus/arm7/
oder hier:
http://www.standardics.nxp.com/products/lpc2000/
oder hier:
http://www.standardics.nxp.com/

aber bitte NICHT hier anfangen, sonst findest Du nie was:
www(punkt)nxp(punkt)com

Ein selbst leidgeplagter

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.