Forum: Mikrocontroller und Digitale Elektronik Wie bekomme ich den AT32UC3C1512C zu laufen?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Simon E. (skuldugery)


Angehängte Dateien:

Lesenswert?

Hi,

ich bin zurzeit komplett verzweifelt. Ich will ein Projekt zuhause 
machen wofür nur der AT32UC3C1512C 
(http://www.atmel.com/Images/32117S.pdf) alles hat was ich brauche.
Nun wollte ich ein paar Sachen erst testen bevor ich eine teuere Platine 
vor mir hab die nicht funktioniert.

Gut, 4 Stück bestellt und noch 2 TQFP zu DIP Adapter Platinen. 
(http://www.proto-advantage.com/store/product_info.php?products_id=2200161)

Ersten gelötet und geschrottet weil ich VDDIO1 und GNDIO1 vertauscht 
habe.
Nunja mein Fehler, runter gelötet neuen drauf. Angeschlossen keinen 
Lötfehler gefunden, an gemacht und mhhh, der Mikrocontroller zieht 1,3A 
aus meinem Netzteil. Nicht schön. Nochmal alles kontrolliert aber hab 
den Grund nicht gefunden, dachte vielleicht liegt es daran das ich den 
Adapter schonmal verwendet habe.


Ab hier geht es eigentlich los

Also neue Platine und neuer Mikrocontroller. Auch hier keinen Fehler 
gefunden. Alles doppelt geprüft und angemacht. Hurra! 0.003A sieht doch 
schon mal gut aus. JTAG angeschlossen und programmieren geht auch. Gut 
wieder ausgemacht und wollte eine LED zum testen anschließen.
Da mir aber nicht mehr eingefallen ist welchen Wert der Widerstand haben 
soll, habe ich einen genommen wo ich glaubte er sollte es sein und die 
LED nur neben dem Mikrocontroller mit dem Widerstand an mein Netzteil 
gehängt.
Die LED ging auch, nur auf einmal meinte der Mikrocontroller das er 1,3A 
bräuchte und das es doch toll wäre wenn er zum kochen anfängt.
Ich flippe hier gerade total aus. 3 Mikrocontroller in 3 Tagen kaputt 
gemacht, neuer Rekord für mich...
Bevor ich jetzt den letzten auch kaputt mache frage ich hier lieber 
nach. Was hab ich falsch gemacht?

Ich benutze die 100 Pin Variante.
Die LED ist NICHT am Mikrocontroller sonder nur daneben am gleichem 
Netzteil, mehr nicht!
Das Programm ist ein frisch erstelltes ASF Projekt mit Atmel Studio ohne 
Änderungen.

Angeschlossen hab ich es genauso wie es im Datenblatt auf Seite 47 
steht.

Bis auf Kleinigkeiten:
-VDDANA hat keine extra Spule(?), sollte eine sein wüsste nicht was 
sonst,    obwohl mir der Sinn der Spule nicht so ganz auffällt oder soll 
die die Spannung an VDDANA ein bisschen verzögern?
-zwischen VDDANA und GNDANA ist kein extra Kondensator.
-VDDIN_33 und VDDCORE haben jeikwls nur einen Kondensator mit 100nF.

PS: Ich habe schon lange keinen Forum Eintrag gemacht, falls ich 
irgendwas falsch gemacht habe tut es mir leid.

von Rene H. (Gast)


Lesenswert?

Weshalb beschaltest Du nicht erstmal wie im DB und änderst dann erst, 
wenn es funktioniert?

von Simon E. (skuldugery)


Lesenswert?

Und wie meinst du das? Ich habe Glättungskondensatoren ausgelassen was 
bei einer Test Schaltung nicht wichtig ist. Und die Spule, wie gesagt 
ich bin mir nicht sicher was die bringt und wüste auch keinen Wert 
dafür.

von Dieter M. (Gast)


Lesenswert?

Damit Du nicht noch mehr killst, Labornetzteil mit Strombegrenzung 
verwenden?
Und den Controller direkt daraus versorgen, ohne weiteren DCDC Wandler 
dazwischen!
Kondensatoren sind schon wichtig!

von Rene H. (Gast)


Lesenswert?

Ok, ich hab mal in DB geschaut, soweit ok. Die Kondensatoren werden aber 
(fast) sicher falsch sein, also die standard 100nF.

Dafür müsste man aber das DB lesen, vielleicht hat hier aber jemand 
Erfahrung.

von Simon E. (skuldugery)


Lesenswert?

Dieter M. schrieb:
> Damit Du nicht noch mehr killst, Labornetzteil mit Strombegrenzung
> verwenden?
Das bringt dann auch nichts, dann bricht die Spannung ein...Aber kann 
ich das nächste mal machen.

> Und den Controller direkt daraus versorgen, ohne weiteren DCDC Wandler
> dazwischen!
Ist direkt dran.

> Kondensatoren sind schon wichtig!
Im Datenblatt steht nichts davon das die Kondensatoren irgendwie 
besonders sind, hab auch noch nirgends Werte für die gefunden.
Deswegen bin ich ausgegangen das das Glättungskondensatoren sind. Da ab 
neben dem MCU nichts in der Schaltung ist was die Spannung abrupt 
einstürzen lassen könnte, habe ich halt nicht überall einen hingemacht. 
Werde ich dann beim nächsten mal machen. 100nF und 10μF Elko. Hab von 
denen zum Glück welche da.



Rene H. schrieb:
> Ok, ich hab mal in DB geschaut, soweit ok. Die Kondensatoren werden aber
> (fast) sicher falsch sein, also die standard 100nF.
Wie kommst du darauf?  Und welche würdest du empfehlen?

von M. K. (sylaina)


Lesenswert?

Simon E. schrieb:
> Dieter M. schrieb:
>> Damit Du nicht noch mehr killst, Labornetzteil mit Strombegrenzung
>> verwenden?
> Das bringt dann auch nichts, dann bricht die Spannung ein...Aber kann
> ich das nächste mal machen.

Das ist ja der Sinn der Sache. Wenn zu viel Strom fließt soll das 
Netzteil praktisch abschalten. ;)

von Christian (Gast)


Lesenswert?

ich hab ne platine mit dem mc, kann dir eine schicken wenn du willst.

von Christian (Gast)


Lesenswert?

Vergiss es, hab den c2 und nicht den c1

von Simon E. (skuldugery)


Lesenswert?

Schaltplan würde mir reichen. Sollte ja gleich sein. Ist ja auch 
gleiches Datenblatt.

von Simon E. (skuldugery)


Lesenswert?

M. K. schrieb:
> Simon E. schrieb:
>> Dieter M. schrieb:
>>> Damit Du nicht noch mehr killst, Labornetzteil mit Strombegrenzung
>>> verwenden?
>> Das bringt dann auch nichts, dann bricht die Spannung ein...Aber kann
>> ich das nächste mal machen.
>
> Das ist ja der Sinn der Sache. Wenn zu viel Strom fließt soll das
> Netzteil praktisch abschalten. ;)
Kaputt ist er dann trotzdem, ob mit begrenztem Strom oder nicht.

