Eigenes Cyclone IV Board "Can't access JTAG chain"

OP #5860791
Lesenswert?

Hallo,

ich habe ein eigenes Entwicklungsboard mit einem EP4CE6E22C8N designed 
und 5 Stück fertigen lassen. Allerdings wollen die Dinger nicht so recht 
und ich kann nicht die Ursache entdecken. Daher hoffe ich, dass ihr mich 
mit eurer Erfahrung unterstützen könnt.

Das Problem:
Ich kann zwar über AS den Flash programmieren, aber dieser nicht den 
FPGA. Über JTAG geht es dann garnicht. Die CONF_DONE LED leuchtet dabei 
durchgehend. Also ist CONF_DONE durchgehend auf 0V.

Hier erstmal meine Schaltung:
Bild 1: Ich verwende für 3,3V und 1,2V Schaltregler und für 2,5V einen 
Linearregler. Außerdem habe ich einen Verpolungsschutz. Die Schaltung 
funktioniert aber soweit.

Bild 2: Die Spannungsversorgungsanschlüsse haben jeweils Kondensatoren 
zum Glätten.

Bild 3: Nochmal ein Überblick

Bild 4: Für JTAG, NSTATUS und MSEL sind meines Erachtens auch die 
passenden Pull-ups und -downs benutzt.

Bild 5: Für AS hat der Flash seinen eigenen Anschluss.

Bild 6: Zuletzt gibt es dann noch 8 LED's, 2 Knöpfe und einen 50MHz 
Oszillator.

Bild 7: Die Platine ist ein 4 Layer Board. Hier zunächst Top.

Bild 8: Und Bottom.

Meine Messungen:
1. sind mir der Widerstand zwischen 3,3V, 2,5V, 1,2V und 0V augefallen, 
im Vergleich zu einem ähnlichen Entwicklungsboard:
Funktionierend:
3,3V -> 0V: 500 Ohm
2,5V -> 0V: 500 Ohm
1,2V -> 0V: 350 Ohm

Mein Board:
3,3V -> 0V: 1.000 Ohm
2,5V -> 0V: 200 Ohm
1,2V -> 0V: 760 Ohm

Das könnte natürlich an den Schaltreglern liegen, die bei dem 
Vergleichsboard durch Linearregler ersetzt sind, und daran, dass das 
Vergleichsboard überall 4,7K Widerstände benutzt.

2. was kritischer sein dürfte sind die Spannungen, die ich an den JTAG 
und AS Anschlüssen gemessen habe:
JTAG:
Funktionierend (in V):
(0) (3) (2) (2) (0)
(0) (2) (3) (2) (3)
_______|   |_______

Mein Board:

(0) (3) (1) (1) (0)
(0) (0) (2) (1) (2)
_______|   |_______

Fehler: Trotz Pull-up, TDI und TMS auf 2V

AS:
Funktionierend (mit RST gedrückt):
(0) (3) (0) (3) (0)
(0) (0) (0) (3) (0)
_______|   |_______

Mein Board:

(0) (3) (0) (1) (0)
(1) (0) (2) (1) (1)
_______|   |_______

Fehler: IO 6, 8, 13 auf 'X' und nicht '0' bzw. '1'
        NConfig trotz Pull-up auf 2V
        DCLK nicht auf '0'

Falls sich jemand fragt warum ich nicht einfach ein bestehendes 
Entwicklungsboard nehme: Mir macht es Spaß so etwas zu entwerfen und ich 
möchte den FPGA für Projekte wie Roboter mit diversen 
Ultraschallsensoren, Motoren, WLAN Modul... benutzen. Dazu benötige ich 
keinen großen RAM wie bei dem CYC1000, aber viele IO's. Außerdem würde 
ich, wenn die Platine funktioniert, auch den Cyclone IV durch einen 
Cyclone 10 mit mehr Logikelementen ersetzen. Ich habe auch schon diverse 
Erweiterungen entworfen, die funktionieren. Nur halt der FPGA selber 
nicht.

Ich danke dann schon mal im Vorraus!
Angehängte Dateien:
Persönliche Seite #5860842
Lesenswert?

Leon B. schrieb:
> Ähm Ja...
> 
https://www.intel.com/content/www/us/en/programmable/support/support-resources/knowledge-base/solutions/rd12042013_126.html

Ja ... steht doch klar da:

"The exposed pad on EQFP packages is a ground pad that must be connected 
to the ground plane on your PCB. This exposed pad is used for electrical 
connectivity only and not for thermal purposes. "

Du hast es laut deinem Schaltplan nicht angeschlossen ...

Dann wird es deshalb nicht funktionieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren