High-Speed-Optokoppler

Hallo Erik,

Tage zehren. So wie es aussieht könnte meine Idee mit dem großem MSP430
eine Singlechiplösung werden.
Nicht ganz so sparsam aber vergleichweise billig... ADUC7026 von Analog.

Marte
 
Hallo Marte,

einen Taster finden, der gegen versehentliches Druecken durch draufgelegte
Zeitungen und dgl geschuetzt ist. Die Tasterindustrie ist nicht gerade
eine Rakete in Sachen Innovation.

Du willst nicht wirklich mechanische Taster einsetzen?
Scheint es nichts zu geben. Es muesste einer sein, dessen Gehaeuse rund
ist, damit man beim Gehaeuse keine Fraeskosten hat. Er sollte von oben
einigermassen aussehen, nicht diese Metallklammern und so. Doch das
Angebot ist, gaehn, eher von vorgestern.

die Leistungsfaehigkeit oberhalb 100Hz ist von TI auch sehr
stiefmuetterlich (bzw. gar nicht) dokumentiert.

Den Eindruck hab ich auch...
Die koennten viel mehr Umsatz machen, wenn sie nicht so zugeknoepft
waeren. Einmal wollte ich nur die Geometrien der unmittelbar am Port Pin
angeschlossenen CMOS Devices haben. Jibbet nich, hamse jesacht. Der
Erfolg war, dass ich die gute alte diskrete Route einschlug. Kein
Design-Win fuer TI.

Gruesse, Joerg

http://www.analogconsultants.com
 
Hallo Marte,


Leicht veraendern und nochmal irgendwo unterbringen ist wegen "Plagiarism"
verpoent.

Nee, macht doch jeder...
Schon. Aber weil's jeder macht muss es moralisch ja nicht richtig werden ;-)

Gruesse, Joerg

http://www.analogconsultants.com
 
Joerg schrieb:

Die koennten viel mehr Umsatz machen, wenn sie nicht so zugeknoepft
waeren. Einmal wollte ich nur die Geometrien der unmittelbar am Port Pin
angeschlossenen CMOS Devices haben. Jibbet nich, hamse jesacht. Der
A) Wozu brauchst du sowas?
B) Machen das andere Hersteller? Ich hab da meine Zweifel, schliesslich
gehts da an interne Sachen, die keiner gern rausrückt, gerade wenns um
neue Prozesse (90nm etc.) geht.

MFG
Falk
 
Hallo Falk,

Die koennten viel mehr Umsatz machen, wenn sie nicht so zugeknoepft
waeren. Einmal wollte ich nur die Geometrien der unmittelbar am Port
Pin angeschlossenen CMOS Devices haben. Jibbet nich, hamse jesacht. Der

A) Wozu brauchst du sowas?

Um 'semi-analoge' Geschichten damit zu machen. Nun sind sie eben wie
ueblich ganz analog geworden und inzwischen in Serienfertigung. D.h., es
ist zu spaet.


B) Machen das andere Hersteller? Ich hab da meine Zweifel, schliesslich
gehts da an interne Sachen, die keiner gern rausrückt, gerade wenns um
neue Prozesse (90nm etc.) geht.
Machen sie. Einige ruecken sogar die Masken Plots raus. Wenn das jemand
partout abkupfern wollte, koennte er die Parameter der Ports auch von
aussen mit etwas Geschick ausmessen. Network Analyzer und dgl. habe ich
hier im Labor. Ich weiss, das die MSP Port Device Geometrie eine 30ohm
Strecke ergibt, auch wenn es nicht im Datenblatt steht. Aber ich brauche
'offizielle Daten', aus rechtlichen Gruenden.

Dann gibt es noch die sagenumwobenen Reverse Engineering Shops. Die
koennen fuer suendhaft viel Geld jeden Chip per Phototechnik zerlegen.
Draussen stehen meist einige Ferraris und Lamborghinis herum.

Gruesse, Joerg

http://www.analogconsultants.com
 
Hallo Marte Schwarz,


Nicht ganz so sparsam aber vergleichweise billig... ADUC7026 von Analog.
Danke für diesen interessanten Tipp.
ADU7027 wäre sogar noch billiger (zumindest auf deren WebPage) und hat
gleich 16 AD-Wandler-Kanäle (obwohl mir 12 reichen), überhaupt macht der
AD-Wandler einen guten Eindruck im Datasheet. 1MSps und ne ordentliche
Samplingunit sind was anderes als die einfachen 12Bit-AD-Wandler welche
TI in den MSP430 verbaut. Der ARM7TDMI-Core würde mir auch zusagen, so
muss ich wenigstens kaum neues lernen und könnte meine ARM7-Kenntnisse
etwas verbreitern (ich denke ARM7 wird viele, nicht alle, alte ľC
ablösen). 3 PWMs sind mir aber zu wenig, 5 sind Minimum und 6 währen
besser, und auch der Stromverbrauch passt mir nicht wirklich, vor allem
weil ich keine 32Bit brauche und auch nur wenig Software rein soll.

