- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 42

Thema: Controller als I2C Slave mit Bascom

  1. #11
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Anzeige

    Praxistest und DIY Projekte
    Du bringst Master/Slave und Empfangen/Senden durcheinander.

    Der Master unterscheidet sich vom Slave dadurch das nur er die Verbindung auslösen kann. Ein Slave muss ständig die I2C-Ports kontrollieren ob der Master was von ihm will.

    man könnte natürlich abwechselnd mal den und mal den als Master verwenden, aber dann wäre immer gleichzeitig der andere SLave. Der Master gibt ja die I2C Taktraten vor - der Slave muss nur antworten. Wenn der Maste reinen Sendebefehl schickt, muß der Slave die Bits im Takt des Masters annehmen. Gibt der Master einen Empfangsbefehl vor, dann muß der Slave einen Wert (im Takt des Masters) senden.
    Der Matser ist halt der Chef - zwei Chef´s vertragen sich nicht im Büro. Abwechseln dürfen sie sich aber in der Chefrolle, wenn der andere die Arbeit des Mitarbeiters macht.

  2. #12
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.03.2004
    Ort
    Paderborn
    Alter
    40
    Beiträge
    614
    ok, dass mehr als ein Master nicht geht, hätt ich mir echt denken können.
    Des weiteren kann man keine Befehle empfangen während die Servos angesteuert werden. Das heißt man muss nach dem Senden eines Befehls erst eine Pause von mindestens 22 ms einhalten...
    Das heist also, dass das Assembleprogramm so eine Art Endlosschleife ist, die nur unterbrochen wird, wenn eine Position empfangen wurde. Wenn ich das Programm also derart anpassen würde, dass es ohne neues Daten Via I2C sein Signal wiederholt, wäre ein ordentliches Empfangen garnicht mehr sichergestellt.
    Die IC2 Libary nutzt dazu auch einen Interruptfähigen Eingang als I2C-Port.
    Also braucht die I2C-Lösung mit der Libary dann einen der INT-Pins? Oder beide?
    PS: Ein Äquivalent zum Input-Befehl, mit dem man in Bascom die Serielle Schnittstelle abfragen kann, wäre ideal. Dann könnte das Programm, wenn ein neuer Wert kommt, ggf. noch die Impulse für die Servos fertigmachen und dann zwischendurch (der Abstand zwischen denen ist nicht so wichtig.) auf Empfang schalten(und automatisch zurückkehren, wenn sagen wir mal zwei Bytes empfangen sind). Kann man das Programm von oben so anpassen?

  3. #13
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Bei der Libary muß nur ein Pin Interrupt fähig sein. Hier Auszug aus der Beschreibung

    'This program shows how you could use the I2C slave library to create a PCF8574
    'The PCF8574 is an IO extender chip that has 8 pins.
    'The pins can be set to a logic level by writing the address followed by a value
    'In order to read from the pins you need to make them '1' first

    'This program uses a AT90S2313, PORTB is used as the PCF8574 PORT
    'The slave library needs INT0 and TIMER0 in order to work.
    'SCL is PORTD.4 (T0)
    'SDA is PORTD.2 (INT0)
    'Use 10K pull up resistors for both SCL and SDA

    'The Slave library will only work for chips that have T0 and INT0 connected to the same PORT.
    'These chips are : 2313,2323, 2333,2343,4433,tiny22, tiny12,tiny15, M8
    'The other chips have build in hardware I2C(slave) support.

  4. #14
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.03.2004
    Ort
    Paderborn
    Alter
    40
    Beiträge
    614
    'The other chips have build in hardware I2C(slave) support.
    Kann man bei den AVRs mit Hardware I2C(slave) die Funktionen einfacher nutzen? Mancher AVR ist ja schon günstiger als diese Libary.

  5. #15
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Würde mich auch interessieren wie dies in Bascom oder C abläuft

  6. #16
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Hab im Netzt zum Hardware I2C in Verbindung mit Bascom nichts gefunden. Ich hab mal beim Bascom Hersteller nachgefragt. Die wollen sich der Sache mal annehmen und ein Mega 8 Demo Prg. basteln. Werde es posten wenn es fertig ist

    Gruß Frank

  7. #17
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Ich hab jetzt mal die Software I2C Libary (noch die Software Version des I2C) für Bascom ausgetestet! Funktioniert eigentlich ganz gut. Nur offenbar verbraucht die alle Resourcen an Rechenleistung. Das heißt man kann offenbar nicht mehr nebenher ein anderes Hauptprogramm in dem Slave Chip ablaufen lassen. Offenbar wird es von einen Interrupt so oft unterbrochen das dafür keine Rechenzeit mehr zur Verfügung steht.
    Habt ihr die gleichen Erfahrungen?

  8. #18
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.03.2004
    Ort
    Paderborn
    Alter
    40
    Beiträge
    614
    Meinst du die kostenpflichtige Version? Die wäre damit ja vollkommen unbrauchbar (ein Glück, dass ich die nicht gekauft hab').
    Ist das eigentlich unabhängig vom Takt?
    PS: Zum HW I2C hast du auch nix gefunden? Ich auch nicht(mein Servobaustein läuft jetzt über den Serialport *g).

  9. #19
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Ja die kostenpflichtige! Na ja, kosten halten sich mit 5 Euro ja in Grenzen. Für manche Anwendungen mag es ja ohne Hauptprogramm gehen, wenn man z.B. an Portbausteine denkt. Die müssen ja nur was machen wenn der Master was abfragt oder was übergibt.
    Aber mir wäre auch ne Variante lieber wo ich ich ein vernünftiges Hauptprogramm nebenbei abaufen lassen kann. Mir ist auch noch nicht ganz verständlich warum das mit der Libary nicht geht. Wenn nix auf I2C-Bus übertragen wird , dann müsste doch Rechenzeit bereitstehen.

    Hoffe nur das das mit der Implementierung der Hardware I2C Routinen besser wird. Da wollte Mark (Bascom Autor) noch Demo schreiben.

  10. #20
    Gast
    Mit Takt hat es sicherlich nichts zu tun, hab es auf Mega8 mit 8 Mhz ausprobiert.

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad