Hallo liebe Gemeinde, ich brauch mal wieder geballte Praxiserfahrung ;) ich hatte bisher Funkchips mit nem Atmega in betrieb (eigene Boards). Nun habe ich eine neue Version des Funkchips bekommen, wo der !RESET-Eingang nun ein RESET-Eingang ist. Also die Logik des R-Eingangs des Funkchips hat sich geändert. Das ist auch wirklich so! Hatte es nämlich bei dem Boardlayout NICHT berücksichtigt. Erst als ich die Resetleiterbahn zum Funkchip durchtrennt hatte, konnte ich wieder funken. Das Problem ist jetzt, dass ich den funkchip jedesmal abziehen muss, wenn ich den Atmega mit ISP flashen will. Ich vermute, da der Funkchip nicht mit resetet wird, stört dieser ISPschnittstelle, da der Funkchip ja per SPI mit dem µC kommuniziert. Was mache ich da? Am besten wäre es ich könnte das !RESET-Signal vom Board abgreifen, in ein negierendens Etwas stecken und hinten kommt dann halt RESET raus. Das könnte ich dann an den Funkchip schließen und alles müsste super sein. Gibt es sowas? Wenn ich mir eine Lösung mit nem Portpin vom mC versuche zu überlegen, finde ich keine Lösung. Da ich davon ausgehe, dass beim flashen alle Portpins "low" sind. über schlaue anregungen (lösungsorientiert) freue ich mich natürlich sehr! ;) mfg
Christian Peskov schrieb: > Gibt es sowas? Natürlich, angefangen von einem Transistor und 2 Widerständen über ein Logik-Einzelgatter bis zu einem übriggebliebenen HC04-Gatter oder sowas ähnliches. Gruss Reinhard
Du meinst Eingang high--> ausgang low Eingang low--> ausgang high? Nennt sich inverter Entweder einfacher Transistor und ein paar Widerstände oder als fertiges IC.
Christian Peskov schrieb: > Ich vermute, da der Funkchip nicht mit resetet wird, stört dieser > ISPschnittstelle, da der Funkchip ja per SPI mit dem µC kommuniziert. Deshalb sieht man ja für jedes /SS auch einen Pullup vor und schon sind alle SPI-Slaves still.
Oh man. Ziemlich blöd von mir!! Auf nen Transistor hätte ich auch kommen sollen :-( recht herzlichen dank!!
hallo nochmal... habe die angehängte Schaltung mir ausgeguckt. kann mir einer tipps zur Widerstandswahl geben? ich würde ja den vorhanden !Reset-Widerstand als Basiswiderstand verwenden. Als Collector-widerstand (RESET) würde ich einen ähnlich dimensionierten nehmen. Sagen wir für beide 60kΩ?! Meine Betriebsspannung bzw High-Level ist +3V. mfg
Christian Peskov schrieb: > hallo nochmal... > > habe die angehängte Schaltung mir ausgeguckt. > kann mir einer tipps zur Widerstandswahl geben? Wieviel Strom brauchst du bei VO ? Ich vermute mal: wenig Wieviel Strom darfst du bei VS voraussetzen? Ich vermute mal: nicht allzuviel aber noch problemlos im mA Bereich. R1 .. 10K R2 .. 10k Warum? Meine Standardwerte für einen 08/15 Inverter, der in Logikschaltungen eingeklinkt wird, bei denen es auf den Strom nicht weiter ankommt und nur die Pegel interessant sind. Dazu ein Wald und Wiesen NPN - BC337 oder ähnliches. Und die 10k Widerstände kommen aus dem Säckchen, das ich im 100-er Pack gekauft hab - daher nehm ich sie. Wenn du magst, kannst du natürlich auch mit den Datenblättern die genauen Werte feststellen und das Ganze durchrechnen. Wie mein alter Herr gerne sagte, wenn ich mich in der Werkstatt zu kompliziert anstellte (Drehen, Bohren, Fräsen): Mach kein Fest draus!
Karl Heinz Buchegger schrieb: > Warum? Meine Standardwerte für einen 08/15 Inverter, der in > Logikschaltungen eingeklinkt wird, bei denen es auf den Strom nicht > weiter ankommt und nur die Pegel interessant sind. Dazu ein Wald und > Wiesen NPN - BC337 oder ähnliches. Oder noch einfacher: BCR133, der hat alles drinnen. Gibts sogar Dual :) rgds
Karl Heinz Buchegger schrieb: > Warum? Meine Standardwerte für einen 08/15 Inverter, der in > Logikschaltungen eingeklinkt wird, bei denen es auf den Strom nicht > weiter ankommt und nur die Pegel interessant sind. Dazu ein Wald und > Wiesen NPN - BC337 oder ähnliches. Oder noch einfacher: BCR133, der hat alles drinnen. Gibts sogar Dual :) rgds 6A66 schrieb: > der hat alles drinnen. Sorry, den Collectorwiderstand nicht - übersehen :(
BCR133 guck ich mir an! ja ich habe wohl bvergessen zu sagen, dass das Fehler bei mehreren Boards eingebaut wurde. So auch für einen Handtaster (baterriebetrieben). Da soll natürlich, im Normalbetrieb( kein reset) so wenig Strom wie möglich fliesen. Deshalb ist mein Widerstand an !RESET 60kΩ. wenn ich den selben zum als Collectorwiderstand nehme, habe ich doch am Collector (mein RESETsignal) die gleichen Bedingungen?! ALso auch geringen Stromfluss. Und ddas Verhältnis von 1 bleibt auch gleich. wird sich ja zeigen, ob es damit problemlos geht. Danke
Christian Peskov schrieb: > BCR133 > guck ich mir an! Hallo Christian, das mit dem BCR133 ist leider - ich gestehe da war ich zu schnell - nur die halbe Miete. Der braucht auch einen Collectorwiderstand. Kannst also alle anderen Transistoren auch verwenden, brauchts halt dann zwei Widerstände.. rgds
Hallo nochmal... ich habe ja gedacht, dass sich das ganze gelöst ist, jedoch bin ich leider unfähig. Im Anhang seht ihr dir schon beschriebene Ausgangssituation. Reset zum IC musst getrennt werden, damit er überhaupt anläuft (Layout fehler). Zum Flashen des Atmegas muss der IC abgezogen werden, da er nicht auf RESET gezogen wird (nervig). Dann habe ich mich bei euch hier schlau gemacht. Eure vorschläge waren eindeutig und einleuchtend. Darauf hin habe ich es wie im zweiten Anhang skiziert dran "gefrickelt". Ätzend TTHBauteile an SMD Bauteile und ner Platine von 3*3 cm an zu löten und alles mit Drähten in der Luft stehen zuhaben. Aber erst muss es einmal funktionieren, bevor das Layout angepasst wird. Leider klappt es bei nicht. habe einige Widerstandswerte ausprobiert. Auch habe ich des Basis des Transistors mal einen extra Widderstand spendiert. Zuviel verschiedenes (und auch durcheinander) um euch das hier strukturiert wieder geben zu können. Mal kommt der !ReSET des Atmegas nicht auf 3 Volt; mal bleibt der RESET des ICs auf 0. Ich hatte auch schon eine Kombination, bei der es ohne IC klappte! Also der Atmega ließ sich flashe und die RESET-bahn zum IC hatte dann auch das benötigte HIGH-Signal. Mit dem IC brach das HIGH-Signal jedoch ein. Vllt kann einer aus dem Zweiten Anhang heraus mir sinvolle Werte für die Widerstände empfehlen? (ACHTUNG Batteriebetrieb) Danke vielmals!!
Hast du an dem ATMega nicht noch einen Pin frei? Wenn ja könntest du den Reset vom Funkmodul doch über den steuern, noch einen möglichst hohen PullDown Widerstand hin und gut. Oder hab ich noch einen Denkfehler? EDIT: Die Portpins des AVR sind im Reset zustand hochohmig. Und es muss natürlich ein PullUp sein...
Find ich schon merkwürdig, wie krampfhaft daran festgehalten wird, die Symptome zu bekämpfen, statt die Ursache. Gib jedem SPI-Slave am Chip-Select seinen Pullup, wie es sich gehört. Dann kannste ungestört Proggen.
Peter Dannegger schrieb: > Find ich schon merkwürdig, wie krampfhaft... Dazu fällt mir wenig freundliches ein. Und was mache ich mit dem Pull-Up wenn ich nicht proggen will, sondern das teil im Betrieb haben will? wieder auslöten? Die RESET-Logik der verbauten SPI Bauteile ist verschieden!!!!! Steht aber oben oft genug. Junge es geht doch darum eine Lösung zufinden von mir aus auch mit zusätzlichen bauteilen aber so ne neunmalkluge aussage, welche auch noch null Informationsgehalt hat, hat mich nicht weiter gebracht. Aber danke für deine tolle beteildigung! ... Chr. Messener schrieb: > Hast du an dem ATMega nicht noch einen Pin frei? ja na klar! ^^ prinzipiell könnte ich das bestimmt über nen portpin steuern, jedoch muss ich ja im betrieb LOW am IC Slave haben und zum flashen HIGH. Meinst du Messener, dass ich per Pull-Up den Reset auf 3 Volt lege und per Portpin diesen dann auf GND ziehe um den Slave in Betrieb zunehmen? Klingt in meinen (leienhaften) Ohren recht gut. Den Vorschlag werde ich später oder heute nacht mal aufgreifen und versuchen :-) danke... weitere infos sehr gerne!
Christian Peskov schrieb: > Und was mache ich mit dem Pull-Up wenn ich nicht proggen will, sondern > das teil im Betrieb haben will? wieder auslöten? Im Normalbetrieb sollte doch ein Pull-Up nicht stören, oder? Der sorgt nur dafür, dass der Chip-Select-Eingang auf High gezogen und damit der Slave inaktiv wird und Ruhe gibt, solange der Microcontroller im Resetzustand ist. Sobald der Microcontroller fertig programmiert ist, übernimmt dann wieder der entsprechende Ausgang die Aktivierung/Deaktivierung des Slave.
Felix Pflaum schrieb: > Im Normalbetrieb sollte doch ein Pull-Up nicht stören, oder? Der sorgt > nur dafür, dass der Chip-Select-Eingang auf High gezogen und damit der > Slave inaktiv wird und Ruhe gibt, solange der Microcontroller im > Resetzustand ist. hm.. entweder versteh ich deinen gedankengang nicht oder du meinst das so wie messener... ALso wenn ich gleich im Labor bin würde ich es so versuchen (ich glaube so meinte es messener) wie im Anhang skizziert. Meinungen? Wenn ich nun wie von euch vorgeschlagen den Portpin des Megas als Ausgang definiere und auf HIGH setzte, sollte der IC ausbleiben (ressettet). Wenn ich den dann auf LOW setzte sollte doch am IC auch low am RESET eingang sein, wa? mfg
Patrick W. schrieb: > Man beachte: ChipSelect und RESET sind nicht das selbe! dem stimme ich zu. ich habe mit meinem chipselect aber auch keine probleme... ich glaube du hättest weiter oben anfangen sollen zu lesen ;) mfg
Was Peter und ich meinen: Solange der Funkchip deaktiviert ist (Chip-Select-Eingang des Funkchips liegt auf High-Pegel), reagiert er nicht darauf, was an den anderen Leitungen passiert, weil ihm klar ist, dass er nicht gemeint sein kann. Wenn man also sicherstellt, dass der Funkchip deaktiviert ist, während der Controller geflasht wird, funkt er auch nicht dazwischen.
Christian Peskov schrieb: > ich habe mit meinem chipselect aber auch keine probleme... > ich glaube du hättest weiter oben anfangen sollen zu lesen ;) Ich hab schon richtig gelesen. Die Ursache für Dein Problem ist aber nicht das Reset, sondern der floatende Chip-Select. Floatende Eingänge sind nie gut. Sie erhöhen zumindest den Stromverbrauch. Vermutlich ignoriert der SPI-Slave den floatenden Chip-Select, wenn er im Reset ist. Aber das ist dann von hinten durch die Brust ins Auge. Die allgemein gebräuchliche Lösung ist ein Pullup. Erst wenn der MC arbeitet, überstimmt er den Pullup.
so alles klar! ich weiß nciht was ihr mit dem ChipSelecet wolltet, weil das (zumindest für mich) nicht deutlich wurdet worauf Ihr hinaus wolltet! Mein ChipSelect funktierter ja. Der Zusammenhang fehlte mir. Aber es hat gerade ebend klick gemacht. Statt des RESETs des SPI-Slave, hänge ich den NSS (!ChipSelect) per Pullup auf HIGH. das PROG zieht den ohne hin bei bedarf auf LOW und bei flashen antwortet der Slave nicht mehr. Habs ebend gelötet gehabt und es klappt endlich. Danke das ist echt die optimale Lösung (so scheint ee mir im Moment). Ein R mehr und das RESET hänge ich dann nun an einen Portpin, statt !RESET. End gut danke ;)
Christian Peskov schrieb: > und das RESET hänge ich dann nun an einen Portpin, statt > !RESET. Vielleicht an den Reset auch noch einen PullUp, wenn der zu floaten anfängt hilft evtl. der ChipSelect auch nicht wenn das Funkmodul unkontrolliert Resetet(->Datenblatt)
Christian Peskov schrieb: > Zum Flashen des Atmegas muss der IC abgezogen werden, da er nicht auf > RESET gezogen wird (nervig). Was ist das überhaupt für ein ominöses IC, bei dem der Hersteller mal eben das Signal auf einem Pin ändert und was sagt das Datenblatt?
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.