Hallo! Erstmal zum Warmwerden: Gibt es überhaupt µC mit einem echten PWM-Eingang?? [Eigentlich brauche ich ja nur nen digitalen Eingang mit einem vernünftigen Timer, der mir sagen kann, wie lange das Signal jetzt eigentlich HIGH bzw LOW war, oder?] Und nun ran an den eigentlichen Speck: Ich suche einen µC, der folgende Funktion ausführen kann: - Empfangen wird ein PWM-Signal, T=10Hz, welches mit mindestens 20kHz abgetastet werden sollte (um die für diese Anwendung notwendige Auflösung hinzubekommen). - Diese Information soll dann per UART an einen anderen Rechner weitergeleitet werden. ---> Der µC soll also nur ein ankommendes PWM-Signal in ein UART-Signal umwandeln. Nun hab ich mir den ATtiny23/13 herausgesucht, frage mich aber, ob mir der Speicher reicht? Kann das jemand abschätzen? Er bietet 2 Kbytes Flash, 0.125 Kbytes EEPROM und 128 Bytes SRAM. Was bedeutet das eigentlich? Der Flash beinhaltet den Code, oder? Und was treiben die anderen beiden? Wenn das nicht reicht, wen empfehlt Ihr mir dann? Der Timer muss jedenfalls mindestens 11 Bit breit sein für meine Anwendung. http://www.atmel.com/dyn/Products/Product_card.asp?part_id=3229 DANKE schon mal im Voraus!!!
> - Empfangen wird ein PWM-Signal, T=10Hz, welches mit mindestens 20kHz Du meinst wohl f=10Hz. Du solltest lieber einen µC mit Hardware-UART nehmen. Z.B. den Tiny2313 Du kannst so vorgehen: Timer laufen lassen und den Pegelwechsel des PWM-Signals mit dem Capture detektieren. Dann einfach den Timerstand auslesen. So musst du das System gar nicht ständig abtasten. Ist ein gängiges Verfahren. Der µC hat eigentlich überhaupt nichts zu tun. Lediglich ab und zu den Timer auslesen und den entsprechenden Wert ins UART-Register schieben. Flash-Speicher brauchts da nur sehr wenig. Wenn du den Tiny13 nehmen willst, musst du die UART per Software programmieren. Ist deutlich aufwändiger als HArdware-UART. Da dein µC jedoch nur senden soll und er sonst nichts zu tun hat, ist das auch eine Option. Wenn Software-UART, dann such in der Codesammlung mal nach Peter Danneggers Beispiel-Code. PS: Ich sehe, dass du noch nicht so viel von µCs weißt. Les dir mal folgendes durch: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial Musst dir halt mal mehrere Stunden Zeit nehmen. SRAM ist der Arbeitsspeicher für Variablen Flash ist der Festspeicher fürs erstellte Programm
>frage mich aber, ob mir der Speicher reicht? Kann das jemand abschätzen? >Er bietet 2 Kbytes Flash Das wird wohl reichen um eine Zeit zu messen und in einen Wert umzuwandeln und zu versenden.. >0.125 Kbytes EEPROM und 128 Bytes SRAM. Für die von dir beschriebene Aufgabe solltest du mit ~10Bytes SRAM auskommen Tipp: Wenn das Signal nicht prellt, wovon ich ausgehe, dann nutze die Input-Capture-Funktion des Atmels. So kannst du, wenn du willst, mit dem Prozessortakt (bis zu 16MHz) als Abtastfrequenz arbeiten..
Ja genau, klar, ich mein natüüürlich f=10Hz!!! Äh ja klar, ich mein ja auch den Tiny2313. Sorry, war etwas ungeschickt getippselt. [Der Tiny13 hat ja auch nur nen 8-bit Timer, der würde mir ja gar nicht reichen.] Also kannste mir den ATtiny2313 uneingeschränkt für diese Anwendung empfehlen? Wie sieht denn das bei dem mit dem Handling aus, was brauch ich in dem Fall noch als Infrastruktur um den µC mit meinem Code zu beschicken?
Der Tiny2313 sollte für deine Zwecke ideal sein. Was meinst du mit "Infrastruktur". Die Beschaltung? Ein Programmiergerät um den Code auf den µC zu übertragen? http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment
Oh 'tschuldigung, hab nicht zu Ende gelesen! Ich mein das Programmiergerät!
Willst du das ganze für Privat oder beruflich? Willst du ein Programmiergerät kaufen oder selbst bauen? Wenn kaufen: z.B. ATMEL STK500 Wenn bauen: Folgender Programmer ist sehr einfach zu bauen: http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
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.