Hallo,
ich würde gerne einen bestimmten Sensor über i2c am Txt betreiben (bno055). Dazu möchte ich den Txt per Code, also außerhalb von RoboPro programmieren. Dieser Sensor reagiert allerdings sehr empfindlich darauf, wenn der i2c Master kein clock stretching unterstützt und kann dadurch kaputt gehen. Dementsprechend ist das für mich eine sehr kritische Anforderung.
Unterstützt der Txt Controller i2c clock stretching und falls nicht, gibt es Pläne das über ein zukünftiges Update bereitzustellen?
Grüße,
hatch
Unterstützung von i2c clock stretching beim TXT controller?
Moderator: fischertechnik Mitarbeiter
Forumsregeln
Bitte beachte die Forumsregeln!
In dieser Unterkategorie können nur fischertechnik-Mitarbeiter und Moderatoren antworten!
Bitte beachte die Forumsregeln!
In dieser Unterkategorie können nur fischertechnik-Mitarbeiter und Moderatoren antworten!
-
- Beiträge: 171
- Registriert: 12 Jan 2016, 09:13
Re: Unterstützung von i2c clock stretching beim TXT controll
Hallo hatch,
clock stretching wird zur Zeit nicht unterstützt und bisher ist auch nicht absehbar, ob es in naher Zukunft implementiert wird. Als Alternative zum BNO055 könntest du den BMX055 in Betracht ziehen, da dieser kein clock stretching benötigt. Die Data Fusion, die im BNO055 integriert ist, könntest du mit einer Library, die Bosch anbietet, selber implementieren.
Viele Grüße
Markus
clock stretching wird zur Zeit nicht unterstützt und bisher ist auch nicht absehbar, ob es in naher Zukunft implementiert wird. Als Alternative zum BNO055 könntest du den BMX055 in Betracht ziehen, da dieser kein clock stretching benötigt. Die Data Fusion, die im BNO055 integriert ist, könntest du mit einer Library, die Bosch anbietet, selber implementieren.
Viele Grüße
Markus
Re: Unterstützung von i2c clock stretching beim TXT controll
The tests I've conducted for I²C on the Robotics TXT with a logic analyser show clock stretching works, but with one serious flaw.
Now, I don't have access to either the schematics or the drivers, so I don't know the technical explanation for that.
- The I²C slave pulls the SCL clock line low, starting clock stretching.
- The I²C master, i.e. Robotics TXT, waits.
- The I²C slave releases the SCL clock line, ending clock stretching.
- The I²C master, i.e. Robotics TXT, takes 1 second (> 955 ms) to resume communication.
Now, I don't have access to either the schematics or the drivers, so I don't know the technical explanation for that.
- Is the I²C managed by the Cortex-A8 MPU (i.e. Micro-Processor Unit, running on Linux) or the Cortex-M3 MCU (i.e. Micro-Controller Unit)?
- Is the I²C driver interrupt-based or does it rely on polling?
-
- Beiträge: 171
- Registriert: 12 Jan 2016, 09:13
Re: Unterstützung von i2c clock stretching beim TXT controll
Hello Rei Vilo,
the I²C bus is managed by the Cortex-A8 and not by the Cortex-M3. It was implemented in this way to minimize the communication between the MCU and the MPU for control purposes. We use the I²C driver of the standard Linux kernel (i2c_dev) in the userspace. I do not know if it works with interrupts or with pollings, but if I get this info, I will let you know.
Best regards,
Markus
the I²C bus is managed by the Cortex-A8 and not by the Cortex-M3. It was implemented in this way to minimize the communication between the MCU and the MPU for control purposes. We use the I²C driver of the standard Linux kernel (i2c_dev) in the userspace. I do not know if it works with interrupts or with pollings, but if I get this info, I will let you know.
Best regards,
Markus