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.