von Rudolph R. (rudolph)


Lesenswert?

Simon E. schrieb:
> wofür nur der AT32UC3C1512C
> (http://www.atmel.com/Images/32117S.pdf) alles hat was ich brauche.

Bevor Du länger auf ein quasi totes Pferd setzt das Du offenbar noch 
nicht kennst, welche besonderen Features soll der denn haben die kein 
anderer Mikro-Controller hat?

Wenn Du Dich schon neu einarbeitest in eine 32 Bit Architektur könnte 
sich vielleicht ein Atmel SAM oder auch ein STM32 mehr lohnen.
Oder vielleicht braucht es das nicht mal, man kann z.B. DACs auch extern 
per SPI an die Controller anhängen die man ohnehin schon kennt.

: Bearbeitet durch User
von John (Gast)


Lesenswert?

Simon E. schrieb:
>> Das ist ja der Sinn der Sache. Wenn zu viel Strom fließt soll das
>> Netzteil praktisch abschalten. ;)
> Kaputt ist er dann trotzdem, ob mit begrenztem Strom oder nicht.

Das kann man erst dann sagen, wenn man weiß wodurch der Controller 
zerstört wurde.
Zum Beispiel den ersten Controller den du getötet hast: an einem guten 
Labornetzteil, mit einer auf ca. 20-50mA eingestellter Strombegrenzung, 
hätte der Controller die Verpolung der Spannungsversorgung ziemlich 
sicher überlebt.

Was für ein Netzteil verwendest du? Vielleicht gibt dein Netzteil beim 
Ein-/Ausschalten Spannungsspitzen ab, die deine Controller zerstören.
Hast du ein Oszilloskop um das zu prüfen?
Wie sieht es mit ESD-Schutz aus?

von Simon E. (skuldugery)


Lesenswert?

John schrieb:
> Simon E. schrieb:
>>> Das ist ja der Sinn der Sache. Wenn zu viel Strom fließt soll das
>>> Netzteil praktisch abschalten. ;)
>> Kaputt ist er dann trotzdem, ob mit begrenztem Strom oder nicht.
>
> Das kann man erst dann sagen, wenn man weiß wodurch der Controller
> zerstört wurde.
> Zum Beispiel den ersten Controller den du getötet hast: an einem guten
> Labornetzteil, mit einer auf ca. 20-50mA eingestellter Strombegrenzung,
> hätte der Controller die Verpolung der Spannungsversorgung ziemlich
> sicher überlebt.
>
> Was für ein Netzteil verwendest du? Vielleicht gibt dein Netzteil beim
> Ein-/Ausschalten Spannungsspitzen ab, die deine Controller zerstören.
Korad KD3005D

> Hast du ein Oszilloskop um das zu prüfen?
Leider nein, und da ich im September wieder zur Schule gehe habe ich 
auch kein Geld für eins.

> Wie sieht es mit ESD-Schutz aus?
Darauf habe ich nicht wirklich geachtet. Hab geschaut das ich nicht an 
den Pins die ganze Zeit rumspiele aber mehr nicht.

: Bearbeitet durch User
von Simon E. (skuldugery)


Lesenswert?

Rudolph R. schrieb:
> Simon E. schrieb:
>> wofür nur der AT32UC3C1512C
>> (http://www.atmel.com/Images/32117S.pdf) alles hat was ich brauche.
>
> Bevor Du länger auf ein quasi totes Pferd setzt das Du offenbar noch
> nicht kennst, welche besonderen Features soll der denn haben die kein
> anderer Mikro-Controller hat?
Ich habe lange nach MCUs gesucht die das haben was ich brauche. Was 
genau der können muss ist ja hierfür gerade unwichtig.
>
> Wenn Du Dich schon neu einarbeitest in eine 32 Bit Architektur könnte
> sich vielleicht ein Atmel SAM oder auch ein STM32 mehr lohnen.
> Oder vielleicht braucht es das nicht mal, man kann z.B. DACs auch extern
> per SPI an die Controller anhängen die man ohnehin schon kennt.
In so was müsste ich mich komplett neu einarbeiten. Mit ARM Prozessoren 
hab ich noch nie gearbeitet. Mit AVR Prozessoren schon öfters.
Außerdem will ich den Prozessor eigentlich nicht mehr ändern müssen,  da 
ich sonst wieder so viel im Schaltplan ändern muss...

von Tontechniker (Gast)


Lesenswert?

3,3 V oder 5 V ?

von Rudolph R. (rudolph)


Lesenswert?

Simon E. schrieb:
>> Bevor Du länger auf ein quasi totes Pferd setzt das Du offenbar noch
>> nicht kennst, welche besonderen Features soll der denn haben die kein
>> anderer Mikro-Controller hat?
> Ich habe lange nach MCUs gesucht die das haben was ich brauche. Was
> genau der können muss ist ja hierfür gerade unwichtig.

Wenn man sowas in einem öffentlichen Forum als Behauptung in die 
Diskussion wirft muss man sich schon gefallen lassen, dass das in Frage 
gestellt wird. :-)
Darauf eingehen muss natürlich niemand, aber ich bin schon neugierig, 
was ein AVR32 UC3C hat das andere Controller nicht haben sollen.

