Forum: Mikrocontroller und Digitale Elektronik Wie kann ich mir eine ISD als OCD oder SPI vorstellen?


von Walter (Gast)


Lesenswert?

Hallo,

ich habe bisher Intel- und SilLab-Mikrocontroller über USB und RS232 
programmiert. Unter OCD kann ich mir gar nichts vorstellen, Wikipedia 
hilft hier auch nicht weiter.

Braucht man nicht noch einen weiteren IC um einen uC per SPI 
programmieren zu können? Was für eine Verbindung habe ich dann 
letztendlich am Toostick?

Ich denke da an einen AT89LP6440.

Vielen Dank!

von Walter (Gast)


Lesenswert?

Ist die Frage so doof?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Welche Frage?

OCD ist ein Begriff, der im Zusammenhang mit dem JTAG-Interface für ARMe 
auftaucht. Ursprünglich von der Firma Macraigor entwickelt, ist jetzt 
meistens von OpenOCD die Rede, das wiederum ist eine Softwarelösung, um 
mit einem aus einem FT2232 gebauten USB-JTAG-Adapter zu arbeiten.

Andere Controller haben andere Programmier- und Debugschnittstellen und 
werden je nach Controller entsprechend angesteuert.

Was exakt hast Du vor und was ist Dir jetzt unklar?

von Michael L. (hasimaus)


Lesenswert?

Hallo,

@Rufus
Ist es korrekt, dass die Atmel Controller den OCD (OnChip Debug) für's 
Programmdebuggen und Speichermanipulieren benutzten und zusätzlich eine 
SPI Schnittstelle für die Flashprogrammierung benutzt wird ?

@Walter
OCD auf den AT89LP6440 ist einfach das Kürzel für "On-Chip Debug". 
Allgemein betrachtet ist es so wie Rufus sagt.

Bei modernen Prozessoren wird die JTAG oder eine serial-wire-debug 
Schnittstelle für Programmieren und Debug benutzt. Die Wiggler sind 
meist nur Schnittstellenkonverter von USB. Mehr Intelligenz benötigen 
die Tools im Falle von Tracemöglichkeit, die zusätzliche Pins am Chip 
und Logik auf dem Chip benötigt. So ungefähr jedenfalls.
Auch von mir, was ist jetzt nochmal die Frage gewesen ?

Gruß

PS: ISD ist quasi wie OCD?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Michael Leusink schrieb:
> Ist es korrekt, dass die Atmel Controller den OCD (OnChip Debug) für's
> Programmdebuggen und Speichermanipulieren benutzten und zusätzlich eine
> SPI Schnittstelle für die Flashprogrammierung benutzt wird ?

Wer sind "die Atmel Controller"?

Atmel stellt ziemlich viele Controller her, die aus /vollkommen 
unterschiedlichen/ Familien kommen, die vom Hersteller abgesehen nichts 
gemeinsam haben:

MSC-51
AVR und AVR32
ARM

Du müsstest also schon etwas präziser werden.

von Walter (Gast)


Lesenswert?

Ja, vielleicht war meine Frage für das was ich wollte wirklich etwas 
kompliziert zu verstehen.

-----------
Parametric Product Table für 8051 von Atmel:

Ich schaue mir da die Spalte zu ISP an. Ich verstehe diese Spalte so, 
daß dort beschrieben wird, welche Schnittstelle ich zur Programmierung 
des Mikrocontrollers zur Verfügung habe.

Programmierung über UART (RS232) oder USB kann ich mir vorstellen.
Unklar ist mir wie SPI/OCD z.B. beim AT89LP6440 realisiert wird.
Wie sieht das hier aus?

Für mein Verständnis spricht man mit SPI andere ICs an. Daher vermute 
ich, daß man zur Programmierung über SPI über einen weiteren uC/IC 
programmiert, der vielleicht USB oder UART zur Verfügung stellt. Ist das 
so?

Rufus t. Firefly schrieb:
> OCD ist ein Begriff, der im Zusammenhang mit dem JTAG-Interface für ARMe
> auftaucht.

Mit Rufus seiner Aussage entnehme ich, daß OCD für JTAG steht.
Der uC wird also entweder über einen weiteren IC programmier oder über 
JTAG, richtig?

