ľC Puls nicht i.O.

R

Robert Brehm

Guest
Moin,

Erstmal ,Danke an alle die mir vor ein paar Tagen mit meinem FPGA
Problem geholfen haben.

Aber im Prinzip bin ich nocht nicht viel weiter, es ist ein neues
Problem aufgetreten.

Ich will ja mit einem ľC einen Takt für einen FPGA erzeugen. Dieser
Takt soll aber vorher mit Hilfe eins Schmitt-Tríggers "gesäubert"
werden. Theoretisch super, praktisch habe ich aber folgendes Problem.

Sobald ich den Takt(ca. 1ms) des ľC an den Schmitt-Trigger lege, wird
dieser um ca. 1V angehoben und am Ausgang des Schmitt-Triggers messe
ich nichts.
Ich benutzte als ľC einen AVR -> AT90S8515.
Die Sache ist jetzt die, sobald ich einen anderen ľC,und zwar einen
PIC 16F872, an den Schmitt-Trigger lege dann funktioniert es. Genauso
funktioniert es mit einem Frequenzgenerator.

Kommisch ist auch das ich bei einem relativ langsamen Puls von 1ms bei
dem AVR Controller eine total langsam abfallende Flanke des Pulses
habe, auch ca. 1ms (sieht aus wie entladekurve von einem C). Und
natürlich das der Puls um 1V angehoben wird.

Ich vermute das mir dieses Phänomen auch Probleme am FPGA gemacht hat,
weil ein AVR doch eigentlich schon einen recht guten "sauberen" TAkt
erzeugt.

Vielleicht ľC defkt !? ... Wäre dankbar für jeden Ratschlag/Idee ...

Grüße ...
Robert
 
On 11 Dec 2003 08:17:41 -0800, BrehmR@gmx.de (Robert Brehm) wrote:

Vielleicht ľC defkt !? ... Wäre dankbar für jeden Ratschlag/Idee ...
Ich tippe eher auf Prog-Fehler. Hast Du den Port auch richtig per
Software auf Ausgang geschaltet? Kann der AVR überhaupt sinnvoll auf 0
ziehen oder braucht er Pull-Down?

Kannst ja mal das Programm posten.

Viele Grüße,
----
Jan C. Bernauer
 
Dein Problem riecht sehr nach vergessenen Setzen des DDRX-Registers. Wenn du
den jeweiligen PortPin als Input konfiguriert hast (Standart-Einstellung)
kannst du über das PortX-Register immernoch einen Pull-Up am jeweiligen Pin
aktivieren und deaktivieren. Zusammen mit der Gate-Kapazität des Triggers
ergibt das dann durch fehlende Push-Pull-Stufe sehr lahme Flanken und
Probleme mit deinem FPGA. Setze einfach das Bit des Pins im korrespondieren
DDRX-Register auf 1, damit aktivierst du den Push-Pull-Treiber...

Grüße
Andreas
 
Vielleicht ľC defkt !? ... Wäre dankbar für jeden Ratschlag/Idee ...

Hast Du den Puls mal auf einem anderen Pin/Port programmiert?

Jürgen
 
"Jan C. Bernauer" schrieb:
On 11 Dec 2003 08:17:41 -0800, BrehmR@gmx.de (Robert Brehm) wrote:

Vielleicht ľC defkt !? ... Wäre dankbar für jeden Ratschlag/Idee ...


Ich tippe eher auf Prog-Fehler. Hast Du den Port auch richtig per
Software auf Ausgang geschaltet? Kann der AVR überhaupt sinnvoll auf 0
ziehen oder braucht er Pull-Down?

AVR Port ist normal Push-Pull. Aber ich habe solche Effekte schon
gesehen, wenn der Port als Eingang programmiert war - über die
Streukapazität der internen Tri-State Schalter kommt was raus, aber
definiert ist anders (bei mir waren es kurze, Hochpaßgefilterte
Impulse). Vielelciht programmiert Robert ja auch das
Datenrichtungsregister, statt dem Ausgang, damit kann man Open-Collector
simulieren, wenn man will.

Martin
 
Martin Lenz <m.lenz@kreuzgruber.com> wrote:

AVR Port ist normal Push-Pull. Aber ich habe solche Effekte schon
gesehen, wenn der Port als Eingang programmiert war - über die
Streukapazität der internen Tri-State Schalter kommt was raus, aber
definiert ist anders (bei mir waren es kurze, Hochpaßgefilterte
Impulse).
Da hast du recht. Dies habe ich bei einem AVR am PWM Ausgang auch
schon gesehen weil ich das eine entscheidene Bit vergessen habe. :)

Olaf


--
D.i.e.s.S. (K.)
 
Andreas Neuzner wrote:

Dein Problem riecht sehr nach vergessenen Setzen des DDRX-Registers.
Wenn du den jeweiligen PortPin als Input konfiguriert hast
(Standart-Einstellung) kannst du über das PortX-Register immernoch
einen Pull-Up am jeweiligen Pin aktivieren und deaktivieren.
Zusammen mit der Gate-Kapazität des Triggers ergibt das dann durch
fehlende Push-Pull-Stufe sehr lahme Flanken und Probleme mit deinem
FPGA. Setze einfach das Bit des Pins im korrespondieren
DDRX-Register auf 1, damit aktivierst du den Push-Pull-Treiber...
ACK

/Jan-Hinnerk
 

Welcome to EDABoard.com

Sponsor

Back
Top