1 / 27

WPAM W3 – Anatomia urządzenia mobilnego

WPAM W3 – Anatomia urządzenia mobilnego. Piotr Gawrysiak pgawrysiak@supermedia.pl Politechnika Warszawska Instytut Informatyki Zakład Systemów Informacyjnych. 2010. Projekt! Projekt! Projekt!. Uprasza się o zapisywanie się na projekt  Na razie jest 9 tematów, mało…

wilda
Télécharger la présentation

WPAM W3 – Anatomia urządzenia mobilnego

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WPAMW3 – Anatomia urządzenia mobilnego Piotr Gawrysiak pgawrysiak@supermedia.pl Politechnika Warszawska Instytut Informatyki Zakład Systemów Informacyjnych 2010

  2. Projekt! Projekt! Projekt! • Uprasza się o zapisywanie się na projekt  • Na razie jest 9 tematów, mało… • Zapisy najlepiej poprzez zgłoszenie się poprzez arkusz Google Docs: • https://spreadsheets.google.com/ccc?key=0Akf_Zh8XRxAkdDVjei0tWHd4czB0SktScFlTUC1nTlE&hl=en&authkey=CJn40qkO • Dla osób zainteresowanych platformą BADA firmy SAMSUNG – istnieje możliwość wypożyczenia telefonów na czas realizacji projektu z działu R&D Samsunga

  3. Intermedium - Dlaczego sprzęt jest istotny? • W przypadku urządzeń stacjonarnych rozwój sprzętu „prześcignął” rozwój oprogramowania – jak dawno? • Tworząc oprogramowanie dla tych urządzeń często zastanawiamy się jak wykorzystać w pełni możliwości sprzętu – i często nam się to nie udaje  • Przypomnienie – „Prawo” Moore’a • Urządzenia mobilne w dalszym ciągu jeszcze są projektowane na zasadzie kompromisu zasobów – wydajność kluczowych technologii bowiem nie wzrasta eksponencjalnie

  4. Intermedium - Leaking abstractions… • Druga przyczyna istotności (przynajmniej potencjalnej) cech sprzętu to niedoskonałe ich „przesłanianie” przez API i paradygmaty języków programowania „All non-trivial abstractions are leaky” Joel Spolsky Przykłady: • TCP/IP – teoretycznie gwarancja dostarczenia danych, ale… • SQL – struktura bazy danych nie jest widoczna z poziomu zapytania, ale… • GPRS/WiFi – z poziomu API zapewniają podobną funkcjonalność, ale… • itd.

  5. Komponenty…

  6. System on a chip • Większość układów elektronicznych niezbędnych do realizacji funkcjonalności współczesnego telefonu (w szczególności – smartphone) realizowane jest w postaci pojedynczego bloku SoC • Najbardziej popularna platforma (2010) – ARM Cortex A8, zestaw instrukcji ARM v7, za chwilę pewnie Cortex A9 (wielordzeniowy) wykorzystana m.in. w Nvidia Tegra 2. Przykłady nazw kodowych producentów: • Nvidia - Tegra • Qualcomm - Snapdragon • Texas Instruments – OMAP • Marvell – PXA (ale tu mamy architekturę XScale, czyli ARMv5) • Apple - Apple A4 (ale i tak produkowane przez Samsunga - Hummingbird) • Nb. np. w iPhone 3GS Samsung APL0298C05

  7. System on a chip Przykład nieco starszej platformy (rodzina ARM11) ale bardzo popularnej (m.in. Nokia E90, Zune, HTC TyTN II, HTC Dream itp.)

  8. System on a chip … i nowszej (ale referencyjnej) dla ARM Cortex A9

  9. Procesor • W większości przypadków mieć będziemy do czynienia z procesorem o architekturze ARM (choć pretendent – Intel Atom). Powody są raczej historyczne niż technologiczne… • 1983 – firma Acorn Computer Ltd. (producent komputera BBC Micro) potrzebuje koprocesora dla nowej generacji urządzeń – zamiast kupować decyduje się spróbować zaprojektować taki procesor samemu. Aby było to możliwe musi być prosty – stąd wybór architektury RISC • 1985 – we współpracy z VLSI Technologies powstaje procesor ARM2 (Acorn RISC Machine) – być może najbardziej prymitywny procesor 32 bitowy na świecie (tylko 30 tyś. tranzystorów, brak cache, brak mikroinstrukcji) – ale dzięki temu jest on bardzo energooszczędny • 1986 – pierwszy komputer wykorzystujący ARM2 jako „główny” procesor (Acorn Archimedes) • Lata 90-te – partnerstwo Apple, VLSI i Acorn – opracowane kolejne wersje procesora dla potrzeb urządzeń „wbudowanych” (ARM3), powstaje spin-off Advanced RISC Machines, kolejne wersje architektury (ARM6 – Apple Newton) tylko są produkowane, ale zaczynają być licencjonowane (pierwszy licencjobiorca ARM6 – firma DEC, która na tej podstawie opracowuje platformę StrongARM)

  10. Procesor • Prosta procedura licencyjna oraz dostępność IP w postaci łatwej do integracji z innymi komponentami (np. VHDL) ułatwia tworzenie systemów SoC – pojawia się coraz więcej firm licencjonobiorców (m.in. Intel – XScale), a tym samym potencjalny producent sprzętu może wybierać wśród wielu różniących się ceną i możliwościami, ale wysoce kompatybilnych urządzeń • Specjalizacja nawet w ramach pojedynczej rodziny (np. w ramach ARM Cortex mamy wersje A – application, M - microcontroller, oraz R – real time). • Nb. dlaczego wciąż produkowane są urządzenia wyposażone w starsze wersje architektury ARM (np. ARMv5)? Otóż koszt licencji starszych wersji jest dużo niższy niż najnowszych. • Do stycznia 2008 roku wyprodukowano ponad 10 miliardów rdzeni procesorów z rodziny ARM… • Wybrane cechy architektury: • load/store – brak bezpośrednich operacji na komórkach pamięci, tylko na rejestrach • rejestrów jest dużo (po 12 rejestrów 32bit dla każdego trybu pracy procesora) • dedykowany 32 bitowy rejestr przesuwny (dla operacji arytmetycznych) • prawie każda instrukcja może być wykonana warunkowo • większość instrukcji wykonywana w jednym cyklu maszynowym

  11. Akceleratory • Podobnie jak to ma miejsce w urządzeniach typu „desktop” procesor „główny” współpracuje z różnego rodzaju akceleratorami, wspierającymi wykonanie specjalizowanych obliczeń: • Akceleracja grafiki trójwymiarowej • Główny gracz na rynku: Imagination Technologies Ltd. Firma produkowała dedykowane karty graficzne dla komputerów stacjonarnych i wczesnych konsolach (np. Dreamcast) w latach 90-tych (m.in. konkurując z 3dfx i Nvidia) ale tą konkurencję przegrała, koncentrując się w zamian na rynku urządzeń mobilnych. Obecnie nie produkuje własnego sprzętu, ale licencjonuje rozwiązania firmom trzecim (brzmi znajomo?) • Typowy akcelerator: Imagination Technologies PowerVR SGX – pixel & vertex shaders, Open GL 2.0, używany m.in. w iPhone 4, Samsung Galaxy S, Motorola Droid (oczywiście jako część platformy SoC) • Inne: dekodowanie dźwięku i wideo (codec), bezpośredni dostęp do DSP itd. • To, iż mamy wbudowany akcelerator nie wystarcza – potrzebne są jeszcze sterowniki (vide casus HTC TyTN, HTC Diamond – Windows Mobile)

  12. Pamięć operacyjna i masowa • Procesor potrzebuje pamięci operacyjnej – będzie to przede wszystkim typowa pamięć DRAM, obecnie zwykle 512MB (Nexus One, iPhone4), wcześniej typowo 128MB (iPhone 3G) • Potrzebujemy jednak także pamięci masowej. Obecnie najbardziej popularnym (właściwie jedynym…) rodzajem stosowanej pamięci jest pamięć typu flash używana zarówno do przechowywania danych, jak też i firmware • NAND flash – duża pojemność i szybkość zapisu/odczytu, ale dostęp sekwencyjny – konceptualnie może być traktowana jako dysk twardy • NOR flash – stosunkowo mała pojemność i szybkość zapisu, ale dostęp typu „random access” – możliwe wykonanie execute in place • Obie technologie są podatne na „zużywanie” (typowo ok. 100 tyś. zapisów / blok komórek) – typowo „wear levelling” realizowany przez kontroler pamięci, choć niektóre systemy operacyjne dodatkowo stosują system plików dedykowany dla pamięci flash (np. Android – YAFFS, ale np. Windows CE – Windows Mobile i – zapewne – Windows Phone 7 – Transactional FAT) /dev/block/mtdblock0 /system yaffs2 ro 0 0/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0

  13. Pamięć masowa • Wbudowanej (czytaj – przylutowanej do płyty głównej urządzenia) pamięci flash może być dużo albo mało  - wszystko zależy od strategii producenta urządzenia, a ta zależna jest od względów ekonomicznych, ale także od tego, czy użytkownikowi pozwolić należy na korzystanie z zewnętrznych nośników danych. I tak np.: • iPhone 3 – 8 lub 16 GB • iPhone 4 – 16 lub 32 GB • HTC Dream (G1) – 256 MB + slot microSD • Nexus One – 512 MB + slot microSD • Nokia N900 – 32 GB + slot microSD • HTC Athena – 8GB (dysk twardy) + slot miniSD • Slot kart pamięci (obecnie właściwie wyłącznie microSD, w starszych modelach urządzeń czasem miniSD) może mieć różne ograniczenie pojemności obsługiwanych kart (np. HTC Dream 16GB, Nexus One 32GB) i może być (lub nie) typu hot-swap (czytaj – czy trzeba wyłączać urządzenie żeby wymienić kartę…) • Pamięć masowa może (jeśli pozwala na to system operacyjny) zostać udostępniona urządzeniu hosta USB. Oznacza to jednak zwykle jej ukrycie przed aplikacjami działającymi na urządzeniu mobilnym.

  14. Wyświetlacz • Obecnie właściwie wyłącznie wyświetlacz AMOLED (nie wymagający podświetlania – poszczególne piksele generują swiatło) lub TFT LCD pracujący w świetle przechodzącym (czytaj – podświetlany). Niektóre wcześniejsze urządzenia bywały wyposażone w wyświetlacz transreflective (np. Compaq iPaq). • Obie powyższe technologie są właściwie bezużyteczne w bezpośrednim świetle słonecznym. Najbardziej spektakularne efekty obserwować można na urządzeniach typu tablet (Apple iPad)  • Alternatywa #1 – wyświetlacze typu eInk – stosowane w czytnikach książek elektronicznych. Jak na razie jedynie czarno-białe (istnieją prototypy wyświetlaczy kolorowych), czas odświeżania ~1s, ale nie wymagają zasilania do podtrzymania wyświetlania obrazu statycznego • Alternatywa #2 – wyświetlacze typu PixelQi – hybryda klasycznego wyświetlacza LCD, oraz wyświetlacza transreflective (nawet o wyższej rozdzielczości) ale czarno-białego • Typowe rozdzielczości – 320x240 (QVGA), 320x480 (HVGA), 640x480 (VGA), 800x480 (WVGA) – np. Nexus One, 960x640 iPhone („retina display” – 326 dpi) • Do powyższych rozdzielczości „standardowych” czasami producenci dodają pasek kilkunastu-kilkudziesięciu pikseli (np. Moto Droid – 854x480) • DPI obecnie zwykle > 200 dpi == przeciętny człowiek nie zauważa poszczególnych pikseli

  15. Wyświetlacz

  16. Touchscreen • Dwa podstawowe (w przypadku urządzeń mobilnych – samych technologii „dotykowych” jest więcej”) rozwiązania: • Panel rezystancyjny (ang. resistive): • Wysoka rozdzielczość • Prosta konstrukcja • Odporność na ekstremalne warunki środowiskowe (np. oświetlenie) • Trudność w realizacji urządzeń typu „multi-touch” • Konieczność wywarcia sporego nacisku na ekran („touch and press”) i tym samym zwykle zastosowania rysika (to zaleta czy wada?) • Panel pojemnościowy (ang. capacitive): • Niska rozdzielczość i dokładność • Wystarczy muśnięcie ekranu opuszkiem palca • Niemożliwość wykorzystania klasycznego rysika • Niezbędny kontakt elektryczny ze skórą – niemożliwość pracy np. w rękawiczkach • Stosunkowo prosta implementacja • W obydwu powyższych przypadkach otrzymujemy zwykle informację o współrzędnych dotkniętego punktu – które należy w przypadku ekranu pojemnościowego traktować jedynie jako przybliżone

  17. Multi touch • Możliwość rozpoznania więcej niż jednego miejsca dotknięcia ekranu jest podstawą wielu współczesnych rozwiązań mobilnych interfejsów użytkownika (gestures, w tym w szczególności słynne pinch-to-zoom którego zresztą nie wymyślił nikt z Apple tylko Myron Krueger w 1983 roku  • Głowny dostawca kontrolerów multitouch – Synaptics – technologia powoli znajduje także zastosowanie w urządzeniach klasycznych (np. touchpady) • Większość urządzeń nie będzie dysponowała możliwością jednoczesnego rozpoznania więcej niż kilku dotkniętych punktów (np. iPhone – 5) • W wielu przypadkach mamy do czynienia jedynie z „udawaną” technologią multi-touch np. GEST (Gesture Enhanced Single Touch) – np. Nexus One • Do efektów takich jak np. reklamowane przez PerceptivePixel jeszcze trochę brakuje…

  18. Komunikacja – „modem” komórkowy • W większości urządzeń będziemy mieli do czynienia z oddzielnym procesorem (z własnym firmware, pamięcią RAM itd.) który komunikować będzie się z infrastrukturą sieci komórkowej. • W szczególności możliwe jest (a raczej powinno być) wyłączenie tego modułu („airplane mode”), co nie powinno wpływać na działanie pozostałych komponentów urządzenia • Do firmware tego właściwie nie mamy dostępu, możemy komunikować się wyłącznie poprzez API (nb. słowo „modem” jest tu trochę niewłaściwe – chodzi także o rozmowy głosowe) • Kwestia nazewnictwa – firmware modemu komórkowego bywa nazywany „baseband” (vide Apple iOS), ale u większości innych producentów ta nazwa określa całość firmware urządzenia • Technologie komunikacji (data) • (H)CSD – właściwie już nieużywana, max. 43/14,4 kbit/s • GPRS – max 80/40 kbit/s • EDGE – max 230/60 kbit/s • UMTS (HSDPA/HSUPA) – max 7,2/1,9 Mbit/s • Wciąż bałagan dot. częstotliwości – Europa 2100 MHz, USA 850, 1900 i 1700 MHz (T-Mobile) • Komunikacja 3G w niektórych wypadkach może być bardziej energochłonna niż WiFi

  19. Komunikacja - WiFi • Drugą podstawową technologią komunikacji jest WiFi – zwykle 802.11b/g (ostatnio także 802.11n) • Dość nieefektywna jeśli chodzi o energochłonność – przynajmniej podczas transmisji danych, samo skanowanie dostępnych sieci bezprzewodowych może być wykonywane tak, aby zminimalizować straty energii (ew. posłużyć można się tu rozwiązaniami lokalizacyjnymi typu Y5 Battery Saver) • Potencjalnie niebezpieczna (dla zdrowia…) jako medium transmisji danych przy rozmowach VoIP • Niektóre platformy (np. Android) miewają spore problemy z przełączeniem transmisji pomiędzy GPRS a WiFi, szczególnie na granicy zasięgu • Nie zawsze API systemu operacyjnego pozwala nam na pełną kontrolę modułu 802.11 – przykład Android / iPhone i dzielenie połączenia 3G (tzw. phone tethering) niemożliwe do zrealizowania w nieodblokowanym (non-rooted) telefonie • W najbliższym czasie zapewne do pewnego stopnia będzie zastępować Bluetooth (np. przy transmisji plików) - WiFi-Direct (dawniej WiFi Peer-To-Peer)

  20. Komunikacja – Bluetooth, Irda • Technologie komunikacji na niewielką odległość (Bluetooth – kilkanaście metrów, Irda – kilkadziesiąt centymetrów) służące przede wszystkim do transmisji plików pomiędzy urządzeniem mobilnym a komputerem stacjonarnym, oraz do podłączania urządzeń zewnętrznych (np. zestaw słuchawkowy) • Irda – transmisja w podczerwieni, właściwie wyparta już całkowicie przez Bluetooth z oczywistych powodów (choć ma i zalety – wysokie bezpieczeństwo transmisji, niski pobór energii) • Sama obecność chipsetu Bluetooth w urządzeniu nie oznacza, iż będzie ono zapewniało pełną funkcjonalność porównywalną z funkcjonalnością urządzenia stacjonarnego • Przykłady zastosowań (profile Bluetooth): • Transmisja dźwięku wysokiej jakości (A2DP) • Transmisja danych pakietowych (DUN) • Podłączanie urządzeń interfejsu użytkownika (klawiatury, myszy itp.) (HID) • Transmisja dźwięku niskiej jakości i obsługa połączeń telefonicznych (HSP) • Dzielenie połączenia internetowego, sieć osobista (PAN) • Wymiana kontaktów z książki adresowej (PBA) • Itd. • Podstawowy protokół transmisji danych (OBEX) jest taki sam dla Irda i Bluetooth

  21. GPS, A-GPS • Odbiornik GPS pozwala na lokalizację z dokładnością wystarczającą do celów nawigacji miejskiej • Aby był efektywny musi „widzieć” przynajmniej 3 satelity – co oznacza iż jest zupełnie nieefektywny w pomieszczeniach (ale nie tylko – np. nie działa także w lesie, szczególnie po deszczu) • Zanim otrzymamy informację o położeniu (fix) musi upłynąć pewien czas (nawet kilka minut) niezbędny na odebranie danych od satelitów • Powyższy czas można zminimalizować poprzez wstępne obliczenie (czy też raczej pobranie z serwera) spodziewanej pozycji satelitów, czy też dokładne określenie czasu w danej lokalizacji – A-GPS • Dodatkowo możliwe jest określenie „zgrubnej” lokalizacji użytkownika dzięki triangulacji stacji bazowych sieci GSM, lub namierzeniu sygnałów WiFi (np. SkyHook)

  22. Kamera • Cyfrowy aparat fotograficzny • Dostęp do funkcji aparatu uzależniony od systemu operacyjnego, od pełnej kontroli (Android) aż do jedynie możliwości wyzwolenia „migawki” (Windows Phone 7) • Jakość zdjęć uzależniona od jakości matrycy (np. 5 Mpix – iPhone 4, 3Mpix – iPhone 3GS) ale przede wszystkim od jakości układu optycznego, dostępności funkcji autofocus, oraz dodatkowego oświetlenia (LED/Xenon) • Jakość filmów uzależniona dodatkowo od mocy procesora oraz sprzętowego wspomagania kompresji wideo – dość rzadko wciąż spotykana możliwość nagrywania wideo ~25 fps / 720p • Układ optyczny bywa wbudowany „na stałe” (iPhone, Nexus One) lub też chroniony przez mechaniczną zaślepkę, której przesunięcie / odblokowanie jest niezbędne do uruchomienia aparatu (Nokia N900) • Możliwe jest także wyposażenie urządzenia w drugą kamerę „przednią” do celów wideokonferencji, zwykle o rozdzielczości ograniczonej do VGA i bez funkcji autofocus

  23. Drobiazgi • To oczywiście nie wszystko  Inne elementy sprzętu, warte wymienienia, obejmują m.in. • Czujniki – akcelerometr (3-osiowe określenie pozycji urządzenia w polu grawitacyjnym Ziemii oraz ew. przyspieszenia – zwykle w postaci urządzeń typu MEMS), magnetometr – tj. kompas, czujnik zbliżeniowy (proximity sensor) – pozwala na wyłączenie ekranu, oraz przede wszystkim panelu dotykowego po przysunięciu urządzenia do policzka (podczas rozmowy telefonicznej), czujnik światła otaczającego – do automatycznej regulacji jasności ekranu • Złącza JTAG – zwykle nie wyprowadzane na zewnątrz, pozwalają na debugging sprzętu, wprowadzanie elementów w tryb serwisowy, bezpośredni dostęp do pamięci (np. reflash „umarłego” urządzenia) itp. • Czytniki kodów kreskowych, RFID i/lub NFC – stosowane rzadko, przede wszystkim w urządzeniach przemysłowych • Znaczniki wilgoci - • Złącze USB – zwykle w postaci miniUSB lub microUSB • Złącze zestawu słuchawkowego – standalone (ze sprzętowym, lub programowym odłączaniem głośników urządzenia) lub zintegrowane z miniUSB (HTC) • Złącze TVOut – przede wszystkim HDMI, zwykle współpracujące tylko z wybranymi aplikacjami (możliwość odtwarzania filmów / oglądania zdjęć)

  24. Zasilanie (bateria) • Główne (i obecnie właściwie jedyne) źródło zasilania – akumulator Li-on • Typowe pojemności – 1150mAh (HTC Dream), 1400mAh (Nexus One), 1420mAh (iPhone 4) • Parametry - czas pracy ciągłej / czas standby / czas rozmów • Zwykle standby nie przekracza 1-2 dni, czas pracy ciągłej 5-6 godzin (Nokia N900 – „whole day computing”) • Nie zanosi się tu na znaczący przełom (przede wszystkim gdyż większe ekrany == większy pobór energii) • Metody oszczędzania energii – wyłączanie najbardziej „energożernych” podsystemów, zwykle sterowane poprzez timery • Podświetlenie ekranu (przyciemnienie) • Wyłączenie ekranu • Wyłączenie modułu komunikacji WiFi (GSM pozostaje zasilany właściwie zawsze) • Ograniczenie taktowania procesora (np. Nexus One – 245MHz – 998MHz) • Ładowanie – obecnie trend standaryzacji w stronę microUSB, przynajmniej wśród producentów obecnych na rynku europejskim

  25. Form factor i klawiatura • Urządzenie mobilne musimy jeszcze zapakować do jakiejś obudowy – zwykle plastikowej (ABS), choć zdarzają się, szczególnie ostatnio, przypadki wykorzystywania aluminium (HTC – Nexus One, HTC Legend) albo szkła (Apple iPhone 4) • Jeśli nie będzie ono wyposażone w „sprzętową” klawiaturę, to właściwie jedynym stosowanym rozwiązaniem jest forma „candy bar” • Gdy jednak pokusimy się o klawiaturę sprzętową (warto?) to mamy do wyboru: • Clamshell (także z możliwością obrócenia ekranu) – np. HTC Universal • Slider w poziomie (także z możliwością odchylenia ekranu) – np. HTC Diamond, SE Xperia • Slider w pionie – np. większość „niedotykowych” smartphone’ów – np. Nokia E66 • Klawiaturę nieruchomą (zwykle w pionie) – większość modeli RIM Blackberry • Ew. kombinację powyższych w bardziej egzotycznych modelach

  26. To ile to wszystko razem kosztuje…? Apple iPhone 3G S 16GB Suma: 178.95 USD (ad 2009) Źródło: prof. Myungchul Kim

  27. Cdn.

More Related