Forum: Mikrocontroller und Digitale Elektronik JTAG über Funk


von M.T. (Gast)


Lesenswert?

Hallo zusammen.

Ich möchte gern meine Jtag-Schnittstelle ( AVR Dragon -> Mega64 ) per 
Funk umsetzen, da die Steuerung jeweils umprogrammiert werden muss, 
jedoch an einer äußerst ungemütlichen Stelle platziert ist. An was muss 
ich da denken und welche Funk Lösungen könntet ihr Empfehlen?

Distanz: ca. 10m und 3 bis 3 Wände.


Habt vielen Dank für eure Hilfe

von Stefan S. (chiefeinherjar)


Lesenswert?

Muss es JTAG sein? - genügt nicht ein einfacher Bootloader zum Flashen 
der neuen Firmware.
Da würde ein einfaches Bluetooth-Uart-Modul ausreichen.

von pegel (Gast)


Lesenswert?

Es gibt einige Projekte wo der AVR mit einem Raspi programmiert wird.
Wie wäre es dann über WLAN?
Dann ist auch gleich die Sicherheit gewährleistet.

von M.T. (Gast)


Lesenswert?

WLAN finde ich etwas zu übertrieben für die Aufgabe. Ich dachte eher an 
ein Modul so an die 400MHZ, welches mir 5-8 Kanäle 1zu1 überträgt.

Was das Programmieren betrifft möchte und muss ich bei JTAG 
bleiben...leider

von Georg A. (georga)


Lesenswert?

M.T. schrieb:
> Ich dachte eher an
> ein Modul so an die 400MHZ, welches mir 5-8 Kanäle 1zu1 überträgt.

Dann wirst du schon nach dem ersten Mal wieder hinlaufen dürfen ;) Da 
brauchts einen Fehlerschutz und eigentlich was bidirektionales, wenn das 
vernünftig gehen soll.

Ganz ehrlich: Jede Methode, die das zuverlässig kann, was du willst, ist 
technologisch meilenweit über einem Mega64, dann kannst dann gleich die 
statt dem Mega64 hernehmen ;)

von Tom (Gast)


Lesenswert?

Georg A. schrieb:
> Dann wirst du schon nach dem ersten Mal wieder hinlaufen dürfen ;) Da
> brauchts einen Fehlerschutz und eigentlich was bidirektionales, wenn das
> vernünftig gehen soll.
Nun ja, JTAG ist bidirektional. Und da man mit JTAG immer an den 
TAP-Controller kommt, kann man es im Fehlerfall einfach nochmal 
versuchen.
Aber eine direkte Funk-JTAG-Lösung ist mir auch nicht bekannt.

Der Programmer mit einem Raspi o.ä. funktauglich zu machen erscheint 
auch mir die schnellste + günstigste Lösung zu sein, um den 
Anforderungen gerecht zu werden...

von Jim M. (turboj)


Lesenswert?

M.T. schrieb:
> WLAN finde ich etwas zu übertrieben für die Aufgabe. Ich dachte eher an
> ein Modul so an die 400MHZ, welches mir 5-8 Kanäle 1zu1 überträgt.

Das wird aber vergleichsweise lahm.

Und ein per SSH angesteuerter Raspberry Pi, der per AVRDUDE und GPIOs an 
den JTAG oder ISP Pins wackelt, wäre praktisch fertige Hardware. Mit 
ziemlicher Sicherheit auch noch billiger als die 433 MHz Lösung.

> Was das Programmieren betrifft möchte und muss ich bei JTAG
bleiben...leider

Den Mega64 müsste AVRDUDE ach via JTAG unterstützen.

von M.T. (Gast)


Lesenswert?

Vielen Dank euch erstmal für die guten Tipps und Antworten.

433 hatte ich wegen der größeren Reichweite angedacht. Ich werde mir die 
Rasp-Variante genauer betrachten.

Zu allem "Übel" hat die Schaltung 5 separate 64er, die ich ( auch per 
Funk ) erstmal auch separat ansteuern muss...per MUX. Also es wird nicht 
leicht.


...Hat meine Hebamme auch schon gesagt ?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nimm WLAN und einen USB-Device-Server.

Das lässt sich mit einem WLAN-fähigen Raspberry Pi (Zero W genügt) 
umsetzen, die Software dafür ist mit "Virtual Here" für diverse 
Betriebssysteme verfügbar und Du musst an Deiner Softwareumgebung 
praktisch nichts gegenüber dem direkten Betrieb Deines JTAG-Adapters am 
USB-Port ändern.

Da Du nur ein USB-Device ansteuern willst (den JTAG-Adapter), kostet 
Dich "Virtual Here" auch kein Geld.

https://virtualhere.com/usb_server_software
https://virtualhere.com/usb_client_software

Das ist nicht "übertrieben", sondern einfach umzusetzen und praktikabel. 
Jede andere Variante wäre ein erheblicher Mehraufwand.

Da Du das 433-MHz-Band erwähnst: In diesem darfst Du nicht im 
Dauerbetrieb senden, sondern nur mit einem relativ niedrigen Duty-Cycle, 
was die erzielbare Datenrate verringert. Obendrein müsstest Du Dich um 
die komplette Fehlererkennung und -Korrektur selbst kümmern (wenn z.B. 
der Außentemperaturfühler Deines Nachbarn sich meldet, willst Du nicht, 
daß das Deine JTAG-Session stört), d.h. das in WLAN etablierte und lange 
erprobte Rad komplett neu erfinden.

von Jim M. (turboj)


Lesenswert?

M.T. schrieb:
> Zu allem "Übel" hat die Schaltung 5 separate 64er, die ich ( auch per
> Funk ) erstmal auch separat ansteuern muss...per MUX. Also es wird nicht
> leicht.

Keine Ahnung ob der so viele GPIOs hat, aber man könnte dem AVRDUDE in 
seiner avrdude.conf mehrere "Linux GPIO" Programmer mit jeweils 
unterschiedlichen Pins definieren.

Besser wäre es wenn die µC alle in einer JTAG Chain angeordnet wären, 
aber das geht z.B. nur wenn die auch alle an der selben Spannungsquelle 
hängen.

Oder sind die räumlich so weit auseinander dass man sowieso 5 RPi 
benutzen müsste...?

von Sputnik (Gast)


Lesenswert?

Da hätte man wohl vorher dran denken sollen.

5 Abaküsse an einer ENIAC. Harharhar...

von M.T. (Gast)


Lesenswert?

Vielen Dank an alle Antworten.

Zunächst...Eine JTAG Chain ist umzusetzen und die 64er sind alle auf 
einer Platine. Jedoch soll die JTAG als Flasher fungieren, nicht als 
Debugger. Ginge das auch per Chain?

Deine Variante Rufus werde ich studieren und mich melden. Ich denke auch 
das klingt am praktikabelsten....Im Mom

von pegel (Gast)


Lesenswert?

https://www.nongnu.org/avrdude/user-manual/avrdude_5.html

Die erste Erklärung zu jtagchain klingt doch schon interessant für 
mehrere Atmegas in der Kette.

von M.T. (Gast)


Lesenswert?

Ich hab mir jetzt nen Raspberry Pi zero w kommen lassen und bin zunächst 
mal begeistert. Wie ich schon meinte ist der Aufwand des OS und dessen 
config relativ hoch für jemand ungeübten. Aber das bekommen wer hin ?

von Martin S. (strubi)


Lesenswert?

Moin,

auf dem Linkit Duo (MT7688 SoC, damals unter 10€) habe ich mal nen 
JTAG-Proxy-Server implementiert. Da auf dem Ding noch ein Atmega 32U 
sitzt, kann man auch die Bitbanging-Variante praktizieren oder gleich 
die Pins für einen weiteren AVR anzapfen. Ein modifizierter AVRdude ist 
von Haus aus mit dabei..

von Andreas (Gast)


Lesenswert?

Dieses Projekt könnte deine Anforderungen erfüllen, vorausgesetzt WLAN 
ist für dich doch okay:

https://github.com/emard/wifi_jtag

bzw.
https://www.youtube.com/watch?v=oTjehRMI2_Q
https://www.youtube.com/watch?v=UEWo4s_5H1s&t=

Leider hatte ich bis jetzt selbst keine Zeit, das wifi_jtag von github 
auszuprobieren.

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.