Mal davon ab, dass die seit Jahren nicht mehr aktiv weiter entwickelt 
werden sahen die vor 5+ Jahren ja mal so richtig interessant aus, 
zugegeben.

Simon E. schrieb:
> In so was müsste ich mich komplett neu einarbeiten. Mit ARM Prozessoren
> hab ich noch nie gearbeitet. Mit AVR Prozessoren schon öfters.

Nun ja, ein AVR32 ist aber was komplett anderes als ein AVR.
Wenn Du Dich mit dem AFS auskennt könntest Du von der Software-Seite her 
genauso gut einen SAM nehmen.
Weniger krass ist der Umstieg dann auch nicht.

von Simon E. (skuldugery)


Lesenswert?

Tontechniker schrieb:
> 3,3 V oder 5 V ?
5V


Rudolph R. schrieb:
> Simon E. schrieb:
>>> Bevor Du länger auf ein quasi totes Pferd setzt das Du offenbar noch
>>> nicht kennst, welche besonderen Features soll der denn haben die kein
>>> anderer Mikro-Controller hat?
>> Ich habe lange nach MCUs gesucht die das haben was ich brauche. Was
>> genau der können muss ist ja hierfür gerade unwichtig.
>
> Wenn man sowas in einem öffentlichen Forum als Behauptung in die
> Diskussion wirft muss man sich schon gefallen lassen, dass das in Frage
> gestellt wird. :-)
> Darauf eingehen muss natürlich niemand, aber ich bin schon neugierig,
> was ein AVR32 UC3C hat das andere Controller nicht haben sollen.
>
> Mal davon ab, dass die seit Jahren nicht mehr aktiv weiter entwickelt
> werden sahen die vor 5+ Jahren ja mal so richtig interessant aus,
> zugegeben.
Ich hatte ja auch nichts dagegen und bin um jede Antwort/Hilfe dankbar. 
Wenn du es wissen willst (vielleicht lässt sich dann ein besserer 
finden):
- 2x SPI
- 1x UART
- 29x Ausgänge
- 3x Eingänge
- schnell genug. Der MCU muss jede ms einen Interrupt machen der 768-bit 
über SPI überträgt aber trotzdem noch ein Drehimpulsgeber korrekt 
auslesen kann und dadurch ein Display steuert was auch über SPI läuft 
mit max. 100kHZ (oder ein normales Display wofür dann aber wieder mehr 
Ausgänge benötigt werden) und dazu noch UART mit einer Baudrate von 
31250.
-wenn möglich einen USB Anschluss. Obwohl der nicht wichtig wäre und 
sowieso nur etwas ist was ich programmieren würde wenn alles andere 
funktioniert.
-Programmieren/Debuggen möglich über JTAG

> Simon E. schrieb:
>> In so was müsste ich mich komplett neu einarbeiten. Mit ARM Prozessoren
>> hab ich noch nie gearbeitet. Mit AVR Prozessoren schon öfters.
>
> Nun ja, ein AVR32 ist aber was komplett anderes als ein AVR.
> Wenn Du Dich mit dem AFS auskennt könntest Du von der Software-Seite her
> genauso gut einen SAM nehmen.
> Weniger krass ist der Umstieg dann auch nicht.
Ich würde nicht sagen das ich mich damit auskenne, aber ein bisschen 
weiß ich damit umzugehen und kenne einen der damit schon mehr gemacht 
hat.


Edit: Außerdem wäre nicht schlecht wenn der Mikrocontroller mit 5V läuft

: Bearbeitet durch User
von Rudolph R. (rudolph)


Lesenswert?

Simon E. schrieb:
> - 2x SPI
> - 1x UART
> - 29x Ausgänge
> - 3x Eingänge
> - schnell genug. Der MCU muss jede ms einen Interrupt machen der 768-bit
> über SPI überträgt aber trotzdem noch ein Drehimpulsgeber korrekt
> auslesen kann und dadurch ein Display steuert was auch über SPI läuft
> mit max. 100kHZ (oder ein normales Display wofür dann aber wieder mehr
> Ausgänge benötigt werden) und dazu noch UART mit einer Baudrate von
> 31250.
> -wenn möglich einen USB Anschluss. Obwohl der nicht wichtig wäre und
> sowieso nur etwas ist was ich programmieren würde wenn alles andere
> funktioniert.
> -Programmieren/Debuggen möglich über JTAG

Hmm, klingt eher nicht so speziell finde ich. :-)
ATMega1281 oder AT90USB1287 mit 1&Mhz, so für die Anzahl an I/Os.

Wobei ich zugeben muss das ich keine Ahnung habe, wie viel Rechnenzeit 
USB kostet, bisher hat mir ein FT232 immer gereicht, ich mache eher mal 
CAN oder LIN.

Bisher habe ich auch nicht mehr als einen SPI gebraucht, zwei, drei 
Chip-Select und fertig.

Wie schnell können die 768 Bit über den SPI gehen?
Bei 8MHz sind das doch nur 100µs.
Und die 16 Takte zwischen den Transfers könnte man auch nutzen, aber 
auch mit Pollen, UART und Display sehe ich da etwa 700µs/1ms Luft. :-)

Ich suche zwar quasi schon nach Jahren nach einer Alternativen 
Architektur, aber weil die AVRs ordentlich flink sind war der Druck da 
bisher nicht besonders hoch. :-)
Schwächen wie langsame ADCs lassen sich ja per SPI kompensieren. :-)

von Simon E. (skuldugery)


Lesenswert?

Rudolph R. schrieb:
> Simon E. schrieb:
>> - 2x SPI
>> - 1x UART
>> - 29x Ausgänge
>> - 3x Eingänge
>> - schnell genug. Der MCU muss jede ms einen Interrupt machen der 768-bit
>> über SPI überträgt aber trotzdem noch ein Drehimpulsgeber korrekt
>> auslesen kann und dadurch ein Display steuert was auch über SPI läuft
>> mit max. 100kHZ (oder ein normales Display wofür dann aber wieder mehr
>> Ausgänge benötigt werden) und dazu noch UART mit einer Baudrate von
>> 31250.
>> -wenn möglich einen USB Anschluss. Obwohl der nicht wichtig wäre und
>> sowieso nur etwas ist was ich programmieren würde wenn alles andere
>> funktioniert.
>> -Programmieren/Debuggen möglich über JTAG
>
> Hmm, klingt eher nicht so speziell finde ich. :-)
> ATMega1281 oder AT90USB1287 mit 1&Mhz, so für die Anzahl an I/Os.
>
> Wobei ich zugeben muss das ich keine Ahnung habe, wie viel Rechnenzeit
> USB kostet, bisher hat mir ein FT232 immer gereicht, ich mache eher mal
> CAN oder LIN.
Die Rechenzeit von USB ist egal, ich werde es dann so machen das ich den 
Rest pausiere während USB aktiv ist.
Mit so etwas wie dem FT232 hab ich glaube ich schon mal gearbeitet, das 
Problem mit den Teilen ist das du doch Programme wie Putty brauchst 
damit die funktionieren. Mit ganz normalem USB hätte ich mit Hilfe von 
meinem Vater ein eigenes Windows Programm gemacht (Er ist Software 
Entwickler).

> Bisher habe ich auch nicht mehr als einen SPI gebraucht, zwei, drei
> Chip-Select und fertig.
Ich habe ja 3 (bzw. 6 aber 4 in Daisy Chain) SPI Devices. Aber es wäre 
halt doof wenn ich gerade was an das Display schicken will und dann der 
Interrupt das unterbricht, vor allem wenn die unterschiedliche 
Einstellungen haben (Geschwindigkeit oder MSB/LSB first usw.)

> Wie schnell können die 768 Bit über den SPI gehen?
> Bei 8MHz sind das doch nur 100µs.
> Und die 16 Takte zwischen den Transfers könnte man auch nutzen, aber
> auch mit Pollen, UART und Display sehe ich da etwa 700µs/1ms Luft. :-)
Aber das doch nur wenn das jeweils 1 bit pro Befehl (Periode) 
abgearbeitet wird, aber dann wären da keine anderen Sachen im Interrupt 
wie If Abfragen o.ä.
Dazu kommt das ich mit Hilfe des ASF einfach sagen kann Baudrate des SPI 
ist z.B 100kHz. Ohne kann ich nur die Clock teilen, wenn die aber z.B. 
bei 16MHz ist um schnell genug zu sein komm ich aber nicht auf die max. 
100kHz des Display runter (16MHz/128 = 125kHz)

von WaddeHaddeDuDeDa (Gast)


Lesenswert?

Simon E. schrieb:
> Schaltplan würde mir reichen

Hier alle Dokumente zum UC3C Evaluationkit u.a. auch der Schaltplan.
http://www.atmel.com/tools/UC3C-EK.aspx?tab=documents

von Rene H. (Gast)


Lesenswert?

Versuch es mal so: 
http://www.avrfreaks.net/sites/default/files/AT32%20Schematic.png

Zumindest scheint das Entkoppeln bei 3.3V zu funktionieren. Das dürfte 
bei Deinen 5V nicht viel anders sein.

von Rudolph R. (rudolph)


Lesenswert?

Simon E. schrieb:
> Mit so etwas wie dem FT232 hab ich glaube ich schon mal gearbeitet, das
> Problem mit den Teilen ist das du doch Programme wie Putty brauchst
> damit die funktionieren. Mit ganz normalem USB hätte ich mit Hilfe von
> meinem Vater ein eigenes Windows Programm gemacht (Er ist Software
> Entwickler).

Nein, man braucht kein spezielles Programm wie Putty, damit ein FT232 
funktioniert.
Wenn man den an den USB ansteckt bekommt man einfach nur eine COM: 
Schnittstelle und so wie man vom Controller aus die Daten da rein 
schiebt purzeln die am PC aus der COM: wieder raus.

Man muss sich dann nur um ein Protokoll kümmern mit dem die Daten 
übertragen werden, alles was USB ist macht der USB/Seriell Wandler.

Simon E. schrieb:
>> Bisher habe ich auch nicht mehr als einen SPI gebraucht, zwei, drei
>> Chip-Select und fertig.
> Ich habe ja 3 (bzw. 6 aber 4 in Daisy Chain) SPI Devices. Aber es wäre
> halt doof wenn ich gerade was an das Display schicken will und dann der
> Interrupt das unterbricht, vor allem wenn die unterschiedliche
> Einstellungen haben (Geschwindigkeit oder MSB/LSB first usw.)

Dann schickt man das eben per Timer-Interrupt gesteuert nacheinander.
Mehrere SPI ist doch nur Luxus. :-)
Es gibt auch kaum einen Grund jede Änderung sofort an das Display weiter 
zu reichen.

Was für ein Display ist das überhaupt?

Simon E. schrieb:
>> Wie schnell können die 768 Bit über den SPI gehen?
>> Bei 8MHz sind das doch nur 100µs.
>> Und die 16 Takte zwischen den Transfers könnte man auch nutzen, aber
>> auch mit Pollen, UART und Display sehe ich da etwa 700µs/1ms Luft. :-)
> Aber das doch nur wenn das jeweils 1 bit pro Befehl (Periode)
> abgearbeitet wird, aber dann wären da keine anderen Sachen im Interrupt
> wie If Abfragen o.ä.

Im Interrupt macht man das sowieso nicht, es sei denn man hat DMA zur 
Verfügung und schubst nur kurz die Übertragung an und verlässt dann den 
Interrupt gleich wieder.
Dann kosten die 96 Bytes per SPI sogar nicht mal mehr 100µs, sondern 
<1µs.
Dazu muss man sich aber was überlegen wie man dafür sorgt das nicht 
automatisch Daten übertragen werden an denen gerade herum manipuliert 
wird.

Auf einem AVR mit Polling kann man die Zeit die der zum Übertragen auf 
dem SPI braucht anderweitig nutzen.
Ich habe mal ein Projekt gehabt bei dem 24 AD Kanäle zu 12 Bit per SPI 
eingelesen und per RS485->USB gesendet werden mussten.
Mit 2k Samples pro Kanal und Protokoll kamen wir dann auf 2 MBit für den 
UART.
In den freien Taktyklen wurden zwei Samples zu drei Bytes zusammen 
geschoben und eine CRC32 berechnet.
Grenzwertig, da kam aber am Ende stehr stabil alle 500µs ein Datenrahmen 
im PC an.
Das nächste Problem hatte dann der Software-Entwickler am PC der 
feststellen musste, dass sein Intel Quad-Core unter Java nicht mit 
2MBit/s klar kam. :-)

Simon E. schrieb:
> Dazu kommt das ich mit Hilfe des ASF einfach sagen kann Baudrate des SPI
> ist z.B 100kHz. Ohne kann ich nur die Clock teilen, wenn die aber z.B.
> bei 16MHz ist um schnell genug zu sein komm ich aber nicht auf die max.
> 100kHz des Display runter (16MHz/128 = 125kHz)

Äh, nein, das AFS kann sich nicht über die Begrenzungen der Hardware 
hinweg setzen, ausser vielleicht direkt mit Software.
Also wird eher passieren das wenn man 100kHz vorgibt in Wirklichkeit 
125kHz eingestellt werden.

von Simon E. (skuldugery)


Lesenswert?

> Simon E. schrieb:
>>> Bisher habe ich auch nicht mehr als einen SPI gebraucht, zwei, drei
>>> Chip-Select und fertig.
>> Ich habe ja 3 (bzw. 6 aber 4 in Daisy Chain) SPI Devices. Aber es wäre
>> halt doof wenn ich gerade was an das Display schicken will und dann der
>> Interrupt das unterbricht, vor allem wenn die unterschiedliche
>> Einstellungen haben (Geschwindigkeit oder MSB/LSB first usw.)
>
> Dann schickt man das eben per Timer-Interrupt gesteuert nacheinander.
> Mehrere SPI ist doch nur Luxus. :-)
> Es gibt auch kaum einen Grund jede Änderung sofort an das Display weiter
> zu reichen.
>
> Was für ein Display ist das überhaupt?
http://www.newhavendisplay.com/specs/NHD-0420D3Z-NSW-BBW-V3.pdf

> Simon E. schrieb:
>> Dazu kommt das ich mit Hilfe des ASF einfach sagen kann Baudrate des SPI
>> ist z.B 100kHz. Ohne kann ich nur die Clock teilen, wenn die aber z.B.
>> bei 16MHz ist um schnell genug zu sein komm ich aber nicht auf die max.
>> 100kHz des Display runter (16MHz/128 = 125kHz)
>
> Äh, nein, das AFS kann sich nicht über die Begrenzungen der Hardware
> hinweg setzen, ausser vielleicht direkt mit Software.


Edit: Vielen Dank schon mal an alle Antworten und Tipps!
> Also wird eher passieren das wenn man 100kHz vorgibt in Wirklichkeit
> 125kHz eingestellt werden.
Solche Sachen will ich ja ausprobieren. Da ist das DB leider sehr dumm 
geschrieben.
 "If bit n is written to zero, the clock divided by 2(n+1) is stopped. 
If bit n is written to one, the clock divided by 2(n+1) is enabled
according to the current power mode."
http://www.atmel.com/Images/doc32117.pdf Seite 66

Ich werde es dann mal so machen wie im Schaltplan der von 
WaddeHaddeDuDeDa gezeigt wurde aussprobieren. Ich melde mich dann wieder 
falls das geklappt hat oder nicht. Aber da ich dazu ein paar Bauteile 
erst bestellen muss kann es noch dauern.

: Bearbeitet durch User
von Rudolph R. (rudolph)


Lesenswert?

Simon E. schrieb:
>> Was für ein Display ist das überhaupt?
> http://www.newhavendisplay.com/specs/NHD-0420D3Z-NSW-BBW-V3.pdf

Na, das Ding ist ja mal so richtig lahm.
Autsch, 100ms PowerUp.
Den UART dafür zu benutzen wäre jetzt kein Nachteil. :-)

Hmm, 0xfe ist das Kommando Präfix, alles andere wird dann als Zeichen 
interpretiert?

4x20 ist doch nicht wirklich groß.

Da machst Du Dir einen Puffer aus vier Strings zu 20 Byte in den Du rein 
schreibst, das hat den Vorteil, dass Du quasi keine Verzögerung beim 
Ändern des Inhaltes hast.
Und wenn einmal pro ms der andere Kram durch ist schreibst Du ein 
Zeichen in das Display.
Plus Zeilen-Wechsel ergibt das 92 Bytes pro Aktualisierung, das sind 
immer noch 11 Mal pro Sekunde den kompletten Inhalt schreiben.
Zeile 1 und 3 sowie 2 und 4 liegen von den Adressen hintereinander, wenn 
man 1/3, 2/4 schreibt kann man sich noch zwei Mal das Positionieren des 
Cursors sparen.

Wenn das sowieso ein anderer SPI ist muss man nicht mal auf das Ende des 
Transfers warten, Checken ob SPI bereit, den Transfer anschieben, weiter 
machen, das kostet quasi gar keine Rechenzeit.

Da der SPI nur bis 100kHz läuft dann eben eine Stufe langsamer, 
hauptsache schneller als 1kHz. :-)

von Peter D. (peda)


Lesenswert?

Simon E. schrieb:
> Die LED ging auch, nur auf einmal meinte der Mikrocontroller das er 1,3A
> bräuchte und das es doch toll wäre wenn er zum kochen anfängt.

Da guckt man zuerst mal ins Datenblatt, was der MC im Betrieb typisch an 
Strom zieht.
Und wer dann für einen MC, der nur wenige mA braucht, ein 1,3A Netzteil 
nimmt, der hat es nicht besser verdient.
Rate mal, wozu es Labornetzteile mit einstellbarer Strombegrenzung gibt.

Ich hab früher als low-cost Strombegrenzer einfach nen 78L05 benutzt, 
der begrenzt auf etwa 100mA (160mA Puls). Dann überlebt jeder IC bei 
Schaltungsfehlern oder Verpolung.
Für thermische Zerstörung braucht man auch Leistung.

von Rene H. (Gast)


Lesenswert?

Peter D. schrieb:
> Ich hab früher als low-cost Strombegrenzer einfach nen 78L05 benutzt,
> der begrenzt auf etwa 100mA (160mA Puls). Dann überlebt jeder IC bei
> Schaltungsfehlern oder Verpolung.
> Für thermische Zerstörung braucht man auch Leistung.

Das ist so und bei einem Fehler konnte man direkt danach die Dachrinnen 
löten ;)

von Simon E. (skuldugery)


Lesenswert?

Peter D. schrieb:
> Da guckt man zuerst mal ins Datenblatt, was der MC im Betrieb typisch an
> Strom zieht.
> Und wer dann für einen MC, der nur wenige mA braucht, ein 1,3A Netzteil
> nimmt, der hat es nicht besser verdient.
> Rate mal, wozu es Labornetzteile mit einstellbarer Strombegrenzung gibt.

Ich hatte damit noch nie Probleme und habe alle meine Mikrocontroller 
ohne strombegrenzung laufen lassen. Aus Fehlern kann man ja lernen.  Btw 
ich habe ein Labornetzteil dafür verwendet ;)

von Peter D. (peda)


Lesenswert?

Simon E. schrieb:
> Ich hatte damit noch nie Probleme

Es gibt für alles ein erstes Mal.
Spätestens nach dem ersten gegrillten Chip hätte ich die Strombegrenzung 
auf einen ungefährlichen Wert eingestellt.

von Simon E. (skuldugery)


Lesenswert?

Für die die es Interessiert.

Hab mich jetzt für einen anderen MCU entschieden. Der Funktioniert 
soweit auch. Hab da zwar auch ein Problem. Aber dieses mal beim 
Programmieren...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.