Obsługa I2C w trybie Fast-mode Plus w LPC1300

Przykład wykorzystania magistrali I2C w trybie Fast-mode Plus:

Aby wybrać prędkość transmisji I2C należy zmodyfikować wartości rejestrów I2SCLH i I2SCLL. I2SCLH określa liczbę cykli zegara PCLK_I2C w stanie wysokim linii SCL, natomiast I2SCLL określa liczbę cykli zegara PCLK_I2C w stanie niskim. Częstotliwość pracy magistrali I2C jest zdefiniowana wzorem przedstawionym na rysunku 2, gdzie PCLK_I2C jest taktowaniem zegara systemowego.

Rys. 2. Wzór na częstotliwość pracy magistrali I2C

Rys. 2. Wzór na częstotliwość pracy magistrali I2C

 

Tabela 4. Konfiguracje szybkości I2C

Stan Przepustowość I2C Tryb I2C PCLKI2C I2SCLH I2SCLL
1
2
3
4
5
6
10 Kbps
62.5 Kbps
125 Kbps
250 Kbps
500 Kbps
1000 Kbps
Tryb standardowy/Fast-mode I2C
Tryb standardowy/Fast-mode I2C
Tryb standardowy/Fast-mode I2C
Tryb standardowy/Fast-mode I2C
Fast-mode Plus I2C
Fast-mode Plus I2C
48 MHz
48 MHz
48 MHz
48 MHz
48 MHz
48 MHz
2400
384
192
96
48
24
2400
384
192
96
48
24

Wnioski

W dzisiejszych czasach od pojedynczego kanału I2C wymagana jest jednoczesna obsługa wielu różnych funkcji, jak na przykład uwierzytelnianie produktu, odczyty EEPROM, pomiar temperatury i zarządzanie systemem zasilania. Z tego powodu, wydajność stała się kluczowym problemem. Zintegrowany w LPC1300 kontroler  Fast-mode Plus dostarcza prostego sposobu na poprawienie wydajności magistrali I2C ponad dwa razy bez dodatkowych kosztów lub zwiększonej komplikacji układu. Jedynym istotnym wymaganiem poprawnego działania magistrali I2C jest zapewnienie parametrów elektrycznych takich jak pojemność i dołączenie odpowiednich terminatorów. W ofercie NXP znajduje się wiele urządzeń zdolnych do pracy z magistralą I2C w trybie FM.

Artykuł opracowano na podstawie noty aplikacyjnej AN10900 firmy NXP.

Do pobrania

O autorze