Sunday 17 December 2017

Przenoszenie średnio osadzone


W przypadku nowatorskich pomysłów na temat budowy systemów wbudowanych (zarówno sprzętu, jak i oprogramowania układowego), przyłącz się do 25 000 inżynierów, którzy subskrybują The Embedded Muse. bezpłatny biuletyn informacyjny. Muse nie ma hype, nie ma PR sprzedawcy. Zajmuje to zaledwie kilka sekund (wystarczy wpisać adres e-mail, który jest udostępniany absolutnie nikomu), aby subskrybować. Badanie wynagrodzeń deweloperów wbudowanych w 2017 r. Najnowsze dane pochodzą z 2017 r. I są dostępne tutaj. Zarówno w 2006, jak i w 2009 r. Przeprowadziłem ankietę dotyczącą inżynierów osadzonych. Tutaj znajdziesz rok 2006 i 2009. W 2017 roku czytelnicy The Embedded Muse and Embedded uczestniczyli w krótkiej ankiecie, której wyniki zostały podsumowane w tym dokumencie. Sugestia: Zapisz się do mojego bezpłatnego biuletynu, który często obejmuje perspektywy w branży systemów wbudowanych. Nie jest to badanie naukowe Żadne testy nie zostały przeprowadzone w celu zapewnienia dokładności danych. Można rozsądnie zrozumieć, że uczestnicy mogli pomylić walutę lokalną z dolarami amerykańskimi lub popełnić inne błędy. Jednak dane są interesujące i przedstawiają co najmniej szeroki obraz. Aby uzyskać pewien wgląd, podzieliłem świat na kilka obozów. quotAmericasquot oznacza Amerykę Północną i Południową z wyjątkiem USA i Kanady. Ponad połowa respondentów pochodziła z USA, a jej dystrybucja jest następująca: Wiek i doświadczenie Nadal starzejemy się. Poniższy wykres pokazuje, że wyższe przedziały wiekowe wypełniają się z upływem lat. Wiek i doświadczenie korelują, oczywiście. Uwaga, na poniższym wykresie, wyraźny wzrost liczby lat doświadczeń w Azji, Indiach i ofertach kwotowych (niezachodnich). Muszę przypisać to do wariacji statystycznych. Doświadczenie w USA odzwierciedla trzy lata, które upłynęły od ostatniego badania. Nic dziwnego, że świat zachodni ma znacznie większe doświadczenie niż inne lokalizacje, ale gdy boomers przejdzie na emeryturę, różnica się zmniejszy. Nie jest zaskakujące, że wynagrodzenia na całym świecie są bardzo zróżnicowane. Poniższe wykresy pokazują doświadczenie w latach w porównaniu do wynagrodzenia w dolarach amerykańskich dla wielu regionów. Jednak dane dla Azji, obu Ameryk (z wyłączeniem USA i Kanady) oraz dane z drugiej strony były szalenie wszędzie i nie miały żadnego znaczenia. Na przykład w Azji punkty danych wahały się od 2200 lat do 90 000 (z dużą ilością punktów na najniższym i wyższym poziomie, więc rzucanie wartości odstających było niemożliwe). Być może winę obarczono mieszankami walutowymi. Ale nie uwzględniłem wykresów dla tych regionów, ponieważ byłyby one bez znaczenia. Począwszy od USA, w ciągu ostatnich sześciu (co najmniej) lat nastąpił stały wzrost. Oś pozioma to lata doświadczenia, a pionem są dolary amerykańskie: średnia pensja dla tych, którzy tworzą tylko oprogramowanie układowe, wynosi 100,560, dla tych, którzy zajmują się sprzętem tylko 117 730, dla menedżerów 128,633 i 98 149 dla tych, którzy mają szczęście, że są zaangażowani inżynieria sprzętu i oprogramowania układowego. W Europie sprawy są mniej różowe. W tym roku wynagrodzenia spadły. Czy to wynik katastrofy gospodarczej Niestety nie pozyskałem danych na temat poszczególnych krajów, które mogłyby zilustrować mikro tendencje. Dane odnoszą się do dolara amerykańskiego w porównaniu z doświadczeniem w latach. W tym roku zapytałem o świadczenia. USA osiągają wysokie wyniki, być może dlatego, że opieka zdrowotna jest dość standardową korzyścią, podczas gdy w wielu innych krajach jest ona zapewniona przez rząd. Ale USA pozostaje w płatnych dniach urlopu rocznie. Tylko szlaki Azji, a nie wiele. Tylko 6 europejskich respondentów zgłosiło mniej niż 20 dni w roku. Szczęście i przyszłość Być może próba zmierzenia szczęścia jest zadaniem głupców, ale jako gentlem w średnim wieku, który widział zbyt wielu kolegów wypalających się z rozpaczy i przepracowania, jestem przekonany, że musimy najpierw dążyć do szczęścia, a potem do wynagrodzenia. W ankiecie respondenci ocenili swoje szczęście swoją karierą w wyliczonej skali miłości, dość zadowoleni, nieco nieszczęśliwi, nienawidzą jej. Oceniłem czynniki od 3 (uwielbiam to) do 0 (nienawidzę tego). Wyniki te zostały znormalizowane do liczby odpowiedzi w każdej kategorii. Jedną z fascynujących ciekawostek jest to, że inżynierowie z Indii wydają się coraz mniej zakochiwać w swoich karierach. Rok 2009 był dla większości poza sezonem, prawdopodobnie w wyniku bałaganu gospodarczego. Zapytałem, jak ludzie myślą o przyszłości inżynierii, dając cztery możliwe odpowiedzi: Oczekiwać silnego zapotrzebowania na inżynierów O tym samym popycie, które prawdopodobnie zmniejszy się Prawdopodobnie będzie offshored Im nadzieję, że jest dla nas offshore Jesteśmy nadal optymistyczni. Obawy związane z offshoringiem znacznie spadły w porównaniu z wynikami z 2009 r., Podobnie jak nadzieja, że ​​prace zostaną przeniesione na region. 10.7 zgłosiło, że jest konsultantem. 34 z tych zgłoszonych transakcji jako quotbusyquot, 17 quotGreatquot, 13 quotLousyquot i reszta quotreasonable. Qre Wiele osób pozostało komentarze niektóre są wymienione tutaj: Bezrobotny 9 miesięcy teraz, po reorg, robił 120K, pracował 11 lat dla ostatniej firmy To Praca była zabawna - teraz jest to po prostu grind. Firma zrestrukturyzowała payscales i dostarczyła mnie w POWYŻEJ górnej części oceny płacowej, w której mnie posłali. Niestety oznacza to, że nie dostałem podwyżki pensji od 4 lat, a kryteria podwyższenia oceny są absurdalnie nierealistyczne (muszą być uznane na całym świecie autorytet w jakiejś specjalności, główne konferencje przewodniczących itp.) To jest wielkie pole do popisu, globalne spowolnienie gospodarcze tylko pomogło usunąć niekompetentnych ludzi z pola. To jest lepsze niż kiedykolwiek, aby mieć tę linię roboczą Tam zawsze mówi się o niedoborze inżynierów wbudowanych, ale rzadko kontaktują mnie headhunterzy i nie widzę wielu ofert pracy, nie mówię, że rynek pracy jest zły, raczej wydaje się, że utknąć w równowadze sprzed dziesięciu lat. Myślę, że niedobór inżynierów to samolubny mit, który zachęca młodych ludzi do pójścia na inżynierię i obniżenia płac (lub przynajmniej zmniejszenia tego wzrostu). Ogólny trend, jaki widzę, to fakt, że USA nadal powoli tracą swoją konkurencyjność na rzecz bardziej sprawnych i mniej politycznie poprawnych sąsiadów. Pochodzę ze Związku Radzieckiego i widzę pewne trendy między stanem tego kraju w latach 70. i 80. i USA w latach 2017. Produkcja już opuściła kraj, a RampD powoli odchodzi, idąc tam, gdzie faktycznie jest produkowany. Biorąc powyższe pod uwagę, wydaje mi się, że Stany Zjednoczone pozostaną liderem innowacji jeszcze przez jakiś czas. Po prostu nie ma alternatywy. Wygląda na to, że nasi (USA) globalni konkurenci koncentrują się na znalezieniu opłacalnych rozwiązań dzisiejszych problemów, podczas gdy w większości ignorują przyszłe. Co więcej, nie widzę zapotrzebowania na inżynierów lub szacunek dla inżynierów, aby znacząco się zmienić w USA. Inteligentne dzieci nadal będą chodzić do szkół medycznych lub zawodowych. Ponieważ baza produkcyjna pozostała, a zagraniczne uczelnie są teraz w stanie konkurować ze Stanami Zjednoczonymi pod względem prestiżu, firmy zagraniczne będą powoli wprowadzać innowacje i utrzymywać krajowe zapotrzebowanie na nowe stopnie STEM na rozsądnym poziomie. Jedynym powodem, dla którego wciąż pracuję, jest to, że teraz wykonuję regulacje (bezpieczeństwo, emc, ochrona środowiska), jestem także inżynierem testowym, jestem mechanikiem i stolarzem i hydraulikiem. O tak, napisz też jakiś kod. Przyzwyczaj się do tych ludzi, ten tryb pozostanie, dopóki nie zabiją inżynierów boomowych. Jestem do tego stopnia, że ​​prawdopodobnie wrócę do zarządzania, ponieważ w 2017 roku firmy nadal NIE MOGĄ ZARZĄDZAĆ tym sposobem z torby. Znacznie mniej oprogramowania. Firma, w której pracuję, nie wymaga wiele od inżynierów i nie nagradza zbyt wiele. Jeśli ktoś chce wygodnego życia, to jest to miejsce, w którym należy być. Jednak zdałem sobie sprawę, że będąc tu, zdegradowałem, zardzewiałem, stagnam i bliski bycia poza odkupieniem. Mimo to tempo, w którym podejmuję działania korygujące, jest żałosne. Być może jestem już poza odkupieniem Jeśli chodzi o rozwój oprogramowania Embedded Systems, jego wygląd jest coraz jaśniejszy z każdym rokiem. Wierzę, że będzie to silne pole przez wiele lat. Mimo to nie jestem pewien, czy inżynierowie oprogramowania wbudowanego kiedykolwiek zdobędą szacunek. Konsulting był solidny przez 10 lat, a ostatni rok był najlepszy. Konsultant w niepełnym wymiarze godzin, może 25. Próbuje zrobić więcej produkcji, budując to, co projektujemy. Zatrudniony w pełnym wymiarze technik montażu i firma naprawdę podniosła się w zeszłym roku. Być może będziemy musieli zatrudnić inną osobę jeszcze w tym roku. Tu, w Singapurze, rozwój kariery dla inżynierów oprogramowania staje się bardzo powolny, zarówno pod względem wynagrodzenia, jak i wzrostu kariery. Mam wrażenie, że inteligentni ludzie w przyszłych pokoleniach nie dostaną się do tej kariery po obejrzeniu przykładów. Ale wciąż będą ludzie, którzy pójdą dalej, by przeciwstawić się wszelkiemu osądowi. Większość z nich doradzi swoim dzieciom, aby nie robili kariery w branży elektroniki użytkowej w Singapurze. Bardzo niewielu z nich będzie po prostu zadowolonych i zbliży się do Boga. A garstka zgniecie lub złamie zasady, aby ustanowić nowe standardy, będę jednym z nich. Hell yeah Off-shoring nadal mnie niepokoi, ale mam co najmniej odrobinę komfortu w tym, że rozwój wbudowany jest nieco trudniejszy do lądowania niż czyste oprogramowanie. Nadal mam pracę i tak samo jak każdy inny inżynier oprogramowania, który znam, ale zastanawiam się, czy tak będzie przez następne 15 lat, zanim przejdę na emeryturę. I jeszcze bardziej niepokoję się następnym pokoleniem (mam syna na studiach inżynieryjnych i córkę, która wykazuje podobne zainteresowania). Nowi absolwenci wydają się być całkowicie skoncentrowani na quot Webquot i jest bardzo niewielu inżynierów, którzy rozumieją sprzęt wystarczający do tworzenia dobrych twórców kodu osadzonego. Wraz ze wzrostem ilości oprogramowania wymaganego w prawie wszystkim, w pełni oczekuję, że doświadczeni konstruktorzy będą mieli rosnący popyt (oczywiście stanie się to zaraz po przejściu na emeryturę). Moja pensja przez ostatnie 5 lat była praktycznie stagnująca z podwyżkami 1-3 lat . Trudno być podekscytowanym na przyszłość, gdy płaca nie przekracza inflacji. Powiedział, że nie mogłem sobie wyobrazić, że jestem tylko inżynierem. Kierownictwo nie chce poświęcić czasu ani pieniędzy na zaprojektowanie odpowiedniego produktu. Zaprojektuj, zbuduj i wyślij szybko. Nie ma niczego ważniejszego. Byłem bez pracy przez około 3 miesiące. (Wynagrodzenie i świadczenia w oparciu o ostatnią pracę). Wydaje się coraz trudniejsze i trwa dłużej, aby wylądować nową pracę. Wymienione wymagania dotyczące miejsc pracy stają się coraz dłuższe i bardziej szczegółowe - nadążanie za najnowszą technologią jest dość trudne. Niezwykle trudno jest znaleźć amerykańskich inżynierów. Często musimy polegać na inżynierach z zagranicy, którzy przenieśli się do USA, aby pójść do szkoły i zostają tutaj. W Stanach Zjednoczonych nie ma wystarczającej liczby nowych absolwentów, aby nadążyć za popytem. Wiele mówi się o firmach, które nie wspierają rozwoju, aby obniżyć koszty, ale może też po prostu być w stanie znaleźć ludzi. Aby inżynier pozostał konkurencyjny i, miejmy nadzieję, zatrudniony, wymaga nauki przez całe życie. Ale w pewnym stopniu jest to prawdą w przypadku większości zawodów, dla których inżynieria powinna być inna. Pierwsze oprogramowanie układowe, posiadające dobrą znajomość sprzętu, jest bardzo trudne w Indiach. W naszym regionie firmy nadal traktują personel tak, jakby był to wysoki poziom recesji, co oznacza, że ​​nie próbuje się zatrzymywać ludzi, ponieważ w pobliżu jest wiele osób, które skorzystają z okazji do pracy. Tracimy doświadczonych ludzi na całym świecie, są oni zastąpieni przez ludzi, którzy ledwo mają minimalny zestaw umiejętności. Mam nadzieję, że zakończę swoją karierę w dziedzinie inżynierii, ale nie jest to pewne. Między offshoringiem, dyskryminacją ze względu na wiek, zmieniającymi się technologiami, presją rynku, nie jestem 100 pewny, czy mogę pozostać odpowiedni i konkurencyjny. Ale jestem zadowolony z mojej obecnej pracy, pracy, którą wykonuję, otoczenia, ludzi, więc pozostaję ostrożnie optymistą. Ja i większość moich przyjaciół inżynierów nigdy nie polecałbym inżynierii jako kariery. Pracuję w Kraju Basków w Hiszpanii. Chociaż bezrobocie w tym kraju (10) nie jest tak wysokie jak w pozostałej części Hiszpanii (22), wielu młodych inżynierów jest bezrobotnych. Mimo to moja firma ma poważne trudności ze znalezieniem wykwalifikowanych osób do wynajęcia, szczególnie w dziale energoelektroniki, która prawdopodobnie będzie najbardziej rosła w naszej firmie w niedalekiej przyszłości. Myślę, że doradztwo w zakresie oprogramowania będzie bardzo podobne do instalacji HVAC. Dzisiaj każda firma potrzebuje. Wielu ma wystarczającą wiedzę wewnętrzną do utrzymania swoich systemów. Ale większość będzie chciała mieć możliwość odebrania telefonu i szybkiego dostania się do kogoś, kto może wejść, naprawić problem i odejść do następnego razu, kiedy będą potrzebni. Ich potrzeby będą sięgać od dużych firm, które dadzą konsultantom własne biura, do miejsc, które mówią: Potrzebujemy strony internetowej. Sądzę, że w nadchodzących latach nastąpi wzrost, kiedy konsultanci staną się DUŻO bardziej wartościowi (i konieczni) ze względu na duże populacje emerytalne na horyzoncie. Zostanie to pomnożone przez duże korporacje na kontynencie amerykańskim, które będą mogły przetrwać dzięki outsourcingowi prac projektowych (dla których będzie wiele przyszłych opcji), ale potrzebują wewnętrznego architekta na poziomie systemu. Wyspecjalizowani konsultanci będą w stanie zrobić grosz z pieniędzmi. Uwielbiam ten zawód, ponieważ mogę stosować tak wiele różnych strategii, by tworzyć rozwiązania i każdego dnia uczę się czegoś nowego. Nie spodziewałem się, że ludzie, z którymi pracujesz, wpływają na jakość twojego dnia. Dobra firma i dobry zespół robią różnicę. Kocham moją karierę inżynierską i to pokazuje moim dzieciom. Mój środkowy syn pójdzie na studia, by w przyszłym roku zdobyć tytuł inżyniera. Mój najmłodszy jest bardzo mądry i mądry, i miejmy nadzieję, że osiągnie pewien stopień inżynierski. Jestem uniwersytetem prof. praca nad systemami osadzonymi i działającymi w czasie rzeczywistym. Widzę, że zainteresowanie w tym obszarze zmniejsza się w ostatnich latach. Uczniowie najwyraźniej nie chcą już pracować z detalami i zawiłościami programowania systemów wbudowanych. Wolą symulacje i inne miękkie podejścia, w których szczegóły są ukryte. Jestem cytatem w mojej piątej dekadzie inżynierii (lata 70. do nastolatków). Odkąd w 2007 r. Powróciłem do mojego stanu rodzinnego, doświadczyłem 3 zwolnień, ponieważ gospodarka przeszła od słabej do złej, aż do nędzy. Obecnie jestem partnerem innego inżyniera, próbującego założyć własną firmę. Obaj postrzegamy to jako jedyny sposób, aby odnieść sukces i nie podlegać kaprysom pracodawców, którzy nie przywiązują żadnej wagi do inżynierów. Próba założenia firmy w najgorszej gospodarce od 80 lat Prawdopodobnie niezbyt mądra. Ale jest prawie niemożliwe, aby ktoś w moim wieku dostał pracę. Miałem nawet kobietę na Bezrobocie, powiedz mi to. Tu, w Brazylii, w tym czasie inżynierowie są na naprawdę dobrej pozycji, nawet dlatego, że Brazylia pokazuje się na całym świecie, Puchar Świata, Igrzyska Olimpijskie, Petrobras, Rolnictwo itp. Dla mnie, myślę, że mam dobrą okazję, aby coś zrobić naprawdę fajnie tutaj, rozwijamy produkty dla rolnictwa, więc spodziewamy się, że będziemy rosnąć razem z Brazylią. Nawet trzęsienia ziemi nie pozwalają nam przestać kodować Biznes traktuje decyzje oprogramowania, takie jak najtrudniejszy licytant, gdy chodzi o problem z karetką pogotowia. Mają największe poczucie pilności, chcą płacić jak najmniej, a jeśli to nie działa, ich życie gospodarcze może na tym polegać. Spora część tego jest spowodowana infantylnym podejściem programistów do oprogramowania. Nazywanie go dużą ilością inżynierii oprogramowania quotowego to całkowity brak szacunku dla dyscyplin inżynieryjnych, gdy obornik koński jest czymś, co często kupuje biznes, czy zdaje sobie z tego sprawę, czy nie. Ponieważ biznes nie jest całkowicie głupi (ignorancja nie jest wliczona w cenę), zdają sobie sprawę, że wydają na oprogramowanie, które nie działa. Zamiast sięgać po sedno problemu, podchodzą do niego z perspektywy cięcia kosztów, co napędza więcej pracy na morzu i płace niższe w USA. Oprogramowanie nie staje się lepsze. Po prostu otrzymują ten sam obornik od konia za niższą cenę. i w rezultacie nie mają szacunku dla oprogramowania. Bycie inżynierem systemów wbudowanych w Meksyku jest teraz wielką rzeczą. Jest wiele pozycji otwierających się w kilku miejscach w Meksyku. Najbardziej niepokoi mnie fakt, że inżynierowie ze znajomością systemów wbudowanych wychodzą ze szkół. Wydaje się, że wiele osób koncentruje się na innych karierach o mniejszej liczbie zwrotów w odniesieniu do ich możliwych zarobków. To wspaniałe miejsce. Myślę, że jest to dziedzina, w której ludzie będą mieli popyt, choć bardziej z powodu braku absolwentów kierunków technicznych, niż więcej ofert pracy Czy chcesz wyeliminować błędy w oprogramowaniu? Skróć harmonogramy Moje jednodniowe lepsze oprogramowanie Firmowe seminarium nauczy cię swojego zespołu jak działać na światowym poziomie, tworząc kod z dużo mniejszą ilością błędów w krótszym czasie. Szybka, zabawna i obejmuje wyjątkowe problemy, z jakimi mają do czynienia deweloperzy oprogramowania wbudowanego. Oto informacje o tym, jak ta klasa, nauczana w twoim zakładzie, w wymierny sposób poprawi efektywność twoich zespołów. Wygraj zestaw Cypress CY8CKIT-044 PSoC 4 z serii M - Weź udział w konkursie tutaj. Reklamuj się z nami Osiągnij 130 000 wbudowanych programistów miesięcznie. Więcej informacji tutaj. The Ganssle Group - infoganssle - copyright TGG, wszelkie prawa zastrzeżone. Informacje kontaktowe tutaj. Zainteresowany reklamą u nas Więcej informacji tutaj. Rozpoczęcie pracy z Energią Instrukcje krok po kroku dotyczące konfiguracji IDE Energia i uruchomienia pierwszego szkicu na tablicy startowej Texas Instruments. Środowisko. Opis środowiska programistycznego Energia. Tablice. Użyj zarządcy planszy, aby zainstalować obsługę dodatkowych rdzeni (nowy w Energia 18). Preferencje. Plik preferencji Energia zawiera wiele opcji dostosowywania sposobu, w jaki Energia kompiluje i przesyła szkice. Proces budowy. Dowiedz się, jakie kroki przechodzi szkic w drodze do deski LaunchPad. Mapowanie pinów. Pełna lista wszystkich zdjęć i instrukcji Pin Mapping dla każdej płyty sprzętowej obsługiwanej przez Energię. Biblioteki. Pełna lista wszystkich bibliotek dodatków obsługiwanych przez Energia. Sprawdź ten samouczek dla Energia 18 Build IDE ze źródła. Użyj najnowszej bazy kodu z Github, aby utworzyć kompilację Energia. Importuj do Code Composer Studio. Wykorzystaj funkcje i szkice Energia w CCS w wersji 6, TI8217, opartym na Eclipse IDE. Importuj do chmury CCS: używaj funkcji i szkiców Energia w chmurze CCS. TI8217s oparty na przeglądarce IDE. Podstawy Ta sekcja zawiera objaśnienia niektórych elementów elektroniki, sprzętu LaunchPad, oprogramowania Energia i koncepcji, które za nimi stoją. Naszkicować. Różne elementy szkicu (program Energia) i sposób ich działania Elektryczność. zasada, która zasila obwody elektroniczne. Podstawowa koncepcja elektrycznego projektu napięcia. ładunek elektryczny transportowany między dwoma punktami Current. przepływ elektronów w drucie Mikrokontrolerów Digital Pins. Jak działają sworznie i co to oznacza, że ​​są skonfigurowane jako wejścia lub wyjścia. Piny wejściowe analogowe. Szczegóły dotyczące konwersji analogowo-cyfrowej i innych zastosowań szpilek. PWM. Jak funkcja analogWrite () symuluje wyjście analogowe za pomocą modulacji szerokości impulsu. Pamięć. Różne rodzaje pamięci dostępne na płycie LaunchPad. Timery: cyfrowe liczniki, które zwiększają lub zmniejszają o stałą częstotliwość wykorzystywaną do synchronizacji systemów elektronicznych. Rejestry: symbol zastępczy dla informacji o stanie sprzętu. Czujniki. Czujniki są używane do wykrywania i pomiaru sygnałów analogowych z otoczenia. Techniki programowania Zmienne Jak definiować i używać zmiennych Funkcje. Jak definiować i używać funkcji Biblioteki. Jak napisać własną bibliotekę Bit Manipulation. Jak korzystać z bitowych protokołów matematycznych. Jak korzystać z protokołów do przekazywania danych Wielozadaniowość. Jak skonfigurować aplikacje wielowątkowe Podstawowe komponenty elektroniczne Płyta do krojenia chleba. powierzchnia prototypująca do tworzenia obwodów bez lutowania. podłącz elementy elektryczne i systemy Rezystory. Zmień swoje napięcie i prąd w obwodzie Kondensatory. magazynuj energię w obwodzie Filtry: usuwaj lub wzmacniaj składowe częstotliwości z sygnału Wzmacniacze: zwiększ moc sygnału Tranzystory. wzmacnianie i przełączanie sygnałów elektronicznych Cewki indukcyjne: odporne na zmiany prądu elektrycznego Przełączniki. zmienić ścieżkę przepływu elektrycznego Push Button: wprowadzić sygnał do diody obwodu. umożliwia przepływ elektryczny tylko w jednym kierunku LED. Diody emitujące światło działają jako wskaźniki wizualne Mierniki, zakresy i analizatory. użyj tych narzędzi do pomiaru napięcia i prądu układów scalonych. składniki, które mogą wykonywać złożone operacje Funkcje podstawowe Proste programy, które demonstrują podstawowe polecenia Energia. Są one dołączone do środowiska Energia, aby je otworzyć, kliknij przycisk Otwórz na pasku narzędzi i zajrzyj do folderu przykładów. W przypadku niektórych przykładów wymagany jest dodatkowy sprzęt. Można je nabyć pojedynczo lub w popularnych zestawach startowych do elektroniki. Zestaw Sidekick Basic dla TI LaunchPad firmy Seeedstudio jest wysoce polecany przez społeczność Energia. Minimum. Wymagane minimum kodu potrzebne do uruchomienia szkicu Energia. Migać. Włącz i wyłącz diodę LED. DigitalReadSerial. Przeczytaj przełącznik, wypisz stan do monitora szeregowego Energia. AnalogReadSerial. Odczytaj potencjometr, wydrukuj go na wyświetlaczu do monitora szeregowego Energia. Blaknąć. Demonstruje użycie wyjścia analogowego do zanikania diody LED. ReadAnalogVoltage. Odczytuje wejście analogowe i wyświetla napięcie na monitorze szeregowym Mruganie bez opóźnienia. miganie diody LED bez użycia funkcji delay (). Przycisk. użyj przycisku do sterowania diodą LED. Debounce. przeczytać przycisk, filtrując szum. Zmiana stanu przycisku. liczenie liczby naciśnięć przycisków. Szeregowy szereg wejściowy. Demonstruje użycie INPUTPULLUP z pinMode (). Ton. odtwarzać melodię za pomocą głośnika Piezo. Pitch follower. odtwarzać dźwięk na głośniku piezoelektrycznym w zależności od wejścia analogowego. Prosta klawiatura. trzy klawiszowa klawiatura muzyczna wykorzystująca czujniki siły i głośnik piezoelektryczny. Tone4. odtwarzaj dźwięki na wielu głośnikach sekwencyjnie za pomocą polecenia tone (). AnalogInOutSerial. wczytaj pin wejściowy sygnału analogowego, zmapuj wynik, a następnie użyj tych danych, aby przyciemnić lub rozjaśnić diodę LED. Wejście analogowe. użyj potencjometru do kontrolowania migania diody LED. AnalogWrite. Zanikanie 7 diod LED, jeden po drugim, za pomocą płyty LaunchPad MSP430G2. Kalibrowanie. określić maksimum i minimum dla oczekiwanych wartości czujnika analogowego. Zblakły. użyć wyjścia analogowego (pin PWM) do zanikania diody LED. Wygładzanie. płynne wielokrotne odczyty wejścia analogowego. 4munikacja Przykłady te zawierają kod, który umożliwia LaunchPadowi rozmowę ze szkicami przetwarzania działającymi na komputerze. Aby uzyskać więcej informacji lub pobrać Processing, zobacz processing. org. ReadASCIIString. parsuj ciąg znaków przecinanych przecinkami, aby zaniknąć tabelę LED ASCII. demonstruje zaawansowane funkcje wyjścia szeregowego Energia8217. Opornik. porusz myszą, aby zmienić jasność diody LED. Wykres. wyślij dane do komputera i wykadruj je w Processing. Fizyczny piksel. włączaj i wyłączaj diodę LED wysyłając dane do LaunchPada z przetwarzania. Wirtualny mikser kolorów. wyślij wiele zmiennych z LaunchPada na twój komputer i odczytaj je w Processing. Serial Call Response. wyślij wiele vairables za pomocą metody call-and-response (handshaking). Serial Call Response ASCII. wyślij wiele zmiennych za pomocą metody wezwania i odpowiedzi (uzgadniania) i kodowania ASCII wartości przed wysłaniem. SerialEvent. Demonstruje użycie SerialEvent (). Wejście szeregowe (instrukcja Switch (case)). jak wykonywać różne akcje w oparciu o znaki otrzymane przez port szeregowy. 5. Struktury sterowania Jeśli instrukcja (warunkowa): jak użyć instrukcji if, aby zmienić warunki wyjściowe na podstawie zmieniających się warunków wejściowych. Do pętli. sterowanie wieloma diodami LED za pomocą pętli for. Szyk. wariacja na przykładzie pętli For Loop demonstrująca sposób korzystania z tablicy. Podczas pętli. jak korzystać z pętli while, aby skalibrować czujnik podczas odczytywania przycisku. Sprawa przełącznik. jak wybrać pomiędzy dyskretną liczbą wartości. Odpowiednik wielu instrukcji If. Ten przykład pokazuje, jak podzielić zakres sensor8217s na zbiór czterech pasm i wykonać cztery różne akcje w zależności od tego, w którym paśmie znajduje się wynik. Switch Case 2. Przykład drugiego przykładu przełącznika, pokazujący, w jaki sposób wykonywać różne akcje oparte na znakach odebrany w porcie szeregowym. StringAdditionOperator. dodaj ciągi razem na różne sposoby. StringAppendOperator. dołącz dane do ciągów. StringCaseChanges. zmień wielkość liter w łańcuchu. StringCharacters. getset wartość określonego znaku w ciągu znaków. StringComparisonOperators. porównuj ciągi alfabetycznie. StringConstructors. jak zainicjować obiekty łańcuchowe. StringIndexOf. poszukaj pierwszej instancji znaku w ciągu znaków. StringLength amp StringLengthTrim. uzyskać i przyciąć długość struny. StringReplace. Zastąp poszczególne znaki ciągiem. StringStartsWithEndsWith. sprawdź, w którym z łańcuchów znaków ciąg znaków zaczyna się lub kończy. StringSubstring. poszukaj 8220fraz 8221 w ciągu danego ciągu znaków. 7. Czujniki, silniki, wyświetlacze wzmacniacza Temperatura: użyj na płycie głównej czujnika temp. MCU. Czujnik pochylenia: użyj podstawowego czujnika przechyłu. Servo: przesuń serwo, aby kontrolować mechaniczne przedmioty. Podstawowy silnik: obróć podstawowy silnik. 7 Segment Display: wyświetlanie podstawowych wartości liczbowych i literowych. 221516 Wyświetlanie znaków: wyświetlanie ciągów znaków na wyświetlaczu znaków. 8. MultiThreading ButtonEvent: Odczytanie przycisku w jednym zadaniu i kolejne zadanie czekania na naciśnięcie przycisku EventLibrary: wysłanie zdarzenia w jednym zadaniu i kolejne oczekiwanie na zdarzenie Monitor: Wyświetla wykorzystanie procesora, użycie pamięci zadania itp. Wymaga terminala VT100 MultiAnalogInput. Odczytuje wejścia analogowe w różnych zadaniach w różnym tempie MultiBlink. Mrugaj 3 diody LED z różną szybkością MultiTaskSerial: Pokazuje 2 wątki wysyłające ciąg do monitora szeregowego z różnymi prędkościami. 9.Connectivity WiFi: przykłady biblioteki WiFi MQTT. Użyj protokołu lekkiego MQTT, aby włączyć aplikacje IoT amp M2M StandardFirmata. Użyj protokołu firmata do dynamicznej komunikacji z mikrokontrolerem Temboo. Uzyskaj dostęp do setek internetowych API poprzez Temboo używając Energia ATampT M2X. Dane Post Energia do usługi chmurowej ATampT M2X BLE Mini. Użyj Red Bear Lab BLE Mini, aby kontrolować LaunchPad Freeboard. io: Stwórz pulpit nawigacyjny z danymi Energia używając freeboard. io Contiki: Access Contiki System operacyjny dla IoT przy użyciu Energia 10.BoosterPacks Olimex8x8matrix: stwórz przewijany namiot z matrycą LED. Ostry wyświetlacz LCD: wyświetlanie obrazów i tekstu na ekranie LCD o niskim poborze mocy EducationalBP: stwórz magiczną kulę 8 z akcelerometrem i wyświetlaczem LCD. EducationalBP MKII. przykłady z brzęczykiem, LCD, diodami LED, akcelerometrem, przyciskami i wieloma innymi CC3000. wprowadzenie do SimpleLink WiFi CC3000 BoosterPack CC3100. wprowadzenie do SimpleLink WiFi CC3100 BoosterPack Inne samouczki Sidekick dla TI LaunchPad. użyj zestawu podstawowego Seeedstudio Sidekick dla TI LaunchPad z Energia SIK dla LaunchPada. użyj zestawu Sparkfun Inventor8217s z zestawem startowym Energia Grove dla LaunchPada. użyć modułów Grove, aby uzyskać dostęp do czujników i komponentów do prototypowania operacji O-Scope. Nauka korzystania z oscyloskopu Tektronix z MSP430 LaunchPad LabVIEW Strona główna: Wykorzystaj Energia w National Instruments Przetwarzanie LabVIEW: Twórz GUI i wizualne reprezentacje danych Energia za pomocą Processing IDE Energia. nulearn. Pełne warsztaty na temat materialnej maszyny IoP Energia. Dowiedz się, jak stworzyć podłączoną do Internetu maszynę do popcornu Energy Trace. Dowiedz się, jak mierzyć zużycie energii w systemie Energia. Rozszerzanie i rozwijanie Energia. Dodawanie treści internetowych: jak prawidłowo wnosić nowe tutoriale i odniesienia do strony internetowej Energia. Pisanie biblioteki. tworzenie bibliotek rozszerzających funkcjonalność Energia. Przechodzi krok po kroku proces tworzenia biblioteki ze szkicu. Zbuduj Energia ze źródła. jak zbudować Energię na swojej maszynie z najnowszej bazy kodów. Preferencje. plik preferencji Energia zawiera wiele opcji dostosowywania sposobu, w jaki Energia kompiluje i przesyła szkice. Proces budowy. dowiedz się, jakie kroki przechodzi szkic w drodze do deski LaunchPad. Źródło. przeglądanie online kodu źródłowego Energia (na stronie zewnętrznej) Błędy. aktualna lista błędów oprogramowania Energia (na zewnętrznej stronie internetowej). Wiki. Szczegóły techniczne projektu, udoskonalenia, problemy, referencje można znaleźć na Wiki (w zewnętrznej witrynie). Szkice Energia są oparte na CC i kompilowane przy użyciu kompilatora open source MSPGCC. Język Energia pochodzi z Wiring. Środowisko Energia jest oparte na przetwarzaniu i zawiera modyfikacje dokonane przez Wiring. Energia BYOB (Build Your Own BoosterPack). instrukcje skoncentrowane na producencie do zaprojektowania i zbudowania własnego BoosterPacka kompatybilnego z LaunchPad. TI BYOB (Build Your Own BoosterPack). oficjalne instrukcje TI dotyczące projektowania i budowy własnego BoosterPacka kompatybilnego z LaunchPad. Twitter FeedWhats Różnica między USB 2.0 i 3.0 Hubs Akceptacja rynku przez USB 3.0 stale rośnie ze względu na wiele zalet w stosunku do USB 2.0, w tym znacznie większą szybkość (do 5-Gbits surowej przepustowości), wyższą dostępność energii (do 900 mA na port) i lepsze zarządzanie energią dzięki większej liczbie poziomów redukcji mocy, gdy maksymalna moc nie jest potrzebna. Korzyści te są osiągane przy zachowaniu funkcjonalnej i mechanicznej kompatybilności z urządzeniami USB 2.0, koncentratorami i portami hosta. Ale co mogą zrobić użytkownicy USB 3.0, gdy potrzebują więcej portów USB 3.0 niż ich komputery PC lub stacja dokująca, zapewnia to zewnętrzne koncentratory USB 3.0. Pobierz specjalną wersję tego artykułu w formacie PDF, która jest dostępna wyłącznie dla członków społeczności Electronic Design. Topologia warstwy i ścieżki danych Typowy komputer główny może mieć dwa porty USB 2.0 i dwa porty USB 3.0. Porty USB 2.0 mogą być używane dla klawiatury USB i myszy USB, ale użytkownik może mieć więcej niż dwa dodatkowe urządzenia USB do połączenia z komputerem w tym samym czasie, a wiele z nich może działać w standardzie USB 3.0. Podłączenie dwóch koncentratorów do topologii umożliwia obsługę wszystkich dodatkowych urządzeń USB, a nawet niektóre porty USB mogą być nadal dostępne dla większej liczby urządzeń. Aby uzyskać zalety szybkości i mocy USB 3.0, koncentratory i kable łączące również muszą być zgodne z USB 3.0, w tym obsługa USB 2.0 dla urządzeń USB 2.0. Z drugim koncentratorem podłączonym do pierwszego, USB 2.0 i USB 3.0 pozwalają na kaskadowanie razem pięciu poziomów koncentratorów (rys. 1). W każdym hubu są zwykle cztery porty downstream, ale możliwa jest również inna liczba portów na hoście. Łączna przepustowość portów niższego rzędu może być większa niż przepustowość dostępna w porcie wyjściowym. Porty na PC są znane jako porty ldquoroot, rdquo, a porty główne są oznaczone jako 1dquo. Poziomy od 2 do 6 reprezentują dodatkowe poziomy możliwe dzięki koncentratorom, a poziom 7 jest ostatnim poziomem urządzeń obsługiwanych przez koncentrator na poziomie 6. Piasty USB 3.0 zachowują tę podstawową topologię warstw (ryc. 2), ale oprócz USB 2.0 wspierają dodatkowo obsługę USB 3.0 (ryc. 3). Kompletny koncentrator USB 2.0 jest zamknięty wewnątrz kompletnego koncentratora USB 3.0 2.0, z równoległymi równoległymi ścieżkami danych dla ruchu USB 3.0 SuperSpeed ​​i USB 2.0 High Speed, Full Speed ​​lub Low Speed. W złączach i oddzielnych przewodach w kablu USB 3.0 są fizycznie oddzielne styki dla ruchu USB 3.0 SuperSpeed ​​i ruchu USB 2.0. The USB 3.0 SuperSpeed path operates at a raw bit rate of 5.0 Gbitss, while the USB 2.0 path operates at 480 Mbitss (High Speed), 12 Mbitss (Full Speed), or 1.5 Mbitss (Low Speed). Within the hub, only the port power control logic is shared between the USB 3.0 path and the USB 2.0 path, since there is only one 5-V power path in either USB 2.0 or USB 3.0. The additional pins and wires for USB 3.0 include SuperSpeed Transmit (SSTX, SSTXndash), SuperSpeed Receive (SSRX, SSRXndash), and an additional ground (GND). The additional pins are arranged mechanically so a USB 2.0 connector or cable can be used in place of a USB 3.0 connector or cable in nearly all cases to allow USB 2.0 data traffic (at USB 2.0 speeds) even if there is no available path for USB 3.0 SuperSpeed traffic. The main mechanical incompatibility arises when attempting to use a USB 3.0 cable for a USB 2.0 device, due to the physical size of the USB 3.0 Standard-B plug on a USB 3.0 cable. Conversely, a USB 2.0 cable can be used with USB 3.0 ports to allow USB 2.0 data flow at USB 2.0 speeds. Likewise, USB 2.0 hubs can be used instead of USB 3.0 hubs, or vice versa, allowing USB 2.0 data flow at USB 2.0 speeds. The only way to achieve USB 3.0 SuperSpeed operation, however, is for the host port, the device, all intervening hubs, and all connecting cables to be designed for USB 3.0 operation, with an unbroken USB 3.0 pathway from host to device. USB enumeration is the process of detecting, identifying, and loading the correct software drivers for a USB device. During the enumeration process, the host and its driver automatically detect whether or not a USB 3.0 path exists to each device, and the driver configures the host controller to use the USB 2.0 path if a working USB 3.0 path is not found (or if the device doesnrsquot support USB 3.0 SuperSpeed at all). Similarly, a USB 3.0 device uses its USB 2.0 pathway instead of USB 3.0 if the device was configured to do so during enumeration. It is mechanically possible to connect up to 1024 devices (4 5 ) at tier 7 if tiers 2 through 6 consist entirely of hubs with four downstream ports each. Unfortunately, the 8-bit device address used in USB limits USB topologies to a maximum of 255 devices. Data throughput considerations will usually limit the practical number of devices further, and there is also usually a limit in the host controller on the number of device ldquoslotsrdquo (one ldquoslotrdquo per device) that the host controller can support. Point-To-Point Packet Routing One major enhancement in USB 3.0 compared to USB 2.0 is the use of point-to-point packet routing from host to device, instead of the ldquobroadcast-to-all-pointsrdquo characteristic of USB 2.0. This reduces data traffic on USB 3.0 links that arenrsquot involved in a given transaction and facilitates keeping unused links in a reduced power mode to conserve total system power. To enable point-to-point USB 3.0 packet routing, packets originating in the host contain a 20-bit ldquoroute stringrdquo field (Fig. 4) . The route string consists of five 4-bit subfields signifying the port numbers on the hubs to which the packet should be routed. Each hub is assigned a ldquodepthrdquo number from zero through four, and the hub uses the port number at its assigned depth to determine which of its downstream ports the packet should go to. Hub depth zero corresponds to tier 2 and so on up to depth four at tier 6. For example, a hub residing at a depth of 3 (tier 5) and assigned ldquodepth 3rdquo during enumeration will use the port number in the ldquodepth 3rdquo field of the route string to determine the intended downstream port for the packet. A port number of zero means the packet is targeted for the hub itself, not for any of the hubrsquos downstream ports. Upstream packet routing, from a device to the host, is always point-to-point inherently. The host is always the final destination for any packet transmitted by a device. Packets moving upstream are not broadcast to other devices or USB links. In USB, there is no mechanism for one device to transmit a packet to another device instead of transmitting it to the host. There is always one host and one or more devices (if any data flow is occurring). Packet flow is from host to device or vice versa, never device-to-device. Note that all the data and control paths exist in a USB 3.0 hub to support USB 2.0 data traffic flowing simultaneously with USB 3.0 SuperSpeed traffic. For example, the host controller may still be finishing a USB 2.0 transmission or packet reception at the same time that a USB 3.0 packet begins to flow from a USB 3.0 device through a USB 3.0 hub and finally to the USB 3.0 host controller. This is only possible with USB 3.0 hubs. USB 2.0 hubs donrsquot have separate data paths to allow this kind of simultaneous data flow. Data Buffering And Throughput Another characteristic of USB 3.0 hubs is that they contain more data buffering than USB 2.0 hubs. USB 3.0 hubs store USB 3.0 SuperSpeed packets in a buffer and then retransmit them when there is an available time slot in the SuperSpeed data path. Unlike USB 2.0, the buffering in the USB 3.0 hub (and the host controller) allows a USB 3.0 SuperSpeed transfer to continue immediately with the next packet, without needing to wait for an acknowledgment of successful receipt of a previous packet. The acknowledgments can be combined into a single packet to acknowledge a group of several data packets. USB 3.0 hubs can do this completely independently of any simultaneous USB 2.0 data flow that may also be occurring. It was mentioned earlier that a hub cannot increase the total bandwidth of all the downstream ports combined, compared to the bandwidth on the upstream port. As a very rough estimate of total bandwidth available on a host controller port, SuperSpeed uses a 5-Gbits raw bit rate, with 8b10b encoding, which reduces the effective bandwidth for data to 4 Gbitss (500 Mbytess) or less. Link protocol and packet framing reduce this estimated maximum still further, and any idle time between packets imposes still more effective data throughput reduction. Instead of 500 Mbytess per SuperSpeed link, the measured data throughput may be significantly less due to all these overheads. In particular, the host system and end device may not be able to keep up with the available bandwidth, resulting in added idle time between packets actually transmitted on the SuperSpeed link. And, remember that a four-port SuperSpeed hub effectively splits the bandwidth available on its upstream port into four branches, with each having only 25 of the upstream bandwidth if all four ports are contending equally for the available upstream port bandwidth. Furthermore, if the host controller is a bridge from a PCI Express bus to USB 3.0, then the bandwidth of the PCI Express interface will limit the bandwidth that the host controller can support on its USB 3.0 ports. If the PCI Express interface is ldquox1 Gen2,rdquo meaning one lane with a raw bit rate of 5 Gbitss, then the host controller will be able to support only one USB 3.0 port operating at 5 Gbitss. Two or more USB 3.0 ports supported by a single PCI Express Gen2 (x1) interface will suffer the same kind of bandwidth splitting arising in USB 3.0 hubs. USB Power Management The USB Implementers Forum. PCI SIG. and Intel have published several specifications pertaining to USB devices, hubs, and host controllers known as the USB 2.0 Specification (including engineering change notices, or ECNs), USB 3.0 Specification, PCI Express Base Specification and other related specifications, and the xHCI Specification. These specifications describe various ldquopower statesrdquo for USB and PCI Express devices, including D0 through D3 for PCI Express devices, LPM (Link Power Management) L0 through L3 for USB 2.0, and U0 through U3 for USB 3.0. The power states range from fully on and operational (D0, LPM-L0 and U0) to minimally powered (D3hot, L2, U3) or completely unpowered (D3cold, LPM-L3). The minimally powered or unpowered states have the lowest power consumption and the longest ldquolatencyrdquo to return to a fully operational state (due to loss of ldquocontextrdquo information), while intermediate power states have higher power consumption levels but shorter ldquoresumerdquo latencies, partly depending on whether or not their clocking is stopped and needs time to restart. In general, a bus driver andor higher-level driver running on the host CPU implements the overall power management strategy for the USB topology, such as when to put any part of the USB topology into a reduced power state and how deeply to reduce its power, depending on the resume latency that might be needed. For instance, a fully unpowered device generally will need a complete USB hardware reset (using specified USB signaling in USB 2.0, or ldquopolling. LFPSrdquo in USB 3.0) and re-initialization to become operational again. That is likely to be too time consuming for users who are trying to utilize their device and the system is only trying to prolong the useful operational battery time. In this case, software drivers can detect what level of usage is occurring and determine a suitable tradeoff between power savings and quick responsiveness as seen by the user. The process of a device resuming to its fully operational state can be triggered either by the host software or by user activity, such as pressing a key on a keyboard, moving andor clicking a mouse, or receipt of new incoming data on a network connection. The ability of a USB device to support device-initiated resume depends on the host software putting the device into a properly ldquoenabledrdquo condition before sending the device into a reduced-power state. USB 3.0 power management can save considerable power compared to USB 2.0. A systemrsquos host controller may have only two power states, fully on or standby, but the USB 3.0 U1 andorU2 power states may be utilized by either USB 3.0 host or devices and links that arenrsquot actually being used during time intervals when the system is still fully on (Fig. 5) . USB 2.0 does not have intermediate options between fully on and standby unless LPM-L1 has been implemented, and even LPM-L1 does not provide as many power options to the host software as USB 3.0 U1U2 can provide. As already noted, the point-to-point routing characteristic of USB 3.0 also allows greater flexibility in putting inactive or less active devices and links into reduced power states. USB 3.0 is poised for rapidly increasing deployment in the market. Only a few short years ago, it was limited to a few types of USB peripheral devices and a few USB host controllers. Full USB-IF certification for USB 3.0 hubs just became available in December 2017, and the microPD720210 from Renesas Electronics became the first USB 3.0 hub to receive certification. USB 3.0 availability is expected to expand rapidly in the market at all levels: host controllers, peripheral devices, and now hubs as well.

No comments:

Post a Comment