Raport wykonanych prac do dnia 09.05.2010
2010-05-09 13:27:28
Zadania wykonane:
1. Podział zadań i stworzenie harmonogramu.
2. Zaprojektowanie struktury karty:
- Dane przechowywane na karcie:
a. dane personalne
- ID użytkownika
b. logi:
- data
- godzina
- miejsce(ID czytnika)
- Struktura pamięci karty:
a. 16 bajtów – ID użytkownika
b. pozostała pamięć – logi(1 log - 8 bajtów):
- 3 bajty – data(1 bajt – dzień, 1 bajt – miesiąc, 1 bajt rok)
- 3 bajty – godzina(1 bajt – godziny,1 bajt–minuty,1 bajtsekundy)
- 2 bajt – ID czytnika
3. Wykonanie kabla połączeniowego RS232:
- czytnik RFID <-> port RS232 na mikrokontrolerze
4. Biblioteka NFC:
- wykonanie portowania biblioteki do obsługi czytnika ASR122S na język C#
5. Program do personalizacji kart posiada obecnie następujące funkcjonalności:
-możliwość nawiązywania połączenia z czytnikiem,
-możliwość wprowadzenia klucza bezpieczeństwa do karty (6 bajtowy kod w HEX),
-możliwość konfiguracji połączenia z czytnikiem:
a. wyboru portu,
b. wyboru prędkości transmisji obsługiwanych przez czytnik (9600,115200 bodów),
-odczytanie identyfikatora użytkownika karty,
-zmiana identyfikatora użytkownika karty,
-odczytania logów znajdujących się w pamięci karty,
-czyszczenie logów znajdujących się w pamięci karty,
-prostą obsługę błędów,
Poniżej znajduje się obraz obecnej wersji systemu do personalizacji kart:

6. Program dla mikrokontrolera:
- Konwersja komend APDU do hex
a. konwersja podanej na wejściu w postaci ciągu znaków komendy APDU do kodu hex.
- Obliczenie sumy kontrolnej podanej na wejściu komendy APDU
a. obliczenie sumy kontrolnej odbywa się na podstawie algorytmu podanego w dokumentacji czytnika kart. Zwraca wartość typu uint8_t.
- Sprawdzenie sumy kontrolnej komendy APDU
a. porównanie obliczonej cyfry kontrolnej z odebraną sumą kontrolną. Jeśli cyfra jest poprawna funkcja zwraca wartość true, w przeciwnym razie false.
-Obsługa transmisji szeregowej RS-232
a. wysyłanie danych
b. odbiór danych przy pomocy systemu przerwań
7. Schemat płytki:
- Następujące moduły na schemacie zostały wykonane:
a. Układ zasilania +5V ze stabilizatorem napięcia LM7805, sterowanym przełącznikiem

Układ jest zasilany napięciem przy pomocy zasilacza 9-15V dlatego też na schemacie nie ma potrzeba montowania mostka prostowniczego. Został tylko zastosowany popularny układ lm7805 który zapewnia stabilne napięcie wyjściowe o wartość +5V. Dodatkowo został dołączony przełącznik do włączania/wyłączania zasilania.
b. Moduł obsługi portu szeregowego z wykorzystaniem układu max232:

Na powyższym schemacie przedstawione zostało podstawowe wyprowadzenie do gniazd interfejsu RS-232. Konwersje napięć do poziomu akceptowalnego w standardzie RS czyli +12V/-12V zapewnia układ max232. W naszym projekcie do tego układu podłączyliśmy dwa porty szeregowe, w celu umożliwienia jednoczesnej komunikacji zarówno z czytnikiem kart jak i komputerem. Wyprowadzenia RXD0 i TXD0 zostaną doprowadzone do pinów PE0 i PE1, natomiast wyprowadzenia RXD1 i TXD1 zostaną podłączone do pinów PD2 i PD3.
c. Moduł obsługi wyświetlacza LCD zgodnego z HD44780:

W naszym projekcie płytki chcemy także dołączyć wyświetlacz LCD zgodny ze standardem HD44780 w celu informowania użytkownika o stanie autoryzacji karty. W naszym projekcie zdecydowaliśmy się na użycie 4-bitowego trybu pracy wyświetlacza z odczytem flagi zajętości. W tym trybie do sterowania mikrokontrolerem wykorzystywane będzie 7 wyprowadzeń mikrokontrolera. Odczyt flagi zajętości pozwala na zrezygnowanie z generowania programowych opóźnień pomiędzy operacjami zapisu do wyświetlacza. Przyczynia się również do wzrostu wydajności operacji, gdyż faktyczny czas oczekiwania na zakończenie operacji jest krótszy niż podany w dokumentacji sterownika maksymalny czas operacji. Co więcej na schemacie podłączenia dołączamy także potencjometr pozwalający na ustawienie odpowiedniego dla użytkownika kontrastu wyświetlacza
d. Moduł ethernetu:
Powyżej przedstawiony schemat modułu zawiera istotne komponenty takie jak: mikrokontroler ATmega 128, 32kB pamięci RAM, układ RTL8019AS który zapewnia komunikacje sieciową w standardzie 10-BASE T oraz układ TLC7701 zarządzający napięciem, a także zapewniający sygnał resetu dla mikrokontrolera w przypadku braku stabilności napięcia. Zasilanie +5V podawane jest z portu rozszerzonego. Mikroprocesor ATmega jest taktowany kwarcem 16MHz. Dodatkowo na wyjścia PG3 i PG4 dołączony jest także kwarc 32.768kHz w celu umożliwienia tworzenia aplikacji w oparciu o RTC. Wyprowadzenia portów A-F mikrokontrolera zostały doprowadzone do portu rozszerzonego. Jeśli chodzi o układ RTL8019AS jest on także zasilany napięciem +5V, taktowany jest natomiast kwarcem 20MHz. Do układu podłączone są 3 diody RX,TX oznaczające przesył danych oraz LINK która świadczy o nawiązaniu połaczenia z drugim urządzeniem sieciowym. Pomimo tego, że układ RTL posiada 16kB wbudowanej pomięci która w zupełności wystarcza do buforowania danych, dodatkowo podłączone zostało 32kB pamięci RAM w celu zwiększenie jego wydajności działania w przypadku tworzenie bardziej wymagających aplikacji aplikacji.
e. Moduł z kwarcem 16Mhz
f. Moduł z gniazdem ISP
g. Moduł resetujący mikrokontroler.
Wszystkie powyżej wymienione elementy zostały połączone z mikrokontrolerem Atmega128-M.
