Hi, ich hab ein kleines Problem. Und zwar geht es darum wie ich, unter Verwendung von Assembler, mit einem 90S2313 ein PCM-Signal in ein PWM-Signal umwandeln kann? Die Signallänge des PCM liegt dabei zwischen 1-2ns und soll dann mit dem Enablepin eines L298N verbunden werden. Wie kann ich meinem µC nun sagen das er auf unterschiedlich lange Impulse, mit unterschiedlichen Aktionen reagieren soll.(Syntaxtechnisch) Ich kenne mich leider noch nicht so gut aus mit den vielen Möglichkeiten der Befehle in der Assemblersprache. Und das schließt PWM mit ein.... Also bitte ich um sehr viele hilfreiche Beiträge. Viel Dank schon mal Benny
Hallo, da ich in der nächsten Zeit auch so etwas ähnliches machen möchte habe ich mir schon mal ein paar Gedanken darüber gemacht. Ich werde das PCM-Signal an INT0 anschließen und dann zuerst den Interrupt auf die steigende Flanke einstellen. In dem Interrupthandler muss dann der Timer gestartet werden und der Interrupt auf die fallende Flanke eingestellt werden. Beim nächsten Interrupt kannst du den Timer auslesen und diesen Wert z.B. mit einem andern vergleichen. Dann noch den Interrupt wieder umstellen, fertig. Da ich kein PWM in meiner Anwendung benötige und es auch sonst nur wenig benutzt habe kann ich dir nicht so viel dazu sagen, aber ich denke das ist im Datenblatt um 90s2313 ganz gut erklärt. Ich hoffe das war ein hilfreicher Beitrag ;-) Rudolph
Hab zufällig noch nen anderen Thread gefunden, der das selbe Thema hat: http://www.mikrocontroller.net/forum/read-4-7047.html
Hallo Rudolph, genau den Gedankenansatz hatte ich letzte Nacht auch. Die ankommende Impulslänge messen,mit mehreren Werten vergleichen und je nach Vergleichsergebnis das jeweilige Strungziel wählen.Ich muß mich aber erst noch ein bischen in die Timer-und Flankengeschichte reinfuchsen,sonst wird das nichts mit dem Code.Da wird wohl die nächste Nacht dran glauben müssen...:). Danke schonmal. Wenn jemand sonst noch gute Vorschläge hat...immer hinschreiben...:) Benny
Hallo Benny und Rudolph, weiß ja nicht was ihr da machen wollt, aber ich habe schon sehr viel mit dem 2313 gemacht. Ich habe da etwas von Impulslängen von 1-2ns gelesen. Ist das richtig? Die mit Hilfe des Interrupt-Einganges zu Messen wird etwas schwierig, gell? Olaf
neeeee, Bei Fernsteuerempfängern kommen 1 - 2 ms raus. Ist ein Tippfehler.
Shit...verdammter....!!! kaiser hat recht, da hat sich doch wahrhaftig ein Fehler bei mir eingeschlichen. Ich meinte "ms" Also nu richtig....Es handelt sich bei diesem uns hier vorliegenden Problem nicht, wie erst von mir geschrieben worden ist, um NANOsec.....nein!!... es sind MILLIsec.. Sorry, sorry war natürlich mein Fehler. Hab auch schon auf meinem Deck das "n" rausgebrochen...:) Zum Thema: Hallo Olaf, jetzt wo sich die Wogen der Unstimmigkeit gelegt haben, frage ich dich nach einem konkreten Lösungsansatz für mein Problem. Hast du schon Erfahrung mit diesem Thema gemacht? Wenn ja, schreib sie bitte....wenn du Zeit hast. An alle: Ist es zwingend erforderlich bei Impulslängen um 1-2ms(!!) mit Interrupt zu arbeiten? Kann man den µC nicht genau zeitlich darauf abstimmen, dass er alle 20ms ein Impuls verarbeitet, und nicht einfach nur auf den nächsten Impuls wartet? Oder kann man nicht von so kontinuierlichen Signalen des Empfängers ausgehen? (sprich. gibt es Schwankungen bezüglich Funkübertragung?) Dankbar für jede Hilfe Benny
Hi Benny, habe noch nicht so genau verstanden was du da wirklich machen willst, da ich mich im Modellbau nicht auskenne. Die Idee mit dem Int0 ist eigentlich schon ganz gut. Wenn es aber nur darum geht irgendwelche Impulsbreiten zu messen, liegt es natürlich nahe das mit dem Input-Capture (IPC) zu machen. Interrupt gesteuert würde ich das Ganze auf jeden Fall machen; ist schöner und -meine ich- einfacher. Der IPC kann jedenfalls auch ein Interrupt auslösen. Gruß, Olaf
An ICP hatte ich gar nicht gedacht, da ich keinen 90S2313 benutze sondern nur nen tiny11 und der hat kein ICP, aber is natürlich die beste Lösung. Rudolph
Ich habe einen Link: http://home.t-online.de/home/s.huehn/elektronik/fahrtregler/fahrtregler.htm Es gibt dort den gesamten Code als Quelltext zum Herunterladen, das sollte helfen.
!!TOPLINK!! Is genau das wonach ich gesucht habe,das sollte alle meine Fragen beantworten. Danke nochmal an alle für eure Hilfe... Gruß, Benny
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.