Cel: Przedstawienie rozwiązań konkurencyjnych do dominującego na rynku embedded Linux'a.



Podobne dokumenty
Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

MODEL WARSTWOWY PROTOKOŁY TCP/IP

ZiMSK. Charakterystyka urządzeń sieciowych: Switch, Router, Firewall (v.2012) 1

Embedded Solutions Automaticon Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ

>>> Techniki rozbudowy systemów wbudowanych >>> Biblioteki wspomagające rozbudowę systemów wbudowanych. Name: Mariusz Naumowicz Date: 29 maja 2019

Thinkcore W325A. Pełny opis produktu. Wbudowany komputer przemysłowy z GSM/GPRS, 1x LAN, 2x RS-232/422/485, SD, RISC CPU. [Nowy moduł GSM/GPRS]

GSM/GPRS w przemyśle. Cezary Ziółkowski

Protokoły sieciowe - TCP/IP

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Moduł nie może być zasilany z PoE. Nie ma wbudowanej przetwornicy PoE, a posiada tylko wyprowadzenie pinów RJ45 na płytkę PCB

ZiMSK. mgr inż. Artur Sierszeń mgr inż. Łukasz Sturgulewski ZiMSK 1

Konstrukcja systemu telemetrycznego z zastosowaniem technologii internetowych

Programowanie Sieciowe 1

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Rozproszony system zbierania danych.

Szczegółowy opis przedmiotu zamówienia

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Wykład 2. Mikrokontrolery z rdzeniami ARM

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

PBS. Wykład Organizacja zajęć. 2. Podstawy obsługi urządzeń wykorzystywanych podczas laboratorium.

Przesyłania danych przez protokół TCP/IP

Viper Linux Lite, oprogramowanie Linux

Systemy na Chipie. Robert Czerwiński

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

System czasu rzeczywistego

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Protokoły wspomagające. Mikołaj Leszczuk

Układy zegarowe w systemie mikroprocesorowym

Ethernet module on PIC18F97J60 microcontroller. Moduł sieciowy na mikrokontrolerze PIC18F97J60

Politechnika Śląska Wydział Elektryczny Katedra Mechatroniki. Koncepcja przyłączania mikroinstalacji prosumenckich (gniazd) do laboratorium ilabepro

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

Inteligentny czujnik w strukturze sieci rozległej

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP

Podstawowa konfiguracja routerów. Interfejsy sieciowe routerów. Sprawdzanie komunikacji w sieci. Podstawy routingu statycznego

Moxa Solution Day 2011

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Spis treści. Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Model warstwowy Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa Warstwa aplikacj. Protokoły sieciowe

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Sieci komputerowe Warstwa aplikacji

Sieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

Układy czasowo-licznikowe w systemach mikroprocesorowych

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Kod produktu: MP-W7100A-RS232

T: Konfiguracja interfejsu sieciowego. Odwzorowanie nazwy na adres.

Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A

projekt przetwornika inteligentnego do pomiaru wysokości i prędkości pionowej BSP podczas fazy lądowania;

Pytanie 1 Z jakich protokołów korzysta usługa WWW? (Wybierz prawidłowe odpowiedzi)

Kod produktu: MP-W7100A-RS485

Produkt wycofany z oferty. W celu dobrania zamiennika prosimy o kontakt na

Centrum Badawcze Polskiej Akademii Nauk Konwersja Energii i Źródła Odnawialne w Gminie Jabłonna

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Cyfrowy rejestrator parametrów lotu dla bezzałogowych statków powietrznych. Autor: Tomasz Gluziński

Narzędzia diagnostyczne protokołów TCP/IP

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

Kod produktu: MP01105

System mikroprocesorowy i peryferia. Dariusz Chaberski

MODUŁ UNIWERSALNY UNIV 3

ZASTOSOWANIE PLATFORM CYFROWYCH ARDUINO I RASPBERRY PI W NAUCZANIU STEROWANIA OBIEKTEM PNEUMATYCZNYM

Wykład 6. Mikrokontrolery z rdzeniem ARM

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

Konfigurowanie sterownika CX1000 firmy Beckhoff wprowadzenie. 1. Konfiguracja pakietu TwinCAT do współpracy z sterownikiem CX1000

Dr Michał Tanaś(

Komunikacja bezprzewodowa w technologiach GSM/GPRS/EDGE/UMTS/HSPA

Przyszłość elektromobilności: enterop ISO/IEC Implementacja wzorcowa

Wyjścia analogowe w sterownikach, regulatorach

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Studium przypadku Case Study CCNA2-ROUTING. Warianty projektów

MCAR Robot mobilny z procesorem AVR Atmega32

Programowanie sieciowe

Instrukcja użytkownika KRISTECH, 2016

Instrukcja programu Wireshark (wersja 1.8.3) w zakresie TCP/IP

Ćwiczenie a Budowanie sieci z wykorzystaniem koncentratorów

Scalony analogowy sterownik przekształtników impulsowych MCP1630

Zarządzanie systemami informatycznymi. Protokoły warstw aplikacji i sieci TCP/IP

PRZYKŁADOWE PYTANIA NA PRÓBNY EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE ZAWODOWE

DWUPASMOWY, BEZPRZEWODOWY PUNKT DOSTĘPU / ROUTER 450 MBIT

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

MIKROKONTROLERY I MIKROPROCESORY

Systemy wbudowane. Paweł Pełczyński

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

Plan wykładu. Sieci Komputerowe. Literatura. Historia 1/3

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Zarządzanie sieciami komputerowymi - wprowadzenie

Politechnika Śląska w Gliwicach Instytut Automatyki 2005/2006

Gniazda surowe. Bartłomiej Świercz. Łódź,9maja2006. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Gniazda surowe

w Przemyśle Modemy Moxa OnCell Maciej Kifer Inżynier Sprzedaży Moxa/Elmark Automatyka

Moduł Ethernetowy. instrukcja obsługi. Spis treści

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Application Layer Functionality and Protocols

ISBN Copyright by Wydawnictwo BTC Warszawa Redaktor techniczny: Delfina Korabiewska Redaktor merytoryczny: mgr Anna Kubacka

Funkcje sterowania cyfrowego przekształtników (lista nie wyczerpująca)

Transkrypt:

embeddedsoft.eu - Mikrostosy TCP/IP w zastosowaniach porównanie MIKROSTOSY TCP/IP W ZASTOSOWANIACH PORÓWNANIE Connecting different devices to the Internet is more and more popular today. In a past it was quite expensive to connect device to the internet considering comparison between a price of connected devices and a necessary interface itself. Today the price of necessary interfaces is quite reasonable and enable connection of even ordinary devices like for example central heating. It could be more interesting because house-automation subject is very hot topic today and prices of different types of energy are growing and will grow in the future. It means remote monitoring can became an important issue in the near future. I am trying to compare two different solution of the network interfaces. Cel: Przedstawienie rozwiązań konkurencyjnych do dominującego na rynku embedded Linux'a. 1.Wstęp Dawniej tylko komputery typu workstation i duże serwery miały możliwość komunikacji za pomocą protokołu TCP/IP. Obecnie dzięki ciągłej miniaturyzacji, zwiększeniu integracji układów scalonych, jak również obniżce cen, możliwe jest dołączenie mikrosystemu mieszczącego się w jednej kości do sieci TCP/IP. Daje to zupełnie nowe możliwości i rzuca nowe światło na rozległą sieć Internet. Możliwe jest bardzo tanie podłączenie praktycznie każdego urządzenia technicznego do sieci Internet, iego jak np. piece CO, klimatyzatory, oświetlenie, itp. Daje to nowe możliwości dla rożnego 1

rodzaju projektów (np. bardzo modnego obecnie inteligentnego budynku ). Kilka lat temu połączenie dowolnego urządzenia technicznego było zwykle realizowane za pomocą modułów typu embedded Linux (małe systemy mikroprocesorowe, na których można było uruchomić Linux a). Jednak tego typu rozwiązania są, w mojej ocenie, mimo wszystko drogie. Mogło by się wydawać, że jest inaczej, bo jak wszyscy twierdzą Linux jest za darmo. Jednak z ekonomicznego punktu widzenia jest to drogie rozwiązanie, dlatego że wszystkie dotychczas produkowane chipsety SOC (mogące unieść Linuxa) potrzebują dodatkowej kości pamięci DRAM oraz FLASH, co z kolei pociąga za sobą konieczność zastosowania czterowarstwowego PCB. Koszt wykonania czterowarstwowego PCB jest raczej wysoki, jeśli produkcja nie jest ustalona na poziomie setek tysięcy sztuk. Biorąc pod uwagę koszty modułu z embedded Linuxem są raczej drogie. Dodatkowo kość DRAM i Flash, szczególnie DRAM powoduje znaczny przyrost poboru prądu. Zasilanie systemu z akumulatora lub baterii staje się bardziej kłopotliwe. Reasumując dzięki Linux'owi zyskujemy możliwość skorzystania z całego dorobku GNU, ale jest to okupione dużo wyższą ceną sprzętu. Tam gdzie cena gra rolę pierwszorzędną, jak również pobór energii, bardzo ciekawym rozwiązaniem jest użycie modułu opartego o chipsety firmy Microchip. Mam tu na myśli całą serię układów PIC18F66-97J60-65 oraz układ ENC 28J60, który może być wykorzystany jako bardzo prosty sprzęg pomiędzy siecią Ethernet a istniejącym systemem mikroprocesorowym wyposażonym w wyjście SPI. W układach serii PIC18F66-97J60-65 w jednej kości mieści się cały system mikroprocesorowy oraz ETH-PHY. Maksymalny rozmiar wewnętrznej pamięci Flash to 128KB. Nie jest to wartość duża, ale wystarczająca. Ilość pamięci SRAM to 3808 bajtów. Czasami mogą pojawić się problemy, bo przy większej ilości aplikacji działających równocześnie może brakować pamięci. Mikrosystem zbudowany w oparciu o chip-set pobiera tylko około 0,315W. Jest to wartość nie do osiągnięcia dla systemów, na których może działać embedded Linux. Pozwala to na zasilanie systemu z baterii, akumulatora lub nawet małego ogniwa solarnego, co ma duże znaczenie marketingowe. 2

embeddedsoft.eu - Mikrostosy TCP/IP w zastosowaniach porównanie Rysunek 1. Przykładowe zastosowanie Powstaje coraz więcej projektów stosów TCP dla małych systemów mikroprocesorowych. Można te projekty znaleźć w sieci. Także producent Microchip oferuje bazę software'owa w postaci stosu TCP/IP, jak również kilka przykładowych aplikacji, z których najważniejszą jest mini-http-server. Stanowi to dobrą bazę deweloperską dla własnych projektów. 2 Mikrostosy TCP/IP 2.1 Protokoły obsługiwane przez stos firmy Microchip a) Warstwa Link: ETHERNET, ARP. b) Warstwa Internet: ICMP (Uwaga tylko ping-pong ), IP (Ipv4). c) Warstwa Transportowa: TCP (limitowana liczba otwartych gniazd), UDP (limitowana liczba otwartych gniazd). d) Warstwa Aplikacji: DNS, 3

HTTP, TFTP, SMTP, SNTP, SNMP, TELNET. 2.2 Budowa stosu TCP/IP dla małych systemów mikroprocesorowych Dzisiaj trudno sobie wyobrazić wielu osobom napisanie programu, jeśli nie mamy do dyspozycji procesora z zegarem co najmniej kilkaset megaherców i wielu megabajtów pamięci RAM. Całkiem poważne projekty można realizować w oparciu o małe procesory (np. PIC18F97J65 wykonuje maksymalnie 10 mln operacji na sekundę, a niektóre operacje potrzebują więcej niż jeden cykl maszynowy). Cykl maszynowy trwa cztery cykle zegarowe, czyli dla zegara 41,666 Mhz mamy 10 416 500 cykli maszynowych na sekundę. Cały mikrostos napisany jest w języku C, tylko niewielka cześć kodu napisana jest w asemblerze. Prymitywna jednostka centralna CPU nie obsługuje wielozadaniowości i posiada bardzo mało miejsca na stos (np. nie można stosować rekurencyjnego wywołania procedur). Brak obsługi wielozadaniowości wymusza na programiście rygorystyczny styl pisania. Należy zauważyć, ze obsługa pakietów UDP jest raczej prosta, natomiast obsługa pakietów TCP jest dużo bardziej skomplikowana, ponieważ trzeba odwzorować cala maszynę stanów, która jest niezbędna przy obsłudze protokółu TCP (RFC 793) W. Richard Stevens fig.: 18.12, 18.13 oraz obsługę timerów: TCP Timeout and Retransmition, TCP Persist Timer, TCP Keepalive Timer. Wymagany jest reżim czasowy jak dla każdego systemu czasu rzeczywistego dlatego istnieje potrzeba implementacji wewnętrznego timera, który odlicza liczbę ticków, aby moc zrealizować timery 4

embeddedsoft.eu - Mikrostosy TCP/IP w zastosowaniach porównanie wymagane przez protokół TCP. Ze względu na limitowaną ilość pamięci SRAM można otworzyć maksymalnie 5 gniazd (socket) TCP. Obsługa pakietów ICMP jest bardzo uboga, obsługiwany jest tylko ping-pong (ICMP pakiet numer 8). Rysunek 2. Uproszczony algorytm działania mikrostosu 5

Porównanie dwóch systemów mikroprocesorowych, na bazie których można zbudować interface umożliwiający połączenie dowolnego urządzenia do sieci Ethernet: pierwszy oparty o mikrokontroler Microchip PIC18F97J65, drugi oparty o mikrokontroler Cirrus Logic EP 9302. Poniższe rysunki przedstawiają średni czas odpowiedzi systemu na komunikaty ping. Średnia wyciągnięta została dla 5000 komunikatów przesłanych do systemu przez 5 procesów z odstępem uruchomienia 1s. Rysunek 3. Średnie czasy odpowiedzi na komunikaty ping dla systemu EP 9302 Rysunek 4. Średnie czasy odpowiedzi na komunikaty ping dla systemu PIC18F97J65 6

embeddedsoft.eu - Mikrostosy TCP/IP w zastosowaniach porównanie Poniższa tabela przedstawia porównanie funkcjonalności obu systemów. PIC18F97J65 EP 9302 Transfer danych (HTTP) [bajty]: 3533 4942 5652 7066 31 [ms] 42 [ms] 47 [ms] 59 [ms] 15 [ms] 19 [ms] 22 [ms] 28 [ms] Średni pobór mocy. 0,315 [W] 2 [W] Orientacyjna cena systemu. Około 150zl Około 400zl Dostępne interfejsy elektryczne: UART GPIO A/D PWM SPI Częstotliwość towania procesora. Minimalna liczba obwodów scalonych potrzebna do zbudowania w pełni funkcjonalnego systemu. 41,66 [Mhz] 200 [Mhz] 1 4 (Microcontroler + DARM + FLASH + ETH_PHY) Tabela 1. Porównanie systemów zbudowanych na procesorach: PIC18F97J65 i ARM 9 (EP 9302) Słowniczek: UART interfejs szeregowy. GPIO General Purpose Input/Output porty wejścia wyjścia ogólnego przeznaczenia [http://en.wikipedia.org/wiki/gpio], A/D przetworniki analogowo cyfrowe [http://en.wikipedia.org/wiki/a/d]. 7

PWM pulse with modulation modulacja szerokości impulsu [http://en.wikipedia.org/wiki/pulse-width_modulation]. SPI Serial Periferial Interface. Magistrala szeregowa do komunikacji rożnych komponentów mikroprocesorowych. Mikrokontroler może komunikować się np. z karta SD, modułem GSM. [http://en.wikipedia.org/wiki/serial_peripheral_interface_bus] Literatura: [1] W. Richard Stevens. TCP/IP Illustrated, Volume 1: The Protocols, Addison-Wesley Publishing Company, Inc., 1994, [2] RFC 793: Transmission Control Protocol, The Internet Engineering Task Force, 1981 (http://www.ietf.org/rfc/rfc0793.txt). 8