151 |
Subsídios para a representação de arquiteturas de referência de sistemas embarcados / Contributions to the representation of reference architectures of embedded systemsGuessi, Milena 27 February 2013 (has links)
Arquiteturas de referência são construídas por combinarem as melhores praticas, padrões, plataformas e componentes para a construção e padronização de sistemas de software de um determinado domínio. De fato, diversas arquiteturas de referência podem ser encontradas para o domínio de sistemas embarcados, motivadas principalmente pela importância e complexidade crescentes que esses sistemas de software vêm apresentando. Dentre as atividades para elaboração de uma arquitetura de referência, a descrição apropriada dessa arquitetura é essencial para permitir que ela seja de fato utilizada. Contudo, não há na literatura um consenso sobre qual a melhor maneira de descrever arquiteturas de referência do domínio de sistemas embarcados, os tipos de informação que devem ser capturados ou ainda o conjunto de pontos de vista que pode ser construído. Visando sistematizar e padronizar a representação de arquiteturas de referência de sistemas embarcados, este trabalho propõe o método ProSA-Re. O método baseia-se nos resultados de uma revisão sistemática conduzida sobre o assunto e estabelece um conjunto de atividades e diretrizes para a construção da representação de arquiteturas de referência de sistemas embarcados. O método também esclarece o ciclo de vida de arquiteturas de referência, de modo a auxiliar na manutenção e na evolução das representações construídas com o seu apoio. Para ilustrar o ProSA-Re, uma representação da arquitetura de referência de sistemas multiagentes locais foi elaborada. Em seguida, a realização de uma avaliação com especialistas da área de arquitetura de software e um estudo de caso com usuários dessa representação permitiram a identicação de vantagens e limitações desse método. Espera-se que os resultados alcancados nesta dissertação possam contribuir para o reúso do conhecimento arquitetural e o desenvolvimento mais eficiente de sistemas de software do domínio de sistemas embarcados / Reference architectures combine the best practices, standards, platforms, and components to standardize software systems of a given domain. In this sense, reference architectures can be found for embedded systems, motivated by the increasing importance and complexity that these systems must cope with. In particular, the representation of the reference architecture is an essential activity for it to be used in practice. However, there is no consensus in the literature on what is the best way to describe reference architectures of embedded systems, including what types of information should be captured in those descriptions and also the set of viewpoints that could be adopted. Thus, this work establishes ProSA-Re, a method for systematizing and standardizing the representation of reference architectures of embedded systems. ProSA-Re considers the results of a systematic review on this subject and species a set of viewpoints, concerns, tasks, and guidelines to describe reference architectures of embedded systems. ProSA-Re also supports the reference architectures\' life cycle by clarifying the evolution of architectural descriptions built with it. To illustrate the method, a representation for the reference architecture of situated multiagent systems was built. Then, a case study was conducted to evaluate the resulting representation and specialists were consulted to evaluate the method description. We hope with this method to further improve the reuse of architectural knowledge, thus contributing for the development of software systems in this domain
|
152 |
Aplicabilidade de sistemas operacionais de tempo real (RTOS) para sistemas embarcados de baixo custo e pequeno porte / Real-time operating system aplicability for small and low cost embedded systemsBorges, Rodrigo Weissmann 05 July 2011 (has links)
Sistemas embarcados ganham cada vez mais espaço devido ao aumento da demanda por novas funções em equipamentos, às normas regulatórias e às novas necessidades dos consumidores e do mercado. Esse aumento nos requisitos aumenta o tamanho e a complexidade dos softwares embarcados cuja importância cresce significativamente. Sistemas operacionais de tempo real constituem uma ferramenta poderosa para gerenciar a complexidade, facilitar o reuso e aumentar a portabilidade do software e também reduzir o time-to-market. Este trabalho visa avaliar a aplicabilidade de sistemas operacionais de tempo real em sistemas embarcados de baixo custo que utilizam microprocessadores pequenos (8 e 16 bits), avaliando suas características e propondo as melhores alternativas para desenvolvimento de software embarcado. Para o atendimento desta proposta, foi realizado o levantamento de características sobre o desenvolvimento brasileiro de sistemas embarcados, uma análise das características de sistemas de pequeno porte, uma discussão da viabilidade do uso de RTOS e um estudo de caso comparando arquiteturas de software embarcado. Os resultados principais mostram que arquiteturas simplificadas como a Superloop apresentam vantagem sobre os sistemas operacionais devido ao baixo consumo de memória e processamento. Os sistemas operacionais, apesar de propiciarem desenvolvimentos de códigos modulares bem como facilitar o gerenciamento de tempo, são de difícil implementação em microcontroladores pequenos, devido ao seu elevado consumo de memória e processamento. O uso de sistemas operacionais é viável para sistemas de pequeno porte com no mínimo 4 Kbytes de memória RAM e processos com limite de tempo máximo para execução (deadlines) superiores a 1 ms, condições essas que evitam a sobrecarga do microcontrolador. Neste trabalho também é mostrado um retrato do desenvolvimento de embarcados no Brasil. / Embedded systems, more and more are gaining importance, due to the increase of features requested on equipments, the regulatory standards and the costumers and market requirements. This increment on requirements increases the software size and complexity, which importance significantly grows. Real-time operating systems represents a powerful tool to manage the complexity, help the software reuse and improve portability of the software and also reduce the time-to-market. This work aims to analyze the real-time operating systems, verifying their application on low cost embedded systems using small microcontrollers (8 and 16-bit), evaluating their characteristics and propose the best architectures for software development. To attend this proposal, it was performed a survey of Brazilian embedded system development, evaluates the low cost embedded system characteristics, discusses the viability of RTOS usage and performs a comparative study of embedded software architectures. Results show that simplified architectures like the Superloop presents vantages over the operating systems due to their low memory and processing consumption. The operating system, besides helping on time management and code modularity, is difficult to implement in small microcontrollers, due to the high memory and processing consumption. The operating systems are more applicable to small embedded systems with at minimum 4 Kbytes of RAM memory and process with maximum execution time (deadlines) over 1 ms, conditions that do not causes microcontroller overload. In this work is also presented an overview of Brazilian embedded system development.
|
153 |
Aplicabilidade de sistemas operacionais de tempo real (RTOS) para sistemas embarcados de baixo custo e pequeno porte / Real-time operating system aplicability for small and low cost embedded systemsRodrigo Weissmann Borges 05 July 2011 (has links)
Sistemas embarcados ganham cada vez mais espaço devido ao aumento da demanda por novas funções em equipamentos, às normas regulatórias e às novas necessidades dos consumidores e do mercado. Esse aumento nos requisitos aumenta o tamanho e a complexidade dos softwares embarcados cuja importância cresce significativamente. Sistemas operacionais de tempo real constituem uma ferramenta poderosa para gerenciar a complexidade, facilitar o reuso e aumentar a portabilidade do software e também reduzir o time-to-market. Este trabalho visa avaliar a aplicabilidade de sistemas operacionais de tempo real em sistemas embarcados de baixo custo que utilizam microprocessadores pequenos (8 e 16 bits), avaliando suas características e propondo as melhores alternativas para desenvolvimento de software embarcado. Para o atendimento desta proposta, foi realizado o levantamento de características sobre o desenvolvimento brasileiro de sistemas embarcados, uma análise das características de sistemas de pequeno porte, uma discussão da viabilidade do uso de RTOS e um estudo de caso comparando arquiteturas de software embarcado. Os resultados principais mostram que arquiteturas simplificadas como a Superloop apresentam vantagem sobre os sistemas operacionais devido ao baixo consumo de memória e processamento. Os sistemas operacionais, apesar de propiciarem desenvolvimentos de códigos modulares bem como facilitar o gerenciamento de tempo, são de difícil implementação em microcontroladores pequenos, devido ao seu elevado consumo de memória e processamento. O uso de sistemas operacionais é viável para sistemas de pequeno porte com no mínimo 4 Kbytes de memória RAM e processos com limite de tempo máximo para execução (deadlines) superiores a 1 ms, condições essas que evitam a sobrecarga do microcontrolador. Neste trabalho também é mostrado um retrato do desenvolvimento de embarcados no Brasil. / Embedded systems, more and more are gaining importance, due to the increase of features requested on equipments, the regulatory standards and the costumers and market requirements. This increment on requirements increases the software size and complexity, which importance significantly grows. Real-time operating systems represents a powerful tool to manage the complexity, help the software reuse and improve portability of the software and also reduce the time-to-market. This work aims to analyze the real-time operating systems, verifying their application on low cost embedded systems using small microcontrollers (8 and 16-bit), evaluating their characteristics and propose the best architectures for software development. To attend this proposal, it was performed a survey of Brazilian embedded system development, evaluates the low cost embedded system characteristics, discusses the viability of RTOS usage and performs a comparative study of embedded software architectures. Results show that simplified architectures like the Superloop presents vantages over the operating systems due to their low memory and processing consumption. The operating system, besides helping on time management and code modularity, is difficult to implement in small microcontrollers, due to the high memory and processing consumption. The operating systems are more applicable to small embedded systems with at minimum 4 Kbytes of RAM memory and process with maximum execution time (deadlines) over 1 ms, conditions that do not causes microcontroller overload. In this work is also presented an overview of Brazilian embedded system development.
|
154 |
A reconfigurable heterogeneous multicore system with homogeneous ISA / Um sistema multinucleo, heterogeneo e reconfiguravel de ISA homogêneaSouza, Jeckson Dellagostin January 2016 (has links)
Dada a grande diversidade de aplicações embarcadas presentes nos atuais dispositivos portáveis, ambos os paralelismos em nível de threads e de instruções devem ser explorados para obter ganhos de desempenho e energia. Enquanto MPSoCs (sistemas em chip de múltiplos núcleos) são amplamente usados para esse propósito, estes falham quando consideramos produtividade de software, já que eles são compostos de chips com diferentes arquiteturas que precisam ser programados separadamente. Por outro lado, processadores multi núcleos de propósito geral implementam a mesma arquitetura, mas são compostos de núcleos homogêneos de processadores superescalares que consomem muita potência. Nesta dissertação, propõe-se um novo sistema, que tira proveito de circuitos reconfiguráveis para criar diferentes organizações que implementam a mesma arquitetura, capazes de apresentar alto desempenho com baixo custo energético. Para garantir a compatibilidade binária, usa-se um mecanismo de tradução binária que transforma o código a ser executado no circuito reconfigurável durante a execução. Usando aplicações representativas, mostra-se que uma versão do sistema heterogêneo pode ganhar da sua versão homogênea em média de 59% em desempenho e 10% em energia, com melhoras em EDP (Energy-Delay Product – Produto da energia pelo tempo de execução) em quase todos os cenários. Além disso, este trabalho também propõe e avalia seis escalonadores para este sistema heterogêneo: dois algoritmos estáticos, os quais alocam as threads no primeiro núcleo livre, onde elas permanecerão durante toda a execução; um escalonador direcionado por contagem de instruções, o qual realoca as threads durante pontos de sincronização de acordo com a sua contagem de instruções; um escalonador de Feedback, que usa dados de dentro da unidade reconfigurável para realocar threads; o PC-Feedback, que adiciona um mecanismo de reuso de dados ao último escalonador; e um escalonador Oráculo, que é capaz de decidir a melhor alocação de threads possível. Mostra-se que o algoritmo estático pode ter alto desempenho em aplicações com alto paralelismo, contudo para um desempenho mais uniforme em todas as aplicações os algoritmos de Feedback e PC-Feedback são mais indicados. / Given the large diversity of embedded applications one can find in current portable devices, for energy and performance reasons one must exploit both Thread- and Instruction Level Parallelism. While MPSoCs (Multiprocessor system-on-chip) are largely used for this purpose, they fail when one considers software productivity, since it comprises different ISAs (Instruction Set Architecture) that must be programmed separately. On the other hand, general purpose multicores implement the same ISA, but are composed of a homogeneous set of very power consuming superscalar processors. In this dissertation, we show how one can effectively use a reconfigurable unit to provide a number of different possible heterogeneous configurations while still sustaining the same ISA, capable of reaching high performance with low energy cost. To ensure ISA compatibility, we use a binary translation mechanism that transforms code to be executed on the fabric at run-time. Using representative benchmarks, we show that one version of the heterogeneous system can outperform its homogenous counterpart in average by 59% in performance and 10% in energy, with EDP (Energy-Delay Product) improvements in almost every scenario. Furthermore, this work also proposes and evaluates six schedulers for the heterogeneous system: two static algorithms, which allocate the threads on the first free core, where they will run during the entire execution; an Instruction Count (IC) Driven scheduler, which reallocates threads during synchronization points accordingly to their instruction count; a Feedback scheduler, which uses data from inside the reconfigurable unit to reallocate threads; the PCFeedback scheduler, that adds a reuse mechanism to the last one; and an Oracle scheduler, which is capable of deciding the best thread allocation possible. We show that the static algorithm can reach high performance in applications with high parallelism, however for uniform performance in all applications, the Feedback and PC-Feedback algorithms are better designated.
|
155 |
Applying dual core lockstep in embedded processors to mitigate radiation induced soft errors / Aplicando dual core lockstep em processadores embarcados para mitigar falhas transientes induzidas por radiaçãoOliveira, Ádria Barros de January 2017 (has links)
Os processadores embarcados operando em sistemas de segurança ou de missão crítica não podem falhar. Qualquer falha neste tipo de aplicação pode levar a consequências inaceitáveis, como risco de vida ou danos à propriedade ou ao meio ambiente. Os sistemas embarcados que operam em aplicações aeroespaciais são sucetíveis à falhas transientes induzidas por radiação. Entretanto, os efeitos de radiação também podem ser observados ao nível do solo. Falhas transientes afetam os processadores modificando os valores armazenados em elementos de memória, tais como registradores e memória de dados. Essas falhas podem levar o processador a executar incorretamente a aplicação, provocando erros na saída ou travamentos no sistema. Os avanços recentes em processadores embarcados concistem na integração de processadores hard-core e FPGAs. Tais dispositivos, comumente chamados de Sistemas-em-Chip Totalmente Programáveis (APSoCs), também são sucetíveis aos efeitos de radiação. Com objetivo de minimizar esse problema de tolerância a falhas, este trabalho apresenta um Dual-Core LockStep (DCLS) como uma técnica de tolerância para mitigar falhas induzidas por radiação que afetam processadores embarcados em APSoCs. Lockstep é um método baseado em redundância usado para detectar e corrigir falhas transientes. O DCLS proposto é implementado em um processador ARM Cortex-A9 hard-core embarcado no APSoC Zynq-7000. A eficiência da abordagem implementada foi validada tanto em aplicações executando em bare-metal como no sistema operacional FreeRTOS. Experimentos com íons pesados e emulação de falhas por injeção foram executados para analisar a sucetibilidade do sistema a inversão de bits. Os resultados obtidos mostram que a abordagem é capaz de diminuir a seção de choque do sistema com uma alta taxa de proteção. O sistema DCLS mitigou com sucesso até 78% das falhas injetadas. Otimizações de software também foram avaliadas para uma melhor compreenção dos trade-offs entre desempenho e confiabilidade. Através da análise de diferentes partições de software, observou-se que o tempo de execução de um bloco da aplicação deve ser muito maior que o tempo de verificação para que se obtenha menor impacto em desempenho. A avaliação de otimizações de compilador demonstrou que utilizar o nível O3 aumenta a vulnerabilidade da aplicação à falhas transientes. Como o O3 requer o uso de mais registradores que os otros níveis de otimização, o sistema se torna mais sucetível à falhas. Por outro lado, os resultados dos experimentos de radiação apontam que a aplicação compilada com nível O3 obtém maior Carga de Trabalho Média Entre Falhas (MWBF). Como a aplicação executa mais rápido, mais dados são computados corretamente antes da ocorrência de um erro. / The embedded processors operating in safety- or mission-critical systems are not allowed to fail. Any failure in such applications could lead to unacceptable consequences as life risk or significant damage to property or environment. Concerning faults originated by the radiation-induced soft errors, the embedded systems operating in aerospace applications are particularly susceptible. However, the radiation effects can also be observed at ground level. Soft errors affect processors by modifying values stored in memory elements, such as registers and data memory. These faults may lead the processor to execute an application incorrectly, generating output errors or leading hangs and crashes in the system. The recent advances in embedded systems concern the integration of hard-core processors and FPGAs. Such devices, called All Programmable System-on-Chip (APSoC), are also susceptible to radiation effects. Aiming to address this fault tolerance problem this work presents a Dual-Core LockStep (DCLS) as a fault tolerance technique to mitigate radiation-induced faults affecting processors embedded into APSoCs. Lockstep is a method based on redundancy used to detect and correct soft errors. The proposed DCLS is implemented in a hard-core ARM Cortex-A9 embedded into a Zynq-7000 APSoC. The approach efficiency was validated not only on applications running in baremetal but also on top of FreeRTOS systems. Heavy ions experiments and fault injection emulation were performed to analyze the system susceptibility to bit-flips. The obtained results show that the approach is able to decrease the system cross section with a high rate of protection. The DCLS system successfully mitigated up to 78% of the injected faults. Software optimizations were also evaluated to understand the trade-offs between performance and reliability better. By the analysis of different software partitions, it was observed that the execution time of an application block must to be much longer than the verification time to achieve fewer performance penalties. The compiler optimizations assessment demonstrate that using O3 level increases the application vulnerability to soft errors. Because O3 handles more registers than other optimizations, the system is more susceptible to faults. On the other hand, results from radiation experiments show that O3 level provides a higher Mean Workload Between Failures (MWBF). As the application runs faster, more data are correctly computed before an error occurrence.
|
156 |
Adaptação dinâmica do número de threads em aplicações paralelas openMP para otimizar EDP em sistemas embarcados / Dynamic Adaptation of the number of threads for OpenMP applications in embedded systems to optimize EDPSchwarzrock, Janaina January 2018 (has links)
Aplicações paralelas geralmente são executadas com o máximo número de threads de hardware disponíveis no sistema para maximizar o seu desempenho. Contudo, esta abordagem pode não ser a melhor escolha quando se busca eficiência energética e, em alguns casos, pode até mesmo degradar o desempenho. Desta maneira, o presente trabalho aplica a adaptação dinâmica do número de threads para otimizar o Energy-Delay Product (EDP) de aplicações paralelas OpenMP executadas em sistemas embarcados. Ao contrário de soluções anteriores, que focam em processadores de propósito geral (GPP, do inglês General Purpose Processors), o presente trabalho considera as características intrínsecas de sistemas embarcados, os quais geralmente possuem menos núcleos disponíveis, assim como apresentam diferenças significativas em relação à micro-arquitetura e à hierarquia de memória. Por meio de experimentos realizados em um sistema embarcado real com processador octa-core, este trabalho mostrou que a adaptação dinâmica do número de threads permite, em média, economizar 15,35% no consumo de energia com apenas 3,41% de perda de desempenho, gerando assim 12,47% de otimização de EDP em relação à configuração padrão (uso do máximo número de threads disponíveis no sistema). No melhor caso, a adaptação dinâmica foi capaz de economizar 26,97% em energia enquanto promoveu 25,74% de aumento no desempenho, resultando em 45,77% de melhora no EDP. / Parallel applications usually execute using the maximum number of threads allowed by the available hardware at hand to maximize performance. However, this approach may not be the best when it comes to energy efficiency and may even lead to performance decrease in some particular cases. In this way, the present work proposes a new apporach for the dynamic adaptation of the number of threads to optimize Energy-Delay Product (EDP) of OpenMP applications when running on Embedded Systems. Differently from previous solutions, which focus on General Purpose Processors (GPP), the current one takes into account the intrinsic characteristics of embedded systems, which usually have a lower number of cores and significantly different characteristics concerning the microarchitecture and memory hierarchy when compared to GPPs. Through experiments on a real embedded system with an octa-core processor, this work demonstrates that adapting the number of threads at runtime saves energy, on average, by 15,35% with only 3,41% loss performance, improving the EDP by 12,47% over the default configuration (maximum number of threads available in the system). In the best case, the dynamic adaptation saves 26,97 % in energy while promoting a 25,74 % increase in performance, resulting in a 45,77 % improvement in EDP.
|
157 |
Reliability evaluation and error mitigation in pedestrian detection algorithms for embedded GPUs / Validação da confiabilidade e tolerância a falhas em algoritmos de detecção de pedestres para GPUs embarcadasSantos, Fernando Fernandes dos January 2017 (has links)
A confiabilidade de algoritmos para detecção de pedestres é um problema fundamental para carros auto dirigíveis ou com auxílio de direção. Métodos que utilizam algoritmos de detecção de objetos como Histograma de Gradientes Orientados (HOG - Histogram of Oriented Gradients) ou Redes Neurais de Convolução (CNN – Convolutional Neural Network) são muito populares em aplicações automotivas. Unidades de Processamento Gráfico (GPU – Graphics Processing Unit) são exploradas para executar detecção de objetos de uma maneira eficiente. Infelizmente, as arquiteturas das atuais GPUs tem se mostrado particularmente vulneráveis a erros induzidos por radiação. Este trabalho apresenta uma validação e um estudo analítico sobre a confiabilidade de duas classes de algoritmos de detecção de objetos, HOG e CNN. Esta pesquisa almeja não somente quantificar, mas também qualificar os erros produzidos por radiação em aplicações de detecção de objetos em GPUs embarcadas. Os resultados experimentais com HOG foram obtidos usando duas arquiteturas de GPU embarcadas diferentes (Tegra e AMD APU), cada uma foi exposta por aproximadamente 100 horas em um feixe de nêutrons em Los Alamos National Lab (LANL). As métricas Precision e Recall foram usadas para validar a criticalidade do erro. Uma análise final mostrou que por um lado HOG é intrinsecamente resiliente a falhas (65% a 85% dos erros na saída tiveram um pequeno impacto na detecção), do outro lado alguns erros críticos aconteceram, tais que poderiam resultar em pedestres não detectados ou paradas desnecessárias do veículo. Este trabalho também avaliou a confiabilidade de duas Redes Neurais de Convolução para detecção de Objetos:Darknet e Faster RCNN. Três arquiteturas diferentes de GPUs foram expostas em um feixe de nêutrons controlado (Kepler, Maxwell, e Pascal), com as redes detectando objetos em dois data sets, Caltech e Visual Object Classes. Através da análise das saídas corrompidas das redes neurais, foi possível distinguir entre erros toleráveis e erros críticos, ou seja, erros que poderiam impactar na detecção de objetos. Adicionalmente, extensivas injeções de falhas no nível da aplicação (GDB) e em nível arquitetural (SASSIFI) foram feitas, para identificar partes críticas do código para o HOG e as CNNs. Os resultados mostraram que não são todos os estágios da detecção de objetos que são críticos para a confiabilidade da detecção final. Graças a injeção de falhas foi possível identificar partes do HOG e da Darknet, que se protegidas, irão com uma maior probabilidade aumentar a sua confiabilidade, sem adicionar um overhead desnecessário. A estratégia de tolerância a falhas proposta para o HOG foi capaz de detectar até 70% dos erros com 12% de overhead de tempo. / Pedestrian detection reliability is a fundamental problem for autonomous or aided driving. Methods that use object detection algorithms such as Histogram of Oriented Gradients (HOG) or Convolutional Neural Networks (CNN) are today very popular in automotive applications. Embedded Graphics Processing Units (GPUs) are exploited to make object detection in a very efficient manner. Unfortunately, GPUs architecture has been shown to be particularly vulnerable to radiation-induced failures. This work presents an experimental evaluation and analytical study of the reliability of two types of object detection algorithms: HOG and CNNs. This research aim is not just to quantify but also to qualify the radiation-induced errors on object detection applications executed in embedded GPUs. HOG experimental results were obtained using two different architectures of embedded GPUs (Tegra and AMD APU), each exposed for about 100 hours to a controlled neutron beam at Los Alamos National Lab (LANL). Precision and Recall metrics are considered to evaluate the error criticality. The reported analysis shows that, while being intrinsically resilient (65% to 85% of output errors only slightly impact detection), HOG experienced some particularly critical errors that could result in undetected pedestrians or unnecessary vehicle stops. This works also evaluates the reliability of two Convolutional Neural Networks for object detection: You Only Look Once (YOLO) and Faster RCNN. Three different GPU architectures were exposed to controlled neutron beams (Kepler, Maxwell, and Pascal) detecting objects in both Caltech and Visual Object Classes data sets. By analyzing the neural network corrupted output, it is possible to distinguish between tolerable errors and critical errors, i.e., errors that could impact detection. Additionally, extensive GDB-level and architectural-level fault-injection campaigns were performed to identify HOG and YOLO critical procedures. Results show that not all stages of object detection algorithms are critical to the final classification reliability. Thanks to the fault injection analysis it is possible to identify HOG and Darknet portions that, if hardened, are more likely to increase reliability without introducing unnecessary overhead. The proposed HOG hardening strategy is able to detect up to 70% of errors with a 12% execution time overhead.
|
158 |
Projeto de uma VPN(Rede Privada Virtual) baseada em computação reconfigurável e aplicada a robôs móveis / A VPN (Virtual Private Network) design based on reconfigurable computing and applied to mobile robotsMarcelo Honorato Marleta 11 April 2007 (has links)
Este trabalho apresenta uma implementação de VPN utilizando-se dos circuitos reprogramáveis do tipo FPGA (Field Programmable Gate Array) que são a base da computação reconfigurável. VPNs utilizam criptografia para permitir que a comunicação seja privada entre as partes. Assim, todo o custo computacional decorrente desta prática é executado em nível de hardware, procurando-se atingir um alto desempenho e voltado para as aplicações de sistemas embutidos. O uso desta solução, VPN por hardware, será na interligação de um robô (em desenvolvimento no Laboratório de Computação Reconfigurável - LCR do Instituto de Ciências Matemáticas e de Computação da Universidade de São Paulo) ao seu servidor de configuração e tarefas, através de linhas privadas. O emprego de uma VPN em robótica permitirá a utilização de um sistema de comunicação, com ou sem fio, e toda a infra-estrutura da Internet para a comunicação com o robô (e no futuro entre os robôs) a qualquer distância de forma segura e confiável. O hardware reconfigurável utilizado para a VPN deste trabalho proporciona flexibilidade no modo de implementação, possibilitando que o sistema seja adequado para satisfazer situações que exijam alto desempenho. Além disso, a arquitetura proposta possibilita que parte das operações sejam executadas em software (no caso, foi utilizado o sistema operacional ?Clinux e ferramentas para se estabelecer a VPN) e parte das operações executadas em hardware (um coprocessador criptográfico AES). As principais ferramentas de software são o conjunto ipsec-tools que foram desenvolvidas para serem executadas com o IPSec nativo do Kernel e devidamente portadas para o ?Clinux / This work designs a system that implements a VPN using FPGA (Field Programmable Gate Array) reprogrammable circuits, which are the basis of reconfigurable computing. VPNs use cryptography to allow private communication between parts. In this manner, the computational cost of the cryptography is handled by the hardware, achieving great performance and allowing its usage on embedded systems applications. The system proposed in this thesis has been used to establish secure communication between a PC and a mobile robot (that is in development at Reconfigurable Computing Laboratory - LCR of Institute of Mathematics and Computer Science of Univesity of São Paulo). The use of VPN in robotics will allow a communication, either wired or wireless, using Internet?s infrastructure with the robot (and in the future among robots), in a secure and trustable manner. The reconfigurable hardware used in this work allows flexibility in the implementation, making possible its usage in situations that requires high performance. Furthermore, the proposed architecture allows part of applications executing in software (using ?Clinux operating system and tools to establish the VPN) and other parts in hardware (a cryptographic coprocessor AES). The main software tools are the ipsec-tools that were developed to execute with native Kernel IPSec?s implementation and were properly ported to ?Clinux
|
159 |
Metodologia para porte do sistema operacional linux para sistemas embarcados / Method for porting of the operating system(OS)Linux for embedded systemOsvaldo de Souza 07 October 2007 (has links)
nÃo hà / Em projetos de desenvolvimento de sistemas embarcados normalmente adota-se uma abordagem de âtentativa e erroâ nas atividades relacionadas ao porte do sistema operacional(SO), resultando em um porte incompleto ou inconsistente. Nesta pesquisa apresenta-se um trabalho original onde se propÃe uma soluÃÃo para esta abordagem atravÃs de uma metodologia completa para a detecÃÃo das partes do SO que devem ser ajustadas de forma que o SO seja portado para a nova plataforma de hardware. A metodologia proposta combina as informaÃÃes do cÃdigo-fonte do SO e as particularidades do novo hardware, resultando em: uma lista completa do cÃdigo-fonte que deve ser ajustado; a interdependÃncia entre estes cÃdigos-fonte; a ordem de prioridade de modificaÃÃo para cada cÃdigo-fonte; e um cronograma baseado em esforÃo, para auxiliar o planejamento das modificaÃÃes. Adicionalmente, propÃe-se um algoritmo para a resoluÃÃo de referÃncias cÃclicas em arquivos de cÃdigo-fonte. Por fim, à apresentado um estudo de caso baseado em uma aplicaÃÃo desenvolvida segundo a metodologia proposta. / Embedded system development frequently uses the âtrial and errorâ approach for Operating System (OS) porting,resulting in incomplete or inconsistent porting. In this work, we present a pioneer work addressing this issue. We propose a complete method for detecting OS parts that should be adjusted in order to port the OS into a new hardware platform. The proposed method combines information from the OS source-code and peculiarities of the new hardware platform, resulting in: a complete list of source-codes that must be adjusted; the interdependence between these source-codes; the priority order of modifications for each source-code; and an effort-based schedule to help planning the modifications. In addition, we propose an algorithm dealing with source-codeâs cyclic references. Finally, we present a study-case based on an application developed according the proposed method
|
160 |
Telemetria de dados e imagens para plataforma autônoma para coleta de dados hidrológicos / Image and data telemetry for an autonomous water quality monitoring platformAlex Ayres Stavarengo 22 August 2006 (has links)
A aquisição de dados das variáveis químicas e físicas da água de lagos e reservatórios é de extrema importância. Monitorando a qualidade da água distribuída e consumida em nossas cidades estamos protegendo o nosso recurso natural mais valioso e conseqüentemente nossas próprias vidas. Esse monitoramento na atualidade ainda se realiza de forma bastante convencional e trabalhosa. Esta dissertação apresenta o desenvolvimento de um sistema de telemetria de dados e vídeo completo entre uma plataforma autônoma para coleta de dados hidrológicos e uma estação de trabalho em terra. Este sistema fará uma composição com outros projetos já desenvolvidos nesta área de pesquisa, como a embarcação convencional utilizada como plataforma autônoma com seus motores, sensores e atuadores; a sonda de coleta de dados, responsável pela aquisição das variáveis químicas e físicas da água; sistema de posicionamento, que utiliza um GPS e bússola eletrônica para orientação, atuando e coletando dados dos sensores da embarcação; e sistema de gerenciamento, responsável por definir e orientar quais os pontos de coletas a serem pesquisados. Foram desenvolvidos algoritmos de comunicação entre os dispositivos de hardware existentes, efetivou-se a comunicação da plataforma autônoma e do microcomputador na estação terrestre através de um enlace de rádio freqüência, desenvolveu-se um programa visual que permite o acompanhamento do estado dos sensores/atuadores do sistema em terra em tempo mínimo e habilita para o usuário um controle remoto de navegação da embarcação autônoma de forma manual e completa se ocorrer a falha de algum equipamento de posicionamento. O programa armazena todas as variáveis referentes ao processo de coleta em um banco de dados, permitindo a análise e comparação das diferentes medições realizadas em diferentes períodos. / The data acquisition of the water chemical and physical variables in lakes and reservoirs is of extreme importance. Monitoring the quality of water supplied and consumed in our cities we are protecting the most valuable of our natural resources, and consequently our own lifes. Monitoring data quality, still in our days, is done in a conventional and hard manner. This work presents the development of a data and video telemetry system between an autonomous platform for water monitoring and a ground base. This system will complement the following already developed projects in this area, the autonomous platform constructed from a conventional boat with its engines, sensors and actuators; the data collecting probe, responsible for the acquisition of the water chemical and physical variables; the positioning system based on GPS and an electronic compass, responsible for navigation to the data collecting points in the reservoir. Communication algorithms between all the hardware were developed, radio frequency links were used to transmit data between the ground and the autonomous platform. A visual software application, that allows to visualize the state off the system variables, was developed. A remote control mode of the platform allows full manual navigation control of the platform, being of extreme importance in case of system crash. The visual software application developed allows to store all the important research variables in a data bank, allowing further analysis of the collected data.
|
Page generated in 0.1473 seconds