µC Datenbus

Gast #592897
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
Persönliche Seite #592918
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.
Gast #592933
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/DDI0029G_7TDMI_R3_trm.pdf
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
Gast #592947
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
Persönliche Seite #592949
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?
Gast #592956
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
Gast #592959
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 ..
#592970
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
#592985
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.
#593533
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 ;)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren