Forum: Mikrocontroller und Digitale Elektronik AVR durch anderen AVR programmieren


von TheMason (Gast)


Lesenswert?

Hallöchen,

ich hätt da mal ne kurze Frage.
Ich hab vor längerer Zeit mich mal daran versucht einen AVR durch einen 
anderen AVR programmieren zu lassen. Hat auch soweit funktioniert.
Ich hab dabei das Hardware SPI benutzt. Keine größeren Probleme soweit.
Allerdings bekomme ich mit einem Software SPI keine Verbindung hin (also 
der AVR "antwortet" nicht).
Meine kurze Frage ist : Geht das überhaupt mit einem Software-SPI oder 
ist das vorgeschriebene Timing (vor allem der Duty-cycle der Clock) so 
eng das nur ein Hardware-SPI in Frage kommt ?!

Ich frage deshalb weil ich neben dem zu programmierenden AVR noch eine 
SD-Karte angeschlossen habe (liegt nahe oder ? *gg) und wenn ich beides 
nutze (natürlich nicht gleichzeitig :-)) habe ich das Problem das der 
AVR etliche Connect-Versuche benötigt um überhaupt wieder zu reagieren.

Ich hab auch nicht mehr alle Details im Kopf. Mir geht es mehr um die 
Frage ob jemand schonmal mit einer Software SPI einen anderen AVR 
programmiert hat, und ich einfach nur zu doof bin, oder ob es generell 
Probleme mit dieser Konstellation gibt.

von Floh (Gast)


Lesenswert?

solange du das Timing des HW-SPI mit dem Soft-SPI ungefähr nachbildest, 
muss es funktionieren.
Auch is das Timing bei SPI eigentlich nicht so kritisch.
Was ich mir vorstellen könnte, dass du vlt beim Soft-SPI die 
Taktfrequenz zu hoch gelegt hast. Beim ISP-Betrieb muss die Frequenz 
kleiner als 1/4 der Betriebsfrequenz des zu programmierenden uCs sein.
:-)

von Vlad T. (vlad_tepesch)


Lesenswert?

TheMason schrieb:
> Ich frage deshalb weil ich neben dem zu programmierenden AVR noch eine
> SD-Karte angeschlossen habe (liegt nahe oder ? *gg) und wenn ich beides
> nutze (natürlich nicht gleichzeitig :-)) habe ich das Problem das der
> AVR etliche Connect-Versuche benötigt um überhaupt wieder zu reagieren.

wenn du sowieso nicht beides gleichzeitig brauchst, wieso benutzt du 
dann nicht für beides die Hardware-SPI?
Genau dafür gibt es doch die Slave-Select-Leitungen

von TheMason (Gast)


Lesenswert?

@vlad

>wieso benutzt du dann nicht für beides die Hardware-SPI?

Hatte ich angedeutet :

Dann habe ich das Problem das der
AVR etliche Connect-Versuche benötigt um überhaupt wieder zu reagieren.

Wenn ich einen Sektor gelesen hab und danach einen Connect auf den AVR 
machen möchte dauert es mehrere Sekunden bzw versuche ehe der AVR sich 
Connecten lässt. Daher wollte ich SPI für SD und AVR getrennt machen. 
Und die wahl für den SW-SPI fiel dann auf den AVR da dieser ohnehin 
nicht mit Fullspeed programmierbar ist.

von Vlad T. (vlad_tepesch)


Lesenswert?

TheMason schrieb:
> Wenn ich einen Sektor gelesen hab und danach einen Connect auf den AVR
> machen möchte dauert es mehrere Sekunden bzw versuche ehe der AVR sich
> Connecten lässt. Daher wollte ich SPI für SD und AVR getrennt machen.
> Und die wahl für den SW-SPI fiel dann auf den AVR da dieser ohnehin
> nicht mit Fullspeed programmierbar ist.

aso, ich dachte das "beides nutze" bezog sich auch SW- und HW-SPI

von Rene B. (themason) Benutzerseite


Lesenswert?

@Floh

Die SW SPI kann mit zwei _delay_loop_1 (100) pro Bit denke ich nicht zu 
schnell sein :)), eher zu langsam wenns denn sowas gibt :-)
Meine Frage zielte daher halt so ein bissl darauf ab wie kritisch das 
Timing da ist, vorallem die Setup/Hold-Zeiten zw CLK und MOSI. Das SPI 
im Prinzip relativ unkritisch ist, ist mir schon klar.
Und man sieht es ja auch an den Parallelport-Programmern die unter 
Windows 95/XP/usw laufen :-)
Insofern müsste ich mir die Frage wohl selbst beantworten können. Sprich 
ich bin wohl doch zu blöd :-)


@Vlad
Ne. Hardware SPI war für beides (über mehrere Select Leitungen) 
angedacht. Schade das das so nicht funktioniert hat. Na ja. Werds wohl 
noch hinbekommen, denke ich :-)

Danke Vlad und Floh für die Hilfe.

von Jobst M. (jobstens-de)


Lesenswert?

TheMason schrieb:
> Ich hab auch nicht mehr alle Details im Kopf. Mir geht es mehr um die
> Frage ob jemand schonmal mit einer Software SPI einen anderen AVR
> programmiert hat, und ich einfach nur zu doof bin, oder ob es generell
> Probleme mit dieser Konstellation gibt.

Ich programmiere meine AVRs mit einem 8051.
Ein Programmer mit einem ATm48 ist in Planung, dafür fehlt mir 
allerdings im Moment die Zeit.

Das Timing ist absolut unkritisch, solange man nicht zu schnell wird.


Gruß

Jobst

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.