24-bitowy sprzętowy licznik impulsów z interfejsem I²C

24-bitowy sprzętowy licznik impulsów z interfejsem I²C

Moduł 24-bitowego licznika impulsów, przydatny w domowej automatyce, np. do zliczania sygnałów z przystawek impulsowych liczników mediów.

Podstawowe parametry:
  • konstrukcja oparta na sprzętowym liczniku scalonym typu S-35770,
  • wejście zliczające aktywowane zboczem narastającym,
  • sprzętowe wejście resetowania licznika,
  • interfejs I²C do odczytu zawartości licznika i obsługi rejestru użytkownika,
  • zasilanie: 1,5...5,5 V/300 μA (maks.)

Moduł bazuje na układzie 24-bitowego licznika z interfejsem I²C typu S-35770 firmy Ablic, którego budowę pokazano na rysunku 1.

Rysunek 1. Budowa wewnętrzna S-35700 (za notą Ablic)
Rysunek 2. Schemat modułu

Schemat nakładki zaprezentowano na rysunku 2. Układ zasilany jest napięciem z zakresu 1,5...5,5 V, pobór prądu podczas aktywnej transmisji nie przekracza 300 μA (w spoczynku wynosi poniżej 0,01 μA). Zasilanie i magistrala I²C doprowadzone zostały do złącza oznaczonego I²C. Zliczane impulsy doprowadzone są do złącza CKI, pojemność licznika to 16777215 impulsów (0xFFFFFF, rozdzielczość 24-bitowa). Zmiana stanu licznika jest aktywowana narastającym zboczem sygnału CKI, po osiągnięciu wartości 0xFFFFFF rejestr ulega skasowaniu i zliczanie rozpoczyna się od wartości 0x000000. Układ ma aktywowane stanem niskim wejście RST, służące do jego sprzętowego zerowania; sygnał ten kasuje tylko zawartość licznika, nie ma wpływu na komunikację I²C. Ponadto dostępny jest sygnał przepełnienia OVC (wyprowadzenie LOOP), zmieniający stan na przeciwny po każdej zmianie wartości zliczonych impulsów z 0xFFFFFF na 0x000000. Sygnał OVC po resecie układu ustawia się na 0. Umożliwia on kaskadowe łączenie wielu modułów w celu uzyskania większej pojemności. Do złącza CKI doprowadzone jest też zasilanie, co ułatwia podłączenie zewnętrznych przetworników wymagających zasilania lub polaryzacji styku impulsatora. Sygnały RST, OVC wraz z zasilaniem oraz I²C dostępne są na złączu CNT.

Układ wykazuje wrażliwość na ładunki statyczne, należy więc zachować odpowiednią ostrożność.

Układ zmontowany został na dwustronnej płytce drukowanej zgodnej z Grove. Rozmieszczenie elementów zobrazowano na rysunkach 3a i 3b. Sposób montażu nie wymaga opisu. Zmontowany moduł zaprezentowano na fotografii 1.

Rysunek 3. Rozmieszczenie elementów Grove_CNT_S35770 (a – warstwa TOP, b – warstwa BOTTOM)
Fotografia 1. Zmontowany moduł

Moduł nie wymaga uruchamiania. Układ S-35770 dostępny jest na magistrali I²C pod adresem 0x32. Licznik ma dwie grupy rejestrów 24-bitowych (3×8 bitów): pierwsza to rejestr licznikowy, w którym zliczane są impulsy, druga to uniwersalny rejestr użytkownika, którego trzy najmłodsze bity – ustawione na 010 – używane są do programowego kasowania stanu licznika. Jeżeli korzystamy z rejestrów użytkownika, należy pamiętać, aby najmłodsze 3 bity ustawić w pozostałych przypadkach na 111.

Rysunek 4. Odczyt rejestrów licznikowych

Sekwencję odczytu rejestrów licznika pokazano na rysunku 4, a sekwencję zapisu zaprezentowano na rysunku 5.

Rysunek 5. Zapis rejestrów użytkownika

Należy pamiętać, że zapis musi odbywać się zawsze w pakiecie 3 bajtów, w przeciwnym razie układ może działać nieprawidłowo. Sekwencja odczytu z rejestrów użytkownika widoczna jest na rysunku 6. Podczas aktywnej transmisji I²C zliczanie impulsów ulega zablokowaniu, aby zapobiec zmianie stanu licznika podczas odczytu.

Rysunek 6. Odczyt rejestrów użytkownika

Szybkiego sprawdzenia działania układu można dokonać przy użyciu Arduino i biblioteki ABLIC_S35770_Demo, dołączonej do materiałów dodatkowych. Szkic komunikuje się z układem S-35770 poprzez I²C oraz dwa wyprowadzenia cyfrowe: na jednym generowany jest reset licznika, na drugim – testowo – impulsy do zliczania. Po zmianie wyprowadzeń w konfiguracji:

ABLIC_S35770 myABLIC_S35770(11, 10)

gdzie: 11 – pin sygnału RST, 10 – pin sygnału CKI, możemy przetestować komunikację i cykle zliczania. Jeżeli wszystko działa poprawnie, moduł może zostać zastosowany we własnej aplikacji.

Adam Tatuś, EP

Wykaz elementów:
Rezystory:
  • R1, R2: 100 kΩ (SMD 0603, 1%)
Kondensatory: (SMD 0603 X7R 10 V)
  • C1: 100 nF
  • C2: 2,2 μF
Półprzewodniki:
  • U1: S-35770E01I (TMSOP8)
Pozostałe:
  • CKI: złącze śrubowe DG 3-pin. 3,5 mm (DG381-3.5-3)
  • CNT: listwa SIP6
  • I²C: złącze Grove proste (110990030)
Artykuł ukazał się w
Elektronika Praktyczna
maj 2024
DO POBRANIA
Materiały dodatkowe

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik październik 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio wrzesień - październik 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje wrzesień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna październik 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich październik 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów