Para idéias inovadoras sobre a construção de sistemas embarcados (hardware e firmware), junte os 25.000 engenheiros que assinam o The Embedded Muse. Um boletim quinzenal gratuito. A musa não tem hype, nenhum vendedor PR. Leva apenas alguns segundos (basta digitar seu e-mail, que é compartilhado com absolutamente ninguém) para se inscrever. 2017 Pesquisa de salários de desenvolvedores incorporados Os dados mais recentes são para 2017 e está aqui. Em 2006 e 2009 eu fiz pesquisas salariais de engenheiros embutidos. Você pode encontrar 2006 aqui e 2009 aqui. Em 2017 os leitores do Embedded Muse e Embedded participaram de uma breve pesquisa cujos resultados estão resumidos neste documento. Sugestão: Subscreva a meu boletim de notícias livre que cobre frequentemente prospetos na indústria incorporada dos sistemas. Esta não é uma pesquisa científica Não foram realizados testes para garantir a precisão dos dados, e seria sábio entender que os participantes podem ter confundido moeda local com dólares dos EUA, ou para cometer outros erros. Ainda assim, os dados são interessantes e pintam, pelo menos, uma imagem ampla. Para tentar obter alguma introspecção dividi o mundo em vários acampamentos. QuotAmericas significa América do Norte e do Sul, exceto EUA e Canadá. Mais de metade dos inquiridos foram dos EUA, e heres a distribuição: Idade e Experiência Continuamos a idade. O gráfico a seguir mostra que as bandejas de idade superior estão se enchendo com o passar dos anos. A idade ea experiência correlacionam, naturalmente. Observe, no gráfico a seguir, o acentuado aumento nos anos de experiência na Ásia, na Índia e em outros locais (não-ocidentais). Tenho de atribuir isso às variações estatísticas. A experiência nos EUA reflete os três anos decorridos desde a última pesquisa. Sem surpresa o mundo ocidental tem significativamente mais experiência que outros locais, mas como os boomers se aposentar que a diferença vai encolher. Sem surpresa, os salários variam amplamente em todo o mundo. Os gráficos a seguir mostram a experiência em anos versus salário em dólares norte-americanos para várias regiões. Mas os dados para a Ásia, as Américas (excluindo os EUA eo Canadá) e quototherquot foram descontroladamente todo o lugar e não mostrou qualquer significado. Por exemplo, na Ásia, os pontos de dados variaram de 2200 anos a 90.000 (com muitos pontos na extremidade baixa e alta, portanto lançar outliers era impossível). Talvez misturas de moeda fossem culpadas. Mas eu não incluí gráficos para essas regiões como eles seriam sem sentido. Começando com os EUA, tem havido um crescimento consistente nos últimos seis (pelo menos) anos. O eixo horizontal é anos de experiência eo vertical é US dólares: O salário médio para aqueles que fazem o desenvolvimento de firmware é apenas 100.560, para aqueles em desenvolvimento de hardware é apenas 111.730, para gerentes 128.633 e 98.149 para aqueles com sorte de estar envolvido em ambos Hardware e firmware. Na Europa, as coisas são menos cor-de-rosa. Este ano os salários estão baixos. É este o resultado do crash econômico Infelizmente não adquiri os dados por país, o que poderia ter ilustrado micro-tendências. Os dados são dólares dos EUA versus a experiência em anos. Este ano perguntei sobre os benefícios. Os EUA obtêm uma alta pontuação, talvez porque os cuidados de saúde são um benefício bastante normal, enquanto em muitos outros países é fornecido pelo governo. Mas os EUA ficam em dias de férias pagas por ano. Apenas Ásia trilhas, e não por muito. Apenas 6 dos inquiridos europeus registaram menos de 20 dias por ano. Felicidade e Futuro Talvez a tentativa de medir a felicidade seja uma busca de tolos, mas como um gent de meia-idade que viu muitos colegas se queimarem do desespero e do excesso de trabalho. Estou convencido de que devemos buscar a felicidade primeiro eo segundo salário. Na pesquisa os entrevistados classificaram sua felicidade com sua carreira em uma escala enumerada de amor, razoavelmente feliz, um pouco infeliz, odeiam. Eu avaliei os fatores de 3 (amor) para 0 (odeio). Esses resultados foram normalizados para o número de respostas em cada categoria. Um tidbit fascinante é que ao longo dos anos os engenheiros indianos parecem estar crescendo menos encantado com suas carreiras. 2009 foi um ano fora de ano para a maioria, provavelmente na esteira da bagunça econômica. Eu perguntei como as pessoas sentiam sobre o futuro da engenharia, dando quatro possíveis respostas: Esperar uma forte demanda por engenheiros Sobre a mesma Demanda provável de diminuir Sua probabilidade de ser offshored Im esperando que ela offshored para nós Permanecemos fortemente otimista. O medo de offshoring é para baixo significativamente dos resultados de 2009s, como é a esperança que o trabalho será offshored a uma região. 10,7 relataram ser consultores. 34 dos negócios relatados como quotbusyquot, 17 quotGreatquot, 13 quotLousyquot eo resto quotreasonable. quot Muitas pessoas deixaram comentários alguns estão listados aqui: Desempregados 9 meses agora, depois de um reorg, estava fazendo 120K, trabalhou 11 anos para a última empresa This Trabalho costumava ser divertido - agora é principalmente apenas uma moagem. A empresa reestruturou payscales e grandfathered-me em cima do topo da classe de pagar-me em infelizmente isso significa que eu havent conseguiu um aumento salarial em 4 anos, e os critérios para subir um grau é ridiculamente irrealista (deve ser um reconhecido internacionalmente Autoridade em alguma especialidade, conferências principais da cadeira, etc.) Este é um grande campo a ser dentro, o abrandamento econômico global ajudou somente remover os povos incompetentes do campo. É melhor do que nunca ter esta linha de trabalho Theres sempre uma conversa sobre embutido escassez de engenheiro, mas Ive raramente foi contactado por headhunters e eu não vejo um monte de ofertas de emprego, Im não dizendo que o mercado de trabalho é ruim, Ser preso em uma década de idade equilíbrio. Eu acho que a falta de engenheiros é um mito egoísta para incentivar os jovens a entrar em engenharia e diminuir os salários (ou pelo menos diminuir o aumento). A tendência geral que vejo é que os EUA continuem a perder lentamente sua competitividade para vizinhos mais ágeis e menos politicamente corretos. Eu sou originalmente da União Soviética, e eu vejo algumas tendências entre o estado desse país nas décadas de 1970 e 1980 e os EUA nos anos de 2010. Manufacturing já deixou o país, e RampD está saindo lentamente, indo para onde as coisas são realmente produzidas. Com o acima é um pouco negativo, é minha opinião que os EUA continuará a ser o líder da inovação por algum tempo para vir. Simplesmente não há alternativas. Parece que os nossos concorrentes globais (EUA) estão focados em encontrar soluções rentáveis para os problemas de hoje, ignorando os futuros. Além disso, eu não vejo a demanda por engenheiros, ou respeito pelos engenheiros, para mudar significativamente nos EUA. Crianças inteligentes ainda irão para escolas médicas ou profissionais. Porque a base de fabricação deixou, e faculdades estrangeiras agora são capazes de competir com os EUA em termos de prestígio, as empresas estrangeiras vão lentamente começar a inovar, e manter a necessidade doméstica de novos graduados STEM a um nível razoável. A única razão ainda empregada é que eu faço agora regulador (segurança, emc, ambiental), sou também o engenheiro de teste, sou um maquinista e carpinteiro e encanador. Oh sim, também escrever algum código. Acostume-se a este povo, este modo permanecerá até que matar os engenheiros boomer. Estou a ponto que eu provavelmente vou voltar para a gestão devido ao ano de 2017 empresas ainda não conseguem lá forma de um saco. Muito menos um produto de software. A empresa para a qual trabalho não exige muito dos engenheiros e também não recompensa muito. Se alguém quer uma vida confortável este é o lugar para estar. No entanto, eu percebi que estar aqui, eu tenho degradado, enferrujado, estagnado e perto de ser além da redenção. Apesar disso, o ritmo em que estou tomando medidas corretivas é patético. Pode ser Eu já estou além da redenção Tanto quanto Embedded Systems Development para uma carreira, sua aparência mais brilhante e mais brilhante a cada ano. Eu acredito que será um campo forte para os próximos anos. Mesmo assim, não tenho certeza de que Embedded System Software Engineers nunca obter o respeito que eles são devidos. Consultoria tem sido sólida por 10 anos com o ano passado o melhor ainda. Consultor de tempo parcial, talvez 25. Tentando fazer mais fabricação, construindo o que nós projetamos. Contratou um técnico de montagem em tempo integral eo negócio realmente pegou no ano passado. Podemos ter de contratar outro mais tarde este ano. Fora aqui em Cingapura, o crescimento de carreira para Firmware Engineers está se tornando muito lento, tanto em termos de salário e em termos de crescimento de carreira. Tenho a sensação de que as pessoas inteligentes nas próximas gerações não entrarão nesta carreira depois de ver os exemplos. Mas ainda assim, haverá pessoas que irão desafiar todo julgamento. Fora destes, a maioria aconselharão seus miúdos não fazer uma carreira na indústria de ElectronicsSoftware em Singapore. Muito poucos deles estarão apenas no conteúdo e se aproximarão de Deus. E um punhado vai dobrar ou quebrar as regras para definir novos padrões, eu vou ser um deles. Hell yeah Off-shoring continua a me preocupar, mas eu tenho pelo menos um pouco de conforto no fato de que desenvolvimento embutido é um pouco mais difícil off-shore do que software puro. Eu ainda tenho um emprego e assim que todos os outros softwarefirmware engenheiro que eu conheço, mas me pergunto se isso continuará a ser o caso nos próximos 15 anos ou assim até eu me aposentar. E estou ainda mais preocupado com a próxima geração (eu tenho um filho na faculdade de engenharia e uma filha que mostra interesses semelhantes). Novos graduados parecem estar totalmente focados em quotThe Webquot e há muito poucos engenheiros de pós-graduação que entendem o hardware o suficiente para fazer bons designers de código embutido. Com a quantidade crescente de firmware exigido em quase tudo, eu espero que os designers experientes embebidos para estar em demanda crescente (é claro que vai acontecer logo após eu aposentar) Meu salário se sentiu praticamente estagnado nos últimos 5 anos com aumentos 1-3year . É difícil ser animado para o futuro, quando o salário doesnt exceder a inflação. Dito isto, eu não poderia imaginar ser nada, mas um engenheiro. A gerência não quer gastar o tempo ou o dinheiro que projeta o direito de produto. Projetá-lo, construí-lo e enviá-lo rápido. Nada mais importa. Ive estado fora do trabalho por aproximadamente 3 meses agora. (Salário e benefícios baseados no último emprego). Parece estar ficando mais difícil e levar mais tempo para conseguir um novo emprego. Os requisitos listados para trabalhos continuam a ficar mais longos e mais específicos - mantendo-se com a mais recente tecnologia é bastante desafiador. É extremamente difícil encontrar engenheiros americanos. Muitas vezes precisamos confiar em engenheiros estrangeiros que se mudaram para os EUA para ir para a escola e ficam aqui. Simplesmente não há novos graduados suficientes nos EUA para acompanhar a demanda. Há muita conversa sobre as empresas fora do desenvolvimento de escoramento para reduzir os custos, mas também pode ser simplesmente para que eles possam encontrar pessoas. Ele exige aprendizagem ao longo da vida para um engenheiro para permanecer competitivo e, esperamos, empregado. Mas thats verdadeiro até certo ponto em a maioria de profissões por que deve Engenharia ser diferente Começar povos do firmware com bom conhecimento do hardware é muito difícil em India. Em nossa área as empresas ainda tratam o pessoal como se fosse alta recessão, o que significa não tentar manter as pessoas, pois há muitas pessoas ao redor que vai saltar comeu qualquer oportunidade de trabalhar. Temos vindo a perder pessoas experientes através da placa, eles são substituídos por pessoas que mal têm o conjunto mínimo de habilidades. Eu estou esperando que eu consiga terminar minha carreira na engenharia, mas não é uma coisa certa. Entre offshoring, discriminação de idade, tecnologias em evolução, pressões de mercado, eu não sou 100 confiante que eu posso permanecer relevante e competitivo. Mas estou satisfeito com meu trabalho atual, o trabalho que faço, o cenário, as pessoas, então permaneço cautelosamente otimista. Eu, ea maioria dos meus amigos engenheiros, nunca recomendaria engenharia como uma carreira. Eu trabalho no País Basco, Espanha. Embora o desemprego aqui (10) não seja tão elevado como no resto da Espanha (22), há muitos jovens engenheiros desempregados. Apesar disso, minha empresa tem sérias dificuldades em encontrar pessoas qualificadas para contratar, especialmente para o departamento de eletrônica de potência, que é esperado que seja o que crescerá mais dentro de nossa empresa no futuro próximo. Acho que consultoria de software será muito semelhante à instalação de HVAC. Hoje, cada empresa precisa de alguns. Muitos têm experiência suficiente em casa para manter seus sistemas. Mas a maioria vai querer ter a capacidade de pegar o telefone e rapidamente obter alguém que pode entrar, corrigir um problema e sair até a próxima vez que eles são necessários. Suas necessidades vão desde grandes empresas que dão aos consultores seus próprios escritórios, até lugares que dizem quotWe precisam de um site. Acho que haverá um aumento nos anos vindouros em que os consultores se tornarão muito mais valiosos (e necessários) devido às grandes populações aposentadas no horizonte. Isso será multiplicado por grandes corporações no continente americano pensando que eles podem sobreviver por terceirização de trabalho de design (para o qual haverá muitas opções futuras), mas precisa de um arquiteto em casa, ao nível do sistema. Os consultores especializados serão capazes de fazer um crapton de dinheiro. Eu amo esta profissão porque sou livre para aplicar tantas estratégias diferentes para criar soluções e eu aprendo algo novo todos os dias. A única coisa que eu não esperava foi o quanto as pessoas que trabalham com afetar a qualidade do seu dia. Uma boa companhia e uma boa equipe fazem toda a diferença. Adoro a minha carreira de engenheiro e mostra aos meus filhos. Meu filho do meio vai estar indo para a faculdade para prosseguir um grau de engenharia de algum tipo no próximo ano. Meu mais novo é muito Matemática amp Ciência esperto também e esperançosamente perseguirá algum tipo de grau de engenharia. Eu sou um prof universitário. Trabalhando em sistemas embutidos e em tempo real. Tenho visto o interesse nessa área diminuir nos últimos anos. Alunos aparentemente não querem trabalhar com os detalhes e complexidades da programação de sistemas embarcados mais. Eles preferem muito simulações e outras abordagens soft onde os detalhes estão escondidos. Eu sou um quotgraybeardquot em minha quinta década de engenharia (70s para adolescentes). Desde a mudança de volta para o meu estado de origem em 2007, eu experimentei 3 demissões como a economia passou de tênue a ruim para miserável. Atualmente, eu sou sócios com outro engenheiro, tentando iniciar nossa própria empresa. Nós dois vemos isso como a única maneira de ser bem sucedido e não sujeito aos caprichos dos empregadores que não colocam nenhum valor em engenheiros. Tentando começar um negócio na pior economia em 80 anos Provavelmente não muito inteligente. Mas é virtualmente impossível para alguém da minha idade conseguir um emprego. Eu até tinha uma mulher no Desemprego me dizer isso. Aqui no Brasil, nessa época, os engenheiros estão muito bem posicionados, mesmo porque o Brasil está se mostrando ao mundo, Copa do Mundo, Jogos Olímpicos, Petrobras, Agricultura, etc. Para mim, acho que estou tendo uma boa oportunidade para fazer algo Muito legal aqui, estamos desenvolvendo produtos para a agricultura, então esperamos crescer junto com o Brasil. Mesmo terremotos não podem nos parar de codificação Negócios trata de decisões de software como um licitante mais quentes para um problema de passeio de ambulância. Eles têm o maior senso de urgência, querem pagar o mínimo possível e se não funcionar, sua vida econômica pode depender dele. Uma grande parte disso é devido à forma infantil desenvolvedores abordagem software. Para chamar muito dele quotsoftware engineeringquot é ser completamente desrespeitoso das disciplinas de engenharia quando estrume de cavalo ad hoc é o que muitas vezes o negócio está comprando se eles percebem ou não. Uma vez que o negócio isnt completamente mudo (ignorância não incluído), eles percebem que gastam um wad em software que não funciona. Em vez de abordar o cerne do problema, abordam-no a partir de uma perspectiva de redução de custos, o que gera mais trabalho off-shore e salários mais baixos nos EUA. O software não fica melhor. Eles simplesmente obter o estrume de cavalo mesmo a um preço mais barato. E então não têm respeito por software como resultado. Ser um engenheiro de sistemas embutidos no México é agora uma grande coisa. Há um monte de posições de abertura e em vários lugares no México. A coisa que mais me preocupa é a quantidade de engenheiros com conhecimento de sistemas embarcados que saem das escolas. Parece que muitas pessoas estão se concentrando em outras carreiras com menos quotcomplexityquot no que diz respeito aos seus possíveis salários. Um ótimo lugar para ser. Eu acho que esta é uma área onde as pessoas vão estar na demanda, embora mais por causa da falta de graduados de engenharia, do que mais vagas de emprego Você precisa eliminar bugs em seu firmware Encurtar prazos Meu seminário de um dia melhor Firmware mais rápido vai ensinar sua equipe Como operar em um nível de classe mundial, produzindo código com muito menos bugs em menos tempo. É rápido, divertido, e abrange os problemas originais enfrentados pelos desenvolvedores incorporados. Heres informações sobre como esta classe, ensinada em sua instalação, mensuravelmente melhorar a sua eficácia equipes. Ganhe um Cypress CY8CKIT-044 PSoC 4 M-Series Pioneer Kit - Entre no concurso aqui. Anuncie conosco Atinge 130 mil desenvolvedores embutidos por mês. Mais informações aqui. O Ganssle Group - infoganssle - copyright TGG, todos os direitos reservados. Informações de contato aqui. Interessado em anunciar conosco Mais informações aqui. Começando com Energia Instruções passo a passo para configurar o IDE da Energia e executar seu primeiro Esboço em uma placa de LaunchPad da Texas Instruments. Meio Ambiente. Descrição do ambiente de desenvolvimento da Energia. Pranchas. Utilize o administrador da placa para instalar o suporte para núcleos adicionais (novo na Energia 18). Preferências. O arquivo de preferências da Energia contém muitas opções para personalizar a forma como a Energia compila e envia esboços. Processo de construção. Descubra as etapas que o seu esboço atravessa no caminho para a placa LaunchPad. Mapeamento de pinos. Lista completa de todas as imagens e instruções de Mapeamento de Pin para cada placa de hardware suportada pela Energia. Bibliotecas. Lista completa de todas as bibliotecas adicionais suportadas pela Energia. Confira este tutorial para Energia 18 Build IDE da Source. Use a última base de código do Github para criar uma compilação da Energia. Importe para o Code Composer Studio. Use as funções e os esboços de Energia no CCS versão 6, TI8217s IDE baseado em Eclipse. Importar para CCS Cloud: Usar funções e esboços de Energia em CCS Cloud. IDE baseado em navegador TI8217s. Fundamentos Esta seção contém explicações de alguns elementos da eletrônica, do hardware do LaunchPad, do software Energia e dos conceitos por trás deles. Esboço. Os vários componentes de um esboço (programa Energia) e como eles trabalham Electricidade. O princípio que os poderes Circuitos eletrônicos. O conceito fundamental para design elétrico Tensão. Carga elétrica transportada entre dois pontos Corrente. O fluxo de elétrons em um fio Microcontrollers Digital Pins. Como funcionam os pinos eo que isso significa para eles serem configurados como entradas ou saídas. Pinos de Entrada Analógica. Detalhes sobre a conversão analógico-digital e outros usos dos pinos. PWM. Como a função analogWrite () simula uma saída analógica usando modulação de largura de pulso. Memória. Os vários tipos de memória disponíveis na placa LaunchPad. Temporizadores: contadores digitais que aumentam ou diminuem em uma freqüência fixa usada para sincronizar sistemas eletrônicos. Registros: um espaço reservado para obter informações sobre alguma condição de hardware. Sensores. Os sensores são usados para detectar e medir sinais analógicos do ambiente. Variáveis técnicas de programação Como definir e usar variáveis Funções. Como definir e usar funções Bibliotecas. Como escrever sua própria biblioteca Manipulação de bits. Como usar protocolos de comunicação matemática de bits. Como usar protocolos para passar dados Multitarefa. Como configurar aplicativos multithread Componentes Eletrônicos Básicos Painel. Uma superfície de prototipagem para criar circuitos sem solda. Conectar componentes elétricos e sistemas Resistores. Alterar sua tensão de circuito e capacitores atuais. Armazenar energia em um circuito Filtros: remover ou melhorar componentes de freqüência do sinal Amplificadores: aumentar a potência de um sinal Transistores. Amplificar e comutar sinais eletrônicos Indutores: resistir a mudanças na corrente elétrica Interruptores. Mudar o caminho do fluxo elétrico Botão: injetar um sinal em um circuito Diodo. Permite o fluxo elétrico em apenas uma direção LEDs. Diodos emissores de luz atuam como indicadores visuais, medidores, escopos e analisadores. Usar essas ferramentas para medir tensão e corrente Circuitos Integrados. Componentes que podem fazer operações complexas Funções básicas Programas simples que demonstram comandos básicos da Energia. Estes são incluídos com o ambiente Energia para abri-los, clique no botão Abrir na barra de ferramentas e procure na pasta de exemplos. Para alguns exemplos, hardware adicional é necessário. Estes podem ser adquiridos individualmente ou em kits de kits eletrônicos populares. O Sidekick Basic Kit para TI LaunchPad da Seeedstudio é altamente recomendado pela comunidade Energia. Mínimo. O mínimo necessário de código necessário para iniciar um esboço Energia. Piscar. Ligue e desligue um LED. DigitalReadSerial. Leia um interruptor, imprima o estado para o Monitor Serial da Energia. AnalogReadSerial. Leia um potenciômetro, imprima o estado de energia para o Monitor Serial da Energia. Desvaneça. Demonstra o uso da saída analógica para atenuar um LED. ReadAnalogVoltage. Lê uma entrada analógica e imprime a tensão no monitor serial Blink Without Delay. Piscando um LED sem usar a função delay (). Botão. Use um botão para controlar um LED. Debounce. Ler um botão, filtragem de ruído. Mudança de estado do botão. Contando o número de empurrões de botão. Input Pullup Serial. Demonstra o uso de INPUTPULLUP com pinMode (). Tom. Tocar uma melodia com um alto-falante Piezo. Pitch seguidor. De acordo com uma entrada analógica. Teclado Simples. Um teclado musical de três teclas usando sensores de força e um alto-falante piezo. Tone4. Reproduzir tons em vários alto-falantes sequencialmente usando o comando tone (). AnalogInOutSerial. Ler um pino de entrada analógica, mapear o resultado e, em seguida, usar esses dados para diminuir ou iluminar um LED. Entrada analógica. Use um potenciômetro para controlar o piscar de um LED. AnalogWrite. Fade 7 LEDs on e off, um por um, usando um MSP430G2 LaunchPad bordo. Calibração. Definir um máximo e um mínimo para os valores esperados do sensor analógico. Desbotando. Use uma saída analógica (pino PWM) para esmaecer um LED. Suavização. Suavizar várias leituras de uma entrada analógica. 4munication Estes exemplos incluem código que permite ao LaunchPad falar com Processamento de esboços em execução no computador. Para obter mais informações ou para fazer o download do Processamento, consulte processing. org. ReadASCIIString. Analisar uma seqüência de caracteres separados por vírgulas para diminuir o tamanho de uma tabela ASCII de LED. Demonstra as funções avançadas de saída serial da Energia8217s. Obscuro. Mova o mouse para alterar o brilho de um LED. Gráfico. Enviar dados para o computador e gráfico-lo em processamento. Pixel físico. Ligue e desligue um LED enviando dados para o LaunchPad a partir de Processamento. Misturador Virtual de Cores. Enviar várias variáveis do LaunchPad para o seu computador e lê-las em Processamento. Resposta de chamada em série. Envie múltiplos parâmetros usando um método de chamada e resposta (handshaking). Resposta de chamada serial ASCII. Enviar várias variáveis usando um método de chamada e resposta (handshaking) e ASCII-codificar os valores antes de enviar. SerialEvent. Demonstra o uso de SerialEvent (). Entrada serial (Switch (case) Statement). Como tomar diferentes ações com base em caracteres recebidos pela porta serial. 5.Control Structures If Statement (Condicional): como usar uma instrução if para alterar as condições de saída com base nas condições de entrada em mudança. Para Loop. Controlando múltiplos LEDs com um loop for. Array. Uma variação no exemplo For Loop que demonstra como usar uma matriz. Enquanto Loop. Como usar um loop while para calibrar um sensor enquanto um botão está sendo lido. Troque a Caixa. Como escolher entre um número discreto de valores. Equivalente a declarações If múltiplas. Este exemplo mostra como dividir uma faixa de sensor8217s em um conjunto de quatro bandas e tomar quatro ações diferentes, dependendo da banda em que o resultado está. Switch Case 2. um segundo exemplo de caso de switch, mostrando como tomar diferentes ações com base em caracteres Recebida na porta serial. StringAdditionOperator. Adicionar seqüências de caracteres em uma variedade de maneiras. StringAppendOperator. Acrescentar dados a strings. StringCaseChanges. Mudar o caso de uma string. StringCharacters. Getset o valor de um caractere específico em uma string. StringComparisonOperators. Comparar strings em ordem alfabética. StringConstructores. Como inicializar objetos de seqüência de caracteres. StringIndexOf. Procure a primeira instância de um caractere em uma string. StringLength amp StringLengthTrim. Obter e cortar o comprimento de uma Cadeia de caracteres. StringReplace. Substituir caracteres individuais em uma seqüência de caracteres. StringStartsWithEndsWith. Verifique com quais caracteres uma string começa ou termina. StringSubstring. Procure 8220phrases8221 dentro de uma determinada string. 7.Sensors, Motors, amp Displays Temperatura: uso a bordo MCU sensor de temperatura do núcleo. Sensor de Inclinação: use um sensor básico de inclinação. Servo: mova um servo para controlar objetos mecânicos. Motor básico: gire um motor básico. 7 Segment Display: exibe o número básico e os valores das letras. 221516 Exibição de caracteres: cadeias de saída para uma exibição de caracteres. 8. MultiThreading ButtonEvent: Ler um botão em uma tarefa e ter outra tarefa aguardar o botão a ser pressionado EventLibrary: Enviar um evento em uma tarefa e ter outra tarefa aguardar o evento Monitor: Exibe a utilização da CPU, o uso da memória da tarefa, etc. Requer terminal VT100 MultiAnalogInput. Lê entradas analógicas em diferentes tarefas em diferentes taxas MultiBlink. Blink 3 LEDs em taxas diferentes MultiTaskSerial: Mostra 2 threads enviando uma seqüência de caracteres para o monitor serial em diferentes taxas 9.Connectivity WiFi: exemplos de biblioteca WiFi MQTT. Use o protocolo MQTT leve para permitir aplicações IoT amp M2M StandardFirmata. Use o protocolo firmata para se comunicar dinamicamente com o microcontrolador Temboo. Acesse centenas de APIs da Web através da Temboo usando a Energia ATampT M2X. Post Energia dados para ATampT M2X serviço de nuvem BLE Mini. Use Red Bear Lab BLE Mini para controlá-lo LaunchPad Freeboard. io: Crie um painel de nuvem com seus dados Energia usando freeboard. io Contiki: Acesse Contiki OS para IoT usando Energia 10.BoosterPacks Olimex8x8matrix: crie uma marca de rolagem com uma matriz LED. Sharp LCD Display: exibir imagens e texto no LCD de baixa energia EducationalBP: criar uma mágica 8 bola com um acelerômetro e display LCD. EducationalBP MKII. Exemplos envolvendo buzzer, LCD, LEDs, acelerômetro, botões de pressão, e mais CC3000. Introdução ao SimpleLink WiFi CC3000 BoosterPack CC3100. Introdução ao SimpleLink WiFi CC3100 BoosterPack Outros Tutoriais Sidekick para TI LaunchPad. Use o Kit Sidekick Basic da Seeedstudio para TI LaunchPad com Energia SIK para LaunchPad. Use o Kit Sparkfun Inventor8217s com o Energy Grove Starter Kit para LaunchPad. Use os módulos do Grove para acessar sensores e componentes para a prototipagem da Operação O-Scope. Aprendendo a usar um Osciloscópio Tektronix com o MSP430 LaunchPad LabVIEW Home: Use Energia no National Instruments Processamento do LabVIEW: Crie GUIs e representações visuais dos dados da Energia usando o Processamento IDE Energia. nulearn. Workshops completos sobre o material Energia IoP Machine. Aprenda a criar uma máquina de pipoca conectada à Internet Energia Traço. Aprenda como medir o consumo de energia em seu sistema Energia Ampliando e Desenvolvendo Energia Adicionando Conteúdo Web: como contribuir corretamente com novos tutoriais e referências ao site da Energia. Escrevendo uma biblioteca. Criando bibliotecas para estender a funcionalidade da Energia. Passa passo a passo através do processo de criação de uma biblioteca a partir de um esboço. Construa Energia da Fonte. Como construir Energia em sua máquina a partir da última base de código. Preferências. O arquivo de preferências da Energia contém muitas opções para personalizar a forma como a Energia compila e envia esboços. Processo de Construção. Descubra que etapas seu esboço atravessa em sua maneira à placa do LaunchPad. Fonte. Navegação on-line do código fonte Energia (em um site externo) Bugs. A lista atual de bugs de software da Energia (em um site externo). Wiki. Os detalhes técnicos, aperfeiçoamentos, problemas e referências do projeto Energia podem ser encontrados no Wiki (em um site externo). Os esboços Energia são baseados em CC e compilados com o compilador de código aberto MSPGCC. A linguagem Energia vem da Fiação. O ambiente da Energia é baseado em Processamento e inclui modificações feitas por Fiação. Energia BYOB (Construa seu próprio BoosterPack). Maker orientado instruções para projetar e construir o seu próprio LaunchPad BoosterPack compatível. TI BYOB (Construa seu próprio BoosterPack). Instruções oficiais do TI para projetar e construir seu próprio BoosterPack compatível com o LaunchPad. Twitter FeedWhats A diferença entre USB 2.0 e 3.0 Hubs A aceitação de mercado de USB 3.0 tem aumentado constantemente por causa de suas muitas vantagens sobre USB 2.0, including a velocidade distante mais distante (até 5 Gbits largura de faixa crua), disponibilidade mais elevada da potência (até 900 mA Por porta) e melhor gerenciamento de energia através de mais níveis de redução de energia quando a potência máxima não é necessária. Esses benefícios são alcançados mantendo a compatibilidade funcional e mecânica com dispositivos USB 2.0, hubs e portas host. Mas o que os usuários de USB 3.0 podem fazer quando eles precisam de mais portas USB 3.0 do que o seu PC ou estação de ancoragem fornece hubs externos USB 3.0 são a resposta. Faça o download de uma versão especial em PDF deste artigo, exclusiva para membros da comunidade de Design Eletrônico. Topologia de Camadas e Caminhos de Dados Um PC host típico pode ter duas portas USB 2.0 e duas portas USB 3.0. As portas USB 2.0 podem ser usadas para um teclado USB e mouse USB, mas o usuário pode ter muito mais do que dois dispositivos USB adicionais para se conectar ao PC ao mesmo tempo, e muitos deles podem ser capazes de operação USB 3.0. A conexão de dois hubs na topologia permite o suporte para todos os dispositivos USB adicionais e até mesmo algumas portas USB ainda estão disponíveis para mais dispositivos. Para obter os benefícios de velocidade e potência do USB 3.0, os hubs e cabos de interconexão também precisam ser compatíveis com USB 3.0, incluindo suporte a USB 2.0 para dispositivos USB 2.0. Com o segundo hub conectado ao primeiro, USB 2.0 e USB 3.0 permitem que até cinco níveis de hubs sejam conectados em cascata (Fig. 1). Normalmente, há quatro portas a jusante em cada hub, mas também são possíveis outros números de portas em um hub. A largura de banda total das portas a jusante juntas pode ser maior do que a largura de banda disponível na porta a montante. As portas no PC são conhecidas como portas ldquoroot, rdquo e as portas raiz são designadas como ldquotier 1.rdquo Tiers 2 a 6 representam níveis adicionais tornados possíveis por hubs e tier 7 é o nível final de dispositivos suportados por um hub em Tier 6. Os concentradores USB 3.0 preservam esta topologia básica (Fig. 2), mas adicionam o suporte USB 3.0 internamente, além do suporte USB 2.0 (Fig. 3). Um hub USB 2.0 completo é encapsulado dentro do hub USB 3.0 2.0 completo, com caminhos simultâneos de dados em paralelo para tráfego USB 3.0 SuperSpeed e tráfego USB 2.0 de alta velocidade, velocidade total ou baixa velocidade. Existem fisicamente pinos separados nos conectores e fios separados no cabo USB 3.0 para tráfego USB 3.0 SuperSpeed e tráfego 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