Nach einigem Datasheet lesen habe ich jedenfalls den subjektiven
Eindruck das AD sich mit dieser neuen (ist laut deren WebPage jünger als
6 Monate) ľC-Familie einen vernünftigen Platz im ARM7-ľC-Feld erarbeiten
möchte, sind jedenfalls einige nette Features dabei, nur leider nicht
alle die welche ich aktuell brauche. Trotzdem werde ich mir die mal
merken, ich werde bestimmt mal wieder ein Projekt bekommen wo ich einen
richtigen ARM und einiges Analoges brauche.

Vielleicht bringt ja die nächste Fertigungstechnologie (oder ARM
überarbeitet noch mal seinen 7er-Core) endlich die Möglichkeit auch so
große Cores mit bescheidenem Energiehunger, wenn auch nur bei moderatem
Takt, zu realisieren. In den 16-Bit Controllern sehe ich schon wegen dem
64k-Problem keine längere Zukunft bei größeren Projekten (in der
ARM7-Abteilung findet man oft über 256kBytes Flash on Chip, teilweise
auch mit ordentlicher Busbreite für hohen Befehlsdurchsatz) und die
8Bitter machen beim Verarbeiten von 12 oder 16 Bit Samples nicht
wirklich Freude (was nicht heißen soll das die bei weniger
rechenintensiven Aufgaben nicht nach wie vor gute Arbeitspferde sind).


Grüße
Erik
 
Hallo Joerg,

an dem bin ich heute gescheitert

Wo hat es denn geklemmt?
Am Verständnis des ganzen Clock-Zeugs. Irgendwie hatte ich den RC-Osci
nicht gefunden. Vor allem ist mir immer noch schleierhaft was der "10Bit
Frequency Integrator" macht. Ich hab zwar die Bereichsauswahl kapiert
aber nicht wie man dann die Frequenz konkretisiert. Sowas wie das
"Oscillator Calibration Register" in den AVRs hab ich nicht gefunden.


ich würde gerne den Timer B und den AD-Wandler mit
ca. 4 bis 8 MHz (die PWMs werden wohl auch mit 30kHz
laufen) und den CPU-Kern mit ca. 500kHz versorgen hab
aber nicht herausgefunden wie das geht.
Scheint auch nicht zu gehen, zumindest nicht in der F4xxx-Family.

Sieh mal nach, ob man nicht ACLK ungeteilt (Prescaler aus)
auf den Timer geben kann
ja das geht, nur scheint es keine Möglichkeit zu geben ACLK aus dem
RC-Osci zu bekommen.


