PC jako master w magistrali I2C

Pod magistralę I2C jest dostępna mnogość scalaków: sensorów temperatury, przetworników AD / DA, sterowników wyświetlaczy, ekspanderów i wielu innych. Ażby się chciało to wszystko podłączyć do PC i się pobawić ;). Na niniejszej stronie zaprezentuję prostą przystawkę mojej konstrukcji, dzięki której komputer PC staje się urządzeniem master w magistrali I2C. Przystawka korzysta z portu szeregowego. Schemat poniżej:

Image

Całość można spokojnie zmontować metodą "pająka" i zapakować w obudowę DB9. Układ był testowany z ekspanderem PCF8574 i czujnikiem temperatury TMP100 - żadnych nieprawidłowości wynikających z drobnych niezgodności ze specyfikacją I2C nie stwierdziłem. Zasilanie podłączanych układów można pociągnąć również z portu - tu z linii TxD, na której programowo jest wystawiony stan wysoki. To tyle o przystawce. Teraz czas na oprogramowanie.

I2CTEST -Tester magistrali I2C v1.1

Nowości względem poprzedniej wersji

I2CTEST - 211KB współpracuje z opisywaną przystawką. Umożliwia: wykrycie obecności urządzeń - podaje ich adresy (zakładka skaner). Oprócz tego możliwe jest próbne zrealizowanie komunikacji z urządzeniem slave (zakładka tester).

Image

Omówienie zakładek:

Współpraca programu z innymi przystawkami

Jest możliwa pod warunkiem, że korzystają z linii portu szeregowego. W tym przypadku należy poddać edycji plik i2c.ini:

[I2C]
SDALOW=CLRDTR 
SDAHIGH=SETDTR
SCLLOW=CLRRTS
SCLHIGH=SETRTS
SDAWe=DSR      ; do wyboru jest tylko DSR i CTS
SDANeg=false   ; negowanie wejscia
POWERON=SETTXD ; zasilanie

[PORT]
port=com2
TimeSCL=10
Uwaga: program nie jest odporny na błędne definicje.