Moin moin, ich würde gerne von PIC18F auf PIC32MX795 wechseln da ich den PIC18F nicht überreden kann 2 Audiospuren abzuspielen und zu mischen (wäre mir aber beinahe gelungen!!). Nun ist die Frage welcher Controller sollte es sein, ich möchte dabei gerne auf 32 Bit, da ich so nicht so schnell die Leistungsgrenze erreiche und mir nicht so viele Gedanken über möglichst effektive Routinen machen muss. Ich benötige mind. 59 I/Os (natürlich nicht nur für Audio) und eine ordentliche Portion RAM und Vdd 2,7V. Meine Wahl viel daher auf den erwähnten PIC32MX795 der zudem gut verfügbar ist. Es gibt jedoch eine Sache bei der ich mich schwer tue diese einzuschätzen: Die lange Errata Listd die über die ganzen Fehlerchen des Controller aufklärt und eine Info gibt wie diese behoben werden können. http://ww1.microchip.com/downloads/en/DeviceDoc/80480K.pdf Bauchschmerzen hab ich dabei z.B. bei den Fehlern Nr 43/44 die mir Quasi Interrupts beim lesen des Flashes verbieten und die SPI-, I2C- und UART-Nutzung nur in zusammenarbeit mit dem DMA ermöglicht. Die Fragen die mir auf der Seele brennen: - Kann man davon ausgehen das diese Fehler nur in den sehr früh hergestellten PICs auftauchen? - Sind die Revisionen bis A3 sehr alte PICs oder sind das die aktuell vertriebene Revision? - Werden die Errata Einschränkungen in den Microchip Librarys berücksichtigt oder muss ich die dann anpassen? Fragen über Fragen. Bitte helft mit Licht ins dunkel zu bringen evtl hat der eine oder andere auch bock mal ne Rev Nr an seinem TestBoard auszulesen (PIC32MX575/675/695/775/795).
Oli Holli schrieb: > http://ww1.microchip.com/downloads/en/DeviceDoc/80480K.pdf > > Bauchschmerzen hab ich dabei z.B. bei den Fehlern Nr 43/44 die mir Quasi > Interrupts beim lesen des Flashes verbieten und die SPI-, I2C- und > UART-Nutzung nur in zusammenarbeit mit dem DMA ermöglicht. > Die Fragen die mir auf der Seele brennen: > - Kann man davon ausgehen das diese Fehler nur in den sehr früh > hergestellten PICs auftauchen? Nein, "Only the issues indicated in the last column of Table 2 apply to the current silicon revision (A3)." > - Sind die Revisionen bis A3 sehr alte PICs oder sind das die aktuell > vertriebene Revision? s.o. die sind aktuell. > - Werden die Errata Einschränkungen in den Microchip Librarys > berücksichtigt oder muss ich die dann anpassen? Nein, die werden, soweit ich das bislang gesehen/gebraucht habe, nicht berücksichtigt.
Oli Holli schrieb: > Nun ist die Frage welcher Controller sollte es sein, ich möchte dabei > gerne auf 32 Bit, Warum gleich 32bit, probier doch 16bitter mit dsp zb dsPIC33E/PIC24E die sind stark bis 70MIPS (PIC32 = 80Mips), ein Umstieg von pic18 auf diese Serie ist einfacher, als bei PIC32. Oli Holli schrieb: > (wäre mir > aber beinahe gelungen!!). das wäre mit dsPIC dann gar kein Thema...
Danke für die Antworten. @ Arc: Und danke für die Lesehilft, wer lesen kann ist klar im Vorteil. Meine Lieblingsantwort wäre jedoch gewesen: Der Pic wird jetzt ohne Fehler hergestellt. Bei den dsPICs find ich leider keinen der mit 2,7V zurecht kommt und dabei ab 32kByte mitbringt. Die 32kByte müssten allerdings schon sein da beim Lesen der SD Karte zum wiedergeben der 2 Audiospuren doch erhebliche Wartezeiten abgepuffert werden müssen bis die SD die Daten die gelesen werden sollen zusammen gesucht hat. Ich werd mit den Arm nochmal anschauen. Ist der Umstieg von PIC18 auf ARM anspruchsvoller als vom PIC18 auf 32? Hat da schon jemand Erfahrungen gesammelt?
Oli Holli schrieb: > Ich werd mit den Arm nochmal anschauen. Ist der Umstieg von PIC18 auf > ARM anspruchsvoller als vom PIC18 auf 32? Hat da schon jemand > Erfahrungen gesammelt? ARM und PIC32 sind eine vergleichbare Architektur. Da dürfte es wesentlich einfacher sein vom PIC18 auf einen PIC24 umzusteigen. Vielleicht diesen hier: PIC24FJ256GB210 100Pins, knapp 100k RAM und 2,2-3,6V
Oli Holli schrieb: > Die Fragen die mir auf der Seele brennen: > - Kann man davon ausgehen das diese Fehler nur in den sehr früh > hergestellten PICs auftauchen? > - Sind die Revisionen bis A3 sehr alte PICs oder sind das die aktuell > vertriebene Revision? > - Werden die Errata Einschränkungen in den Microchip Librarys > berücksichtigt oder muss ich die dann anpassen? Die Microchip Libraries berücksichtigen alle bis dahin bekannten Errata, deswegen macht es da zB auch keinen Sinn, selber einen Ethernet- oder USB-Stack zu entwickeln. Microchip kennt seine Bausteine besser. Ich habe ein paar Sachen mit PIC32 gemacht, und bislang war ich nicht von den Errata betroffen. Mag sein, dass ich Glück hatte. In vielen Fällen sind das auch ganz spezielle Konstallationen, wo so ein Fehler zum Tragen kommen. Und: Luminary Micro ist schlimmer - dort sind die Bugs schwerer. Das ist also kein spezielles Microchip-Problem. fchk
Der PIC32 ist ein MIPS (ohne Pipeline Interlock), daß bringt ein paar Besonderheiten bei der Assembler-Programmierung mit sich. Der Cortex-M3 ist ein ARM mit Nur-Thumb2-Codesatz und standardisierter Interrupt-Verwaltung. Im Prinzip sind es beide RISC-Architekturen die für schnelle Ausführung und stromsparende Applikationen ausgelegt sind.
Oli Holli schrieb: > Ich werd mit den Arm nochmal anschauen. Ist der Umstieg von PIC18 auf > ARM anspruchsvoller als vom PIC18 auf 32? Hat da schon jemand > Erfahrungen gesammelt? Wenn Du bei Microchip bleibst, ist der Umstieg einfacher, da Du Deine Tools (ICD3 bzw PicKIT3) und IDE weiter benutzt und einfach nur einen neuen Compiler verwendest. Außerdem ist die Peripherie sehr ähnlich. Der CPU-Kern spielt keine Rolle, darum kümmert sich der jeweilige Compiler. fchk
Oli Holli schrieb: > Meine Lieblingsantwort wäre jedoch gewesen: Der Pic wird jetzt ohne > Fehler hergestellt. Gibt es in dieser Grössenklasse nicht. Je komplexer, desto mehr Fehler. Zudem bleiben Fehler, die die ersten 1-2 Revisionen überlebt haben, oft auf ewig erhalten, weil der Hersteller sich auf neue Chips mit erweiterter Funktionalität statt auf Fehlerbehebung alter Chips konzentriert. Der neue hat dann ein paar alte Fehler weniger - dafür kommen zum Ausgleich ein paar neue hinzu.
Errata Histor: Die Fehler 43/44 wurden im März 2012 neu überarbeitet, da kann es schon sein, dass noch Rev. A3 im Handel ist. Bestell Dir halt ein Sample und probier aus, ob Du betroffen bist. Die dsPIC wären für Deinen Zweck ideal, da gibt es die dsPIC30-Serie mit Spannungen ab 2,2 Volt, aber recht wenig RAM (aber das hattest Du ja bei PIC18 auch). Und Du solltest Dir wirklich mal die PIC24F ansehen: Riesen-RAM bis 96 KByte und zwischen PIC18 und PIC24 liegen schon Welten, später ist der Sprung zu PIC32 dann nicht mehr so gross.
STM32F4 Die STM32F4.. sehen tatsächlich sehr interesant aus, ich hab allerding bis jetzt keine Erfahrung damit sammeln können. Und da Zeit wie so oft ne Rolle spielt beim jetzigen Projekt scheint mir "fchk"s Tipp bei Microchip zu bleiben sinnvoll. Für weitere Projkte könnte der ARM allerdings ne gute Wahl sein. 2,7V Die 2,7V sind die Minimal mögliche Spannung mit der alle Bauteile der Schaltung zurecht kommen. Das Modul ist Akkubetrieben und soll möglichst kompakt sien, daher war der gedanke: Kleine Spannung -> kleine Leistung -> kleiner Akku -> kompaktes Modul. Dazu gibt es nach dem Li-Mangan Akku nen Schaltregler der den Akku möglichst leer saugen soll. PIC24FJ256GB210 und dsPICs Der PIC24FJ256GB210 war tatsächlich auch schon in meinem Focus, der sieht tatsächlich gut aus und der Umstieg scheint damit sehr einfach zu sein. Den PIC18 hab ich ziehmlich ausgereizt und sowohl Routinen als auch ganze Softwarestrukturen mehrmals neu programmiert um jede erdenkliche Zeile und Wartezeit einzusparen. Das kostete allerdings viel Zeit und ist eigentlich auch Blödsinn wenn es für 1 Euro mehr nen Controller zu kaufen gibt der das auch ohne Optimierung auf die Reihe bekommt. Die Frage wäre dann noch PIC24 oder dsPIC ? Und dazu nochmal ein paar Infos was der alles erledigen muss: - GPS Daten einlesen und auswerten mit I32 Werten und + - * : Rechnungen - Einlesen und auswerten von ZigBee Funkmeldungen die als String ankommen (Stringketten verarbeiten) - Fortwährendes einlesen und aufzeichnen von Beschleunigungsdaten um Bewegungsabläufe wiederzuerkennen (Ähnlich wie Spracherkennung) - Im idealfall decodieren von mindesten 2 MP3 Audio Dateien, diese mischen und letzlich mit geringen verzögerungen an einen DAC senden. (Wav statt MP3 ist auch möglich mit 48kHz/16Bit) - Auslesen der Audiodaten von SD Karte - Auslesen und abarbeiten von Programmen von SD Karte (Keine PIC Progs) - Abgleichen von bis zu 32000 GPS Punkten über SD Karte - Log Daten auf die SD Kartes chreiben - Ausgabe von Lauflichter, Anzeigen, Informationen über 48 Leds (Über PWM Baustein TLC5951 an SPI Bus) - Und noch ein Paar Kleinigkeiten Bisher war alles in Assembler Programmiert, aber aus Zeitgründen würde ich gerne auf C Umsteigen was jedoch nochmal mehr Resourcen braucht, daher wäre ich mal auf eure Meinung dazu gespannt.
Frank K. schrieb: > Die Microchip Libraries berücksichtigen alle bis dahin bekannten Errata, > deswegen macht es da zB auch keinen Sinn, selber einen Ethernet- oder > USB-Stack zu entwickeln. Microchip kennt seine Bausteine besser. Zumindest die Peripheral-Library berücksichtigt einige Errata der PIC32MX320/.../MX460 definitiv nicht u.a. "A CPU data corruption may occur after a Flash erase or programming operation is complete if either the Prefetch module or CPU cache functionality are enabled." oder "double write to peripherals by the CPU (the first write during the interrupt and the second write after the interrupt is serviced)" Oli Holli schrieb: > STM32F4 > > Die STM32F4.. sehen tatsächlich sehr interesant aus, ich hab allerding > bis jetzt keine Erfahrung damit sammeln können. Und vielleicht noch noch die RX600/RX200 von Renesas ansehen rxmcu.com
Also ich bin von der Errata voll betroffen. Hat mich sicher 3 Wochen grübeln gekostet. Jetzt lese ich immer zu erst die Errata, bevor ich einen MC aussuche. Bei mir war's das SPI. Ich wartete bis die Daten fertig eingelesen waren in das SPI2BUF. Also wartete ich mittels der SpiChnIsBusy Funktion darauf. Denkste! Laut Errata wird dieses Ready Schei...Bit ein SPI-Bit zu früh gesetzt. Also liest du immer 255 aus und kriegst einen Buf Overflow. Das ist voll super, wenn du ZB mit einer SD Karte experimentierst und eh schon die Krise hast, weil die doch etwas gewöhnungsbedürftig sind, wenn du noch nie damit gearbeitet hast. Danke Microchip! Jetzt bin ich wieder bei meinem ST32F4 und alles läuft. Und das doppelt so schnell... Gruß Chulio
Chulio schrieb: > Also ich bin von der Errata voll betroffen. Wenn ein Hersteller zu den ERRATA gute Workarounds anbietet, kann man tatsächlich auch damit oft noch leben. OK, schön ist was anderes. Die LPC2000 von NXP waren anfangs voll von ERRATA, aber das legte sich. Philips arbeitete viel mit Keil zusammen, und beide boten die Lösungen. Das schlimmste, was die sich mal leisteten, war die erste Serie LPC2300 mit externem Bus. Wobei der Bus überhaupt nicht funktionierte. Davon war ich nicht betroffen, las aber die Mitteilungen verärgerter Nutzer, die bereits Musterplatinen herstellen ließen, und auf den Stein warteten, bzw. teils mit den defekten Steinen sogar bestückten. Es war etwa um 2006 herum. > Jetzt bin ich wieder bei meinem ST32F4 und alles läuft. Ist der eigentlich frei von ERRATA? Oder, sagen wir mal, bekannten ERRATA?
Wenn man bedenkt, was der Chip leistet, hat er eine sehr kleine Errata.Vor allem bemüht sich ST, diese Fehler zu beheben. Aber auf alle Fälle die Errata lesen, wenn sich der Chip ungewöhnlich verhält und die Software nicht schuld sein kann... Schöne Grüße
XMEGA128A3U wäre auch noch eine Variante. Mit seriellem SRAM und gutem DAC (I2S) kann man da sehr schön Audio mit machen. Ich habe mal einen Audio-Recorder (Wave, 16Bit, 48kHz) mit dem damals noch recht verbuggten XMEGA128A1 gebaut, der heute noch läuft. Der neue A3U-Chip ist 98% fehlerfrei und hat viele Hardware-Interfaces, die man über DMA und Eventsystem wunderbar koppeln kann.
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.