-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Benötige Hilfe bei i2c Ansteuerung TLC59116F

  1. #1
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    34
    Beiträge
    4.528
    Blog-Einträge
    1

    Benötige Hilfe bei i2c Ansteuerung TLC59116F

    Anzeige

    Hallo,

    gestern hab ich endlich die Adapterplatine für den I2C Baustein Y59116F bekommen. Den gibt es leider nur in der Gehäusebauform SOP28 und um den auf einem Steckbrett zu testen habe ich eine Adapterplatine gekauft. Leider sind die Pads ein wenig zu weit auseinander, so dass der Chip nicht sauber aufgelötet werden kann. Ich habs mit dem Multimeter gemessen und meine es müsste jeder Kontakt angeschlossen sein, doch sicher bin ich mir nicht. Außerdem könnte ich mir vorstellen, dass ich bei dieser umständlichen Löterrei der Chip überhitzt habe.

    Mein erster Versuch den Chip mit einem USB -> I2C Adapter anzusteuern schlug leider fehl, nun weis ich nicht ob es:

    A) am möglicherweise defekten Chip liegt
    oder
    B) ich einfach die falschen Befehle geschickt habe.

    Daher jetzt meine Frage zu A: gibt es irgend eine einfache Möglichkeit heraus zu finden ob der Chip überhaupt noch funktioniert oder schon tot ist?
    und zu B: wie würdet ihr das Datenblatt interpretieren bezüglich der Befehle die an den Chip geschickt werden müssen? Ich hab leider gar keine richtige Idee.

    Hier gibts das Datenblatt: http://www.datasheetarchive.com/Y59116F-datasheet.html

    Bisher hab ich als Befehlsfolge:
    S C0 05 94 55 P
    ausprobiert. Wobei S der Start sein sollte, C0 die Adresse mit A0..A3 frei bzw. auf GND (0) und 05 ein Steuerbefehl des Adapters ist. Im Beispiel auf Seite 22 sind dann die Befehle 94 und 55 angegeben um alle 16LEDs auf On zu schalten. Das P beendet die Übertragung. Nur funktioniert das nicht!

    Jemand eine Idee wo der Fehler sein könnte?

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.11.2004
    Beiträge
    451
    Sofern die 05 stimmen, sollte auch der Rest der Übertragung passen. Nur das nicht alle 16 LEDs eingeschaltet werden sondern nur die ersten 4 (wenn ich die Register richtig verstehe). Wenn du die 55 vier mal sendest müssten alle Pins eingeschaltet sein.

    Siehst du bei deinem Wandler auch die Acks des Slaves? Wenn ja, erkennt dieser überhaupt seine Adresse? Ansonsten hilft wohl nur ein LA oder Oszi um den Bus anzuschauen.

    Nach den Pullups an SDA und SCL frag ich jetzt nicht, die sollten vorhanden sein, sonst sollte dein Wandler einen Fehler ausgeben.

    E: Im beispiel auf Seite 22 ist zum setzen aller LEDs der Befehl obendrüber notwendig, der die All-Call adresse ändert.

    Wenn du alle LEDs setzen willst, müsstest du S D0 05 94 55 P senden, da D0 die All-call adresse ist.
    Geändert von robin (10.01.2013 um 10:58 Uhr)

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.03.2011
    Beiträge
    1.397
    Zitat Zitat von HannoHupmann Beitrag anzeigen
    Daher jetzt meine Frage zu A: gibt es irgend eine einfache Möglichkeit heraus zu finden ob der Chip überhaupt noch funktioniert oder schon tot ist?
    Die einfachste Möglichkeit ist, nur ein Adressbyte mit dem R/W Bit auf 0 (WRITE) gesetzt zu schicken, und zu schauen, ob der Slave ein ACK generiert. Wenn man unsicher bei der Adresse ist, kann man auch alle 127 Adressen durchprobieren, bis man eine findet, bei der ein ACK kommt. Das testet zwar nicht den ganzen Chip, ist aber ein Anfang.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hi,

    evtl. kann man auch mal einen General-Call probieren, also einfach als Adresse den Wert 0 verwenden, und schauen, ob ein ACK zurückkommt.

    Gruß
    Chris

  5. #5
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    34
    Beiträge
    4.528
    Blog-Einträge
    1
    Erst mal hab ich rausgefunden, dass ich mit dem Adapter im Hyperterm auch anzeigen kann ob ein Ack oder ein Nack kommt.
    Daher war es auch möglich einfach nur S C0 P an das IC zu schicken ob es überhaupt noch lebt.
    Die gute Nachricht: Ich bekomme ein Ack angezeigt bei einer anderen Adresse auch ein Nack. Also stimmt wohl auch die Adresse

    Dann wollte ich natürlich den Beispielcode übertragen SC0 94 55 P bzw. SC0 05 94 55 wobei ich mittlerweile glaube dass die 05 Bausteinspezifisch sind und gar nicht zwingend für das Y59116F notwendig.

    Leider tut sich außer, dass ich vier Ack bekomme nichts. Keine LED leuchtet nichts. Ich hab die LEDs von +5 zu IC angeschlossen mit entsprechendem Widerstand und natürlich auch getestet ob sie funktionieren.

    Leider hab ich damit auch schon wieder keine Idee mehr woran es liegen könnte, dass sich immernoch nichts tut.

    Natürlich sind von SDA und SCL Widerstände zu 5V verbaut und ich hab auch RESET auf +5V gelegt da ich sonst nur Nacks bekomme.

    Habt ihr noch eine Idee?

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.03.2011
    Beiträge
    1.397
    Nur mal zum Verständniss:
    ein I2C Nack ist kein Signal, es ist die Abwesenheit eines Signals, es ist der Pegel von SDA beim 9. Takt, also die Spannung am Pullup. Ack heißt, beim 9. Takt zieht jemand, ein Slave, SDA gegen den Pullup auf low.

    Deine Probleme mit dem Y59116F haben aber nichts (mehr) mit I2C zu tun. Ich hab das Datenblatt mal überflogen, ist ein ganz schön komplexer Chip. Da ich ihn nicht habe ... Sorry ..

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Die RN Propellerclock verwendet den TLC59116, das Pdf dazu enthält Code zur Ansteuerung, zumindest für Leds ein/aus über die Output Control Register.
    http://www.robotikhardware.de/downlo...clock_1.11.pdf
    Die Brightness Control Register werden dort nicht benutzt, aber basierend darauf lässt sich der Code weiterentwickeln.

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.11.2004
    Beiträge
    451
    Kannst du deinen I2C Adapter mal posten, bzw woher kommen diese 05?
    Ich denke, dass dir die reinfunken und du statt deinen 14 Register 05 adressierst.

    Weil wenn du ein Ack bekommst, dann sollte es auch funktionieren.

  9. #9
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    34
    Beiträge
    4.528
    Blog-Einträge
    1
    Den Adapter hab ich in unserer Wiki beschrieben: http://www.rn-wissen.de/index.php/I2C_USB_PC_Adapter ist ein USB zu I2C Adapter. Ich hab mir auch schon gedacht und deswegen heute auch nochmal nachgeprüft, dass die 05 ein Problem sein könnten. Daher hab ich den Code wie oben auch mal ohne die 05 gesendet. Doch leider mit dem gleichen Ergebniss.

    Eigentlich hat es schon noch was mit I2C zu tun, da es um die Ansteuerung geht. Natürlich weniger darum wie I2C allgemein funktioniert.

    @MagicWSmoke ah sehr gut danke, dann werd ich mal versuchen aus dem PDF ein paar Comados zu lesen.
    EDIT: Verflu.... das ist Bascom damit kenn ich mich noch weniger aus. So komm ich auch nicht weiter

    EDIT2: Soweit ich Datenblatt, PDF und Co verstehe müsste folgender Befehl eigentlich alle LED einschalten
    S C0 14 55 15 55 16 55 17 55 P Nur leider tut sich da gar nichts außer lauter Ack
    Geändert von HannoHupmann (10.01.2013 um 23:44 Uhr)

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Versuch's mal so:
    S C0 00 W 00 P S C0 14 W 55 P
    Sollte Led0 - Led3 einschalten. Auch daran denken, dass auch für die Steuerung über die PWM-Register 02h - 11h es erforderlich ist, dass die Output Control Register 14h - 17h entsprechend gesetzt werden.
    Das TI-Datenblatt, Seite 17 unten, gibt darüber Aufschluss.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Benötige Hilfe bei Befestigung
    Von XBert im Forum Mechanik
    Antworten: 19
    Letzter Beitrag: 31.03.2010, 22:27
  2. benötige Hilfe bei Register
    Von Hansi41 im Forum Asuro
    Antworten: 5
    Letzter Beitrag: 19.01.2008, 14:33
  3. Benötige Hilfe bei zwei Projekten
    Von Tor-Bjoern im Forum Elektronik
    Antworten: 8
    Letzter Beitrag: 02.06.2007, 18:29
  4. benötige Hilfe bei meinem Code
    Von Reeper im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 09.12.2005, 16:36
  5. Benötige Hilfe bei meinem ersten Programm
    Von zwerg1 im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 29.12.2004, 15:02

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •