135 resultados para Software-reconfigurable array processing architectures
em Instituto Politécnico do Porto, Portugal
Resumo:
Nos últimos anos, o avanço da tecnologia e a miniaturização de diversos componentes de electrónica associados a novos conceitos têm permitido nascer novas ideias e projectos, que até há alguns anos não passariam de ficção científica. Talvez o exemplo mais acabado seja actualmente o smartphone, um pequeno bloco de hardware e software, com capacidade de processamento que ultrapassa várias vezes o dos computadores com uma dúzia de anos. Estas capacidades têm sido utilizadas em comunicações, blocos de notas, agendas e até entretenimento. No entanto, podem ser reutilizadas para ajudar a resolver algumas limitações/constrangimentos da actualidade. Dentro destes destacam-se a gestão de recursos escassos. Com efeito, o consumo de energia eléctrica tem aumentado como consequência directa do desenvolvimento global e aumento do número de aparelhos eléctricos. Uma percentagem significativa de energia eléctrica tem sido produzida através de recursos não-renováveis de energia. No entanto, a dependência energética, associada à subida de preços e a redução das emissões de gases do efeito estufa, estimula o desenvolvimento de novas soluções que permitam lidar com esta situação. O desempenho energético por sua vez depende não só das características da estrutura, mas também do comportamento do utilizador. O desempenho energético dos edifícios é muito importante, uma vez que os respectivos consumos são responsáveis por mais de metade do total da energia produzida. Desta forma, a fim de alcançar um melhor desempenho é importante não só considerar o desempenho de estrutura, mas também monitorizar o comportamento do utilizador. Esta última questão coloca várias limitações, uma vez que depende muito do tipo de utilizador. Um dos conceitos actuais emergentes são as chamadas redes de sensores sem fio. Com esta tecnologia, pequenos módulos podem ser desenvolvidos com muitas possibilidades de conectividade, com elevado poder de processamento e com grande autonomia, sem serem excessivamente caros. Isto proporciona os meios para implementar vários dispositivos em toda a instalação, para recolher uma variedade de dados, sendo posteriormente armazenados num servidor. Os blocos fundamentais da infra-estrutura de sensores do projecto foram concebidos na Evoleo Technologies em simultâneo com o decorrer do estágio. Estes blocos recolhem dados específicos na instalação, e periodicamente enviam para o servidor central os valores recolhidos, onde são armazenados e colocados à disposição do utilizador. Os dados recolhidos podem então ser apresentados ao utilizador, proporcionando um registo de consumo de energia associado a um dado período de tempo. Uma vez que todos os dados são armazenados no servidor, podem ser efectuados estudos para determinar o uso típico, possíveis problemas em aparelhos, a qualidade da energia eléctrica, etc., permitindo determinar onde a energia está a ser eventualmente desperdiçada e fornecendo dados ao utilizador para que este possa proceder a alterações, tendo por base dados recolhidos num dado período. O objectivo principal deste trabalho passa por estabelecer a ligação entre o nível máquina e o nível de utilizador, isto é, uma plataforma de interacção entre dispositivos e administrador da instalação. Fornecer os dados de uma forma fácil e sem necessidade de instalação de software específico em cada dispositivo que se pretenda utilizar para monitorizar foi uma das principais preocupações das fases de concepção do projecto.
Resumo:
Atualmente, verifica-se um aumento na necessidade de software feito à medida do cliente, que se consiga adaptar de forma rápida as constantes mudanças da sua área de negócio. Cada cliente tem os seus problemas concretos que precisa de resolver, não lhe sendo muitas vezes possível dispensar uma elevada quantidade de recursos para atingir os fins pretendidos. De forma a dar resposta a estes problemas surgiram várias arquiteturas e metodologias de desenvolvimento de software, que permitem o desenvolvimento ágil de aplicações altamente configuráveis, que podem ser personalizadas por qualquer utilizador das mesmas. Este dinamismo, trazido para as aplicações sobre a forma de modelos que são personalizados pelos utilizadores e interpretados por uma plataforma genérica, cria maiores desafios no momento de realizar testes, visto existir um número de variáveis consideravelmente maior que numa aplicação com uma arquitetura tradicional. É necessário, em todos os momentos, garantir a integridade de todos os modelos, bem como da plataforma responsável pela sua interpretação, sem ser necessário o desenvolvimento constante de aplicações para suportar os testes sobre os diferentes modelos. Esta tese debruça-se sobre uma aplicação, a plataforma myMIS, que permite a interpretação de modelos orientados à gestão, escritos numa linguagem específica de domínio, sendo realizada a avaliação do estado atual e definida uma proposta de práticas de testes a aplicar no desenvolvimento da mesma. A proposta resultante desta tese permitiu verificar que, apesar das dificuldades inerentes à arquitetura da aplicação, o desenvolvimento de testes de uma forma genérica é possível, podendo as mesmas lógicas ser utilizadas para o teste de diversos modelos distintos.
Resumo:
A dissertação em apreço resultou da necessidade em otimizar os recursos técnicos, mas sobretudo humanos, afetos às verificações de instrumentos de medição, no âmbito do Controlo Metrológico Legal. Estas verificações, realizadas nos termos do cumprimento das competências outrora atribuídas à Direção de Serviços da Qualidade da então Direção Regional da Economia do Norte, eram operacionalizadas pela Divisão da Qualidade e Licenciamento, na altura dirigida pelo subscritor da presente tese, nomeadamente no que respeita aos ensaios efetuados, em laboratório, a manómetros analógicos. O objetivo principal do trabalho foi alcançado mediante o desenvolvimento de um automatismo, materializado pela construção de um protótipo, cuja aplicação ao comparador de pressão múltiplo, dantes em utilização, permitiria realizar a leitura da indicação de cada manómetro analógico através de técnicas de processamento de imagem, função esta tradicionalmente efetuada manualmente por um operador especializado. As metodologias de comando, controlo e medição desse automatismo foram realizadas através de um algoritmo implementado no software LabVIEW® da National Intruments, particularmente no que respeita ao referido processamento das imagens adquiridas por uma câmara de vídeo USB. A interface com o hardware foi concretizada recorrendo a um módulo de Aquisição de Dados Multifuncional (DAQ) USB-6212, do mesmo fabricante. Para o posicionamento horizontal e vertical da câmara de vídeo USB, recorreu-se a guias lineares acionadas por motores de passo, sendo que estes dispositivos foram igualmente empregues no acionamento do comparador de pressão. Por último, procedeu-se à aquisição digital da leitura do padrão, recorrendo à respetiva virtualização, bem como a uma aplicação desenvolvida neste projeto, designada appMAN, destinada à gestão global do referido automatismo, nomeadamente no que se refere ao cálculo do resultado da medição, erro e incerteza associada, e emissão dos respetivos documentos comprovativos.
Resumo:
Weblabs are spreading their influence in Science and Engineering (S&E) courses providing a way to remotely conduct real experiments. Typically, they are implemented by different architectures and infrastructures supported by Instruments and Modules (I&Ms) able to be remotely controlled and observed. Besides the inexistence of a standard solution for implementing weblabs, their reconfiguration is limited to a setup procedure that enables interconnecting a set of preselected I&Ms into an Experiment Under Test (EUT). Moreover, those I&Ms are not able to be replicated or shared by different weblab infrastructures, since they are usually based on hardware platforms. Thus, to overcome these limitations, this paper proposes a standard solution that uses I&Ms embedded into Field-Programmable Gate Array (FPGAs) devices. It is presented an architecture based on the IEEE1451.0 Std. supported by a FPGA-based weblab infrastructure able to be remotely reconfigured with I&Ms, described through standard Hardware Description Language (HDL) files, using a Reconfiguration Tool (RecTool).
Resumo:
Institutions have been creating their own specific weblab infrastructures. Usually, they use distinct software and hardware architectures comprehending instruments and modules (I&M) able to be parameterized but difficult to be shared. These aspects are impairing their widespread in education, since collaboration between institutions, in developing and sharing resources, is still low. To handle both aspects, this paper proposes the adoption of the IEEE1451.0 Std. with FPGA technology for creating reconfigurable weblab infrastructures. It is suggested the adoption of an IEEE1451.0 infrastructure with compatible instruments, described in Hardware Description Languages (HDL), to be reconfigured in FPGA-based boards. Besides an overview of the IEEE1451.0 Std., this paper presents a solution currently under development which seeks to enable the reconfiguration and the remote control of weblab infrastructures using a set of IEEE1451.0 HTTP commands.
Resumo:
Over time, XML markup language has acquired a considerable importance in applications development, standards definition and in the representation of large volumes of data, such as databases. Today, processing XML documents in a short period of time is a critical activity in a large range of applications, which imposes choosing the most appropriate mechanism to parse XML documents quickly and efficiently. When using a programming language for XML processing, such as Java, it becomes necessary to use effective mechanisms, e.g. APIs, which allow reading and processing of large documents in appropriated manners. This paper presents a performance study of the main existing Java APIs that deal with XML documents, in order to identify the most suitable one for processing large XML files
Resumo:
O aumento da população Mundial, particularmente em Países emergentes como é o caso da China e da Índia, tem-se relevado um problema adicional no que confere às dificuldades associadas ao consumo mundial de energia, pois esta situação limita inequivocamente o acesso destes milhões de pessoas à energia eléctrica para os bens básicos de sobrevivência. Uma das muitas formas de se extinguir esta necessidade, começa a ser desenvolvida recorrendo ao uso de recursos renováveis como fontes de energia. Independentemente do local do mundo onde nos encontremos, essas fontes de energia são abundantes, inesgotáveis e gratuitas. O problema reside na forma como esses recursos renováveis são geridos em função das solicitações de carga que as instalações necessitam. Sistemas híbridos podem ser usados para produzir energia em qualquer parte do mundo. Historicamente este tipo de sistemas eram aplicados em locais isolados, mas nos dias que correm podem ser usados directamente conectados à rede, permitindo que se realize a venda de energia. Foi neste contexto que esta tese foi desenvolvida, com o objectivo de disponibilizar uma ferramenta informática capaz de calcular a rentabilidade de um sistema híbrido ligado à rede ou isolado. Contudo, a complexidade deste problema é muito elevada, pois existe uma extensa panóplia de características e distintos equipamentos que se pode adoptar. Assim, a aplicação informática desenvolvida teve de ser limitada e restringida aos dados disponíveis de forma a poder tornar-se genérica, mas ao mesmo tempo permitir ter uma aplicabilidade prática. O objectivo da ferramenta informática desenvolvida é apresentar de forma imediata os custos da implementação que um sistema híbrido pode acarretar, dependendo apenas de três variáveis distintas. A primeira variável terá de ter em consideração o local de instalação do sistema. Em segundo lugar é o tipo de ligação (isolado ou ligado à rede) e, por fim, o custo dos equipamentos (eólico, solar e restantes componentes) que serão introduzidos. Após a inserção destes dados a aplicação informática apresenta valores estimados de Payback e VAL.
Resumo:
A crescente complexidade dos sistemas electrónicos associada a um desenvolvimento nas tecnologias de encapsulamento levou à miniaturização dos circuitos integrados, provocando dificuldades e limitações no diagnóstico e detecção de falhas, diminuindo drasticamente a aplicabilidade dos equipamentos ICT. Como forma de lidar com este problema surgiu a infra-estrutura Boundary Scan descrita na norma IEEE1149.1 “Test Access Port and Boundary-Scan Architecture”, aprovada em 1990. Sendo esta solução tecnicamente viável e interessante economicamente para o diagnóstico de defeitos, efectua também outras aplicações. O SVF surgiu do desejo de incutir e fazer com que os fornecedores independentes incluíssem a norma IEEE 1149.1, é desenvolvido num formato ASCII, com o objectivo de enviar sinais, aguardar pela sua resposta, segundo a máscara de dados baseada na norma IEEE1149.1. Actualmente a incorporação do Boundary Scan nos circuitos integrados está em grande expansão e consequentemente usufrui de uma forte implementação no mercado. Neste contexto o objectivo da dissertação é o desenvolvimento de um controlador boundary scan que implemente uma interface com o PC e possibilite o controlo e monitorização da aplicação de teste ao PCB. A arquitectura do controlador desenvolvido contém um módulo de Memória de entrada, um Controlador TAP e uma Memória de saída. A implementação do controlador foi feita através da utilização de uma FPGA, é um dispositivo lógico reconfiguráveis constituído por blocos lógicos e por uma rede de interligações, ambos configuráveis, que permitem ao utilizador implementar as mais variadas funções digitais. A utilização de uma FPGA tem a vantagem de permitir a versatilidade do controlador, facilidade na alteração do seu código e possibilidade de inserir mais controladores dentro da FPGA. Foi desenvolvido o protocolo de comunicação e sincronização entre os vários módulos, permitindo o controlo e monitorização dos estímulos enviados e recebidos ao PCB, executados automaticamente através do software do Controlador TAP e de acordo com a norma IEEE 1149.1. A solução proposta foi validada por simulação utilizando o simulador da Xilinx. Foram analisados todos os sinais que constituem o controlador e verificado o correcto funcionamento de todos os seus módulos. Esta solução executa todas as sequências pretendidas e necessárias (envio de estímulos) à realização dos testes ao PCB. Recebe e armazena os dados obtidos, enviando-os posteriormente para a memória de saída. A execução do trabalho permitiu concluir que os projectos de componentes electrónicos tenderão a ser descritos num nível de abstracção mais elevado, recorrendo cada vez mais ao uso de linguagens de hardware, no qual o VHDL é uma excelente ferramenta de programação. O controlador desenvolvido será uma ferramenta bastante útil e versátil para o teste de PCBs e outras funcionalidades disponibilizadas pelas infra-estruturas BS.
Resumo:
The Robuter is a robotic mobile platform that is located in the “Hands-On” Laboratory of the IPP-Hurray! Research Group, at the School of Engineering of the Polytechnic Institute of Porto. Recently, the Robuter was subject of an upgrading process addressing two essential areas: the Hardware Architecture and the Software Architecture. This upgrade in process was triggered due to technical problems on-board of the robot and also to the fact that the hardware/software architecture has become obsolete. This Technical Report overviews the most important aspects of the new Hardware and Software Architectures of the Robuter. This document also presents a first approach on the first steps towards the use of the Robuter platform, and provides some hints on future work that may be carried out using this mobile platform.
Resumo:
In Distributed Computer-Controlled Systems (DCCS), both real-time and reliability requirements are of major concern. Architectures for DCCS must be designed considering the integration of processing nodes and the underlying communication infrastructure. Such integration must be provided by appropriate software support services. In this paper, an architecture for DCCS is presented, its structure is outlined, and the services provided by the support software are presented. These are considered in order to guarantee the real-time and reliability requirements placed by current and future systems.
Resumo:
Embedded real-time applications increasingly present high computation requirements, which need to be completed within specific deadlines, but that present highly variable patterns, depending on the set of data available in a determined instant. The current trend to provide parallel processing in the embedded domain allows providing higher processing power; however, it does not address the variability in the processing pattern. Dimensioning each device for its worst-case scenario implies lower average utilization, and increased available, but unusable, processing in the overall system. A solution for this problem is to extend the parallel execution of the applications, allowing networked nodes to distribute the workload, on peak situations, to neighbour nodes. In this context, this report proposes a framework to develop parallel and distributed real-time embedded applications, transparently using OpenMP and Message Passing Interface (MPI), within a programming model based on OpenMP. The technical report also devises an integrated timing model, which enables the structured reasoning on the timing behaviour of these hybrid architectures.
Resumo:
The recent trends of chip architectures with higher number of heterogeneous cores, and non-uniform memory/non-coherent caches, brings renewed attention to the use of Software Transactional Memory (STM) as a fundamental building block for developing parallel applications. Nevertheless, although STM promises to ease concurrent and parallel software development, it relies on the possibility of aborting conflicting transactions to maintain data consistency, which impacts on the responsiveness and timing guarantees required by embedded real-time systems. In these systems, contention delays must be (efficiently) limited so that the response times of tasks executing transactions are upper-bounded and task sets can be feasibly scheduled. In this paper we assess the use of STM in the development of embedded real-time software, defending that the amount of contention can be reduced if read-only transactions access recent consistent data snapshots, progressing in a wait-free manner. We show how the required number of versions of a shared object can be calculated for a set of tasks. We also outline an algorithm to manage conflicts between update transactions that prevents starvation.
Resumo:
The foreseen evolution of chip architectures to higher number of, heterogeneous, cores, with non-uniform memory and non-coherent caches, brings renewed attention to the use of Software Transactional Memory (STM) as an alternative to lock-based synchronisation. However, STM relies on the possibility of aborting conflicting transactions to maintain data consistency, which impacts on the responsiveness and timing guarantees required by real-time systems. In these systems, contention delays must be (efficiently) limited so that the response times of tasks executing transactions are upperbounded and task sets can be feasibly scheduled. In this paper we defend the role of the transaction contention manager to reduce the number of transaction retries and to help the real-time scheduler assuring schedulability. For such purpose, the contention management policy should be aware of on-line scheduling information.
Resumo:
It is already more than 10 years that weblabs are seen as important resources to provide the experimental work required in engineering education. Several weblabs have been applied in engineering courses, but there are still unsolved problems related to the development of their infrastructures. For solving some of those problems, it was implemented a weblab with a reconfigurable infrastructure compliant with the IEEE1451.0 Std. and supported by Field Programmable Gate Array (FPGA) technology. This paper presents the referred weblab, and provides and analyses a set of researchers' opinions about the implemented infrastructure, and the adopted methodology for the conduction of real experiments.
Resumo:
The new generations of SRAM-based FPGA (field programmable gate array) devices are the preferred choice for the implementation of reconfigurable computing platforms intended to accelerate processing in real-time systems. However, FPGA's vulnerability to hard and soft errors is a major weakness to robust configurable system design. In this paper, a novel built-in self-healing (BISH) methodology, based on run-time self-reconfiguration, is proposed. A soft microprocessor core implemented in the FPGA is responsible for the management and execution of all the BISH procedures. Fault detection and diagnosis is followed by repairing actions, taking advantage of the dynamic reconfiguration features offered by new FPGA families. Meanwhile, modular redundancy assures that the system still works correctly