www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 75160 - Ansteuerungsproblem - mysteriöse Pegel!


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe derzeit ein GPIB Projekt am laufen. Die Treiber sind nach 
längeren Recherchieren der 75160 und 75161 geworden. Soweit nichts 
besonderes :)
Allerdings verhält sich der 75160 sehr komisch (den 161er konnte ich 
noch nicht testen, weil ich ihn noch nicht habe).
Ich habe alles verdrahtet, und die IOs des at90usb zum Test auf High / 
Low gelegt. bei High erhalte ich normale Pegel, bei Low komme ich so auf 
1-1,5V runter. Komisch, ist vielleicht ein zu starker Pullup für mich in 
dem IC verbaut... kann aber doch eigentlich nicht sein?! Der einzige 
Input den ich anständig auf 0V treiben kann ist Pin 19 (D1). Warum 
gerade dieser geht ist mir ein Rätsel.
Hänge ich den at90usb komplett ab und habe quasi nur noch die 
Stromversorgung + TE / PE am IC, so sind die Inputs ebenso auf einem 
Wert in dieser Gegend. Glaube es waren 1,8V, die ich gemessen hatte.
Ziehe ich den Input des 75160 selbst (mittels Drahtbrück) runter, so 
funktioniert es, es deutet also eigentlich auf eine Fehleinstellung im 
Atmega hin.
Mache ich etwas an der Beschaltung verkehrt? Kann mein at90usb den 
Treiber nicht treiben (skuril eigentlich..., ist ja nur Logik?!). 
Brauche ich noch zusätzliche Pullups / Downs oders sonstige Bauteile?

Meine Beschaltung im Moment ist recht einfach: IO-Pads ==> Input 75160
TE ist natürlich auf 1, also Enable, PE habe ich mit 1 (3-state) und 0 
(pullup) probiert, keine Verbesserung.

VIELEN DANK!

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht so aus als würdest du nur die PullUp schalten und nicht die 
Ausgänge.
Ist aber mangels Programmeinsicht nur eine Vermutung.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

dank dir erstmal für die Antwort. Daran habe ich auch schon gedacht, 
aber meiner Meinung nach müsste das stimmen:

Die defines in der *.h:
#define DIO_DIRECTION_REGISTER  DDRA
#define DIO_PORT        PORTA
#define S75160_DIRECTION_REGISTER  DDRD
#define S75160_PORT          PORTD
#define S75160_TE          0
#define S75160_PE          1

in der init Funktion der *.c
DIO_DIRECTION_REGISTER = 1;
S75160_DIRECTION_REGISTER |= (1 << S75160_TE) | (1 << S75160_PE);
S75161_DIRECTION_REGISTER |= (1 << S75161_TE) | (1 << S75161_DC);
S75160_PORT &= ~(1 << S75160_TE);
S75160_PORT &= ~(1 << S75160_PE);


in der "sende byte" methode:
S75160_PORT |= (1<< S75160_TE);
DIO_PORT = cmd;  //cmd ist das übergebene byte
...
S75160_PORT &= ~(1<< S75160_TE);

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
omg. gerade beim posten hab ich den Fehler selbst gesehen! Danke.
wie konnte ich das Register nur auf 1 setzen. Klar, deswegen geht auch 
nur ein Pin :)
Man - Dank dir!!! Ich bin ein Idiot :/

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.