Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Jak zmienić prędkość interfejsu I2C w Raspberry Pi

ghost666 07 Wrz 2018 14:17 2034 0
  • Jak zmienić prędkość interfejsu I2C w Raspberry Pi
    Zmiana domyślnej prędkości interfejsu I²C w komputerze jednopłytkowym, takim jak Raspberry Pi, może pozwolić na przyspieszenie działania niektórych peryferiów, dlatego warto sprawdzić z jaką maksymalną prędkością może działać układ, z którym się komunikujemy. Jest to szczególnie przydatne podczas korzystania np. z ekranów OLED, sterowanych poprzez I²C, gdyż pozwala na szybsze przesyłanie danych do tych modułów i płynniejsze wyświetlanie na nich grafiki.

    Prędkość interfejsu I²C nazywana jest czasem 'baudrate', aczkolwiek ten parametr to trochę co innego, aczkolwiek w tym przypadku używane są zamiennie.

    Krok 1 - uruchomienie interfejsu I²C

    Zanim będziemy mieli co konfigurować musimy w ogóle załączyć omawiany interfejs w naszym minikomputerze. Najprościej jest zrobić to poprzez narzędzie raspi-config, uruchamiane z linii komend.

    Opis jak włączyć interfejs I²C w Raspberry Pi znajdziemy tutaj.

    Krok 2 - edycja parametrów interfejsu

    Aby zmienić prędkość interfejsu I²C w naszym Raspberry Pi, musimy edytować plik konfiguracyjny (config.txt), znajdujący się w folderze /boot. W tym celu wpisujemy w linii komend:

    Kod: bash
    Zaloguj się, aby zobaczyć kod


    W otwartym pliku znajdujemy linijkę zawierającą “dtparam=i2c_arm=on”. Dopisujemy do niej ",i2c_arm_baudrate=400000", gdzie 400000 to nowa prędkość interfejsu (w tym przypadku 400 kbit/s). Pamiętajmy o przecinku pomiędzy tymi parametrami.

    Po edycji linijka powinna wyglądać tak:

    Code:
    dtparam=i2c_arm=on,i2c_arm_baudrate=400000


    Mówi ona o tym, że interfejs ma być włączony i uruchomiony z zadaną prędkością. Możemy teraz zapisać plik i wyjść z edytora tekstowego.

    Krok 3 - reboot

    Teraz możemy zresetować nasz komputer, po ponownym uruchomieniu interfejs pracować będzie z ustawioną prędkością:

    Kod: bash
    Zaloguj się, aby zobaczyć kod


    Wartości baudrate

    W dokumentacji do procesora BCM2835 przeczytać możemy, że interfejs I²C wykorzystanego w Raspberry Pi SoCa pracować może w tzw. "fast-mode", czyli z prędkością 400 kbit/s; taka jest właśnie maksymalna prędkość interfejsu. Domyślna prędkość to 100000, czyli 100 kbit/s. Raspberry nie potrafi pracować w najszybszym trybie (high speed mode), który pozwala na osiąganie prędkości do 3,4 Mbit/s. W teorii specyfikacja I²C zezwala na prędkości pośrednie pomiędzy tymi wartościami. Można także ustawić wartość mniejszą niż 100000.


    Źródło: https://www.raspberrypi-spy.co.uk/2018/02/change-raspberry-pi-i2c-bus-speed/


    Fajne! Ranking DIY
  Szukaj w 5mln produktów