Forum: Mikrocontroller und Digitale Elektronik ADC und ISP an einem SPI Bus


von Rike (Gast)


Angehängte Dateien:

Lesenswert?

Moin,

ein kurze Frage. Ich habe bin dabei ein Layout mit zwei voneinander 
getrennten Platinen zu entwerfen. Auf dem einen Board befindet sich ein 
analoges Front End welches Spannungen in einen ADS1255 ADC schiebt. Das 
SPI vom ADS1255 leitet die Daten dann per Flachbandkabel auf die zweite 
Platine weiter, wo ein Atmega die Daten empfangen soll. Mir bereitet der 
Anschluss des ISP auf der zweiten Platine Probleme. Ich hätte die ISP 
Leitungen zur Programmierung mit Vias zu den SPI Leitungen geführt. Zu 
sehen in dem wunderschönen Paintbild. Die gestrichelten Linien laufen 
auf dem Bottom Layer, da es zwingend zu Kreuzungen der Leitungen kommt. 
Mit den Vias kommen sie wieder auf den Top Layer. Ich frage mich jetzt 
ob das so clever ist. Im Betrieb (ISP nicht angeschlossen) ist der ISP 
Header ja unbeschaltet. Könnten da Störungen eingestreut werden, die mir 
die ADC-Werte versauen? Am ADS1255 sind in der MOSI, !CS und SCLK 
jeweils 100 Ohm Widerstände wie im Datenblatt gezeigt angeschlossen. Die 
Schaltung kann/darf ich hier leider nicht hochladen deshalb das schöne 
Prinzip-Bild. Gibt es ansonsten eine gängige Methode wie der ISP-Header 
in den SPI-Bus auf der Platine integriert wird?

Schönen Abend

von Lothar (Gast)


Lesenswert?

Rike schrieb:
> SPI vom ADS1255

Der ist ja nicht schnell, da könntest Du auch ein Software SPI mit 
anderen Pins machen.

> ISP Leitungen zur Programmierung

Dazu wieder der Hinweis: alle uC ausser AVR machen ISP über einen UART 
dann gibt es das Problem gar nicht.

von Rike (Gast)


Lesenswert?

Erstmal danke für die Antwort.

Lothar schrieb:
> Der ist ja nicht schnell, da könntest Du auch ein Software SPI mit
> anderen Pins machen.

Keine schlechte Idee allerdings gibt es nicht mehr so viele freie Pins 
und wenn nur sehr um den Chip verstreut.

Lothar schrieb:
> Dazu wieder der Hinweis: alle uC ausser AVR machen ISP über einen UART
> dann gibt es das Problem gar nicht.

Der AVR ist mir aber vertraut und um mich in andere einzuabeiten fehlt 
in diesem Projekt die Zeit. UART ist aber ohnehin auch belegt.

Weitere Meinungen?

Beitrag #5214628 wurde vom Autor gelöscht.
von (prx) A. K. (prx)


Lesenswert?

Rike schrieb:
> Im Betrieb (ISP nicht angeschlossen) ist der ISP
> Header ja unbeschaltet. Könnten da Störungen eingestreut werden, die mir
> die ADC-Werte versauen?

Wenn sich dieser Anschluss einigermassen in der Nähe der Verdrahtung 
zwischen ISP und Platinenverbindung befindet, dann spielt er keine 
Rolle.

Interessanter könnte es werden, wenn die Platinen weit auseinander sind 
und dadurch die SPI-Verbindung so in Richtung halber Meter geht. Nicht 
der offene Stecker zählt, sondern die Kabellängen.

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Lothar schrieb:

> Dazu wieder der Hinweis: alle uC ausser AVR machen ISP über einen UART
> dann gibt es das Problem gar nicht.

Zum einen ist das nichtmal näherungsweise die Wahrheit (was den 
Unterschied zu "anderen" ISP-Systemen betrifft), denn dort kollidiert 
die Sache halt ggf. einfach nur mit anderen Pins und deren 
Funktionalitäten...

Zum anderen ist eigentlich auch absolut kein Problem (was den AVR8 
betrifft). Man muß nur dafür sorgen, dass im Reset-Fall alle Teilnehmer 
des SPI-Busses die Schnauze halten, damit ISP ungestört arbeiten kann.

Nur Vollidioten stellt das vor irgendein Problem. Alle anderen 
spendieren schlicht allen SPI-Busteilnehmern einen Pulldown/Pullup an 
ihrem /CS bzw. CS-Eingang und der Bus bleibt im Reset-Fall frei für ISP. 
Und mehr ist auch nicht nötig, damit ISP funktioniert.

Ein wenig kompliziert wird die Sache nur dann, wenn SPI-Busteilnehmer 
mit unterschiedlichen Pegeln zu behandeln sind und zusätzlich ISP. Ist 
aber auch nicht unlösbar. Man muss einfach nur wissen, was man tut, also 
keine umwissende, FUD-verbreitende Voll-Dumpfbacke sein...

von Rike (Gast)


Lesenswert?

A. K. schrieb:
> Wenn sich dieser Anschluss einigermassen in der Nähe der Verdrahtung
> zwischen ISP und Platinenverbindung befindet, dann spielt er keine
> Rolle.

Klinkt vielversprechend. Abstand zur Buchsenleiste werden so 0,5 - 1 cm 
sein und vom ISP-Header bis zu den Vias 1,5-2 cm. Ist das "einigermaßen" 
in der Nähe?

A. K. schrieb:
> Interessanter könnte es werden, wenn die Platinen weit auseinander sind
> und dadurch die SPI-Verbindung so in Richtung halber Meter geht. Nicht
> der offene Stecker zählt, sondern die Kabellängen.

Kabellänge zwischen den Platinen wird so um die 5 cm betragen.

c-hater schrieb:
> Nur Vollidioten stellt das vor irgendein Problem. Alle anderen
> spendieren schlicht allen SPI-Busteilnehmern einen Pulldown/Pullup an
> ihrem /CS bzw. CS-Eingang und der Bus bleibt im Reset-Fall frei für ISP.
> Und mehr ist auch nicht nötig, damit ISP funktioniert.

Der !CS-Pin am ADC ist mit 1k auf 3V3  gezogen. Ging auch nicht darum ob 
der ISP funktioniert. Das habe ich schon öfter so gemacht allerdings 
hing da am Ende kein rauscharmer ADC.

c-hater schrieb:
> Ein wenig kompliziert wird die Sache nur dann, wenn SPI-Busteilnehmer
> mit unterschiedlichen Pegeln zu behandeln sind und zusätzlich ISP

Läuft alles mit 3V3. Also keine Pegelprobleme.

von (prx) A. K. (prx)


Lesenswert?

Rike schrieb:
> Klinkt vielversprechend. Abstand zur Buchsenleiste werden so 0,5 - 1 cm
> sein und vom ISP-Header bis zu den Vias 1,5-2 cm. Ist das "einigermaßen"
> in der Nähe?

Allerdings. Bei dieser Distanz spielt es keinerlei Rolle.

> Kabellänge zwischen den Platinen wird so um die 5 cm betragen.

Auch das ist im vernachlässigbaren Bereich.

Schon Shakespeare wusste es: Viel Lärm um nichts.

: 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.