ts555 Posted July 26, 2019 at 09:28 AM Share Posted July 26, 2019 at 09:28 AM Hallo, kann es sein, dass in der FW-Version 2.0.1 der OSR-Wert immer auf 4096 stehen bleibt? In "mcp3911.c" werden neue Werte nur ODER-verknüpft: case S_SET_RATE_R: spi_fifo_read_fifo(&mcp3911.spi_fifo, &mcp3911.spi_fifo_buf[0], 3); mcp3911.config = (uint16_t)(mcp3911.spi_fifo_buf[1] << | mcp3911.spi_fifo_buf[2]; switch(mcp3911.rate) { case SAMPLE_RATE_976_SPS: mcp3911.config |= MSK_CONFIG_OSR_1024; break; case SAMPLE_RATE_488_SPS: mcp3911.config |= MSK_CONFIG_OSR_2048; break; case SAMPLE_RATE_244_SPS: default: mcp3911.config |= MSK_CONFIG_OSR_4096; break; } Nach "mcp3911.config = ..." habe ich testweise diesen Ausdruck eingefügt: mcp3911.config &=~MSK_CONFIG_OSR_4096; Ansonsten ist die maximale Abstastrate wohl auf kleiner 610sps begrenzt, bzw. "S_GET_ADC" wird höchstens ca. alle 1,65ms aufgerufen (gemessen per Oszi). Wenn man sich per Oszi ansieht, wie oft der ADC ausgelesen wird, fällt auch ein relativ starker Jitter der Abtastzeitpunkte auf. Dies lässt sich durch eine Erhöhung der SPI Baudrate des MCP3911 verbessern. Die Baudrate ist per Default auf 100kBd eingestellt. Kann diese problemlos erhöht werden? Bei meinen Tests funktionierte es mit z.B. 4Mbd noch ohne erkennbare Fehler. Quote Link to comment Share on other sites More sharing options...
borg Posted July 29, 2019 at 12:53 PM Share Posted July 29, 2019 at 12:53 PM Ich hab es mir nicht im Detail angeschaut, sieht aber in der Tat nach einem sehr unnötigen Bug aus! Schaue ich mir schnellstmöglich an, gibt dann eine neue Firmware. Danke für den Hinweis . Quote Link to comment Share on other sites More sharing options...
borg Posted August 1, 2019 at 12:21 PM Share Posted August 1, 2019 at 12:21 PM Firmware Version 2.0.2 ist jetzt veröffentlicht und sollte das fixen. Ich hab die Firmware in dem Zuge auf die neuen Coop Tasks umgestellt die wir in der bricklib haben (gab es zu dem Zeitpunkt als wir die Firmware geschrieben haben noch nicht) Die Baudrate hab ich auf 200kHz erhöht um das Jitter zu verringern, wobei der Durchsatz bei 100kHz prinzipiell auch bereits gereicht hatte. So sieht das jetzt aus: 976 SPS 488 SPS 244 SPS Der etwas größere Block bei CLK sind immer die Daten und die kleinen Blöcke sind die Statusabfrage. Das sieht jetzt IMO ganz gut aus und bleibt auch langfristig gleichmäßig. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.