mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Grasshopper ICNOVA mit Opto zum schalten; Pegel kurz LOW beim Initialisieren des GPIO


Autor: Volker Jaenisch (Firma: inqbus it-Consulting) (volkerjaenisch)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Microcontroller Spezialisten !

Wir haben hier ein ICNova-Board mit dem AVR AP7000. Wir fahren es unter 
linux 2.6.26.
Dieses soll zum Treiben von 24 Schalkanälen verwendet werden, die TTL 
Pegel (3.4V, 0.7 mA) schalten sollen.

Die Schaltung (siehe Anhang) über den Opto ist uns gelungen und 
funktioniert auch.
Wir haben nur ein Problem. Der Standard-Pegel des GPIO nach dem Booten 
ist HIGH (kann man das ändern?).

Initialisieren wir den Port aber :
cd /config/gpio
mkdir test1
cd test1
echo "3" > gpio_id
echo "0x0f" > pin_mask
echo "0x0f" > oe_mask
echo "1" > enabled

geht der gpio Pegel kurzzeitig auf Low und unser OPTO schaltet durch.
Dies wollen wir natürlich nicht haben.

* Gibt es eine Möglichkeit dem Controller beizubringen dies nicht zu 
tun?
* Z.B. die Möglichkeit die gpio-Pegel standardmässig auf LOW zu haben?

Wenn es nicht möglich ist die Pegel zu invertieren.
* Wie können wir am einfachsten den kurzen Pegelwechsel HIGH-LOW-HIGH 
kompensieren, dass sie nicht bis zum OPTO durchschlagen.

Wir sind für jede Idee offen.

Beste Grüße

Volker

Autor: Werner B. (werner-b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da wird euch nichts anderes helfen als ein eigener Kerneltreiber.
Ich habe mir vor einiger Zeit die Implementation für die gpio im Atmel 
AVR32 Kernel angesehen. Zum ein-/ausschalten von bunten LEDs 
geschrieben, da stört solch ein kurzer Pegelwechsel nicht.

Autor: Volker Jaenisch (Firma: inqbus it-Consulting) (volkerjaenisch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke  Werner B.!

Ich hatte so etwas schon befürchtet. Ich fiel aus allen Wolken als ich 
das festgestellt hatte. So was ist definitiv nicht industrietauglich.

Ich werde mir den Treiber mal anschauen. Vielleicht gibts ja eine 
möglichekeit das zu fixen oder eine neuere Variante. Habe gelesen für 
2.6.27 gibts sowieso eine neue API für GPIO.

Volker

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.