Hallo, ich würde gerne einen etwas besseren CAN Debugger + Router bauen und die Anforderungen lauten wie folgt: 6x CAN 1Mbit(max) MCP2515 o. SJA1000 11Bit + 29Bit Identifier 2x Uart to USB Bridge (z.B. mit FT2232) 1x Uart mit Max232 1x Externen Speicher (der Controller sollte ein externes Memory Interface besitzen) 1x Epprom 1x SD-Card 20x GPIO Freier Compiler + schnelle Einarbeitung + Windows PC zum programmieren. RTOS ist momentan noch kein Thema auf der Zielhardware CPU/Mikrocontroller verfügbarkeit sofort(5AT) auch groessere Stückzahlen <=200 Stk. Ich besitze gute HW und SW Kenntnisse für die Atmel Avr Serie auf, aber aus Zeitmangel wurde der Sprung auf die ATx oder ARM-Cortex-M3 noch nicht gewagt. Momentan befinde ich mich in der Machbarkeitsstudie und schwanke zwischen diesen verschiedenen Kernen. Ein Bild der HW für den AtMega sehe ich schon mit meinem geistigen Auge. Welchen Controller wuerdet Ihr bevorzugen und welchen ARM-Cortex-M3 z.B. ST, TI oder doch einen anderen?
Ein STM32F20xxx hat bis zu 2x CAN mit drin. Von NXP gibt es ein LPC2294 mit 4x CAN, der hat aber die anderen Anforderungen nicht. Es gibt noch eine CPU mit 6x CAN, glaube von Renesas. Frag mich jetzt nicht nach der Typ-Bezeichnung. Ich könnte bei der Einrichtung behilflich sein, PN schreiben. (Eclipse&Co.) >2x Uart to USB Bridge (z.B. mit FT2232) USB/ComPort könnte auch der STM32 direkt, ohne FTDI.
Hallo, internen CAN Controller ist nicht zwingend notwendig, weil es auch gerne externe CAN Controller sein dürfen.
Die Internen CAN's können direkt über DMA bedient werden. Die externen 4 MCP's können über 3 SPI Module angeschlossen werden. 2x Uart to USB Bridge (z.B. mit FT2232) geht, auch direkt USB 1x Uart mit Max232 geht 1x Externen Speicher (der Controller sollte ein externes Memory Interface besitzen) geht 1x Epprom IIC, geht 1x SD-Card SDIO-IF, geht 20x GPIO geht Freier Compiler + schnelle Einarbeitung + Windows PC zum programmieren. geht CPU/Mikrocontroller verfügbarkeit sofort(5AT) auch groessere Stückzahlen <=200 Stk. bei Farnell anfragen. derzeit nur Einzelstücke verfügbar. Der STM32F107 wäre ein möglicher Ersatz, da muss man allerdings noch mal genauer schauen. Wieso soll die CPU innerhalb von 5 Tg verfügbar sein, so schnell ist die Platine nicht fertig.
Du erwartest aber nicht, dass der Controller 6 voll ausgelastete CAN-Busse per MCP2515 bei 1Mbps fullspeed tracken kann?
>Du erwartest aber nicht, dass der Controller 6 voll ausgelastete >CAN-Busse per MCP2515 bei 1Mbps fullspeed tracken kann? Deshalb wuerde nur memory mapped mode überleiben. >RTC vergessen? Stimmt. STM32 wie ich sehe bringt die Vorteile zwei interne CAN Controller mit DMA zubetreiben. Wie hoch war eure Einarbeitungszeit? Wie sieht es mit guten Tutorials aus? Wie ist die Unterstützung aus Forum? Wenn ich mir die dokumentierten Fehler vom Chip anschaue bekomme ich ein bisschen Bauchweh.
Von ST gibt es die die Pheriperial Lib mit jede Menge Demo Code. Ansonsten hier im Forum gibt es viele die den STM32 gut kennen und gerne helfen. Siehe auch hier: - STM32 - STM32 Eclipse Installation Wenn das erste Blink-LED mal läuft und man schon viel mit AVR gemacht hat, hält sich die Einarbeitungszeit in den STM32 in grenzen. Ich denke die größte Schwierigkeit ist ganz von 0 beginnend ein funktionierendes Eclipse hin zu bekommen, obwohl es jetzt schon einiges an Doku gibt. Die Errata sieht nicht so dramatisch aus, die Fehler sind, so denke ich, für dein Projekt nicht wirklich relevant.
Hallo, bzgl. DMA 1. Auszug ST DB STM32F20xxx >The DMA can be used with the main peripherals: >● SPI and I2S >● I2C >● USART and UART >● General-purpose, basic and advanced-control timers TIMx >● DAC >● SDIO >● Camera interface (DCMI) >● ADC. DMA mit dem CAN /IF wird nicht erwähnt übersehe ich etwas? Externes SRAM Interface besitzt der ARM auch nicht oder wie schliesse ich weitere Bausteine an und spreche diese über das Memory Mapped I/O an?
Markus Müller schrieb: > Von ST gibt es die die Pheriperial Lib mit jede Menge Demo Code. Sowas habe ich zumindest bei den Atmel-SAM3 auch gesehen. Torben schrieb: > 2x Uart to USB Bridge (z.B. mit FT2232) Was bringt das? Willst du das Teil zugleich an zwei verschiedene Hosts anschließen? USB-PHYs sind bei den Cortexen recht gängig, würde ich statt eines separaten FT2232 in Erwägung ziehen.
Torben schrieb: > DMA mit dem CAN /IF wird nicht erwähnt übersehe ich etwas? Von DMA habe ich beim CAN der STM32 auch nichts mitbekommen... > Externes SRAM Interface besitzt der ARM auch nicht ...aber externes RAM geht: FSMC = Flexible Static Memory Controller.
Ja, stimmt, CAN kann nicht mit DMA wegkopiert werden. Dafür hat der CAN Receiver 2 FIFOs mit der jeweils 3 Messages zwischen gespeichert werden können, das sollte reichen um bei Interrupt die selbst weg kopieren zu können.
Hallo, ein paar Verständnisfragen tauchen nun auf. FSMC: Das FSMC Interface arbeitet als non-multiplex, aber meine SJA100 arbeiten mit multiplexed. In der Appnote wird nur der Anschluss von RAM + Flash beschrieben. Kann ich den SJA1000 relativ einfach an den STM32 mit FSMC anschliessen? Wenn ja wo finde ich Literatur? DMA: Wegkopieren kann ich die Daten nicht, aber wenn ich die Messages in ein SRAM FIFO (SW) kopiere, dann könnte ich doch die Daten auf den USART kopieren oder verstehe ich das DMA Interface falsch? Verfügbarkeit: Schukat führt den STM32F2xxx nicht und die anderen STM32 haben eine relativ hohe Lieferzeit. Woher bekomme eine Kleinmenge(2) zur Entwicklung und wo kann ich den Controller innerhalb von 5-10AT >200Stk beziehen? Die Lieferzeit vom Hersteller kenne ich nicht, aber ich vermute die Standardlieferzeit liegt bei 20 Wochen. 20 Wochen sind nicht akzeptabel um darauf eine Entwickklung zu tätigen. Jörg Wunsch schrieb: >Was bringt das? Willst du das Teil zugleich an zwei verschiedene >Hosts anschließen? >USB-PHYs sind bei den Cortexen recht gängig, würde ich statt eines >separaten FT2232 in Erwägung ziehen. Torben schrieb: >2x Uart to USB Bridge (z.B. mit FT2232) Fehler meiner Seite. Der uC muss eine USB und serielle Schnittstelle bieten.
Torben schrieb: > Fehler meiner Seite. Der uC muss eine USB und serielle Schnittstelle > bieten. Naja, das wirst du bei vielen Cortex-M3-Controllern gleich onboard finden. FT2232 kannst du dir dafür wirklich sparen. Memorycontroller mit gemultiplexten Daten-/Adressleitungen scheinen eher nicht üblich zu sein bei Cortex-M3.
Ich meine das geht so: 1x Adress-Leitung (+ Steuersignale) 8x Datenleitung verwenden. Adresse 1 ansprechen und Adresse schreiben Adresse 0 ansprechen und Daten lesen / schreiben (oder umgekehrt, aussage ohne Gewähr) Ansonsten einfach anstatt FSMC das über GPIO lösen, ist zwar nicht so performant, aber auch akzeptabel. (Ich hab jetzt nicht die maximal zugelassene Zugriffszeit des SJA im Kopf.) Bei Farnell gibt es um die 20 Stück sofort. Anrufen und nachfragen wann die mehr können. Ansonsten mal direkt bei ST Deutschland fragen. Wenn Du heute die 200 Stück einkaufst, bis in 20 Wochen ist dann auch die Platine + Software fertig. für die ersten 20 Demo-Boards reicht das auch mit Farnell. Ansonsten bei EBV nachfragen: http://www.ebv.com/index.php?L=0&no_cache=1&id=58&tx_ebvsearch_pi1[qs]=1&ct_ref=u6&tx_indexedsearch[sword]=STM32F20&tx_indexedsearch[results]=5&tx_indexedsearch[lang]=&search_est=fb0a30ba4490bd598331a4e31e5c1074 Die haben auf Lager und sind günstiger als Farnell. (Oder bei Arrow oder Mouser....)
Hallo, Markus Müller schrieb: >1x Adress-Leitung (+ Steuersignale) >8x Datenleitung verwenden. >Adresse 1 ansprechen und Adresse schreiben >Adresse 0 ansprechen und Daten lesen / schreiben >(oder umgekehrt, aussage ohne Gewähr) Das gleiche hatte ich gestern Abend im Internet gefunden mit einem Gatter noch an der Adress-Leitung. Zweimal die gleiche Aussage freut mich, aber wenn sich dazu ein HW-Entwickler, System-Entwickler oder mit funktionierender Hardware positiv melden würde wäre meine Entscheidung der ARM. Hat jmd ansonsten gute Verbindung über seine Firma zu ST Systementwickler und würde eventuell meine Frage weiterreichen? Frage: Wie wäre Ihre Vorgehensweise bei der Benutzung eines STM32Fxx Anbindung mit einem multiplexed device (8Bit) z.B. RAM o. SJA1000 mit dem FMSC I/F? Haben Sie Appnotes für die Hardware und Software?
Den FSMC Bus hatte ich selbst noch nie verwendet, jedoch ein Kollege in Verbindung mit einem LCD. Der SJA hat ein Intel/Modorola Mode, den Pin auf PullUp/Down umschaltbar machen (GPIO Pin vom STM32) Dann einfach alle die die entsprechenden GPIO Pins des STM32 verdrahten. Wenn das nicht tut kann man immer noch die Adresse/Daten "Manuell" über die Portfunktionen ansteuern (also GPIO ohne FSMC). Alternativ: Besorge Dir ein Demo-Board mit einem STM32Fxxx mit mindestens 100 Pins, bei dem auch der FSMC Bus herausgeführt ist und schließe da den SJA an und teste es selbst. Ich hab Grad kein so board rum liegen und auch keine Lust dort einen SJA ran zu löten ;-) Alternative 2: den MCP mit SPI nutzen. Vorteil: viel weniger Leitungen auf der Platine. Alternative 3: Noch 2x Prozessor mit 2xCAN rein machen, die über SPI mit dem Haupt-Prozessor kommunizieren und auch intelligent die Daten aufbereiten können. Ist zwar etwas "oversized", dafür gibt es kein Problem bei der Datenmenge, da der STM32 auch einiges an RAM für das Zwischenspeichern hat.
Abweichend zu Deinen Vorzugstypen gibt es noch µCs von Renesas, die auf jeden Fall einen externen Bus haben und auch einen address/data MPX Modus bieten. Die SJA1000 anzuschließen wäre damit kein Problem, neben RAM und auch SDRAM an einem ext. Bus. Im Datenblatt wird es unter 'BSC' beschrieben. Bei Interesse: H8SX.... und SH7286 als Beispiele.
Renesas steht leider nicht zur Diskussion. Ich hoffe es meldet sich jmd noch bzgl. non-multiplexed I/F zu multiplexed I/F Aufbau.
Zumindest das FSMC der STM32F1xx kann lt. Manual sowohl muxed als auch nonmuxed, und es sieht so aus als ob sich sowohl diese Eigenschaft als auch das Timing für alle 4 Banks getrennt wählen lässt. Damit wäre prinzipell eine Konfiguration möglich, die muxed SJAs und nonmuxed SRAM erlaubt.
A.K.: >Zumindest das FSMC der STM32F1xx kann lt. Manual sowohl muxed als auch >nonmuxed, und es sieht so aus als ob sich sowohl diese Eigenschaft als >auch das Timing für alle 4 Banks getrennt wählen lässt. Damit wäre >prinzipell eine Konfiguration möglich, die muxed SJAs und nonmuxed SRAM >erlaubt. Wo hast du das gelesen?
Torben schrieb: > Wo hast du das gelesen? In der Reference (RM0008). Bei NOR-Flash und PSRAM geht muxed und nonmuxed. In der Reference vom STM32F2xx steht das genauso drin.
Hallo, hab mein STM32-P107 erhalten. http://www.olimex.com/dev/index.html Zum Test hab ich mir kurz das IAR ARM 6.30.xxx gedownloaded und wollte die Beispielrpogramme z.B. Blinky compilieren von Olimex. Ich bin nach der Anleitung gegangen, also das Projekt geladen und "Make" ausgeführt. Jetzt bekomme ich die ganzen Fehler im Anhang. Arm Type wurde nochmal kontrolliert und sollte soweit passen. Hat jmd eine Idee?
Wird wohl ein Versionskonflikt sein, weil das Beispiel auf V5.5 getestet wurde oder?
schau dir auch den uc3c von atmel an, kannst deine tools wiederverwenden und avr studio 5 hat dazu den c compiler zu bieten. 2x can mit je 16 mailboxen, bis 144pin incl externen bus interface und 64kb sram im core und 4kb aufm bus fuer peripherie·
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.