Forum: FPGA, VHDL & Co. Lattice ISP: Welche Pins braucht man?


von Henrik (Gast)


Lesenswert?

Hallo alle zusammen,

bin gerade dabei ein Design noch mal zu überdenken, bevor ich es (nach
den möglicherweise noch anstehenden Semester-Prüfungen) fertig stellen
will. Dort ist neben einem AVR auch einen Mach 4 A3-128 (Lattice) drin.
Ich habe einen (max 10 poligen) Programmier-Anschluß  vorgesehen, indem
die Programmierpins von beiden zusammengefasst werden.
Da die Schaltung klein werden muß, bin ich darauf aus Pins zu sparen.
Laut den Lattice-Sheets ist ja der TRST optional und somit fürs
Programmiern nicht unbedingt notwendig(?). Da ich aber für den AVR
sowieso einen Reset-Anschluss zum Programmieren brauche, dachte ich
mir, dass ich die beiden zusammen schalte. Da kommt schon die erste
Frage auf: Ist der TRST bei low oder bei high aktiv?

Welche Funktion hat dieser "Enable" (ich nehme mal an, dass das der
isp-Enable ist) beim M4A3-128? In dem Family-Datasheet ist darüber
nichts zu finden. Bei den Coolrunnern hatte er die Funktion, die
isp-Pins, die auch als normale Pins benutzt werden konnten, wieder zum
programmieren freizugeben. Beim M4A4 gibt es diese Möglichkeit aber
nicht, wozu also dieser Pin? Ist es nötig, diesen auch mit dem
Programmiergerät zu verbinden, oder kann ich ihn mit einem Pullup/down
auf der Platine einsparen?
In einem alten Thread hatte ein User names Mathias Probleme einen
solchen CPLD nur über  TDO, TMS, TCK und TDI zu programmieren. Leider
hat er nicht mehr geschrieben, ob es wirklich nur daran lag, dass er
die beiden anderen Pins nicht verwendet hat. Deshalb die Frage hier.
Wer weiß da Rat?

Gruß Henrik

von Max Müller (Gast)


Lesenswert?

Das TRST Signal ist low Aktiv.
Wärend dem normalen Betrieb (nicht Programmieren) solltest du den Pin
via Pull-Down auf low ziehen.

Wärend der Programmierung wird dann der Pin via Interface auf High
gezogen und das TAP-Controller kann normal arbeiten.

Der TAP-Controller ist die interne Statemachine, die die Kommandos
auswertet, die über das serielle Protokoll in den Baustein
reingeschoben werden.

Theroretisch könntest du, die beiden JTAG Ports der Bausteine auch in
Reihe schalten. Das würde aber bedeuten, das du Programmiersoftware
brauchst, die damit zurecht kommt.
Das hab ich bis jetzt noch nicht probiert.
SOnst bei mehreren ispmach4000 oder coolrunner funktioniert das
einwandfrei.

Das Enable Signal brauchst du nur bei den alten Latticebausteine.
Es ist somit überflüssig.

Gruß

Max

von Henrik (Gast)


Lesenswert?

Hallo Max,

o.k., damit hat sich meine Idee, die beiden Pins auf einen Anschluß zu
schalten schon mal als schlecht heraus gestellt. Ich habe mich etwas
undeutlich ausgedrückt. Der AVR wird normal über Miso/Mosi ...
programmiert. Nur die beiden Resets wollte ich zusammenschalten.

Der TRST wird zum Programmieren doch eigendlich gar nicht benötigt,
oder sollte ich ihn doch mitführen?

Es wäre gut, wenn ich zum Programmieren nur TCK, TMS TDI und TDO
bräuchte. Aber so genau habe ich das selbst nicht rausbekommen.
Auf der Platine habe ich alle diese 4 Pins mit Pullups versehen. Ist
das richtig so? Das Family-Datasheet hat darüber gar keine Aussage
gemacht.

Meine Befürchtung ist, dass der M4A3 (nicht isp4000) einer dieser alten
Bausteine ist. Soweit ich weiß, wurde der noch von Vantis (oder wie die
auch immer hießen) entwickelt. War bei denen der isp-Enable noch
nötig?

Danke dir und

Gruß Henrik

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.