Forum: Mikrocontroller und Digitale Elektronik Raspberry-PI JTAG/ISP/I2C/RS232/RS485 Board


von Peter H. (hornbach)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich vielen Projekten setze ich regelmässig uCs (ARM/AVR/Atmel 8051) und 
Xilinx CPLDs ein. Dafür braucht es verschiedene Programmiergeräte für 
JTAG und ISP. Zum Debugger nutze ich meist auch zusätzlich RS232. Meist 
habe ich diverse parport-Dongles benutzt...

Nun haben aber viele neue Rechner weder Seriell- noch Parallel-Ports. 
Meist ist nur noch USB vorhanden.

Um wider bequemer entwickeln zu können, habe ich auf Basis eines 
Raspberry-PI ein Programme/Debugger/IO-Board entwickelt, das folgende 
Busse zur Verfügung stellt:

* JTAG (ARM 14-Pin header) 3.3-5V, defined by target VCC
* SPI  (AVR 10-Pin header) 3.3-5V, defined by target VCC
* I2C 3.3V (3-Pin header)
* I2C 5V   (3-Pin header)
* RS232 3.3V (3-Pin header)
* RS232 5V   (3-Pin header)
* RS232 standard +/-12V (SubD-9 Male)
* RS485 (Terminal 4-pin)

Der PI stellt ja schon einen I2C und SPI Bus zur Verfügung, sowie einen 
RS232. Das Signal-Routing wird dabei von einem CPLD übernommen, der 
entweder per Software vom PI aus gesteuert wird oder auf Drucktaster 
reagiert.

Momentan ist das alles aber nur gezeichnet, weder gebaut noch getestet.
Bevor ich es zum LP-Hersteller schicke wollte ich es euch mal zeigen.

Ich würde mich sehr über ein paar Kommentare freuen!
Natürlich ist alles OpenSource!

von Frank K. (fchk)


Lesenswert?

Andere Leute nehmen dafür einfach einen FTDI FT2232H oder FT4232H. Der 
kann das ganze auch, mit weniger Aufwand.

Das Problem ist ja nicht die Hardware, sondern die Softwareunterstützung 
durch AVRStudio, Keil uVision4 (Arm, 8051, C167), Impact (Xilinx),... 
Und dieses Problem löst Du genau überhaupt nicht.

fchk

von Peter H. (hornbach)


Lesenswert?

Ja, das stimmt, der FT2232 ist sicher ein nützliches Device, es stellt 
vielleicht die gleichen Ports wie der PI bereit (wenn auch nicht 
parallel aber da könnte man ja immer noch mehrere FT2232s nehmen), der 
Schaltungsaufwand danach verringert sich aber auch nicht wirklich. Ja, 
die Inputs sind vielleicht 3.3V tolerant, liefern aber trotzdem keine 
echten 5V-Signale.
D.H. Pegelwandler, ESD-Schutz etc, etc bleibt noch immer. Abgesehen vom 
CPLD ist ja auf meinem Board auch nicht mehr drauf…

Vielleicht mache ich mal eine Variante von dem Board, die statt den 
PI-GPIO-Connectoren einfach einen FT2232 und einen USB-Anschluss hat. In 
soweit danke für den Hinweis!

Aber zurück zum PI:

Mit dem PI kann ich avrdude benutzen und habe damit schon mal die 
gesamte Atmel-Palette an Board. Ist auch schon gemacht worden:

http://kevincuzner.com/2013/05/27/raspberry-pi-as-an-avr-programmer/

oder im ARM-Bereich mit dem OpenOCD-GDB-Eclipse:

https://github.com/synthetos/PiOCD/wiki/Using-a-Raspberry-Pi-as-a-JTAG-Dongle
http://www.ethernut.de/en/tools/eclipse/confdebug.html

Sogar die Xilinx-CPLDs lassen sich vom PI aus proggen:
http://teholabs.com/docs/cpild:overview

Das ist ja das schöne an OpenSource: Es muss ja nicht für alle passend 
sein, nicht wie im Kommerziellen Bereich.

Ich möchte eine solide Programmier/Entwicklungsumgebung auf Basis 
Eclipse, Gnu-Toolchain, GDB, openocd und avrdude. Genau dafür ist die 
Hardware ausgelegt. Mit dem PI habe ich mehr als genug Rechenleistung 
und den kompletten Linux-Stack (ausser den IDEs kann ich auch alles 
direkt auf dem PI machen). Ausserdem kann ich das Ganze auch per 
Ethernet/Wireless mit meinem Laptop verbinden. Somit wird auch das 
Ground-Problem eliminiert ...

: Bearbeitet durch User
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.