PWM empfangen, wandeln, per UART weitersenden - welcher µC?

Gast #975146
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
Gast
>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..
Gast
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?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.