Mikrocontroller via USB vom PC programmieren?

OP #2559261
Lesenswert?

Hallo!

Ich betreibe auf meinem Mikrocontrollerboard eine Real-Time-Clock. Die 
RTC möchte ich aber nachstellen können, wenn sie ungenau wird. Also 
sagen wir 1x pro Jahr.

Hierzu möchte ich aber keinen Programmer anhängen und die Register der 
RTC neu beschreiben sondern einen PC, der über USB-Schnittstelle mit dem 
Mikrocontroller (AT90PWM316) verbunden ist. Die RTC soll dann vom PC aus 
mit einem kleinen Programm nachgestellt werden können.

Als USB / UART Bridge möchte ich den CP2102 verwenden.

Meine Frage:
Wie verbinde ich die Anschlüsse des CP2102 (TxD und RxD) mit der 
ISP-Schnittstelle (MISO, MOSI, SCK) des UC?
#2559271
Lesenswert?

H. G. schrieb:
> Meine Frage:
> Wie verbinde ich die Anschlüsse des CP2102 (TxD und RxD) mit der
> ISP-Schnittstelle (MISO, MOSI, SCK) des UC?
Der CP2102 ist ein USB => UART, kein USB => SPI. Von daher solltest du 
den TxD und RxD des CP2102 lieber mit dem RxD und TxD des AVRs verbinden 
und via UART die Uhr stellen.
Dann denkst du dir einfach ein kleines Protokoll aus. z.B. Sendest du 
dann "setTime 23:45:22" und/oder "setDate 21.02.2012" an den µC und 
dieser Wertet es dann aus und setzt entsprechend die RTC Register
Persönliche Seite #2563012
Lesenswert?

In meinem aktuellen Projekt habe ich sowas gemacht, u.a. auch eine 
Option zur Synchronisation der lokalen Zeit mit der RTC eingebaut. Ich 
kann Dir aber sagen dass es nicht gerade ein Zuckerschlecken sein wird, 
wenn Du sowas zum ersten mal machst. Code, Schaltplan usw. kannst Dir 
hier anschauen:

http://viewvc.coremelt.net/viewvc/avr/ultimate_relay_card/

im Prinzip wird folgendes gemacht:

- lokale Zeit (oder eben Benutzereingabe) auslesen und in die 
entsprechenden Felder aufsplitten (struct tm)
- in einem (von Dir festgelegten) Protokoll sendest Du die Daten an den 
Controller
- dort decodieren und in entsprechende Befehle fuer die Echtzeituhr 
umwandeln

Greets,
Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren