Forum: FPGA, VHDL & Co. Altera CPLD: ISP pins auch als IO nutzen?


von Andi M. (andi6510) Benutzerseite


Lesenswert?

Mich beschaeftigt gerade folgende Frage:

Gegeben sei ein Altera CPLD EPM3032.

Laut Datasheet lassen sich dort die ISP pins, welche ja ansonsten zum 
Programmieren des devices dienen, auch als IO nutzen. In der Quartus 
Software muss man hierzu nur die dual purpose pins entsprechend 
umschalten.

Was passiert nun also, wenn die pins nach dem Programmieren im user mode 
als IOs dienen, wenn ich das device wieder programmieren moechte. Wie 
komme ich wieder in den ISP mode? Die Pins sind dann ja nicht mehr fuer 
das JTAG interface nutzbar.

Uebersehe ich das Offensichtliche?

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ja dasselbe Problem stellt sich auch mit Atmel-CPLDs wie dem ATF1508.
Ähnlich den "Fuses" der AVR-Controller geht das nur mit speziellen 
Programmern, vermutlich nicht im eingelöteten Zustand. Eine Spannung von 
12V muss irgendwo angelegt werden, meistens hat man das Layout nicht 
dafür ausgelegt. Außerdem gibt der Hersteller dazu keine Info raus 
ausser an "amtliche" Programmer-Hersteller.

von andi6510 (Gast)


Lesenswert?

Irgendwie schade. Vor allem bei längeren JTAG chains könnte man 
ansonsten die Leitungen nach dem Programmieren wunderbar als 
interconnect zwischen den devices nutzen. Tck und tms bieten sich als 
i2c Verbindung geradezu an.

Die FPGA von Altera haben einen JTAGEN pin. Damit lässt sich nach 
Belieben zwischen usermode und JTAG umschalten....  Die CPLDs haben das 
nicht... hmmmm....

von Fpgakuechle K. (Gast)


Lesenswert?

Andi M. schrieb:
> Wie
> komme ich wieder in den ISP mode?

Mögliche Antwort:
Garnicht!

Laut dem PinOut-file: 
https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/dp/max3k/epm3064a.pdf

sind die JTAG nicht dual purpose sondern dedicated und die Fussnote (1) 
steht das es entweder JTAG oder USER-IO konfiguriert werden können. Der 
Abschnitt ist da nich 100% klar, aber eine mögliche Unterpretation ist, 
das wenn es zu USER-IO konfiguriert wurde, es keinen Weg zurück gibt. 
Jedenfalls nicht über den In-System-Programmier-weg. Also raus aus dem 
System (ablöten) und dann löschen (wenn vorgesehen).

Irgendein anders Pin was dazu fienen könnte den EEPROM zu löschen (und 
damit ISP wieder zu ermöglichen) - hab ich (noch?) nicht gefunden.

EDIT: Dort 
https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/an/an100.pdf 
aud S.8 steht das man JTAG permanent abschalten kann und das passiert 
wenn man diese Pins auf I/O  Umconfiguriert. Dann geht weder 
IS-programming noch JTAG-boundary scan testing.

Als workaround kann man ja auf diese 4 User-IO verzichten und die als 
JTAG-belassen. Notfalls nimmt man das nächst größere device.

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.