Frage zu Configurationspins des Cyclone II

OP #789401
Lesenswert?

Ich bin am Entwickeln eines Cyclone II Boards (incl. Mikrocontroller). 
Nun bin ich mir am Überlegen, wie ich die Configuration-Schnittstelle am 
besten implementiere. Da ich an meinem Microcontroller etwas unter 
Pinmangel leide (die meisten Pins sind schon anderweitig vergeben), habe 
ich mir überlegt, ob ich die FPGA-Config-Pins so beschalten kann:
Es gibt am MC noch eine nicht belegte Portleitung. Die verbinde ich mit 
nConfig -> wenn der FPGA configuriert werden soll kann die Portleitung 
auf 0 gezogen werden.
Die Pins nStatus, CONF_DONE, DCLK und DATA0 verbinde ich einfach mit 
schon belegten Leitungen. Dann muss ich halt gleich nach dem Reset dafür 
sorgen, dass der FPGA configuriert wird. Danach darf man doch die Pegel 
an den Leitungen beliebig verändern, oder? Im Manual steht zwar, dass:

- DATA0 nach der Configuration normalerweise auf High gezogen wird
- DCLK entweder auf High oder Low verbleiben sollte, ein umschalten aber 
nichts bewirkt.

Nun, was meint ihr hierzu? Kann man das so machen oder wäre es ggf. 
besser, wenn ich eigene Portleitungen für diese Config-Pins hätte?
#789458
Lesenswert?

Falk Brunner wrote:
> Kann man so machen. Man muss nur aufpassen, was  nStatus, CONF_DONE für
> Ausgänge sind. Wenn Open Drain, dann sollte es passen. Wenn Push_pull,
> einen Längswiderstand einfügen.
>
> MfG
> Falk

Das sehe ich aber anders! Der Zustand von DCLK und DATA0 darf nach der 
Konfiguration in PS Modus NICHT geändert werden. Zitat:
"To ensure DCLK and DATA0 are not left floating at the end of
configuration, the MAX II (Master) device must drive them either high or 
low,which ever is convenient on your PCB."

Seite 13-25 Cyclone II Handbuch.

Man kann aber Konfigurationsinterface mit nCS deaktivieren. Dann 
reagiert der FPGA nicht auf die Transitionen dieser Signale.

Gruß,

fpga-dev
#789486
Lesenswert?

Hmm.

http://www.altera.com/literature/hb/cyc2/cyc2_cii51013.pdf

Seite 64 pp.

nStatus: "Driving nSTATUS low after configuration and initialization 
does not affect the configured device."

CONF_DONE: "Driving CONF_DONE low after configuration and initialization 
does not affect the configured device."

DCLK: "Toggling this pin after configuration does not affect the 
configured device."

DATA0: Keine explizite Aussage, ist aber ein reiner Eingang.

Ergo. Ausser an nCONFIG können alle Siganle klappern wie sie wollen.

MFG
Falk
#789513
Lesenswert?

Falk Brunner wrote:
> Hmm.
>
> http://www.altera.com/literature/hb/cyc2/cyc2_cii51013.pdf
>
> Seite 64 pp.
>
> nStatus: "Driving nSTATUS low after configuration and initialization
> does not affect the configured device."
>
> CONF_DONE: "Driving CONF_DONE low after configuration and initialization
> does not affect the configured device."
>
> DCLK: "Toggling this pin after configuration does not affect the
> configured device."
>
> DATA0: Keine explizite Aussage, ist aber ein reiner Eingang.
>
> Ergo. Ausser an nCONFIG können alle Siganle klappern wie sie wollen.
>
> MFG
> Falk

Nix ergo!

Die Passage von DCLK bezieht sich auf die Konfiguration in AS-Modus! Im 
PS-Modus darf man die DATA0 und DCLK-Signale nicht ändern. Heisst ja 
auch einen Satz vorher an der von Dir zitierten Stelle:
"If your design uses a control host, drive DCLK either high or low."

Das stimmt überein mit dem was im vorherigen Posting zitiert habe.

Ansonsten gibt's noch das schöne Bildchen 13-12 und da heißt es unter 
(4)
"In user mode, drive DCLK either high or low when using the PS 
configuration scheme, whichever is more convenient."

und unter (5)

"Do not leave the DATA pin floating after configuration. Drive it high 
or low, whichever is more convenient."

Gruß,

fpga-dev
#789520
Lesenswert?

@ Valerij Matrose (fpga-dev)

>Nix ergo!

Bleib mal locker, Tawarisch.

>Die Passage von DCLK bezieht sich auf die Konfiguration in AS-Modus! Im
>PS-Modus darf man die DATA0 und DCLK-Signale nicht ändern. Heisst ja

Das interpretierst du falsch.

>"Do not leave the DATA pin floating after configuration. Drive it high
>or low, whichever is more convenient."

Hier nur die Rede davon, dass die Pins nicht floaten sollen, wie alle 
digitalen Eingänge. Trotzdem dürfen sie klappern/togglen. Steht 
explizit in der Tabelle.

MFg
Falk
#789759
Lesenswert?

Tobias Plüss wrote:
> @Valerij:
> Ja nu was denn? Dürfen alle Pins toggeln, wie sie wollen, ausser halt
> eben nCONFIG? Ich verstehe deine Aussage grad nicht.
>
> Grüsse
>  Tobias

Ja, so ist es. Nach der Konfiguration darf man die Pegel an den 
Konfigurationseingängen ändern. Ausnahmen : nCONFIG.

Gruß,

Valerij
#789765
Lesenswert?

@ Tobias Plüss (hubertus)

>Ich habe grade gemerkt, dass das JTAG-Interface des FPGAs noch einen Pin
>weniger benötigt. Was würdest du preferieren: Konfiguration des FPGAs
>über PS oder über JTAG?

PS. JTAG ist vom Protokoll wesentlich aufwändiger.

> Die JTAG-Pins könnte man dann natürlich
>immernoch auf einen separaten Stecker führen, damit man mit dem
>ByteBlaster noch drankommt.

Tu das.

Low Cost FPGA Konfiguration

Mfg
Falk
OP #791445
Lesenswert?

Wäre es eigentlich theoretisch auch geschickt, die nCONFIG-Leitung mit 
RESET des MCs zu verbinden? Der MC, den ich verwende, hat einen 
bidirektionalen RESET-Pin (OC). Wird der Pin extern auf Low gezogen, 
wird resetiert (standard), mittels speziellem Assembler-Befehl (RESET 
halt) kann der Pin vom MC selber auf Low gezogen werden. RESET ist ja im 
normalfall immer auf high. Beim POR ist es low, der FPGA wird dann also 
auch quasi zurückgesetzt und kann nach seinem eigenen POR (100 ms) 
configuriert werden. Und wenn ich neue Config-Daten laden will, kann ich 
den RESET-Befehl benutzen, der den RESET-Pin für 512 Taktzyklen (347 us) 
auf LOW zieht.
Macht das Sinn?
OP #799832
Lesenswert?

hey, @Falk:
kurze Frage.
Darf ich während der Configuration auch mal nCE auf High haben? Oder 
muss nCE während der ganzen Prozedur 0 sein?
Ich möchte nämlich die Pins vom Microcontroller noch für eine andere 
Anwendung einsetzen, sodass ich zwischendurch den FPGA 'deaktivieren' 
sollte, damit der nicht fälschlicherweise Daten einlies, die gar nicht 
für ihn bestimmt gewesen wären.

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