und MCLK durch 8 geteilt auf die CPU.
MCLK hat bei F4xxx keinen Prescaler :-(
und SMCLK hat auch keinen Prescaler :-(

die Clocks koennten bei F4xxx anders heissen.
Scheint mir nicht so, ist IMO bei solch elementaren Basics auch eher
unüblich.


Aber es reicht auch eine SW Loop, wenn man in Assembler
programmiert. Pulse Skipping Scheme, oder auch nur
regelmaessiger Rechteck aus dem WDT und geschickt
gleichrichten. Bei diesem Vorschlag hatte allerdings
jemand mal fast seine Kaffeetasse nach mir geworfen.
Kann ich irgendwie gut nachvollziehen, vor allem beim ersten Vorschlag.
Mal davon abgesehen das ich keinen Kaffee trinke, würde mir wohl
ähnliches durch den Kopf schwirren wenn mir jemand ernsthaft vorschlägt
eine "richtige" PWM in Software zu erledigen. Da muss die CPU IMHO schon
chronisch unterbeschäftigt (und damit deutlich fehlplaziert) sein damit
das auch nur halbwegs gut geht. Ich bin ja echt für jeden
Assemblerscherz zu haben aber sowas ist dann doch nur sehr selten der
geschickteste Weg. Auch den WDT würd ich nicht unbedingt zum PWM
erzeugen einsetzen wollen, "Schuster bleib bei Deinen Leisten" gilt IMHO
für viele Dinge. Ja ich weis das "Out-off-the-Box-Denken" ist hier in
Europa nicht so toll aber eine Software-PWM ist schon eine ziemlich
krasse Angelegenheit in einem gut beschäftigtem (oder schlafenden) ľC.
Klar währs eine echte Herausforderung für einen echten
Assemblerprogrammierer (tät mir schon in den Fingern kribbeln) aber wer
soll die vielen (Über-)Stunden bezahlen bis sowas wirklich reibungslos
funktioniert? Das müsste schon eine wirklich richtig große Auflage sein
damit sich das rechnet, außerdem kann man am CPU-Kern sparen wenn mehr
Dinge in Hardware, und nicht in Software, erledigt werden, vom
Energieverbrauch mal ganz abgesehen.


Grüße
Erik
 
Hallo Erik,

Am Verständnis des ganzen Clock-Zeugs. Irgendwie hatte ich den RC-Osci
nicht gefunden. Vor allem ist mir immer noch schleierhaft was der "10Bit
Frequency Integrator" macht. Ich hab zwar die Bereichsauswahl kapiert
aber nicht wie man dann die Frequenz konkretisiert. Sowas wie das
"Oscillator Calibration Register" in den AVRs hab ich nicht gefunden.
Der Integrator funktioniert so aehnlich wie die XOR Stufe in einer PLL.
Allerdings kann er nicht analog korrigieren, sondern spuckt digital
einen Kontrollwert aus, der den DCO auf den 32kHz Oszillator rastet. Da
das nicht analog ist, pendelt er im Regelfall staendig zwischen zwei
benachbarten Zehn-Bit Worten hin und her. Deshalb hat der DCO auch ein
wenig Hosenschlottern. Macht normalerweise nichts, aber wenn der Clock
noch ausserhalb fuer Analoggeschichten verwendet werden soll, muesste
man eventuell eine echte kleine PLL anflanschen (Schwingkreis, Diode, RC
von einem Port Pin und dann PWM oder so aehnlich).

ich würde gerne den Timer B und den AD-Wandler mit
ca. 4 bis 8 MHz (die PWMs werden wohl auch mit 30kHz
laufen) und den CPU-Kern mit ca. 500kHz versorgen hab
aber nicht herausgefunden wie das geht.


Scheint auch nicht zu gehen, zumindest nicht in der F4xxx-Family.
Nein, bei der F4xxx Familie wohl nicht.

MCLK hat bei F4xxx keinen Prescaler :-(
und SMCLK hat auch keinen Prescaler :-(
Schluck. Da sind die F2xxx besser.


Aber es reicht auch eine SW Loop, wenn man in Assembler
programmiert. Pulse Skipping Scheme, oder auch nur
regelmaessiger Rechteck aus dem WDT und geschickt
gleichrichten. Bei diesem Vorschlag hatte allerdings
jemand mal fast seine Kaffeetasse nach mir geworfen.

Kann ich irgendwie gut nachvollziehen, vor allem beim ersten Vorschlag.
Mal davon abgesehen das ich keinen Kaffee trinke, würde mir wohl
ähnliches durch den Kopf schwirren wenn mir jemand ernsthaft vorschlägt
eine "richtige" PWM in Software zu erledigen. ...

Noch lustiger wurde das, als ich danach eine PWM mit CD4000er Logik
vorstellte und dabei einige der Gatter fuer semi-analoge Dinge
verwendete. Ueberall Stirnrunzeln. Doch bei grossen Stueckzahlen lohnt
das. Wir sparten uns den $1 PWM Chip.

Gruesse, Joerg

http://www.analogconsultants.com
 
wegen "Plagiarism" verpoent.
aber ein Plagiat ist es doch nicht, wenn es von Dir selbst stammt. Wenn ich
das abschreibe und als meines ausgäbe, dann schon.

Marte
 
Hallo Marte,


wegen "Plagiarism" verpoent.

aber ein Plagiat ist es doch nicht, wenn es von Dir selbst stammt. Wenn ich
das abschreibe und als meines ausgäbe, dann schon.
IIRC sieht das der IEEE anders. Wenn man mehr oder weniger das gleiche
nochmal als "neu" aufkocht und irgendwo anders veroeffentlicht oder
selbst publiziert, sehen sie das auch als Plagiat. Was ja eigentlich
auch so ist. Ich hatte mich schon oft geaergert, wenn ich bei einem
Research Service schwer bis gar nicht beschaffbare Papers bestellt habe
und $25 spaeter feststellte, dass es im Prinzip der zweite Aufguss einer
Version war, die ich schon vorher gekauft hatte.

Gruesse, Joerg

http://www.analogconsultants.com
 
Hi Jörg,

IIRC sieht das der IEEE anders. Wenn man mehr oder weniger das gleiche
nochmal als "neu" aufkocht und irgendwo anders veroeffentlicht oder selbst
publiziert, sehen sie das auch als Plagiat. Was ja eigentlich auch so ist.
Ich hatte mich schon oft geaergert, wenn ich bei einem Research Service
schwer bis gar nicht beschaffbare Papers bestellt habe und $25 spaeter
feststellte, dass es im Prinzip der zweite Aufguss einer Version war, die
ich schon vorher gekauft hatte.
kenn ich gut... aber schau mal in der Veröffentlichungsliste eines PHD oder
altdeutsch Doktor jenseits der Medizin nach. Da kommst Du gar nicht drum
herum. Wer viele Veröffentlichungen verfasst und ständig auf Kongressen
herumturnt, der kann gar nicht immer neue Sachen schreiben.

Marte
 
Joerg schrieb:


Am Verständnis des ganzen Clock-Zeugs. Irgendwie hatte ich den RC-Osci
nicht gefunden. Vor allem ist mir immer noch schleierhaft was der
"10Bit Frequency Integrator" macht. Ich hab zwar die Bereichsauswahl
kapiert aber nicht wie man dann die Frequenz konkretisiert. Sowas wie
das "Oscillator Calibration Register" in den AVRs hab ich nicht gefunden.


Der Integrator funktioniert so aehnlich wie ....
Danke für Deine Erklärung, langsam kommt Licht ins Dunkle.
Jetzt verstehe ich aber nicht wozu dann die Bereichsauswahl dient. Die
Bereiche sind ja recht groß und überlappend, irgendwie muss ich doch
festlegen können wo in diesem Bereich ich in etwa hin will.


Schluck. Da sind die F2xxx besser.
Ich werd mir mal morgen deren Family-Guides runterladen.
Schade das es dort nirgends 12 AD-Wandler-Kanäle gibt (11 würden mir
auch schon reichen) und 6 PWMs bekomm ich da auch nicht. Auch bei den
F1xxx gibts nichts was so viel bietet. Jetzt hat TI mir mit dem
MSP430FG461x den Mund wässrig gemacht und dann scheiterts an solch
banalen Kleinigkeiten. So langsam kann ich Deinen offenkundigen Groll
wegen dem fehlenden HW Multiplier gut nachvollziehen. Irgendwie scheint
sich das "gewollt-aber-nicht-zu-Ende-gedacht-Prinzip" bei vielen
Produkten heutzutage durch zu setzen. Die MSP430-Family hat viele
interessante und teilweise auch einzigartige Features aber auch zu viele
Nebenwirkungen so das die Design-Wins einfach schwer sind. Das Problem
ist das ľC nicht einfach austauschbar sind, es gehört zu viel
spezifisches Know-How dazu als das der Entwickler sich jedes mal neu
entscheiden könnte also verwendet er seine 3 bis 5 Lieblingstypen in
allen Designs und kann damit meistens ganz gut leben auch wenns mal
nicht 100%-tig passt. Wenn eine Family zu oft wegen Banalitäten nicht
geht fliegt sie früher oder später wieder aus dem Portfolio raus oder
kommt erst gar nicht hinein. Wenn TI mit den MSP430 auf Dauer Erfolg
haben will müssen sie sich IMHO auch "08/15-Problemen" stellen.


Noch lustiger wurde das, als ich danach eine PWM
mit CD4000er Logik vorstellte
Null Problem, aber in Software ist eine "ordentliche" PWM ein starkes
Stück, auch in Assembler.

und dabei einige der Gatter fuer semi-analoge Dinge verwendete.
auch hier hab ich keine Einwände wenns funktioniert

Ueberall Stirnrunzeln.
na und, lass doch die Ungläubigen ;-)

Doch bei grossen Stueckzahlen lohnt das.
Wir sparten uns den $1 PWM Chip.
Job erfolgreich erledigt, würd ich jetzt mal vermuten.


Grüße
Erik
 
Hallo Erik,

Danke für Deine Erklärung, langsam kommt Licht ins Dunkle.
Jetzt verstehe ich aber nicht wozu dann die Bereichsauswahl dient. Die
Bereiche sind ja recht groß und überlappend, irgendwie muss ich doch
festlegen können wo in diesem Bereich ich in etwa hin will.
Der DCO kann pro Segment nur einen begrenzten Frequenzbereich
ueberstreichen und man sollte von den Grenzen weit genug wegbleiben.

Schluck. Da sind die F2xxx besser.


Ich werd mir mal morgen deren Family-Guides runterladen.
Schade das es dort nirgends 12 AD-Wandler-Kanäle gibt (11 würden mir
auch schon reichen) und 6 PWMs bekomm ich da auch nicht. Auch bei den
F1xxx gibts nichts was so viel bietet. ...

Der F2013 hat einen 16bit Wandler. 6 PWMs rufen allerdings eher nach DSP
oder anderen Controllern.


... Das Problem
ist das ľC nicht einfach austauschbar sind, ...

Die 8051 Familie ist die einzige, bei der das in beschraenktem Rahmen
geht. Deshalb waren bisher alle meine Designs 8051er :)

Null Problem, aber in Software ist eine "ordentliche" PWM ein starkes
Stück, auch in Assembler.
Haben wir schon gemacht. Es gibt sogar Beispiele dazu bei Microchip,
allerdings ziemlich schlapp in der Frequenz. IIRC erledigt auch der
MSP430 im TI USB Programmieradapter noch nebenbei eine PWM.


Doch bei grossen Stueckzahlen lohnt das.
Wir sparten uns den $1 PWM Chip.

Job erfolgreich erledigt, würd ich jetzt mal vermuten.
Ja, doch als Consultant darf man keinen tosenden Beifall erwarten. Meist
wissen die Kunden gar nicht, wieviel Gehirnschmalz da hinein ging. Sie
bezahlen die Rechnung und damit hat es sich. Allerdings ist es schoen,
wenn man nach zehn Jahren sieht, dass das Ding immer noch in Produktion ist.

Beim ersten hatte ich es fertiggebracht, den Math-Coprocessor des PC zu
zerbrutzeln. Damals hatten PC nur um die 25MHz und so liess ich SPICE
oft ueber Nacht laufen. Eines morgens vermeldete das gute Stueck einen
Hardware Error.

Gruesse, Joerg

http://www.analogconsultants.com
 
Hallo Joerg,


Ich hab heute mal die Family-Guides von F2xxx und F4xxx verglichen.

das Clockzeugs vom F2xxx
(http://focus.ti.com/lit/ug/slau167/slau167.pdf, Seite 4-3 (27)) ist
deutlich übersichtlicher als vom F4xxx
(http://focus.ti.com/lit/ug/slau168/slau168.pdf, Seite 4-3 (28)) und das
trotz mehr Möglichkeiten. Da die 4-er-Reihe älter scheint vermute ich
mal das TI dort noch geübt hat. Nunja hilft alles nix da werd ich wohl
das schnelle einschlafen und aufwachen üben müssen (selbst für kurze
Wartepausen) um den CPU-Kern möglichst energiesparend betreiben zu können.


Der F2013 hat einen 16bit Wandler.
16Bit währen zwar nicht schlecht aber 12 tuns in meinem Fall auch (wenn
wenigstens 10,5 echte Bits rauskommen). Ich brauch aber mindestens 10
Kanäle, 12 sind mir lieber dann muss ich nicht so viel tricksen bzw. hab
mehr Möglichkeiten.

6 PWMs rufen allerdings eher nach DSP oder anderen Controllern.
Wieso? Das hängt doch vor allem davon ab wie die PWMs gesteuert werden
müssen. Wenn Da nur alle 2 Sekunden mal nachgeprüft wird ob der
gewünschte Strom noch stimmt ist da IMHO kein großer Bedarf nach
Rechenleistung.

... Das Problem ist das ľC nicht einfach austauschbar sind, ...

Die 8051 Familie ist die einzige,
bei der das in beschraenktem Rahmen geht.
Und die wird wohl langsam aber sicher durch ARM7 ersetzt, zumindest in
vielen Bereichen.

Deshalb waren bisher alle meine Designs 8051er :)
Das nennt sich dann Durchhaltevermögen. ;-)


Ja, doch als Consultant darf man keinen tosenden Beifall erwarten.
Geld ist nun wirklich nicht das wichtigste im Leben aber das kommt doch
wohl schon raus bei solchen Jobs. Und Wenn die in ein paar Jahren wieder
anrufen und was wollen dann hat man wenigstens die Gewissheit so
schlecht nicht gewesen zu sein. Der Wunsch nach Zugabe ist oft ehrlicher
als (Höflichkeits)Beifall.

Meist wissen die Kunden gar nicht,
wieviel Gehirnschmalz da hinein ging.
Das ist aber nicht nur bei gewerblich Kunden so (aber gerade bei diesen
besonders traurig), auch private Endkunden haben kaum eine Ahnung wie
viel Mühe in so manchen Gerät steckt das gerade mal wieder in einem der
Dumm-Geiz-Läden verramscht wird.

Sie bezahlen die Rechnung und damit hat es sich.
Na wenigstens etwas, mache können noch nicht mal bezahlen.

Allerdings ist es schoen, wenn man nach zehn Jahren sieht,
dass das Ding immer noch in Produktion ist.
Für zehn Jahre bin ich noch nicht lange genug dabei aber das Gefühl,
gerade nach längerer Zeit, was gutes abgeliefert zu haben, auch wenn es
sonst keiner bewusst wahrnimmt, kenne ich gut.
Die besten Produkte sind oft die welche keiner bemerkt (weil sie einfach
ihre Aufgaben zuverlässig erledigen) und deren Namen keiner kennt.


Beim ersten hatte ich es fertiggebracht,
den Math-Coprocessor des PC zu zerbrutzeln.
Schlechte Kühlung?
Oder gar Overclocking? ;-)


Grüße
Erik
 
Hallo Joerg,


Dann gibt es noch die sagenumwobenen Reverse Engineering Shops.
Gibts die wirklich so als Shop wo jeder einfach nen Chip und ein bischen
Geld mitbringt und mit Schaltplänen wieder rausspaziert? Ohne das dumme
Fragen gestellt werden?


Draussen stehen meist einige Ferraris und Lamborghinis herum.
Haben die noch offene Stellen? ;-)


Grüße
Erik
 
Hallo Erik,


... Nunja hilft alles nix da werd ich wohl
das schnelle einschlafen und aufwachen üben müssen (selbst für kurze
Wartepausen) um den CPU-Kern möglichst energiesparend betreiben zu können.
Das sollte fuer die MSP430 Serie ein Heimspiel werden.

6 PWMs rufen allerdings eher nach DSP oder anderen Controllern.

Wieso? Das hängt doch vor allem davon ab wie die PWMs gesteuert werden
müssen. Wenn Da nur alle 2 Sekunden mal nachgeprüft wird ob der
gewünschte Strom noch stimmt ist da IMHO kein großer Bedarf nach
Rechenleistung.
Hmm, hattest Du nicht mal etwas von >100kHz geschrieben? Koennte aber
auch ein anderer Thread gewesen sein. SW-PWM sind so schnell nicht zu
machen und schon gar nicht, wenn die CPU zwischendurch schlafen geht. Es
sei denn, die Dinger laufen alle mehr oder weniger synchron und man kann
das an die Timer haengen. Bei sechs Stueck aber unwahrscheinlich. Oder
eben externe PWM Chips nehmen.


... Das Problem ist das ľC nicht einfach austauschbar sind, ...

Die 8051 Familie ist die einzige,
bei der das in beschraenktem Rahmen geht.

Und die wird wohl langsam aber sicher durch ARM7 ersetzt, zumindest in
vielen Bereichen.
Das haben die Leute von der CD4000er Familie auch immer gesagt und ich
hatte vor kurzem damit wieder ein neues Design erledigt. ARM muss erst
einmal simpler in der Hardware (VCC usw.) werden und die ganze
Sleep/Stromsparchose so gut machen wie MSP430. Gute 8051er konnten das
schon Anfang der 90er, alles schon gemacht damals.


Deshalb waren bisher alle meine Designs 8051er :)

Das nennt sich dann Durchhaltevermögen. ;-)
Das hatte Volkswagen mit dem Kaefer auch :)

Beim ersten hatte ich es fertiggebracht,
den Math-Coprocessor des PC zu zerbrutzeln.

Schlechte Kühlung?
Oder gar Overclocking? ;-)
Nein, er sass sogar in einem Industrierechner. Nach den regelmaessigen
File Dumps zu urteilen hatte er fast die ganze Nacht geschafft und ist
dann im Morgengrauen von hinnen gegangen. Das war allerdings auch
permanentes Multiplizieren.

Das sind so die Dinge, die bei Consultants unter "Overhead" fallen, das
kann man Kunden nicht durchberechnen.

Gruesse, Joerg

http://www.analogconsultants.com
 
Hallo Erik,

Dann gibt es noch die sagenumwobenen Reverse Engineering Shops.

Gibts die wirklich so als Shop wo jeder einfach nen Chip und ein bischen
Geld mitbringt und mit Schaltplänen wieder rausspaziert? Ohne das dumme
Fragen gestellt werden?
Weiss ich nicht, ich habe solche Shops nie benutzt.

Draussen stehen meist einige Ferraris und Lamborghinis herum.

Haben die noch offene Stellen? ;-)
Ich glaube, dass ist eher etwas fuer Prozesstechniker. Kann man aber
lernen. Musste ich aus anderem Grund, weil uns Zulieferer von
Halbleitermaschinen dauernd sagten, dass unsere Wuensche in Sachen
Praezision unerfuellbar seien. Also mussten wir die Maschinen mehr oder
weniger selbst entwickeln.

Gruesse, Joerg

http://www.analogconsultants.com
 
Hallo Joerg,


Nunja hilft alles nix da werd ich wohl das schnelle
einschlafen und aufwachen üben müssen (selbst für
kurze Wartepausen) um den CPU-Kern möglichst
energiesparend betreiben zu können.

Das sollte fuer die MSP430 Serie ein Heimspiel werden.
Na dann bin ich beruhigt. Kann man den CPU-Kern aufwecken ohne in einen
Interrupthandler rein zu müssen? Also wenn ich z.B. den AD-Wandler
gestartet hab und der 3ľs braucht dann bin ich doch im Code an der
richtigen stelle:

<<<<< (Pseudocode)
Set-AD-Wandler-Kanal
Start-AD-Wandler
SLEEP
Read-AD-Wandler-Result
<<<<<

Es währe cool wenn es klappt den CPU-Kern abzuschalten, um keine
Warteschleife benutzen zu müssen, ohne dafür nen extra Interrupthandler
programmieren zu müssen (schließlich kostet das rein und raus auch
Taktzyklen und damit Strom).


6 PWMs rufen allerdings eher nach DSP oder anderen Controllern.

Wieso? Das hängt doch vor allem davon ab wie die PWMs gesteuert werden
müssen. Wenn Da nur alle 2 Sekunden mal nachgeprüft wird ob der
gewünschte Strom noch stimmt ist da IMHO kein großer Bedarf nach
Rechenleistung.


Hmm, hattest Du nicht mal etwas von >100kHz geschrieben?
Ja, hab mich aber auf 32kHz korrigiert, sollte doch für die Timer kein
Problem sein. 8MHz/256 und wenn die 8 Bit nicht reichen, weil ich einen
kleineren Strom erzeugen möchte, werden es eben 8kHz (8MHz/1024). Dabei
fällt mir auf das man die PWMs nicht unabhängig voneinander betreiben
kann. Vieleicht klappts auch mit 16MHz/1024 aber wohl eher nicht bei
2,5V. Dann vieleicht eher das

Oder eben externe PWM Chips nehmen.
Kennst Du einen sparsamen welchen für 2,5V mit 4 unabhängigen Kanälen
(den Rest kann die CPU selber), welche man am besten einzeln schlafen
legen kann? Wie bekomme ich dort den Takt rein (5% Genauigkeit reicht
dabei völlig) bzw. wo könnte der herkommen?


