Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller via USB vom PC programmieren?


von H. G. (ledi)


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?

von Ralf S. (spacedog) Benutzerseite


Lesenswert?

Den CP2102 musst du mit dem USART des Controllers verbinden, nicht mit 
dem SPI-Bus.

von Karl H. (kbuchegg)


Lesenswert?

Ich würde sagen:
Gar nicht.

Es sei denn du implementierst eine Software UART, die auf diesen Pins 
fusst. Nur ergibt das keinen Sinn, wenn du eine in Hardware 
implementierte UART zur Verfügung hast und die Pins frei sind.

von Timmo H. (masterfx)


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

von Rene Z. (renezimmermann)


Lesenswert?

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

garnicht, verbinde sie mit RXD & TXD am AT90PWM316 und ändere deine 
Firmware. Wenn RXD & TXD nicht mehr frei sind nimm eine SoftwareUart.

Gruß

P.S. zu langsam ;-)

von H. G. (ledi)


Lesenswert?

Alles klar!

Danke für Eure Hilfe!

von TheBug (Gast)


Lesenswert?

Ginge mit einem IOW56-DG USB zu SPI Adapter:
http://www.codemercs.com/256/?L=0

von Michael G. (linuxgeek) Benutzerseite


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

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
Noch kein Account? Hier anmelden.