das sieht ja echt komisch aus - kann man so einen Datenbus trotzdem mit
einem Befehl komplett ansprechen... ? PA, PB und PC... oder sind das
einfach nur xyz-Namen und die Hardware dahinter macht das dann schon
so...
Ingo Peters
im datasheet steht, dass man den 32Bit breiten Datenbus nur für
SDRAM-ICs benutzen kann? d.h. einen Ethernet-controller mit 32Bit
breiten Datenbus kann ich damit nicht ansprechen - ??? oder einfach
32Bits mit einem Schlag auf alle 32 Datenleitungen des Datenbusses
geben?
Ingo Peters
würde es trotzdem funktionieren 32Bits mit einem Assembler-Befehl an
zwei Latches zu schicken - auch wenn PA, PB und PC angesprochen werden
muss? Ist das dann schneller als wenn man nur 8Bit breite Ports hat und
somit 4 Stück damit in 4 Befehlen ansprechen muss?
Bernd
kann mir jmd gewissheit geben, da ich mir diesen µC eigentlich kaufen
möchte... um damit 32Bit gleichzeitig mit einem Assembler-Befehl oder
C-Befehl rausschieben möchte... ohne irgendeiner verzögerung
dazwischen...
Bernd
das datasheet hab ich ja angeschaut... (im ersten post ist auch der link
dazu)... aber durch das datasheet bin ich nicht wirklich schlau
geworden, deshalb meine frage..
Bei allen anderen µC z.B. von NXP oder so, sind die Pins mit D0-D31 oder
A0-A16 belegt und alles klar... aber hier ist es total durcheinander;
was die beschriftung angeht... und ich daher nicht weiß ob ich in einem
Assembler-Befehl 32Bits über den Datenbus rausschieben kann ohne eine
Addresse im Addressbus anzulegen...
Bernd
Was du (scheinbar) willst ist kein externer Bus sondern 32 GPIO Pins,
die du aus irgend einem Grund scheinbar atomar ansprechen willst. Dazu
musst du entweder alle Pins PA oder PB als GPIO Pins verwenden -
eventuell auf diesen Pins verfügbare Peripherals sind dann nicht mehr
verfügbar, sofern sie nicht auch auf anderen Pins zu finden sind. PB
scheint sich hier anzubieten, da dessen Pins scheinbar nicht mutliplexed
sid.
Das External Bus Interface (EBI) kümmert sich um einen kompletten
Transfer, inklusive Handshake Leitungen, allerdings unterstützt der
Static Memory Controller nur einen maximal 16-bit breiten Datenbus.
Was möchtest du denn genau an den uC anschliessen?
Gruß,
Dominic
einerseits sollen 32Bits gleichzeitig mit einem Befehl abgeschickt
werden können... und andererseits hab ich einen Ethernet Controller über
diesen die Daten kommen, der einen 32Bit breiten Datenbus besitzt... ->
dafür kann ich dann diesen Controller gar nicht verwenden... des
weiteren hab ich natürlich noch einen externen SRAM und Flash-Speicher
(jeder 16Bit Datenbus und 20Bit Addressbus)
Bernd
d.h. ich müsste so einen Controller dafür verwenden wie den LPC2468 von
Phillips http://www.standardics.nxp.com/products/lpc2000/pdf/lpc2468.pdf
-> da kann ich dann zwischen Datenbuss und GPIOs 32Stück an der Zahl
hin- u. herschalten... --> kennst du noch solche Controller, die keine
eigebaute Ethernet-Schnittstelle aufweisen oder USB weil, dass brauch
ich z.B. gar nicht...
Sind die Freescale MPC555, M2114 eigentlich von der Performance besser
als LPC2468?
Bernd
Der Ethernetcontroller wird wohl auch Handshake Leitungen haben, ähnlich
wie dein SRAM oder Flash. Dann wirst du mit GPIO nicht glücklich, da du
dann mehrere Zugriffe brauchst, um die Steuerleitungen zu kontrollieren.
Der Sinn des externen Busses ist ja, dass dieses Protokoll automatisch
abläuft.
Es stellt sich die Frage, ob du nicht mit einem uC mit eingebautem
Ethernetcontroller besser beraten bist - die Anbindung dürfte auf jeden
Fall einfacher sein, vermutlich auch performanter.
Weshalb hast du dich denn für einen so "großen" Ethernet Controller
entschieden? Das 32-Bit Interface bietet wohl Performancevorteile,
jedoch kann ich mir vorstellen dass die ARM7, für die du dich hier
interessiert, niemals den Durchsatz bewältigen, den ein externes 32-Bit
Interface generieren kann.
Gruß,
Dominic
welche ARM7 Serien können so einen Durchsatz den umsetzen? Über die
Ethernet Schnittstelle werden UDP-Datenpakete entgegengenommen, die
schon relativ schnell ankommen können (nicht kontinuierlich)...
ich dachte, wenn so ein ARM7 auch einen 32Bit Datenbus anbietet, dass
dieser Mikroncontroller auch damit umgehen kann bzw. ausnutzen kann...
Bernd
>die Anbindung dürfte auf jeden Fall einfacher sein, vermutlich auch >performanter.
da bin ich mir nicht sicher, da ich schon in mehreren prof. produkten
zwar mikrocontroller gesehen habe, die eine integrierte
etherent-schnittstelle besitzen die platine aber trotzdem mit einem
externen controller fürs ethernet bestückt war bzw. ist...
Bernd
Diese professionellen Produkte werden vermutlich keinen ARM7 wie SAM7,
LPC2000 oder STR7x einsetzen. Ein großer Vorteil der internen EMACs ist
z.B. die DMA Engine, die den Core bereits deutlich entlasten kann.
Die externen BUS Interfaces dieser kleinen uCs bieten in der Regel kein
externes DMA, schon allein weil die internen Busse dafür garnicht genug
Bandbreite bieten.
Gruß,
Dominic
Bernd wrote:
> welche ARM7 Serien können so einen Durchsatz den umsetzen? Über die> Ethernet Schnittstelle werden UDP-Datenpakete entgegengenommen, die> schon relativ schnell ankommen können (nicht kontinuierlich)...
Kannst du "schon relativ schnell" in Zahlen ausdrücken?
Wahrscheinlich wirst du mit einem ARM9 mit interner EMAC und seperatem
AD-Bus besser fahren, wie Dominic schon erklärt hat.
Gruß Jörn