Und die wird wohl langsam aber sicher durch ARM7 ersetzt,
zumindest in vielen Bereichen.

... ARM muss erst einmal simpler in der Hardware (VCC usw.)
werden und die ganze Sleep/Stromsparchose
ACK

so gut machen wie MSP430.
Naja, wenigstes in die Nähe. Ein ausgewachsener 32Bit-CPU-Kern mit
ordentlich Flash und RAM (weil Befehlsworte und Variablen ja doppelt so
groß sind) wird immer etwas mehr Hunger haben als ein kleiner 16Bitter
der speziell auf Sparsamkeit getrimmt wurde.


Gute 8051er konnten das schon Anfang
der 90er, alles schon gemacht damals.
Auch so gut wie die MSP430?


Beim ersten hatte ich es fertiggebracht,
den Math-Coprocessor des PC zu zerbrutzeln.

Schlechte Kühlung?
Oder gar Overclocking? ;-)

Nein, er sass sogar in einem Industrierechner.
Nach den regelmaessigen File Dumps zu urteilen
hatte er fast die ganze Nacht geschafft und ist
dann im Morgengrauen von hinnen gegangen.
Na immerhin, ich nehme mal an die nächtliche Arbeit war nicht ganz verloren.

Das war allerdings auch permanentes Multiplizieren.
Sollte ihn eigentlich nicht vor ein ernstes Problem stellen. War es
einer von Intel oder so ein Cyrix-Clone?

Das sind so die Dinge, die bei Consultants unter "Overhead"
fallen, das kann man Kunden nicht durchberechnen.
Zumindest nicht offen auf der Rechnung, sowas fällt dann unter Sonstiges
bei R&D. ;-)


Grüße
Erik
 
Hallo Erik,

Na dann bin ich beruhigt. Kann man den CPU-Kern aufwecken ohne in einen
Interrupthandler rein zu müssen? Also wenn ich z.B. den AD-Wandler
gestartet hab und der 3ľs braucht dann bin ich doch im Code an der
richtigen stelle:

(Pseudocode)
Set-AD-Wandler-Kanal
Start-AD-Wandler
SLEEP
Read-AD-Wandler-Result


Es währe cool wenn es klappt den CPU-Kern abzuschalten, um keine
Warteschleife benutzen zu müssen, ohne dafür nen extra Interrupthandler
programmieren zu müssen (schließlich kostet das rein und raus auch
Taktzyklen und damit Strom).
Bei den aelteren (1er und 4er) dauert es eh gut 6usec, bis die CPU nach
Aufwecken zum Marschantritt bereit ist, laenger als andere Peripherie.
Deshalb kam das Thema wohl noch nicht auf. Die 2er wachen schneller auf
und der 16bit Wandler braucht laenger, bis das erste Sample da ist. Ob
dabei die CPU schlafen kann, waere eine interessante Frage. Hatte ich
noch nicht eruiert, weil in meiner App nicht vorkommend. Ich denke aber
nicht, dass es geht, weil der Wandler seinen Takt braucht und dafuer
reicht bis auf ganz langsame Anwendungen der 32kHz Oszillator nicht. Bei
Volldampf will er um die 1MHz sehen und da ist der Anteil der CPU eher
"a drop in the bucket".


Oder eben externe PWM Chips nehmen.

Kennst Du einen sparsamen welchen für 2,5V mit 4 unabhängigen Kanälen
(den Rest kann die CPU selber), welche man am besten einzeln schlafen
legen kann? Wie bekomme ich dort den Takt rein (5% Genauigkeit reicht
dabei völlig) bzw. wo könnte der herkommen?
Leider nicht, das ist bei mir alles "semi-analog". Da ich bei Designs
knausrig bin, ist das meist etwas a la Hex Schmitt Trigger. Das ergibt
bis zu sechs PWM und die Tastverhaeltnisse sind in einer Regelschleife.
Man koennte sie aber auch durch einen 8-fach DAC setzen und der uC sieht
ab und an nach, ob's noch passt. Dann bliebe die Chose billig und man
koennte die verbliebenen zwei DAC Kanaele untervermieten.

so gut machen wie MSP430.

Naja, wenigstes in die Nähe. Ein ausgewachsener 32Bit-CPU-Kern mit
ordentlich Flash und RAM (weil Befehlsworte und Variablen ja doppelt so
groß sind) wird immer etwas mehr Hunger haben als ein kleiner 16Bitter
der speziell auf Sparsamkeit getrimmt wurde.
Vor allem die zwei engtolerierten Spannungen sind laestig. Das ist
nichts fuer Low Cost.

Gute 8051er konnten das schon Anfang
der 90er, alles schon gemacht damals.

Auch so gut wie die MSP430?


Nein. Der gute alte PCON Befehl laeuft zwar wie am Schnuerchen, aber im
Schlaf nuckeln die Dinger noch etliche uA. Wake-up ging damals auch nur
ueber RS232 ("Kompanie aufstehen!") oder harten Reset. Ich habe RS232
genommen. 32kHz Echtzeit Uhr musste man sich auch verkneifen.

Sollte ihn eigentlich nicht vor ein ernstes Problem stellen. War es
einer von Intel oder so ein Cyrix-Clone?
War ein Cyrix, damals einige hundert Maerker :-(


Das sind so die Dinge, die bei Consultants unter "Overhead"
fallen, das kann man Kunden nicht durchberechnen.

Zumindest nicht offen auf der Rechnung, sowas fällt dann unter Sonstiges
bei R&D. ;-)
Nee, det jibtet nich. Sonstiges kann ich nicht berechnen, mache ich
jedenfalls nicht.

Gruesse, Joerg

http://www.analogconsultants.com
 
Hallo Joerg,


Bei den aelteren (1er und 4er) dauert es eh gut 6usec,
bis die CPU nach Aufwecken zum Marschantritt bereit ist,
Das ist schade und entspricht auch nicht ganz dem Bild das TI mit den
Werbeaussagen versucht zu erzeugen.

Die 2er wachen schneller auf und der 16bit Wandler braucht
laenger, bis das erste Sample da ist. Ob dabei die CPU
schlafen kann, waere eine interessante Frage. Hatte ich
noch nicht eruiert, weil in meiner App nicht vorkommend.
Müste eigentlich möglich sein schließlich kann er doch einen
Fertig-Interrupt generieren.

Ich denke aber nicht, dass es geht,
weil der Wandler seinen Takt braucht
Bedeutet CPU-Kern in den Schlafmodus zu schicken auch gleichzeitig das
alle Taktsignale aus sind? Also auch ACLK und SMCLK?

Bei Volldampf will er um die 1MHz sehen und da
ist der Anteil der CPU eher "a drop in the bucket".
Dafür ists ja auch ein 16Bittiger welcher, der darf sich schon etwas
mehr Energie genehmigen.


Oder eben externe PWM Chips nehmen.

Kennst Du einen sparsamen welchen für 2,5V mit 4 unabhängigen
Kanälen (den Rest kann die CPU selber), welche man am besten
einzeln schlafen legen kann? Wie bekomme ich dort den Takt
rein (5% Genauigkeit reicht dabei völlig) bzw. wo könnte der
herkommen?

Leider nicht, das ist bei mir alles "semi-analog".
Kannst Du da mal ein simplifiziertes Beispiel nennen oder machst Du das
mit ner Art Sägezahn?

Da ich bei Designs knausrig bin,
Ja, das ist bekannt. Bei Einzelstücken oder privaten Basteleien gibts
aber noch andere Kriterien als den letzten Cent (cool das ist jetzt auf
beiden Seiten vom großen Teich gültig) rauszuquetschen.

ist das meist etwas a la Hex Schmitt Trigger. Das ergibt
bis zu sechs PWM und die Tastverhaeltnisse sind in einer
Regelschleife. Man koennte sie aber auch durch einen
8-fach DAC setzen
wie gesagt ein kleines simples Beispiel an dem ich das Prinzip, welches
Dir wohl gerade durch den Kopf schwirrt, ablesen kann währe nicht schlecht


Vor allem die zwei engtolerierten Spannungen sind laestig.
Das ist nichts fuer Low Cost.
Dem kann ich nur Zustimmen, eine präzise und für weiten Leistungsbereich
(vom Tiefschlaf bis Volldampf) ausgelegte/sparsame
Core-Spannungsversorgung ist keine leichte Angelegenheit, selbst wenn
der Kostendruck nicht so groß ist. Bei der IO-Spannung kann man schon
eher etwas großzügiger sein, zumindest nach unten.


Der gute alte PCON Befehl laeuft zwar wie am Schnuerchen,
aber im Schlaf nuckeln die Dinger noch etliche uA.
Ich denke schon das TI mit den MSP430 im Punkt Energieverbrauch wirklich
ein gutes Produkt entwickelt hat, da müssen die anderen erst mal hinkommen.

Wake-up ging damals auch nur ueber RS232 ("Kompanie aufstehen!")
grausam

oder harten Reset.
noch grausamer

Ich habe RS232 genommen.
verständlich
Nur bei der PC-Technik hat man sich für Reset entschieden um den 286 vom
Protected-Mode wieder in den Real-Mode zu bekommen, und wie die Zeit es
uns gezeigt hat war das keine geschickte Wahl.


War ein Cyrix, damals einige hundert Maerker :-(
Ja, damals konnte Cyrix noch Coprozessoren bauen die tatsächlich
innovative Ideen enthielten. AFAIR hatten die mal spezielle
Matrix-Multiplikationsbefehle drin. Selber hatte ich aber nur einen 387
von Intel der trotzdem mit dem 386 von AMD gut zusammengearbeitet hat.


Nee, det jibtet nich. Sonstiges kann ich nicht berechnen,
mache ich jedenfalls nicht.
Ich hab schon mal Rechnungen gesehen wo "Sonstiges" drauf stand.


Grüße
Erik
 

Welcome to EDABoard.com

Sponsor

Back
Top