PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Attiny26 und Kommunikation mit PC?



Brantiko
05.01.2008, 22:51
Hallo,
Ich möchte gerne meine bestehende Software (Bascom..) umgestalten und würde daher den Wert einer Variabel gerne auf dem Bildschirm anzeigen.
Was eignet sich da am besten? Wenn ich das richtig sehe hat der Attiny26L keine UART Schnittstelle?
Ich bestize das myAVR USB Programmer Board. Ist es vielleucht möglich ohne grosse externe Beschaltung mit dem Board zwischen Chip und PC zu kommunizieren?

Habe schon die Suchmaschine verwendet aber nichts gefunden!

Gruss

Alex

linux_80
06.01.2008, 02:57
Hi,

schau Dir mal in der Bascom-Hilfe den Befehl open an, damit lässt sich eine Software-UART öffnen. Den Pin kannst Du Dir aussuchen, an diesem muss dann auch der MAX232 o.ä hängen.

deSilva
06.01.2008, 03:15
Man muss auch nicht immer einen "MAX" dran schalten. Ich habe niemals Probleme mit einem 47k Widerstand in der Leitung PC-> Mikro und 220R in der Leitung Mikro-> Pc gehabt.. Aber nicht verwechseln, gell! Den 220 kann man auch weglassen...

Dann muss man natürlich auch die Schnittstelle auf "invertierten Betrieb" einstellen, was sonst durch die üblichen Transistoren oder den MAX232 geschieht.

Besserwessi
06.01.2008, 12:52
Eine andere Alternative zum richtigen Pegelwandler sind 2 Optokoppler. Dabei wird die eine Handshakeleitung als positive Spannungsversorgung and der Schnittstelleseite benutzt. Geht aber leider nur mit fast allen Programmen auf der PC Seite.

sep
03.02.2008, 17:47
Hallo,

kann man vielleicht den ISP zur kommunikation zweckentfermden? Der hängt ja schließlich schon an den Pins MISO, MOSI und SCK

Kann man sich damit vielleicht eine RS232-Schnittstelle (soft-uart) stricken ohne neue Kabel oder zusätzliche Pins am uC zu brauchen?

Mit einem Parallelport-ISP müsste das ja machbar sein, aber leider besitze ich einen "richtigen" AVRISP mkII kompatiblen.

Hat da jemand ne idee?

McJenso
03.02.2008, 19:47
Hallo,

dafür hat der ein USI. Es gibt dazu nauch eine App Note AVR307, die habe ich mir aber nicht angeschaut.

Gruß

Jens

Besserwessi
04.02.2008, 10:09
Die ISP Schnittstelle benutzt SPI Datenübertragung. Auf der PC Seite feht diese Schnittstelle, wesshalbt man ja die ISP Programmierer haben muß. Leider ist da oft fest vorgegeben wer den Takt ausgibt. Die software UART geht an fast beliebigen Pins, wphl auch den ISP Pins. Man sollte wenn möglich einen Quarz am Tiny26 haben. Mit dem internen Oszillator wird das relativ knapp von der Genauigkeit.

sep
04.02.2008, 15:33
Schon klar, ich habe aber gesehen, dass avrdude im Terminalmodus mit "send" einfach mehrere Bytes übder das ISP-Kabel via SPI an den Mikrocontroller sendet (und gleichzeitig von dort liest)

Ich vermute, dass das mittels CMD_SPI_MULTI in der Kommunikation mit dem ISP funktioniert.
Dabei wird vermutlich der AVR durch RESET=LOW in den Programmiermodus versetzt.

Nun wäre meine Frage die: Wenn ich eine eigene Software schreibe, die wie avrdude den ISP mit CMP_SPI_MULTI anspricht, also einfach Daten via SPI an den AVR sendet, den AVR aber nicht in den Programmiermodus versetzt (RESET bleibt unangetastet), dann könnte ich doch mit dem AVR kommunizieren. Ich müsste nur auf dem AVR eine Art Soft-SPI Programm hinterlegen.

Letztendlich ist die Idee sozusagen das Gegenteil eines Bootloaders. Beim Bootloader möchte man die ISP-Schnittstelle einsparen und eine zur Kommunikation eh implementierte Schnittstelle wie UART oder I2C zum Programmieren nehmen.
Ich möchte dagegen den ISP, den ich eh zum Programmieren brauche, nun auch zum kommunizieren verwenden.

Dabei bleibt bei mir bis jetzt die Frage offen: Lässt der ISP-Adapter überhaupt zu, dass man mit dem AVR über CMD_SPI_MULTI kommuniziert, ohne dass der Programmiermodus aktiviert wurde?

Besserwessi
04.02.2008, 21:04
Bei vielen ISP Adaptern gibt der ISP Adapter den Takt vor. Der Programmer ist also immer der Master. Sonst sollte das von der Hardwareseite keine Problem geben. Bei einem Programmierer wie dem AVRISP-MKII könnte es aber sein das die Software das nicht unterstützt. Hängt von der Software im Programmierer ab.

wkrug
05.02.2008, 10:13
Ich meine, der Software UART ist schon der richtige Weg.
Als Schnittstelle zum PC könnte man auch mit einem FT 232 RL Chip eine USB Schnittstelle impementieren.
Wenn der Stromverbrauch deiner Controllerschaltung nicht zu hoch ist, kann die USB Schnittstelle auch gleich die Stromversorgung deiner Schaltung übernehmen, wenn nicht andere Gründe dagegen stehen.