I2C Scaner
To prosta aplikacja stanowiąca jednocześnie doskonałe narzędzie diagnostyczne do celów badania magistrali I2C. Projekt składa się z dwóch ( w przyszłości trzech ) elementów:
Kliknij i pobierz najnowszą wersję programu ScanI2C |
W przypadku braku wyświetlacza LCD można wyłączyć jego obsługę podając stan niski na pin PC2 mikrokontrolera ATmega32. W takiej konfiguracji wystarczy sama przejściówka USB/RS232, dwa rezystory podciągające linie SDA i SCL do VCC oraz jedno lub wiele urządzeń (układów scalonych) podłączonych do magistrali I2C. Wgranie wsadu do mikrokontrolera ATmega32 odbywa się z poziomu programu na komputerze PC, poprzez zakładkę "Firmware". Wystarczy prawidłowo podłączyć jeden z dwóch programatorów sprzętowych: ATB-USBASP lub ATB-FT232R (ATB-USB-RS232) do mikrokontrolera za pomocą magistrali ISP (Mosi, Miso, Sck, RST) i nawet w przypadku gdy mikrokontroler jest fabrycznie nowy, z ustawionym fabrycznie taktowaniem z wewn. oscylatora 1 MHz, wsad zostanie poprawnie wgrany. Projekt można uruchamiać na dowolnym zestawie ATB od najstarszej wersji 1.01 aż po najnowsze jak 1.05a. Jeśli ktoś nie posiada zestawu ATB, wystarczy użyć programatora ATB-USBASP oraz przejściówki ATB-USB-RS232 i można uruchomić go nawet na płytce stykowej.
Uwaga! Za pomocą programatora sprzętowego wgrywany jest jedynie BLS (Boot Loader Section). A dopiero w następnej kolejności wgrywany jest właściwy wsad, poprzez funkcjonalność bootloadera.
Ten nowatorski mechanizm pozwala każdemu użytkownikowi projektu uruchomić urządzenie diagnostyczne "I2C SCANER" praktycznie w dowolnej chwili, na żądanie.
Ciekawym usprawnieniem pracy programu jest możliwość stworzenia własnego pliku tekstowego o nazwie "i2c_tables.txt", którego należy umieśić w folderze gdzie znajduje się program EXE na PC, z opisem adresów na magistrali I2C oraz powiązanych z nimi nazwami urządzeń. Plik można utworzyć lub edytować nawet w popularnym programie Notepad.exe (Notatnik.exe) istniejącym w każdym systemie MS Windows. Format zapisu danych jest prosty, i wygląda jak niżej:
adr1,adr2,adrN:NAZWA UKŁADU SCALONEGO lub kilku układów |
Jak widać do jednego układu scalonego można przypisać kilka różnych adresów, ale również dla jednego adresu można wprowadzić kilka nazw, poniżej przykład takiego pliku:
A2,A0:RTC PCF8583 A8,AA:EEPROM 24c04 D0:RTC Ds1307-DS1337 |
Poniżej dwa poradniki wideo prezentujące podstawową obsługę oprogramowania na zestawie ATB: