Hallo zusammen, einige werden jetzt wahrscheinlich die Hände über dem Kopf zusammen schlagen... Ich habe das Problem, dass ich die im Anhang befindliche Schaltung mit einem AT89C51ID2 habe (parallel zum Reset-Taster ist mittlerweile ein Kondensator gelötet). Leider will diese Schaltung aber so rein gar nichts tun. Nichtmal ein ganz einfaches Programm, mit dem nur Ports auf high geschaltet werden (was ich per angeschlossenen LEDs überprüfen wollte) funktioniert (das Thema hatten wir auch schon in einem extra Thread). Jetzt habe ich noch einiges ausprobiert und bin jetzt so weit, dass ich den Controller nichtmal mehr programmieren kann, weil FLIP keine Verbindung per RS232 herstellen kann... Das Einzige, was mir als Grund einfallen würde ist, dass ich beim letzten Programmieren den Haken in FLIP für "X2" gesetzt habe. Laut Manual zum Controller soll dadurch der Eingangstakt nicht mehr durch 2 geteilt werden, was bedeuten würde, dass mein Controller mit 40 MHz arbeiten würde - was er laut Datenblatt auch kann. Seitdem erhalte ich immer TimeOuts, wenn ich versuche mich mit FLIP mit dem Controller zu verbinden. Ein Anschluss eines Oszilloskopes hat mir gezeigt, dass der Controller zwar das RS232-Signal empfängt, darauf aber nicht antwortet. Und jetzt meine Fragen: 1. Wie kriege ich den Controller wieder dazu mit mir zu reden? 2. Fällt irgendjemandem noch was ein, was an der Schaltung sein könnte, dass diese nicht funktioniert? Ich habe meine Schaltung auch mal mit der eines StarterKits von Atmel verglichen und dabei sind mir folgende Punkte aufgefallen: - Atmel hängt den ALE-Pin per PullUp auf VCC, bei mir ist der Pin offen - Atmel hat zwischen den Pins XTAL1 und XTAL2 einen Quarz hängen, ich habe einen Oszillator am Eingang XTAL1. Passt das, oder hätte ich auch einen Quarz verwenden sollen/müssen? Das Datenblatt zu dem Controller findet Ihr unter http://www.atmel.com/dyn/products/product_card.asp?part_id=3237 (falls da jemand reinschauen möchte). Gerade beim zweiten Punkt würde ich Euch bitten mir auch zu schreiben, wenn Ihr der Meinung seid, dass es eigentlich funktionieren sollte/müsste, da ich ehrlich gesagt nicht besonders viel (um nicht zu sagen fast keine) Erfahrung mit dem selber bauen von Controllerschaltungen habe und deswegen gar nicht weiß, ob das so funktionieren kann oder nicht (im letzten Post habe ich eine Antwort erhalten, mit der ich nichts anfangen konnte und auf Nachfrage leider nichts mehr, das wäre dann unter Beitrag "Programm funktioniert im Simulator, aber nicht auf Controlle" zu finden, aber bitte hier antworten). Danke fürs lesen meines ziemlich langen Posts und viele Grüße
Sehe ich das richtig das da ein 40 MHz Oscillator verwendet wird ? Das geht nicht wenn X2 Mode gewählt ist, löte mal nen 22,118 Mhz ein.
Ja, da ist ein 40 MHz Oszillator drauf. Wieso geht das nicht? Laut Datenblatt kann der Controller doch an Osc.A bis 40 MHz.? Heißt also, wenn ich nen anderen Oszillator einlöte - und mir wohl oder übel den alten damit kaputt mache, weil ich mir relativ sicher bin, dass ich den nicht in einem Stück heil rausbekomme 'spricht' der Controller wenigstens wieder mit mir? Und könnte das dann auch das Problem mit dem Programm gewesen sein? Habe gerade auch mal bei einem großen Elektronikverkauf mit C geschaut, der hat nur Oszillatoren mit 20 bzw. 24 MHz, keine 22,118 MHz. Also bräuchte ich dann wohl die 20 MHz-Variante, oder? Gäbe es auch ne andere Möglichkeit den Controller wieder zum Leben zu erwecken und anschließend halt ohne X2-Mode mit dem 40 MHz-Oszillator zu arbeiten? Danke für die Antwort und viele Grüße
Also, schau mal ins Datenblatt, das käme auf 80 MHz raus. X2 verdoppelt deinen Takt und das geht nicht mit 40 MHz. Ich verwende immer einen Quarz anstelle eines Osci. Bausteins, 22,118 bietet sich wegen der Baudraten an. Also, wenn du einen Quarz z.B. 20 MHz anlötest sollte der Baustein wieder mit dir reden.
Sorry, wenn ich nochmal frage, aber ich würde es gerne verstehen und nicht nur machen... Auf der Seite 17 des Datenblattes sieht man ja die funktionelle Beschreibung für den Quarzeingang. Dort sieht es für mich so aus, als ob der Eingangstakt (bei mir die 40 MHz) normalerweise - also ohne X2 - halbiert wird. Das ergäbe dann 20 MHz CPU Frequenz. Wenn ich jetzt den X2-Mode einschalte wird durch den MUX doch das Teilen durch 2 umgangen. Somit sollte doch dann die CPU Frequenz (wenn CKRL = 0xff ist) 40 MHz betragen, oder? Von einer Verdopplung der Eingangsfrequenz sehe ich in dem Bild nichts - oder 'lese' ich das Bild falsch? Wie gesagt, is ned bös gemeint, aber verstanden möchte ich das ganze schon haben für die Zukunft. Werd mal sehen, ob ich hier was mit ca. 20 MHz-Frequenz finde. Viele Grüße
Ich habs auch nicht richtig erklärt, sorry. Les mal X2 Mode, da wirds erklärt. Da steht auch ein klarer Hinweis zu dem Thema. ... Ich suchs mal, habe das Datenblatt nicht hier.
Datenblatt 1.Seite: – In Standard Mode: 40 MHz (Vcc 2.7V to 5.5V, Both Internal and External Code Execution) 60 MHz (Vcc 4.5V to 5.5V and Internal Code Execution Only) – In X2 Mode (6 Clocks/Machine Cycle) 20 MHz (Vcc 2.7V to 5.5V, Both Internal and External Code Execution) 30 MHz (Vcc 4.5V to 5.5V and Internal Code Execution Only) Also 40MHz sind meiner bescheidenen Meinung nach über 30MHz. Peter
Hm, okay. Was lernen wir daraus: auch die 1. Seite des Datenblattes sollte man lesen... Dachte mir vermutlich damals so nach dem Motto: Da werben sie ja sowieso nur, was das Ding alles kann, das werden sie später schon auch nochmal hinschreiben... Danke für die Hilfe! Aber nochmal kurz: Könnte das dann auch das Problem mit dem Programm gewesen sein? Werd gleich mal nen Rechtecksgenerator dranhängen und schauen, ob ich das einfache Programm dann auch zum Laufen bringe - hab den 40 MHz-Oszillator jetzt kaputt gemacht beim Auslöten, deswegen gehts jetzt daweil mal nur extern... Viele Grüße
Tja, kaum macht mans richtig, schon funktionierts auch! Jetzt geht auch mein einfaches Programm zum anschalten der LEDs... Vielen Dank Euch beiden für die Hilfe und viele Grüße
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.