------------
OK, nun komme ich zu den ATmegas:
Hier fällt mir am Product Table auf, daß die Spalte ISP völlig fehlt.

Ist es richtig, daß diese uC alle eine einheitliche 
Programmierschnittstelle haben? Ist dies JTAG?


Vielen Dank für Eure Antworten.

von spess53 (Gast)


Lesenswert?

Hi

>OK, nun komme ich zu den ATmegas:
>Hier fällt mir am Product Table auf, daß die Spalte ISP völlig fehlt.

>Ist es richtig, daß diese uC alle eine einheitliche
>Programmierschnittstelle haben? Ist dies JTAG?

Nein. Alle AVRs haben ISP. Bei neueren ATTinys nennt sich das TPI. 
Zusätzlich ist, bei fast allen, Debugwire oder JTAG zu Debuggen 
vorhanden.

MfG Spess

von Michael L. (hasimaus)


Lesenswert?

Rufus t. Firefly schrieb:
> Wer sind "die Atmel Controller"?

Sorry, ich gebe zu, dass die Frage nicht präzise genug formuliert war. 
Schließlich gibt es von Atmel mindestens fünf verschiedene 
Produktgruppen. Ich kann leider auch jetzt nicht mehr nachvollziehen 
welches Datenblatt ich auf hatte. Ich vermute ATmega48. Ich komm' 
nochmal, wenn ich's genau weiß.
XmegaD3 gibt es ja jetzt sogar mit PDI, um die Liste der verschiedenen 
Schnittstellen noch zu verlängern.

Gruß

von Walter (Gast)


Lesenswert?

Sorry, ich stolpere immer wieder über den Begriff ISP. Bitte korrigiert 
mich ob ich falsch liege.

Einmal verstehe ich Ihn mehr als Oberbegriff oder Prinzip, neben der 
HV-Programmierung.

Zum anderen kann man mit Ihm glaube ich auch eine physikalische 
Schnittstelle beschreiben, wie dies unter 
http://www.mikrocontroller.net/articles/AVR_In_System_Programmer#Atmel_AVRISP_MKII 
in der Einleitung kurz und bündig der Fall ist.

Wird die hier beschriebene Schnittstelle vielleicht auch C2 oder 2wire 
genannt?

von Nachtaktiver (Gast)


Lesenswert?

Mit Two Wire Interface ist meistens I²C oder SM-Bus gemeint.. .

Worauf willst du mit deiner Fragestellung hinaus?
Bisher ist mir noch nicht klar was du eigentlich wirklich wissen 
möchtest.

von Dieter W. (dds5)


Lesenswert?

> Sorry, ich stolpere immer wieder über den Begriff ISP. Bitte korrigiert
> mich ob ich falsch liege.

> Einmal verstehe ich Ihn mehr als Oberbegriff oder Prinzip, neben der
> HV-Programmierung.

Ja, das ist richtig. Das Kürzel ISP steht für "in system programmable".

Das weist nur darauf hin, dass das Bauteil zum Programmieren in der 
Schaltung verbleiben kann und nicht extern programmiert werden muss - 
wär bei eingelöteten SMD Bauteilen auch schwierig (es sei denn man macht 
das vor dem Einlöten).

Damit ist keine Aussage über die technische Realisierung der 
Schnittstelle verbunden, die muss noch getrennt beschrieben sein.

von Walter (Gast)


Lesenswert?

Dieter Werner schrieb:
> Damit ist keine Aussage über die technische Realisierung der
> Schnittstelle verbunden, die muss noch getrennt beschrieben sein.

Wunderbar, d.h. ISP hat nur eine Bedeutung und kann nicht mißverstanden 
werden! Ich bin nur immer wieder ins Straucheln gekommen, weil ISP z.B. 
neben JTAG genannt wurde. Daher hatte ich zuerst vermutet, daß ISP auch 
als Realisierung zu deuten ist. Aber diese Frage ist ja nun zum Glück 
abgeschlossen!

--------------

Nachtaktiver schrieb:
> Mit Two Wire Interface ist meistens I²C oder SM-Bus gemeint.. .

C2 ist mir nur in den Sinn als mögliche Realisierung gekommen, weil ich 
so bei SilLab-Mikrocontrollern programmiert habe. Aber dieser Teil 
erledigt sich ja nun, wie oben beschrieben auch.

Vielen Dank!

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.