fingertip sensor infineon + fpga +uController

U

u_stadler@yahoo.de

Guest
hi

ich haben ein problem:
ich will einen fingertip sensor von infineon mit einem FPGA (xilinx
spartan3 200) auslesen. ich haben den sensor bereits erfolgreich an
einen rabbit3000 ucrontoller angeschlossen und ausgelesen. das hat
sofort über spi funktioniert und der sensor hat laut datenblatt
funktioniert. nun will ich aber den sensor an einen fpga anschließen
und diesen auslesen. ich habe ein vhdl modell für ein spi interface
entwickelt und schreibe und lese die nötigen befehle für den sensor.
allerdings will nun der sensor nicht mehr. der erst befehl den ich mit
der logik schicke ("SetMode" befehl) wird noch richtig quitiert aber
der sensor liefert laut statusbyte nie gültige daten.
ich hab alles schon auf einem logikanalysator ausgemessen und auch
uController und fpga verglichen, kann aber keinen fehler finden.
hat hier jemand eine idee an was das liegen könnte oder auf was ich
besonders achten muss?

danke
Urban
 
Eine weitere SPI-Anschaltung für Controller findet
sich auf http://www.embeddedFORTH.de Heft 8 S. 8
Da sind allerlei Terminierungswiderstände verbaut
wie von Infineon empfohlen. Grössere Probleme
gabs da aber auch nicht. Takt ist jedoch
hier besonders niedrig.

Hardware auf Pegel, Leitungsterminierung
wegen Reflektion,
minimale Anstiegszeit am FPGA untersucht ?

Verzögerungsschleifen zwischen Zugriffen probiert ?

MfG JRD
 
Rafael Deliano wrote:
Eine weitere SPI-Anschaltung für Controller findet
sich auf http://www.embeddedFORTH.de Heft 8 S. 8
Da sind allerlei Terminierungswiderstände verbaut
wie von Infineon empfohlen. Grössere Probleme
gabs da aber auch nicht. Takt ist jedoch
hier besonders niedrig.

Hardware auf Pegel, Leitungsterminierung
wegen Reflektion,
minimale Anstiegszeit am FPGA untersucht ?

Verzögerungsschleifen zwischen Zugriffen probiert ?
Hier möchte ich noch hizufügen: Richtiges Timing/Polarität
zwischen Clock/Din/Dout?
 
ja verzögerungschleifen habe ich probiert. normalerweise wird der
sensor mit 4 MHz bei 3,3 V versorgung betrieben. ich habe ihn aber auch
probeweise mit nur 1 MHz betrieben.

Polarität und timing sollten auch passen. hab ich wie gesagt anhand
des logic analysers zwischen uController und fpga verglichen. kann
zwischen den beiden am analyser keinen unterschie feststellen.
 
u_stadler@yahoo.de wrote:
ja verzögerungschleifen habe ich probiert. normalerweise wird der
sensor mit 4 MHz bei 3,3 V versorgung betrieben. ich habe ihn aber
auch probeweise mit nur 1 MHz betrieben.

Polarität und timing sollten auch passen. hab ich wie gesagt anhand
des logic analysers zwischen uController und fpga verglichen. kann
zwischen den beiden am analyser keinen unterschie feststellen.
Da du die Antwort des Sensors am LogicAnalyzer auswertest, kann der Fehler nur in der Anforderung
der Daten liegen. Aber die sieht ja auch, laut LogicAnalyzer gut aus.

Kann es aber sein, dass 'analoge' Phänomene die Funktion beeinträchtigen: zu lange Leitungen (vor
allem zu lange Masseleitung), Masseschleifen, Störungen (Brumm) der Versorgungsspannung (vielleicht
ein Entkopplungskondensator vergessen). Hast du dir mal die Signale mit dem Oszi angeschaut (sind
sie wirklich rechteckig...)?

bye, Dan
 
am uController sind die Leitungen um einiges länger als am fpga (da
habe ich den sensor direkt aufs board gesteckt. ist ein spartan 3
starterkit). entstörmaßnahmen habe ich am uController auch keine
getroffen.
ich werde das teil aber mal auf die uni mitnehmen und im institut
durchmessen. da haben wir ein schönes digitales 4 kanal oszi.
aber ich kann mir beim besten willen nicht mehr vorstellen warum das
nicht funktioniert...
 
u_stadler@yahoo.de wrote:
am uController sind die Leitungen um einiges länger als am fpga (da
habe ich den sensor direkt aufs board gesteckt. ist ein spartan 3
starterkit). entstörmaßnahmen habe ich am uController auch keine
getroffen.
ich werde das teil aber mal auf die uni mitnehmen und im institut
durchmessen. da haben wir ein schönes digitales 4 kanal oszi.
aber ich kann mir beim besten willen nicht mehr vorstellen warum das
nicht funktioniert...
Also wenn hier wieder mal ein Student am verzweifeln ist und 'digital' eigentlich alles in Ordnung
ist finden sich immer ganz einfache Fehler:
- Masseleitung vergessen
- Keine direkte Masseverbindung, sondern erst über die Versorgungsleitungen zum Netzteil.
- kein Entkopplungskondensator (manchmal geht's, manchmal nicht).
- Falsche Pegel von digitalen Signalen, weil z.B. Ausgänge aus versehen auf Open Collector
konfiguriert wurden
- usw.

Viel Glück bei der Fehlersuche. Melde dich wenn du den Fehler gefunden hast..
 

Welcome to EDABoard.com

Sponsor

Back
Top