Hallo,
ich überlege mir gerade, mir ein Devkit zu PSoC 3/4/5 zuzulegen, ich
möchte die MCUs einfach mal ausprobieren.
Da mir gänzlich die Erfahrung mit FPGA etc. fehlt, frage ich mich, was
denn nun in einen digitalen Block passt. Glaubt man den Datenblättern,
so scheint es zumindest möglich zu sein komplette UARTs oder SPIs
reinzubringen.
Ich hab noch nicht rausgefunden, ob diese Blöcke bei allen PSoC-Serien
identisch sind oder ob beispielsweise in einen Block eines PSoC5 mehr
reinpasst als in einen Block vom PSoC3?
Ralf
Ein SoC ist kein FPGA. Es handelt sich um einen
Mikrocontroller/-prozessor mit externer Peripherie.
Vielleicht bist du ja eher auf der Suche nach Programmable Logic, der
Mischung aus FPGA und uC.
@Alexander:
> Ein SoC ist kein FPGA. Es handelt sich um einen> Mikrocontroller/-prozessor mit externer Peripherie.
Das ist mir klar, aber so wie ich die Cypress PSoC Architektur
verstanden habe sind die digitalen Blöcke durchaus mit einem FPGA
vergleichbar.
> Vielleicht bist du ja eher auf der Suche nach Programmable Logic, der> Mischung aus FPGA und uC.
Wenn die PSoCs tatsächlich etwas völlig anderes sind, dann sollte ich
mir das auch ansehen :)
Mir geht's halt darum dann auch die Möglichkeit zu haben, das auf
eigenen Boards einsetzen zu können. Das geht bei den 'normalen'
FPGA+MCU-Kombis nicht oder nur sehr schwer, da diese ICs dann auch in
riesigen Gehäusen daherkommen, welche nur schwer oder gar nicht im
Hobbybereich lötbar sind. Und für kleine Schaltungen will ich nun nicht
unbedingt einen TQFP100 oder größer draufpappen. Da sind die
Gehäusevarianten der PSoCs schon attraktiver.
@ NaNa_JaJa:
Danke, schau ich mir gleich mal an.
Ralf
Hallo Ralf,
hab mir das PSoc5LP-Kit angeschaut. Ein AVR oder ein PIC haben doch
ausser der CPU noch Timer, Counter, PWM usw. die man bestimmungsgemäß
verwenden kann. Bei Cypress ist genau dieser Teil nicht nur
bestimmungsgemäß konfigurierbar sondern in weiten Bereichen "frei
verdrahtbar"(sorry), und zwar über ein grafisches Tool.
Wenn Deine Applikation also eine spezielle Funktion braucht die parallel
zur CPU 100% vorhersagbar (keine Interrupts usw.) funktionieren muss und
so komplex ist das Standard Timer, Counter ... damit überfordert sind,
dann ist das PSoc eventuell was für Dich. State Machines gehen über
LUT's, freie Programmierung (verilog?) soll auch gehen, hab ich aber
nicht probiert.
"was da reinpasst" ... kann ich leider nicht beantworten, so weit hab
ich nicht getestet da für meine App vorher Schluß war: Der Logic Teil
funktioniert erst nachdem der Prozessor auch oben ist und alle IO's
konfiguriert sind, das war bei mir zu lang.
@Alexander: hättest Du ein Beispiel für einen programmable logic?
Holger
Ralf schrieb:> ich überlege mir gerade, mir ein Devkit zu PSoC 3/4/5 zuzulegen, ich> möchte die MCUs einfach mal ausprobieren.
Ja, mach mal und schreib dann deine Erfahrungen.
Ich hatte vor geraumer Zeit die allererste PSOC-Generation mal
ausprobiert, aber deren angebliche freie CPLD-Zellen waren dann doch so
gestaltet, daß man außer den vom Hersteller vorgefertigten Blöcken dort
nix wirklich eigenes hinein bekommen hat. Könnte ja sein, daß sich da
was richtig gebessert hat..
W.S.
@Holger:
> hab mir das PSoc5LP-Kit angeschaut. Ein AVR oder ein PIC haben doch> ausser der CPU noch Timer, Counter, PWM usw. die man bestimmungsgemäß> verwenden kann. Bei Cypress ist genau dieser Teil nicht nur> bestimmungsgemäß konfigurierbar sondern in weiten Bereichen "frei> verdrahtbar"(sorry), und zwar über ein grafisches Tool.
Ja, das sind dann halt die fertigen Blöcke. Ich schätze für was eigenes
muss man dann doch VHDL/Verilog bemühen. Aber eigentlich könnt ich mir
die Software mal runterladen und schauen, wie das alles so abläuft.
> Wenn Deine Applikation also eine spezielle Funktion braucht die parallel> zur CPU 100% vorhersagbar (keine Interrupts usw.) funktionieren muss und> so komplex ist das Standard Timer, Counter ... damit überfordert sind,> dann ist das PSoc eventuell was für Dich. State Machines gehen über> LUT's, freie Programmierung (verilog?) soll auch gehen, hab ich aber> nicht probiert.
Ja, es gibt da ein, zwei Timing-kritische Sachen die ich ungern der MCU
per Software aufbürden möchte, deswegen interessieren mich die Teilchen
auch :)
> "was da reinpasst" ... kann ich leider nicht beantworten, so weit hab> ich nicht getestet da für meine App vorher Schluß war: Der Logic Teil> funktioniert erst nachdem der Prozessor auch oben ist und alle IO's> konfiguriert sind, das war bei mir zu lang.
Guter Hinweis, danke. Das heisst, die MCU muss generell die
Konfiguration erstmal in die digitalen Blöcke laden?
@W.S.:
>> ich überlege mir gerade, mir ein Devkit zu PSoC 3/4/5 zuzulegen, ich>> möchte die MCUs einfach mal ausprobieren.> Ja, mach mal und schreib dann deine Erfahrungen.
Sowie ich günstig an ein entsprechendes Kit komme :)
> Ich hatte vor geraumer Zeit die allererste PSOC-Generation mal> ausprobiert, aber deren angebliche freie CPLD-Zellen waren dann doch so> gestaltet, daß man außer den vom Hersteller vorgefertigten Blöcken dort> nix wirklich eigenes hinein bekommen hat. Könnte ja sein, daß sich da> was richtig gebessert hat..
Ich schätze die Jungs werden schon was dabei gelernt haben. Die PSoC1
möchte ich nicht probieren, eher PSoC3+, da ich den 8051-Kern sehr genau
kenne und bei den Cortex-M0/3 das Verständnis jeden Tag wächst ;)
Ralf
Ralf schrieb:> Guter Hinweis, danke. Das heisst, die MCU muss generell die> Konfiguration erstmal in die digitalen Blöcke laden?
Das hab ich blöd formuliert, sorry. Wenn Du "programmierbare Logik"
verwendest könntest Du erwarten das das Verhalten beim power-up ist wie
bei einem 74xxxx, Betriebsspannung Innerhalb -> Funktion, ESD Störung
weg -> Funktion. Beim PSoc5 werden die Logik Funktionen aus dem Flash
beim boot in den SRAM Zellen abgebildet, wenn Du da ein UND mit drei
Pins konfigurierst geht das nach dem power-up sofort, der Prozessor muss
NICHTS zur Laufzeit tun. Macht Dein Prozessor aber einen Kaltstart (z.B.
ESD) dann geht das UND auch erst wieder nachdem alles wieder im SRAM
konfiguriert ist. Ob das akzeptiert wird ist eine Systementscheidung.
Holger
@Holger:
>> Guter Hinweis, danke. Das heisst, die MCU muss generell die>> Konfiguration erstmal in die digitalen Blöcke laden?> Das hab ich blöd formuliert, sorry. Wenn Du "programmierbare Logik"> verwendest könntest Du erwarten das das Verhalten beim power-up ist wie> bei einem 74xxxx, Betriebsspannung Innerhalb -> Funktion, ESD Störung> weg -> Funktion. Beim PSoc5 werden die Logik Funktionen aus dem Flash> beim boot in den SRAM Zellen abgebildet, wenn Du da ein UND mit drei> Pins konfigurierst geht das nach dem power-up sofort, der Prozessor muss> NICHTS zur Laufzeit tun. Macht Dein Prozessor aber einen Kaltstart (z.B.> ESD) dann geht das UND auch erst wieder nachdem alles wieder im SRAM> konfiguriert ist. Ob das akzeptiert wird ist eine Systementscheidung.
Ah, okay. Hmmm... für das was so als erstes Projektchen vorhab dürfte
dieses Verhalten keine Rolle spielen. Wichtig ist aber, sich das immer
im Hinterkopf zu behalten :)
@Alle:
Hat zufällig jemand ein PSoC3/4/5 Kit rumfahren, welches er nicht mehr
braucht?
Ralf