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:
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:
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ą:
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/
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
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:
dtparam=i2c_arm=on,i2c_arm_baudrate=400000Mó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
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