- Napięcie zasilania: 9…12 V DC.
- Maksymalny prąd obciążenia (podświetlenie wyświetlacza wyłączone/załączone): 25 mA/45 mA.
- Maksymalna liczba użytkowników: 50 (+Administrator).
- Maksymalna liczba zdarzeń: 1000.
- Czas automatycznego wylogowania Administratora: 60 sekund.
- Czas automatycznego wygaszenia podświetlenia: 30 sekund bezczynności użytkownika.
- Czas automatycznego wyjścia do menu głównego: 30 sekund bezczynności użytkownika.
- Maksymalny prąd styków przekaźnika wykonawczego: 1 A przy 220 V AC (szczegóły w dokumentacji elementu).
Jako najprostsze oraz również najtańsze z punktu widzenia inwestora, okazało się zastosowanie nieco już zapomnianych kluczy elektronicznych w postaci pastylek iButton, z unikalnym 64-bitowym numerem seryjnym. Zdaję sobie sprawę, że rozwiązanie jest dość leciwe jak również nie do końca bezpieczne (patrz mój projekt emulatora cButton z EP 2/2009), lecz czy istnieją zabezpieczenia stuprocentowe? Wszystko zależy od wymagań projektu i charakteru chronionego obiektu i w wielu wypadkach tego typu, proste i tanie rozwiązanie jest nader wystarczające. Idąc jednak dalej, w typowy dla siebie sposób, postanowiłem rozszerzyć nieco funkcjonalność takiego systemu o możliwość rejestrowania zdarzeń oraz zarządzania prawami dostępu uprawnionych użytkowników.
Pierwszym problemem, z którym musiałem się zmierzyć, był wybór medium dla rejestracji zdarzeń i parametrów użytkowników. W przypadku konfiguracji listy użytkowników mających prawa dostępu do obiektu, sprawa jest dość prosta, gdyż taka lista, jak i niezbędna konfiguracja, nie są wykonywane 9 modyfikowane zbyt często, więc wystarczy wbudowana w mikrokontroler nieulotna pamięć EEPROM o odpowiedniej wielkości. Nieco inaczej wygląda sprawa z rejestrowaniem zdarzeń.
Tutaj jest niezbędna pamięć o nieograniczonej (teoretycznie) liczbie możliwych do przeprowadzenia operacji zapisu (w zasadzie, kasowania, w przypadku pamięci EEPROM), a jak wiadomo pamięci EEPROM mają ograniczoną liczbę cykli zapisu. W takim wypadku, najprostszym rozwiązaniem byłoby zastosowanie statycznej pamięci SRAM, ale ta z kolei wymagałaby zastosowania jakiegoś mechanizmu podtrzymania zasilania, by informacje w niej zawarte nie ulegały skasowaniu po jego wyłączeniu. To nie byłoby optymalne i łatwe rozwiązanie biorąc pod uwagę wymóg niezawodności urządzenia. W związku z tym musiałem wybrać inne rozwiązanie, które byłoby jak najprostsze, niezawodne i co ważne – tanie. Dość szybko okazało się, że idealnym peryferium do tego typu zastosowań jest pamięć FRAM (Ferroelectric Random Access Memory). Co prawda, te pamięci są znane już od ponad 20 lat, jednak ich dotychczasowa cena jak i dostępność znacznie ograniczała pole ewentualnych zastosowań.
Pamięć taka jest rodzajem pamięci RAM, w której do zapamiętywania bitów słowa danych wykorzystano efekt ferroelektryczny specjalnego kryształu ferromagnetycznego, co wiąże się między innymi z tą ważną cechą, iż taka pamięć nie wymaga specjalnych zabiegów podczas zapisu, jak to ma miejsce w pamięci EEPROM. Bardzo krótki, w odróżnieniu od pamięci EEPROM, jest też czas zapisu pamięci FRAM. Jako, że w Internecie można bez problemu znaleźć sporo szczegółowych informacji na temat budowy i zasady działania tego typu peryferiów (polecam zwłaszcza stronę http://www.easy-soft.net.pl/artykuly/podzespoly/pamieci-fram-w-zastosowaniach-praktycznych-pamiec-szeregowa-fm24c64) nie będę rozwijał tego, skądinąd ciekawego zagadnienia, a skupię się na zaletach tego typu pamięci, które to można zdefiniować w kilku, poniższych punktach:
- Zgodność wyprowadzeń z pamięciami szeregowymi EEPROM i równoległymi SRAM.
- Liczba cykli odczytu/zapisu rzędu 100 bilionów, więc praktycznie nieograniczona.
- Bardzo duża szybkość zapisu, rzędu nanosekund.
- Mały pobór prądu, ok. 1/60 energii potrzebnej dla pamięci EEPROM do zapisu lub 1/400 zapotrzebowania pamięci FLASH w trakcie zapisu.
- Wysoka stabilność w czasie ~40lat @75°C.
- Znacznie większą odporność na promieniowanie niż pamięci Flash/EEPROM, jak również na działanie pola magnetycznego (ważne w zastosowaniach medycznych i wojskowych).
- Duża szybkość interfejsów komunikacyjnych w dostępnych rozwiązaniach rynkowych, np. dla pamięci firmy RAMTRON szybkość interfejsu I²C może dochodzić do niestandardowego 1 MHz.