Servus zusammen!
Ich bin auf der Suche nach einem uC mit einem Speicher von 1 MByte, 2
SPI die gleichzeitig betrieben werden können. Eine Taktrate von 2MHz
wäre gut.
Also eigentlich nicht die größten Anforderungen
Bin relativ neu auf dem Feld und habe nicht so einen Überblick. Kann mir
hier jemand ein Exemplar empfehlen, welches ich relativ schnell und ohne
Komplikationen in Betrieb nehmen kann?
Grüße Domi
Dominik schrieb:> Servus zusammen!>> Ich bin auf der Suche nach einem uC mit einem Speicher von 1 MByte, 2> SPI die gleichzeitig betrieben werden können. Eine Taktrate von 2MHz> wäre gut.>> Also eigentlich nicht die größten Anforderungen
Nicht wirklich. Sage uns, was du INSGESAMT machen willst, dann kann man
dir deutlich besser helfen. Siehe Netiquette. Ich wette ;-), du
brauchst nicht mal ansatzweise einen uC mit 1MB Programmspeicher.
> Bin relativ neu auf dem Feld und habe nicht so einen Überblick.
Eben darum. Siehe oben.
RAM reicht.
Möchte ein codiertes Signal im Speicher speichern und sobald alle Werte
gesammelt sind, dieses zur Weiterverarbeitung weitergeben.
Und das streamen muss parallel gehen.
Dominik schrieb:> 2 SPI die gleichzeitig betrieben werden können.
Mit einer USART kann man ja auch SPI machen - die doofen Filter von
Digikey, Mouser & Co wissen das aber nicht..
Dominik schrieb:> Servus zusammen!
Ja gruezi,
Nimm irgend einen µC und schließe daran einen seriellen Flash an. Das
ist die einfachste und billigste Lösung.
Für 2x SPI brauchst du 2x 4 Pins, dazu dann noch den seriellen Flash,
der wird auch per SPI betrieben, falls da kein dediziertes Interface im
µC vorhanden ist. Bei einigen LPC's gibt's sowas, Stichwort SPIFI.
W.S.
Dominik schrieb:> Ich bin auf der Suche nach einem uC mit einem Speicher von 1 MByte, 2> SPI die gleichzeitig betrieben werden können. Eine Taktrate von 2MHz> wäre gut.
Ein Atmega328P hat 2048 kByte RAM (das ist ein Megabyte mehr als deine
Anforderung), 32 kByte Flash, 1024 kByte EEPROM, zwei SPI (einen über
das UART-Modul) und kann locker auch mit mehr als 2 MHz betrieben werden
(bei 2.7 V Versorgungsspannung bis 10 MHz, bei 5.0 V Versorgungsspannung
gehts bis 20 MHz mein ich).
M. K. schrieb:> Dominik schrieb:>> Ich bin auf der Suche nach einem uC mit einem Speicher von 1 MByte, 2>> SPI die gleichzeitig betrieben werden können. Eine Taktrate von 2MHz>> wäre gut.>> Ein Atmega328P hat 2048 kByte RAM (das ist ein Megabyte mehr als deine> Anforderung), 32 kByte Flash, 1024 kByte EEPROM, zwei SPI (einen über> das UART-Modul) und kann locker auch mit mehr als 2 MHz betrieben werden> (bei 2.7 V Versorgungsspannung bis 10 MHz, bei 5.0 V Versorgungsspannung> gehts bis 20 MHz mein ich).
Der hat 2 kB RAM. Nicht 2 MB.
Hallo,
M. K. schrieb:> Ein Atmega328P hat 2048 kByte RAM...
Ich glaube da hast du dich verlesen: der ATmega328 hat 2KByte
(oder2048Byte) internes SRAM, nicht 2048KByte.
rhf
Dominik schrieb:> Möchte ein codiertes Signal im Speicher speichern und sobald alle Werte> gesammelt sind, dieses zur Weiterverarbeitung weitergeben.
Dafür ist Flash nicht gut geeignet, und RAM wirst du extern anschliessen
müssen. Dafür ist jeder Controller heutiger Leistungsfähigkeit geeignet,
und mit einem seriellen SRAM ist das auch kein Platzproblem, nur gibt es
bisher serielle SRAMs nur bis 1 MBit. Grössere sind RAMs mit parallelem
Anschluss, technisch kein Problem, aber erfordert viel Platz und
I/O-Pins oder einen Controller mit Speicher-Interface (Gibt es).
Alternativ 8 serielle Chips, das müsste man durchrechnen.
Georg
wie sieht es denn aus, wenn ich zwei Busse parallel betreiben will (Bus1
lesen, und Bus2 schreiben), gibt es dort Komplikationen, bzw muss ich
auf irgendetwas achten bei der Auswahl?
Dominik schrieb:> wie sieht es denn aus, wenn ich zwei Busse parallel betreiben will (Bus1> lesen, und Bus2 schreiben), gibt es dort Komplikationen,
Die gibt es immer, wenn man nicht weiß was man tut und komische Konzepte
verfolgt.
> bzw muss ich auf irgendetwas achten bei der Auswahl?
Woher sollen wir das wissen, wenn dein Vorhaben so geheim ist. Warum 2
SPI Busse? Im Normalfall reicht einer, denn man kann da problemlos
mehrere IC anschließen und auch flott betreiben. 2 MHz ist für SPI eher
Schrittgeschwindigkeit.
Dominik schrieb:> wie sieht es denn aus, wenn ich zwei Busse parallel betreiben will (Bus1> lesen, und Bus2 schreiben), gibt es dort Komplikationen, bzw muss ich> auf irgendetwas achten bei der Auswahl?
Weisst du überhaupt wie SPI funktioniert ?
Dominik schrieb:> wie sieht es denn aus, wenn ich zwei Busse parallel betreiben will (Bus1> lesen, und Bus2 schreiben), gibt es dort Komplikationen, bzw muss ich> auf irgendetwas achten bei der Auswahl?
In der Regel können das die moderneren Mikrocontroller wie z.B. STM32
sehr gut handhaben, da hier intern praktisch alle Peripheriemodule
mittels DMA Daten miteinander austauschen können, ohne die CPU zu
belasten. Grössere Modelle haben sogar mehrere DMA-Controller drin um
mehrere Datenströme gleichzeitig zu transferieren.
Am besten durchforstest Du selber mal das Portfolio um was passendes zu
finden:
https://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus.html
> Grössere Modelle haben sogar mehrere DMA-Controller drin um> mehrere Datenströme gleichzeitig zu transferieren.
Manche Modelle von Renesas haben sogar Dualportram drinnen damit
gleichzeitig wirklich gleichzeitig ist. .-)
Olaf
Olaf schrieb:> Manche Modelle von Renesas haben sogar Dualportram drinnen damit> gleichzeitig wirklich gleichzeitig ist. .-)
Mag ja sein, aber bei 2 MHz Taktung besteht da kein Bedarf, da kann ein
halbwegs aktueller Controller problemlos mal was reinschreiben und mal
was lesen, und noch viel nebenher erledigen. Deshalb sind Dualport-RAMs
auch eine aussterbende Spezies.
Aber es kann natürlich sein, dass der TO einen unwiderstehlichen Hang zu
möglichst aufwendigen Lösungen hat und auf deine Vorschläge
zurückgreift.
Georg
Deine Anforderungen sind pipi.
Das Board hier z.B. :
https://www.ebay.com/itm/STM32-Development-Board-STM32F746IGT6-MCU-Core-Board-Core746I-Cortex-M7-1024KB/252299118326?hash=item3abe3306f6:rk:1:pf:0
Da sind 64MB zusätzlich bereits draufgelötet und hängen am FMC/FSMC Bus
SPIs hast du 5 oder 6
Dein Problem ist nicht die Hardware, es ist wie immer die Software bzw.
die Hardwarebeschreibung der Peripherielemente.
DMA geschickt getriggert mit den ganzen Advanced Timern (hoffentlich
hängt der richtige DMA an der richtigen AHB/APB Busmatrix )dazu die SPIs
mit ihren "interessanten" NSS Hardware triggern,....eben das ganze
Programm.
> Manche Modelle von Renesas haben sogar Dualportram drinnen damit> gleichzeitig wirklich gleichzeitig ist. .-)
Einige Modelle von TI-DSPs erlauben sogar den internen RAM
von extern zu addressieren. Und das schon jahrzehntelang.
Und Dual-Access sind die natuerlich allemal.
Dominik schrieb:> Ich bin auf der Suche nach einem uC mit einem Speicher von 1 MByte, 2> SPI die gleichzeitig betrieben werden können. Eine Taktrate von 2MHz> wäre gut.
Meinst du die Taktfrequenz des µC oder die Datenrate, die gewöhnlich
eher in MBye/s o.ä. angegeben wird?