multilanguage

sobota, 10 marca 2012

Sterownik ethernet

Pewnego pięknego dnia dostałem do zrobienia sterownik wejść/wyjść zarządzany przez sieć.
Założenia konstrukcyjne są następujące:

  • 20 wejść
  • 20 wyjść przekaźnikowych 
  • sterowanie przez stronę www i wiersz poleceń
  • wyprowadzanie interfejsów komunikacyjnych UART oraz ISP/I2C
  • całość oparta na PIC18F97J60 ze sprzętową obsługa Ethernetu
Do pomocy dostałem zestaw deweloperski microchipa PICDEM2.net:

Mikrokontroler mimo, że tylko 8 bitowy ma naprawdę dość sporo do zaoferowania:
  • Taktowanie do 41,67MHz (uzyskiwane przez PLL z kwarcu 25MHz)
  • 5 timerów w tym jeden z możliwością podpięcia zewnętrznego oscylatora
  • po dwa USARTY i SPI/I2C
  • wbudowany kontroler Ethernet
  • 16 kanałowy 10 bitowy ADC (w tym projekcie się nie przyda)
  • 128kB pamięci flash i 3808B pamięci SRAM
Żeby to wykorzystać trzeba się z nim dogadać, producent dostarcza dość przyjazne środowisko i co mnie mocno zaskoczyło działa bez problemów na 64 bitowym jądrze Linuxa, wystarczyło tylko zainstalować. To samo dotyczyło programatora, po podłączeniu ICD3 jest od razu wykrywany i co najważniejsze działa!


Razem z oprogramowaniem microchip dostarcza biblioteki (do pobrania z ich www) w których zawarty jest gotowy stos TCP/IP z przykładami. Jedyna niedoróbka to program do generowania wsadu do pamięci eeprom (tam przechowywane jest www), odpalany w różnych środowiskach daję różne wyniki (rozmiar ten sam ale sumy kontrolne już nie), jest z tym trochę zabawy, ale raz na jakiś czas można przeżyć.
W tym wypadku część programistyczna nie okazała się zbyt trudna.

W celu wykonania sterownika należało trochę zmodyfikować (głównie usunąć to co nie potrzebne) rozwiązania producenckie. Z racji tego, że część elementów jest niedostępna , należało sprawdzić jak zachowują się ich odpowiedniki. Zmiany dotyczyły głównie sprzętu zapewniającego łączność z siecią (a to jednak dość ważne). W tym celu należało zamówić części i zbudować model.
Sprawa okazała się ciut trudniejsza niż się wydawało. PIC zamiast rastra 0,5 okazał się mieć 0,4. Chyba nie muszę pisać jakie ma to konsekwencje. Co ciekawe pana 0,4 nie ma we wszystkich notach katalogowych do tego układu. Tylko w jednym sklepie udało się znaleźć przejściówki do TQFP100 0.4mm (ale go nie polecam bo płytka szła tydzień, przyszła nie taka i szła jeszcze raz - w sumie dwa tygodnie w plecy). W końcu jak dotarła to z większymi lub mniejszymi trudnościami z kilku różnych płytek powstało coś takiego:
Sprawiło to trochę trudności i pochłonęło dużo czasu, ale ostatecznie się udało.
Równolegle do rozwijania modelu i oprogramowania powstawała płytka. Ostatecznie wykluło się coś takiego:
Co dalej?
Oczekiwanie na płytkę! Część już są, wystarczy zmontować i mieć nadzieję, że zadziała.
PS Dziękuje Pani fotograf za wykonanie zdjęć!
PS2 Te brzydkie robiłem osobiście.

Inne artykuły dotyczące sterownika:

Brak komentarzy:

Prześlij komentarz