You are on page 1of 76

Faculdade de Engenharia da Universidade do Porto

Bancada on-line para o ensino de Microprocessadores

Vitor Hugo Fernandes Torres

VERSO PROVISRIA

Dissertao realizada no mbito do Mestrado Integrado em Engenharia Electrotcnica e de Computadores Major Automao

Orientador: Prof. Dr. Jos Manuel Martins Ferreira

Junho de 2008

Vitor Hugo Fernandes Torres, 2008

Resumo

O objectivo deste trabalho desenvolver uma soluo que permita aos alunos da disciplina de Microprocessadores (EEC0029) realizar trabalhos prticos, a qualquer hora e a partir de qualquer local. A soluo pretendida ser apoiada em cartas j existentes, baseadas no microcontrolador 80C51, e recorrer a interfaces Web desenvolvidas em LabView ou em outra tecnologia apropriada para este efeito. Tomou-se como ponto de partida um prottipo j existente e apresenta-se uma soluo que permite a realizao de todas as experincias previstas na disciplina de Microprocessadores, com prvia reserva do acesso bancada. A tecnologia de desenvolvimento de bancadas on-line utilizada foi o conjunto LabView + NI ELVIS da National Instruments. No desenvolvimento da bancada para a famlia 80C51, foi ainda utilizada a carta CORE51, que frequentemente utilizada na disciplina de Microprocessadores. Foram desenvolvidos em LabView trs VIs que permitem cobrir a totalidade das experincias realizadas na cadeira de Microprocessadores. O acesso a estes painis foi feito via Web atravs da ferramenta Web Publishing Tool, integrada no LabView e que permite o acesso remoto aos painis que se encontram em execuo no servidor de laboratrio. O VI de comunicao com a CORE51 possibilita a transferncia do cdigo em formato Intel HEX, bem como o relatrio sobre o correcto funcionamento da carta, consoante o modo de operao escolhido. Quanto ao VI de interaco com a carta, para alm da escolha dos modos de funcionamento da CORE51, permite ainda o controlo de seis interruptores, bem como a publicao em tempo real de uma imagem da experincia, atravs de uma cmara Web. Por ltimo, o VI de instrumentao disponibiliza a utilizao de um osciloscpio de dois canais aliado a um gerador de funes simplificado, instrumentos estes que so de grande utilidade na maioria das disciplinas do MIEEC. Quanto ao mecanismo de reserva da bancada, foi utilizado o bloco Metting Room Booking System (MRBS) e foram efectuadas alteraes no cdigo a fim de esta ferramenta ir de encontro com os requisitos impostos. So exemplos dessas alteraes o lanamento da hiperligao de acesso aos VIs, bem como a modificao da interface base do bloco. Esta ferramenta foi integrada no servidor de e-learning de testes da FEUP

(http://moodle.fe.up.pt/dev0809), de modo a permitir a autenticao via LDAP dos utilizadores.

iii

Abstract

The objective of this work is to develop an on-line microcontroller / microprocessor workbench that enables the students to do their lab assignments at any time and from anywhere. The remote experiment hardware must reuse already existing 80C51 boards and the user interfaces should be based on LabView or other equivalent technology. An existing prototype was adopted as the initial solution and was customized to meet the functional requirements presented in this document. All standard lab assignments traditionally used in the EEC0029 Microprocessors course are supported by this on-line workbench. The solution presented in this document is based on National Instruments LabView programming language and ELVIS lab stations. The current version of the remote experiment hardware uses the CORE51 microcontroller board, which has been used several times in the EEC0029 course. The three Virtual Instrument (VI) interface panels that were developed enable all the lab assignments that are traditionally proposed to the students within the EEC0029 course. The LabView Web Publishing Tool was used to enable access via the web to these VIs that are executed on the campus lab server. The communications VI enables code transfer in Intel Hex format and displays status information that indicates the current operating mode of the CORE51 board. The interaction VI enables the user to select the required CORE51 operating mode and to control six digital inputs connected to microcontroller I/O lines. It also displays a real-time image of the remote experiment hardware, captured with a webcam located in the on-line workbench. Finally the instrumentation VI offers a two-channel oscilloscope and a simplified waveform generator. These two tools are frequently used beyond the typical microcontroller lab assignments and make this on-line workbench useful in a wider range of introductory digital and analogue electronics courses. The Meeting Room Booking System (MRBS) was adopted as a basis for the development of a Moodle-embedded scheduling solution that enables the students to book access time to the online workbenches.

Agradecimentos

Com os melhores agradecimentos para o meu professor orientador, Jos Manuel Martins Ferreira, por todo o apoio, ajuda e conselhos a mim prestados durante todo o percurso de desenvolvimento da dissertao. Quero agradecer com especial carinho minha famlia, que em tudo me ajudou e qual devo a possibilidade de ter ingressado no ensino superior, pois sem ela tudo o que fiz e o tudo o que sou no seria possvel. Devo particular agradecimento ao meu pai, que se sacrificou em trabalhar no estrangeiro a fim de me proporcionar todas as condies para que cumprisse o curso com sucesso. Agradeo com um forte abrao e o desejo de um futuro repleto de sucesso a todos os meus amigos, que me deram o apoio e motivao necessrios neste percurso que nem sempre nos proporciona somente alegrias. E por fim mas no menos importante, um especial agradecimento Filipa Moure, que acompanhou uma grande parte do meu trajecto acadmico e cujo apoio foi irredutvel a tempo inteiro.

vii

ndice

Resumo............................................................................................ iii Abstract ............................................................................................ v Agradecimentos .................................................................................vii ndice .............................................................................................. ix Lista de figuras .................................................................................. xi Lista de tabelas .................................................................................xiii Abreviaturas e Smbolos....................................................................... xv Captulo 1 .......................................................................................... 1
Introduo ..................................................................................................... 1 1.1 - Apresentao do problema ........................................................................ 1 1.2 - Organizao da dissertao ....................................................................... 1

Captulo 2 .......................................................................................... 3
Laboratrios On-line ......................................................................................... 3 2.1 - Organizao ......................................................................................... 3 2.2 Diversidade .......................................................................................... 4 2.3 - Vantagens............................................................................................ 6

Captulo 3 .......................................................................................... 7
Desenvolvimento de bancadas on-line com NI ELVIS + LabView ..................................... 7 3.1 Funcionalidades e workflow do LabView ........................................................ 8 3.2 NI ELVIS: Apresentao e interaco com o LabView ...................................... 10

Captulo 4 .........................................................................................15
Especificao funcional de uma bancada on-line para a famlia 80C51 ............................ 4.1 Funcionalidade pretendida ...................................................................... 4.2 Interface com o utilizador ........................................................................ 4.3 Requisitos da ferramenta de reserva do acesso bancada ................................ 15 15 16 17

ix

Captulo 5 .........................................................................................19
Realizao tcnica .......................................................................................... 19 5.1 Instalao do servidor Moodle e autenticao dos alunos ................................... 19 5.2 Mecanismos de reserva de acesso ............................................................. 21 5.2.1 Seleco ..................................................................................... 22 5.2.2 Integrao no Moodle ...................................................................... 23 5.3 Instalao do software e criao dos VIs...................................................... 25 5.4 Hardware da bancada on-line ................................................................... 29 5.4.1 A carta CORE51 e a ligao estao NI ELVIS ...................................... 29 5.4.2 Adaptao a outros Microcontroladores/Microprocessadores ........................ 30

Captulo 6 .........................................................................................33
Apresentao da bancada ................................................................................. 33 6.1 Autenticao e reserva da bancada ............................................................ 33 6.2 Interface com a bancada ......................................................................... 35 6.3 Exemplo de aplicao ............................................................................ 37

Captulo 7 .........................................................................................43
Concluso .................................................................................................... 43 7.1 Anlise crtica ...................................................................................... 43 7.2 Direces de futuro ............................................................................... 44

Referncias .......................................................................................45 Anexo A: Alteraes no bloco MRBS .......................................................47 Anexo B: Enunciado do trabalho EEC0029 relativo ao dado electrnico ...........59

Lista de figuras

Figura 2.1 - Estrutura de um laboratrio on-line [origem: 2]........................................... 4 Figura 2.2 - Estrutura dos laboratrios virtuais ......................................................... 5 Figura 2.3 - Estrutura dos laboratrios mistos .......................................................... 5 Figura 3.1 - Conjunto NI ELVIS + LabView + DAQ + Placa de prottipo [origem: 3] ............... 8 Figura 3.2 - Painel frontal e diagrama de blocos do VI de comunicao ............................ 9 Figura 3.3 - Seleco do VI a publicar e activao do WebServer ..................................11 Figura 3.4 - URL de acesso ao painel de controlo via Web ..........................................12 Figura 3.5 - Interface do VI acedido atravs de um navegador de internet ........................13 Figura 5.1 - Vista semanal da ferramenta de reserva (MRBS) ......................................23 Figura 5.2 - VI de interaco com a CORE51 .........................................................26 Figura 5.3 - VI de instrumentao .......................................................................27 Figura 5.4 - VI de comunicao .........................................................................28 Figura 5.5 - Carta CORE51 [origem: 5] .................................................................30 Figura 5.6 - Placa Keil MCB900 [origem: 7] ............................................................31 Figura 6.1 - Confirmao da reserva....................................................................34 Figura 6.2 - Visualizao da reserva ....................................................................34 Figura 6.3 - Seleco da experincia no caso de multi-laboratrio ................................35 Figura 6.4 - Pgina inicial do Moodle da FEUP na sua verso de testes ..........................35 Figura 6.5 - Janela Web do VI de comunicao .......................................................36 Figura 6.6 - Janela Web do VI de interaco com a experincia ...................................37 Figura 6.7 - Pgina inicial do Moodle de testes .......................................................38 Figura 6.8 - Pgina da reserva ...........................................................................39

xi

Figura 6.9 - Janelas de navegao com os dois VI's carregados .................................... 39 Figura 6.10 - Transferncia do cdigo hexadecimal ................................................. 40 Figura 6.11 - Lanamento do dado em que saiu o nmero dois .................................... 41 Figura 6.12 - Lanamento do dado em que saiu o nmero trs .................................... 41

Lista de tabelas

Tabela 5.1 - Modos de operao da Keil MCB900 [origem: 8] ......................................32 Tabela 9.1 - Configurao dos perodos de reserva ..................................................47 Tabela 9.2 - Configurao inicial do bloco MRBS .....................................................48 Tabela 9.3 - Remoo dos campos desnecessrios..................................................49 Tabela 9.4 - Lanamento da hiperligao de acesso aos painis de controlo .....................52 Tabela 9.5 - Compatibilizao dos dados temporais..................................................53 Tabela 9.6 - Endereos de acesso aos VIs............................................................56 Tabela 9.7 - Ficheiro comunicacao.PHP ...............................................................56 Tabela 9.8 - Ficheiro controlo.PHP ......................................................................57

xiii

Abreviaturas e Smbolos

Lista de abreviaturas (ordenadas por ordem alfabtica) ABCM ASCII CC CA DAQ DEEC E/S FEUP LDAP LED MIEEC MRBS NI PC PLCC RAM ROM SIFEUP USB VI Associao Brasileira de Cincias Mecnicas American Standard Code for Information Interchange Corrente Contnua Corrente Alternada Data Acquisition Departamento de Engenharia Electrotcnica e de Computadores Entradas/Sadas Faculdade de Engenharia da Universidade do Porto Lightweight Directory Access Protocol Light Emitting Diode Mestrado Integrado em Engenharia Electrotcnica e de Computadores Metting Room Booking System National Instruments Personal Computer Plastic Leaded Chip Carrier Random Access Memory Read Only Memory Sistema de Informao da Faculdade de Engenharia da Universidade do Porto Universal Serial Bus Virtual Instrument

xv

Introduo - 1 -

Captulo 1 Introduo
Neste captulo apresentado o trabalho a desenvolver e descrita a forma como est organizada a dissertao. A apresentao do problema feita sem grandes pormenores, visto que nos captulos seguintes todos os assuntos referentes dissertao so abordados com maior profundidade. A apresentao tem como objectivo dar a conhecer ao leitor, de forma superficial, os assuntos tratados neste documento. Esta dissertao foi enquadrada pelo projecto POCI 2010 Labs-On-The-Web, que financiado no mbito do Programa Operacional Cincia e Inovao 2010 e pelo qual a FEUP entidade responsvel.

1.1 - Apresentao do problema


Pretende-se com esta dissertao, desenvolver uma bancada que permita aos alunos de Microprocessadores realizar experincias no mbito da cadeira, a qualquer hora e a partir de qualquer local. Foi tomado como ponto de partida um prottipo j existente, que apenas permitia a realizao de um leque muito reduzido de experincias. O acesso remoto a laboratrios pode ser dividido em duas etapas, uma de reserva do perodo de acesso e outra que diz respeito interaco com a experincia.

1.2 - Organizao da dissertao


No segundo captulo explicada a metodologia de funcionamento dos laboratrios on-line, as suas vantagens face a outro tipo de mtodos de experimentao laboral e tambm a sua diversidade de utilizao, tanto no meio pedaggico, como no meio industrial. Uma vez que o software e o hardware de aquisio e controlo de dados foram suportados pelo conjunto LabView e ELVIS da National Instruments, no terceiro captulo abordada a metodologia de desenvolvimento de bancadas on-line com este conjunto. Esta tecnologia tem vindo a ser cada vez mais popular no seio das reas tcnicas do ensino secundrio e superior. Pretende-se que a soluo final permita a realizao de experincias no mbito da cadeira de Microprocessadores. Uma vez que o microcontrolador usado e estudado nesta cadeira da famlia 80C51, no captulo quatro so descritas as funcionalidades proporcionadas por este

-2-

microcontrolador. Para alm deste ponto, so abordados ainda no mesmo captulo os requisitos da ferramenta de reserva do acesso bancada, bem como a interface pretendida com o utilizador. O quinto captulo de carcter tcnico e aborda assuntos como a integrao da ferramenta de reserva no servidor Moodle e as suas alteraes, de modo a que cumpra os requisitos pretendidos. Para alm do mecanismo de reserva, nesse captulo tambm esclarecido o processo de criao dos VIs que permitem o controlo das experincias, bem como a instalao do seu software de suporte. O sexto captulo apresenta uma componente pedaggica, nomeadamente a descrio sobre o mecanismo de reserva da bancada e de controlo da experincia, tudo sob o ponto de vista do utilizador. A concluso efectuada no captulo sete, onde so analisados de forma crtica os resultados obtidos e onde so enumeradas possveis direces de futuro a tomar por este trabalho. Seguem-se as referncias bibliogrficas e os anexos, que fecham este documento.

Laboratrios On-line - 3 -

Captulo 2 Laboratrios On-line


Neste captulo abordamos o conceito de laboratrios on-line quanto sua organizao, s vantagens e s diversas aplicaes actualmente suportadas por esta tecnologia. O aumento de velocidade na transmisso de dados via Web e a utilizao cada vez mais alargada da Internet, tm motivado o aparecimento, um pouco por tomo o mundo, de um nmero cada vez maior de experincias que podem ser acedidas remotamente correntemente designados por laboratrios on-line [1]. Os laboratrios remotos so uma nova tendncia ao nvel da aprendizagem, que se caracteriza pela forte componente de educao distncia e que permite derrubar barreiras geogrficas. Estes laboratrios so uma das aplicaes do e-learning e so cada vez mais as escolas de formao e universidades que adoptam esta tecnologia para melhorar o sucesso escolar dos seus alunos.

2.1 - Organizao
O conceito base de laboratrio on-line pode ser dividido em trs partes: o cliente, o servidor e a internet/LAN. No prximo captulo abordaremos ao pormenor os perifricos e o sistema utilizado neste trabalho em particular. A figura 2.1 ilustra a organizao de um laboratrio on-line e a interaco entre os seus vrios elementos. A experincia encontra-se ligada ao servidor de laboratrio (computador) que implementa as conexes necessrias com a plataforma que vai suportar a experincia. O acesso ao servidor de laboratrio pode ser feito directamente pelo aluno atravs da internet ou rede LAN da instituio, ou atravs de um servidor de e-learning. No nosso caso o acesso efectuado por este segundo mtodo, mais concretamente atravs do Moodle. De salientar que o acesso pode ser efectuado a partir de qualquer local, ou seja, o aluno pode estar ligado rede da instituio ou em qualquer outro local com acesso a uma ligao de internet. Apesar de a plataforma onde se encontra a experincia se encontrar fisicamente perto do servidor de laboratrio, o mesmo j no acontece com o servidor de e-learning, que pode estar em qualquer ponto da instituio. Isto deve-se ao facto de o servidor de e-learning ter como principal objectivo proporcionar o enquadramento tcnico e o lanamento da hiperligao de

-4-

acesso experincia, o que torna evidente a no obrigatoriedade destes dois elementos se encontrarem prximos.

Figura 2.1 - Estrutura de um laboratrio on-line [origem: 2]

Outra componente importante no acesso a laboratrios on-line a ferramenta de reserva que permite aos utilizadores marcarem a hora do seu acesso ao laboratrio on-line e tambm terem conhecimento do actual preenchimento deste calendrio de reservas. Esta ferramenta instalada no servidor de e-learning, neste caso o servidor Moodle da FEUP, devido facilidade de acesso e autenticao via LDAP actualmente suportada por este servidor. No captulo quatro abordaremos a ferramenta escolhida para este efeito. Quanto s alteraes no cdigo fonte, de modo a tornar esta ferramenta o mais compatvel possvel com os requisitos pretendidos, sero abordadas no captulo cinco.

2.2 Diversidade
O interesse da utilizao destas tecnologias muito alargado, no se restringindo apenas ao ensino universitrio. Exemplo disso o caso das aplicaes em medicina (apoio ao diagnstico e s intervenes cirrgicas) e rea da manuteno industrial, tornando-se tambm facilmente extensvel a actividades de investigao e desenvolvimento [1]. Os laboratrios on-line podem localizar-se tanto nas instalaes da faculdade como fora delas. Vrios departamentos da FEUP possuem experincias acessveis remotamente e situadas nas suas instalaes. Como exemplo do acesso on-line a uma experincia que se situa fora das instalaes da FEUP, pode citar-se o teste de memrias SDRAM, cujo equipamento est situado na empresa Qimonda. Devido impossibilidade financeira de suportar o elevado custo deste equipamento, a FEUP e a Qimonda tem um acordo que permite

Laboratrios On-line - 5 -

aos alunos da cadeira de Testes de Sistemas Electrnicos acederem remotamente a este equipamento para realizarem os testes pretendidos. Quanto s reas disciplinares, o curso de engenharia electrotcnica e computadores e o curso de engenharia mecnica, apresentam maior adeso a este tipo de tecnologias. Isto deve-se variedade de experincias possveis de desenvolver no mbito das cadeiras, pois apresentam maior facilidade de as implementar em laboratrios e torn-las acessveis remotamente. Esta facilidade deve-se ao actual suporte a nvel de software e hardware, que permite implementar diversas experincias em ambiente laboratorial. Os laboratrios em que no necessria a presena do aluno podem ser de natureza remota, virtual e mista. Os laboratrios por ns abordados so do primeiro tipo (figura 2.1), onde a bancada de trabalho existe fisicamente, sendo o acesso e o controlo efectuados remotamente atravs de uma rede LAN ou internet. Os laboratrios virtuais (figura 2.2), baseados em simuladores, no requerem necessariamente acesso internet ou a uma rede LAN, uma vez que o software de simulao pode ser instalado em qualquer computador de laboratrio ou de uso pessoal. Isto torna este tipo de soluo muito utilizada para preparao de aulas prticas, uma vez que acessvel a todos os alunos e que lhes permite simular e efectuar os clculos necessrios para uma posterior aplicao na experincia real.

Figura 2.2 - Estrutura dos laboratrios virtuais

J os laboratrios mistos (figura 2.3) so uma fuso destes dois ltimos, pois apresentam uma componente fsica e uma componente de simulao, sendo o acesso feito remotamente atravs da internet ou rede LAN. Este tipo de laboratrios justifica-se pela facilidade de simulao de certas experincias (ou parte delas) face sua montagem fsica, por motivos de ordem financeira.

Figura 2.3 - Estrutura dos laboratrios mistos

-6-

2.3 - Vantagens
Quando se fala de laboratrios on-line e na sua utilizao no ensino, a primeira questo que levantada sobre as vantagens proporcionadas por esta tecnologia. importante mencionar que no inteno deste mtodo de ensino substituir a habitual relao pedaggica professor - aluno e a importante actividade presencial de laboratrio, pois certas competncias s so adquiridas em contacto directo com o equipamento. A comunicao cara-a-cara nunca dever perder a sua importncia e lugar na educao, mas no h duvida que estas iniciativas e inovaes so de louvar. Em muitas reas, o recurso a estas tecnologias apresenta para o ensino tradicional e para a actualizao ao longo da vida importantes aspectos de complementaridade na formao. Mais ainda, acrescenta um conjunto de outras vantagens, como a utilizao dos laboratrios em horrio alargado e sem a presena de um tcnico. Proporciona tambm a partilha de equipamento com outros laboratrios ou instituies, e o aceso a equipamento dispendioso ou cuja manipulao possa representar algum risco. O acesso simplificado para utilizadores com limitaes fsicas ou logsticas [2] proporciona uma excelente alternativa de ensino e atende ao ritmo de aprendizagem de cada aluno, combatendo assim o insucesso escolar. Os alunos que por algum motivo no possam comparecer s aulas prticas, ou que no tenham tido tempo de finalizar o trabalho durante o tempo da aula, podem agora aceder experincia hora que quiserem e a partir do local que quiserem. No caso do ensino universitrio, os sistemas que permitem o estudo de controladores e compensadores, em geral, so de alto custo e cada mdulo admite apenas um utilizador ou um pequeno grupo de utilizadores a executar uma determinada experincia num dado instante. Dada a escassez de recursos, qualquer esforo para maximizar a utilizao dos equipamentos disponveis possibilita uma melhoria no aproveitamento do curso pelos alunos. Face aos laboratrios virtuais, o acesso on-line apresenta um maior teor prtico e realstico, bem como o acesso a experincias impossveis de implementar em ambientes de simulao.

Anexo A: Alteraes no bloco MRBS - 7 -

Captulo 3 Desenvolvimento de bancadas on-line com NI ELVIS + LabView


Os laboratrios on-line permitem o controlo e a interaco com dispositivos fsicos por meio de software e podem ser considerados como uma sofisticada plataforma interactiva de demonstraes. Se o acesso a estas bancadas for muito detalhado, pode ser um bom complemento para um laboratrio real, especialmente se acompanhado de animao. Estes laboratrios acessveis atravs da Internet esto a transformar-se em uma maneira popular de reduzir custos de equipamento e disponibilizar conceitos laboratoriais em cursos de educao distncia. Estes tipos de laboratrios usam geralmente softwares comerciais como: LabView, MATLAB, Arena, AutoMod, entre outros. A National Instruments est comprometida com o ensino de engenharia e cincias em todo o mundo, promovendo software flexvel e hardware modular compatvel com as principais tecnologias baseadas em PC, ajudando a integrar conceitos tericos com aplicaes reais. A instrumentao virtual, o conceito de utilizao de software combinado com PC para definir solues para aplicaes reais, j est amplamente adoptada por engenheiros e cientistas em vrios segmentos de indstria em todos os continentes. O impacto da instrumentao virtual e particularmente do software NI LabView evidente no segmento acadmico, onde professores, pesquisadores e estudantes de todo o mundo utilizam ferramentas da NI para disseminar cincia, educao em pesquisa e engenharia. Os professores podem recorrer integrao de hardware e software da NI para ensinar uma ampla variedade de conceitos em reas de aplicao como medies, circuitos, controlo, processamento de sinais e imagem, comunicaes e sistemas embarcados. No caso deste trabalho utilizado o conjunto LabView + NI ELVIS, ambos da National Instruments. A plataforma NI ELVIS uma bancada que suporta variados instrumentos de medida e de instrumentao, frequentemente utilizados em trabalhos prticos da cadeira de Microprocessadores. Em conjunto com o LabView, esta bancada permite ao utilizador controlar estes diversos componentes. A NI ELVIS permite a integrao de uma placa que para alm das diversas interfaces com os aparelhos de instrumentao j mencionados, tambm possibilita ao utilizador desenvolver os seus prprios circuitos numa rea de prottipo. Na imagem 3.1 apresentada uma imagem do pacote da NI constitudo pela NI ELVIS, LabVIew, DAQ e placa de prottipo.

-8-

Figura 3.1 - Conjunto NI ELVIS + LabView + DAQ + Placa de prottipo [origem: 3]

3.1 Funcionalidades e workflow do LabView


Hoje em dia, so inmeras as faculdades, instituies e empresas a apostar no acesso e controlo remoto de experincias ou processos. A nvel do ensino, o software LabView, da Nartional Instruments, uma das solues com mais xito e utilizao. O LabView uma ferramenta que possibilita construir painis de controlo, chamados VIs que permitem ao utilizador visualizar e/ou controlar uma determinada experincia ou processo, tais como: Design: o Processamento de sinal e imagem; o o Sistemas de controlo embebidos (PC, DSP, FPGA, Microcontroladores); Simulao e prottipo;

o Etc. Controlo: o o Controlo automtico e sistemas dinmicos; Mecnica e robtica;

o Etc. Medidas: o o Circuitos e electrnica; Medidas e instrumentao;

o Etc. A instrumentao virtual utilizada em muitos tipos de aplicaes, comeando pelo design, prottipo e desenvolvimento. A plataforma LabView proporciona ferramentas e modelos especficos para o seu desenvolvimento, com um intuitivo e poderoso paradigma grfico.

Desenvolvimento de bancadas on-line com NI ELVIS + LabView - 9 -

Requer um computador equipado com o software LabView e o respectivo, hardware, tal como placas de aquisio, que em conjunto implementam as funes de instrumentos tradicionais. Os VIs representam uma fundamental mudana dos tradicionais sistemas de instrumentao centrados no hardware, para sistemas centrados no software. Estes sistemas baseados no software exploram as capacidades do computador, produtividade, visualizao, capacidades de conexo dos computadores e das estaes de trabalho. Embora o computador e a tecnologia de circuitos integrados tenham sofrido um significante avano nas duas ltimas dcadas, o software oferece realmente a flexibilidade de realizar, nesta poderosa fuso com o hardware, a criao de instrumentos virtuais. Isto proporciona melhores percursos para a inovao e significante reduo de custos. Com os instrumentos virtuais, engenheiros e cientistas construram sistemas de medida e automao que se adequam s suas necessidades, ao invs de ficarem limitados funo dos instrumentos tradicionais. O software LabView apresenta uma vasta biblioteca de funes de aquisio, controlo, visualizao, etc., que tornam o processo de criao de um VI menos complexo. O mtodo de construo de um VI dividido em duas partes, que compreendem o painel frontal e o bloco de diagramas, tal como mostra a figura 3.2.

Figura 3.2 - Painel frontal e diagrama de blocos do VI de comunicao

O painel de controlo a componente grfica do VI, que no mais do que a interface grfica que permite ao utilizador visualizar e controlar a experincia. O bloco de diagramas a parte que integra todo o cdigo de programao em LabView, ou seja, a componente de programao que se encontra mediante o painel de controlo e que implementa todas as funes por ele desencadeadas. De salientar que o tipo de programao em LabView grfica e no textual, como sucede com a generalidade dos restantes ramos. Como bvio, estas duas partes so construdas simultaneamente, pois as entradas e sadas dos diagramas de blocos so controlos e indicadores do painel frontal.

- 10 -

O passo seguinte, aps ter o instrumento virtual concludo, efectuar a sua interaco com a plataforma NI ELVIS e proceder publicao do painel, de modo a que a experincia seja acessvel via Web. No prximo subcaptulo exemplificamos este processo com uma pequena experincia que visa apenas ajudar a compreender o mecanismo de publicao de VIs com o conjunto LabView + NI ELVIS.

3.2 NI ELVIS: Apresentao e interaco com o LabView


A estao NI ELVIS um ambiente de desenvolvimento e construo de prottipos baseado em LabView para laboratrios cientficos que foi lanado pela NI. Com o NI ELVIS, os estudantes podem simultaneamente aprender a teoria de planeamento e coloc-la em prtica em reas como circuitos elctricos, processamento de sinais, comunicao, sistemas de controlo, medies mecnicas e mecatrnicas. A NI ELVIS composta por instrumentos virtuais baseados em LabView, um dispositivo multifuncional para aquisio de dados, uma estao de trabalho com design personalizada e uma placa para criao de prottipos. Essa combinao proporciona um conjunto dos tradicionais instrumentos de laboratrios prontos a usar, incluindo um osciloscpio, gerador de funes, multmetro digital, fonte de alimentao programvel junto com um analisador de sinal, analisador dinmico de sinais e um gerador de ondas arbitrrio. Por ser baseado em LabView e por prover aquisio completa de sinais e capacidade de criao de prottipos, o sistema ideal para integrar instrumentao virtual nos cursos acadmicos, desde os tcnicos at aos cursos de ps-graduao e mestrado. De salientar que o software de instalao do NI ELVIS j inclui alguns VIs de extrema utilidade e previamente definidos para controlar o conjunto de instrumentos j mencionados. Esta plataforma facilita aos estudantes a construo de circuitos e interfaces personalizadas. Utilizando uma placa removvel para criao de prottipos, os estudantes podem desenhar seus prprios circuitos electrnicos, instrumentos de condicionamento de sinal e pequenos dispositivos electromecnicos. A placa para criao de prottipos vem com conectores tipo banana, BNC e D-sub para conexo fcil e segura. A estao de trabalho NI ELVIS tambm equipada com uma proteco para curto-circuito e sobretenses para o dispositivo de aquisio de dados. A fim de melhor compreender o mecanismo de publicao de VIs com o conjunto LabView + NI ELVIS, fizemos uma simples experincia que tinha como principal objectivo o acesso e controlo remotos de um VI, ou seja, atravs de um navegador com ligao internet. O software da NI ELVIS engloba uma srie de VIs de grande utilidade, sendo desnecessria a perda de tempo nas suas construes. Neste subcaptulo, o principal objectivo passa pela familiarizao com o mtodo de publicao e acesso online a um VI, deixando a construo dos VIs finais para os captulos posteriores. Para tal foi utilizado um pequeno circuito amplificador, em que apenas dispomos de um osciloscpio e de um gerador de sinais. O processo de publicao de extrema facilidade, pois o LabView apresenta uma ferramenta chamada Web Publishing Tool (figuras 3.3 e 3.4), em que apenas temos que seleccionar o modo de visualizao e o ttulo que ir ser apresentado na pgina de navegao quando o utilizador aceder ao VI.

Desenvolvimento de bancadas on-line com NI ELVIS + LabView - 11 -

Figura 3.3 - Seleco do VI a publicar e activao do WebServer

Foi utilizado um circuito integrado TL082, um conhecido dispositivo que contm dois amplificadores operacionais. Para alm do amplificador, foram tambm usadas duas resistncias que definem o ganho do conjunto. Uma vez montado o circuito na placa da plataforma NI ELVIS, tivemos que proceder publicao dos VIs necessrios a esta experiencia, que integram um osciloscpio e um gerador de sinais. Este processo, tal como referido anteriormente, no apresenta elevado grau de complexidade, bastando apenas fazer a publicao dos VIs, tal como se ilustra na figura 3.4 que devem permanecer em modo de execuo no servidor de laboratrio. Os laboratrios so desenvolvidos utilizando painis de controlo que residem no computador local, coordenando a experincia. Na figura 3.3 encontram-se ilustrados os modos de visualizao dos VIs, como por exemplo, permitir o controlo por parte do utilizador que acede via Web experincia. Outras opes disponveis so a alterao do ttulo da pgina, do texto que vai constar acima e abaixo do VI. O endereo de acesso via internet experincia encontra-se representado no campo URL da figura 3.4.

- 12 -

Figura 3.4 - URL de acesso ao painel de controlo via Web

Conceptualmente, usar um browser como interface para o laboratrio on-line tem muitas vantagens em conexes Intranet e/ou Internet. uma plataforma independente e fcil de usar e o software adicional necessrio no lado do aluno (utilizador remoto) mnimo. Entretanto, a conexo Web tambm fornece alguns desafios: necessita-se de meios para que o estudante incorpore os parmetros do controlo, que usem preferivelmente uma interface grfica amigvel, e de meios para simular a resposta do sistema [4]. Uma vez acedido ao endereo fornecido pelo Web Publishing Tool atravs do navegador, carregada uma pgina com o aspecto da figura 3.5. De salientar, que neste exemplo s ilustrada a publicao e o acesso ao osciloscpio, sendo idntico o processo para o caso do gerador de sinais. Na figura 3.5 podemos verificar a existncia de dois sinais, o de entrada (a azul) e o de sada (a verde), que apenas diferem em amplitude e fase, fruto do ganho aplicado pelo amplificador inversor.

Desenvolvimento de bancadas on-line com NI ELVIS + LabView - 13 -

Figura 3.5 - Interface do VI acedido atravs de um navegador de internet

- 14 -

Especificao funcional de uma bancada on-line para a famlia 80C51 - 15 -

Captulo 4 Especificao funcional de uma bancada on-line para a famlia 80C51


Neste captulo so abordados os requisitos e funcionalidades de uma bancada on-line para a famlia 80C51. Para alm disso explicado o tipo de interface desejado na interaco com a bancada, no que respeita aos VIs. Por ltimo so descritas as funcionalidades necessrias para a ferramenta de reserva da bancada, uma vez que as aplicaes existentes para este fim podem no ir ao encontro dos requisitos da nossa bancada. Porqu a utilizao da famlia 80C51 e no de uma outra neste trabalho? A resposta devese ao facto de este microcontrolador ser o estudado e utilizado na cadeira de Microprocessadores para o desenvolvimento dos vrios trabalhos prticos ao longo do semestre. Alm disso, um microcontrolador que, apesar da sua fcil compreenso e manuseamento, avanado o suficiente ao ponto de permitir implementar com facilidade os trabalhos a realizar nesta disciplina.

4.1 Funcionalidade pretendida


De modo a que uma bancada on-line para a famlia 80C51 seja o mais funcional possvel, necessrio que o microcontrolador cumpra os requisitos para que a bancada se torne adequada ao ensino da disciplina de Microprocessadores. Numa bancada para a famlia 80C51 necessrio ter um conjunto de entradas e sadas acessveis ao utilizador, bem como interface que lhe permita programar o microcontrolador com o cdigo desejado. Quanto ao tipo de interface com o servidor de laboratrio, RS232C o mais usual e de fcil utilizao, sendo suportado pela famlia 80C51. necessrio um conjunto de entradas e sadas digitais acessveis ao utilizador remoto, de modo a que possam ser controlados os mais diversos dispositivos. No de necessidade obrigatria, mas no mnimo vantajoso, que para alm das entradas digitais esta bancada possua tambm uma entrada analgica ou um conversor AD. A famlia 80C51 cumpre todos estes requisitos, pois apresenta um conjunto de pinos que podem ser configurados tanto como entradas como sadas digitais. Para alm disso, possui um conjunto de entradas que podem ser configuradas de modo a

- 16 -

termos disponvel um conversor AD. Por ltimo, esta famlia permite ainda a ligao RS232C, o que admite uma fcil ligao ao servidor de laboratrio. inevitvel abordarmos a famlia 80C51 sem nos referirmos j nossa conhecida carta CORE51, que se destina ao desenvolvimento de programas para a famlia 51 da Intel. Esta carta permite uma melhor familiarizao com os modos de funcionamento dos perifricos internos dos microcontroladores dessa famlia, bem como de muitos outros compatveis com ela. Pode ser utilizada como um sistema autnomo para auto-aprendizagem ou como ncleo de circuitos mais complexos, dispondo para isso de todos os sinais necessrios sua expanso. O desenvolvimento de programas para esta placa deve ser feito tento em conta que sero executados a partir do endereo 0x0000. Podem ser desenvolvidos em assembly ou qualquer linguagem de alto nvel para a qual exista compilador [5]. Para interface com o utilizador, dispe de quatro LEDs, activos a zero, ligados de P1.4 (LED 1) a P1.7 (LED 4), e de quatro teclas, activas a zero, ligadas de P1.3 (TECLA 1) a P1.0 (TECLA 4). Dispe ainda de uma tecla (RESET) para inicializao manual do programa e outra (INTR) para gerao de uma interrupo. Para proceder ligao e teste da placa, esta deve ser ligada sada de 12V da fonte de alimentao e a uma porta srie do computador. A integrao da carta CORE51 nesta bancada torna-se extremamente til e permite abranger todos os requisitos necessrios. Assim que a CORE51 recebe o cdigo Intel HEX para a sua programao, fica espera do carcter que d inicio execuo do cdigo.

4.2 Interface com o utilizador


Deve ser possvel ao aluno transferir o cdigo Intel HEX das respectivas experincias para a memria do microcontrolador, via porta srie, tal como efectuado nas aulas prticas com a utilizao da carta CORE51. Assim sendo, necessrio integrar a CORE51 com o pacote LabView + NI ELVIS, de forma clara e objectiva, tornando possvel a transferncia do cdigo remotamente. Este requisito implica a criao de um VI que possibilite a transferncia do cdigo para o microcontrolador, ou seja, um VI que implemente a comunicao entre a carta CORE51 e o LabView. Este VI graficamente deve apresentar uma caixa de texto, bem como um boto que, quando pressionado, inicia a transferncia do cdigo existente na caixa de texto para a memria da CORE51. Para alm disso, deve integrar uma outra caixa de texto que vai conter informao relativa comunicao entre o LabView e a CORE51, ao correcto estado das memrias da CORE51, bem como ao seu modo de funcionamento. De forma a controlar as quatro teclas da CORE51 e ainda a tecla de RESET e INTR necessrio um VI que permita comandar estas entradas atravs da utilizao de controladores booleanos. Para alm disso, deve ser ainda possvel neste VI efectuar a escolha do modo de funcionamento da CORE51, ou seja, escolher entre os modos de cold test, hex upload e manual. Assim que seleccionado o modo cold test, activam-se sequencialmente activas as entradas controladas pelas teclas da CORE51, que envia para a caixa de texto do VI de comunicao o estado das memrias. J quando escolhido o modo hex upload, enviada novamente para a mesma caixa de texto a indicao do estado das memrias, bem como a indicao de que a CORE51 se encontra espera da transferncia do cdigo hexadecimal. Por ltimo, o modo manual, permite ao utilizador correr o programa transferido para a memria da CORE51 e tambm controlar as teclas que comandam as suas entradas. Posteriormente este VI vai ser

Especificao funcional de uma bancada on-line para a famlia 80C51 - 17 -

referido como o VI de interaco com a carta, uma vez que atravs dele que feita a seleco do modo de funcionamento da CORE51 e que so controladas as suas teclas, assim que iniciada a execuo do cdigo. Torna-se evidente a necessidade de interaco entre o VI de controlo e o de comunicao, uma vez que a escolha do modo de funcionamento vai influenciar a informao a ser mostrada na caixa de texto do VI de comunicao. O osciloscpio e o gerador de funes so dois instrumentos de extrema importncia na rea de electrnica e consequentemente em Microprocessadores, com os quais estamos muito familiarizados. Uma vez que o objectivo deste trabalho a implementao de uma bancada que permita o ensino de Microprocessadores, a ausncia destes dois instrumentos reduziria em grande escala a variedade de experincias possveis de implementar. Assim sendo, necessrio o desenvolvimento de um ou dois VIs que implementem o controlo do osciloscpio e do gerador de funes integrados na plataforma NI ELVIS. A existncia de experincias que necessitam de ser seguidas on-line atravs da publicao de imagens em tempo real (vdeo ou fotografias) na interface com o utilizador, obriga integrao da imagem adquirida por uma cmara USB. Exemplos deste tipo de experincias so o caso do dado electrnico, do controlo da intensidade luminosa de uma lmpada, etc. Assim sendo primordial a introduo da imagem adquirida pela cmara em algum dos VIs acima referidos, ou ento a criao de um VI individual, que permita a publicao dessa imagem. Tendo em conta o j numeroso nmero de VIs necessrios de implementar, levantado o problema do lanamento de demasiadas janelas Web, cada uma associada a um VI. Desta forma de boa prtica procurar uma soluo que permita reduzir ao mximo o nmero de painis a publicar, tornando a interaco com a experincia o mais eficaz possvel. No captulo cinco voltaremos a falar sobre estes VIs, mas desta feita ser do ponto de vista da sua criao e publicao, e ser tambm abordada a problemtica do lanamento de demasiados painis de controlo.

4.3 Requisitos da ferramenta de reserva do acesso bancada


Como j foi descrito anteriormente, o acesso a uma bancada on-line requer um mtodo de reserva por parte dos alunos, de forma a tornar esse acesso o mais organizado e proveitoso possvel. necessrio que esta ferramenta cumpra certos requisitos funcionais, de forma a tornar clara e objectiva a sua utilizao. Os requisitos vo ser divididos quanto s funes e quanto forma que a ferramenta deve implementar. No que respeita s funcionalidades, inevitvel que esta ferramenta possa ser integrada num servidor de e-learning, neste caso o Moodle da FEUP. Uma vez que uma bancada s pode ser acedida por um utilizador de cada vez, deve permitir-se unicamente uma reserva por cada perodo horrio. Deve ser possvel ao utilizador que a efectuou anul-la ou edit-la sempre que desejado, assim como a edio e remoo de qualquer reserva por parte de um utilizador com permisso para tal, neste caso o professor. O professor deve ter ainda a possibilidade de ser notificado por e-mail quando ocorrer a adio, edio ou remoo de uma reserva. Aps chegada a hora e o dia escolhidos, deve ser lanado na respectiva pgina uma hiperligao de acesso aos painis de controlo da experincia. Notar que esta hiperligao s

- 18 -

deve ser visvel quando a pgina acedida pelo utilizador que efectuou a reserva e durante o perodo reservado. Quanto forma, pretendido que o interface primrio seja um calendrio com vista semanal, em que cada dia dividido em perodos de uma hora. Os utilizadores que acederem a esta ferramenta devem poder visualizar o actual preenchimento de reservas de acesso ao laboratrio, bem como os utilizadores que as efectuaram.

Realizao tcnica - 19 -

Captulo 5 Realizao tcnica


Os captulos anteriores so de um teor maioritariamente terico, em que abordada a temtica do acesso e controlo de laboratrios on-line, introduzindo conceitos e metodologias actualmente utilizadas neste tipo de ensino. Com este captulo pretendemos apresentar as escolhas e implementaes efectuadas no decorrer deste trabalho, ou seja, apresenta-se uma abordagem do ponto de vista tcnico, que serve tambm como guia de utilizao para esta bancada.

5.1 Instalao do servidor Moodle e autenticao dos alunos


Uma vez que se pretende integrar a ferramenta de acesso no servidor de e-learning da FEUP, foi instalado um servidor Moodle num computador do laboratrio, onde decorreu este trabalho. O objectivo desta instalao foi permitir que fossem feitas as devidas alteraes na ferramenta de reserva, de modo a esta cumprir os requisitos e poder ser testada constantemente, sem com isso pr em causa o correcto funcionamento do servidor Moodle da FEUP. Desta forma, foi possvel efectuar alteraes regulares no cdigo da ferramenta de reserva escolhida e observar os resultados de forma imediata. Todo este processo torna-se transparente, na medida em que o servidor de e-learning instalado no laboratrio o mesmo que o da faculdade, bastando unicamente transferir o bloco para o Moodle da FEUP, assim que foi concludo. Para ser criado um servidor Moodle so necessrios trs requisitos fundamentais: um servidor Web que suporte PHP (por exemplo Apache), um servidor de base de dados (por exemplo o MySQL ou PostgreSQL) e a linguagem PHP. A forma mais fcil de instalar tudo o que necessrio usar o pacote EasyPHP, que inclui todo este software numa nica aplicao. Os passos a seguir so os seguintes: 1. Primeiro, se j foi instalado o MySQL anteriormente (em forma isolada ou como parte de outro pacote), necessrio desinstal-lo e apagar todos os ficheiros do MySQL. 2. Se alguma vez j foi instalado o PHP, necessrio apagar do directrio do Windows, os ficheiros com nome php4ts.dll e php.ini.

- 20 -

3. necessrio obter uma cpia do EasyPHP, que uma vez que software gratuito, pode ser encontrado com uma simples pesquisa na internet. 4. Executar a aplicao easyphpsetup.exe. sugerido aceitar todos os valores predefinidos e avanar pelos passos do processo de instalao. 5. No fim do processo de instalao, deixar seleccionada a caixa que diz "Iniciar EasyPHP e carregar no boto "Terminar". 6. Se tudo correr bem o servidor Apache, PHP e MySQL j estaro instalados e a funcionar. Deve ser visualizado um E preto na barra de ferramentas. possvel carregar nele com o boto direito do rato para aceder a um menu que permite controlar os programas em execuo. 7. O prximo passo preparar uma base de dados a ser usada pelo Moodle. Para tal deve-se carregar no E preto, na barra de ferramentas, com o boto direito do rato, seleccionar Administrao e carregar sobre DB Management (a lado de PHPMyAdmin); 8. Quando for pedido um nome de utilizador, usar "root" com palavra-chave em branco. Deve ser visualizada uma interface do phpMyAdmin que permite criar novas bases de dados e contas de utilizadores. 9. De seguida iremos criar uma nova base de dados, onde escrevemos "Moodle" no campo do nome e carregamos no boto "Create" 10. J temos o que precisamos para instalar o Moodle. necessrio obter uma cpia da sua verso mais recente a partir do endereo http://moodle.org/download e descompactar o ficheiro zip descarregado. 11. De seguida copiamos os ficheiros do Moodle para C:\Program Files\EasyPHP\www. Podemos copiar o directrio completo (por exemplo C:\Program Files\EasyPHP\www\moodle) ou todo o contedo do directrio Moodle. Se optarmos pela segunda escolha, devemos poder aceder pagina do Moodle atravs do http://localhost/moodle/. endereo http://localhost/, em vez de

12. De seguida necessrio criar um novo directrio vazio, em local escolha, para onde o Moodle copiar os ficheiros recebidos; por exemplo C:\moodledata. 13. Entramos no directrio do Moodle e fazemos uma cpia de config-dist.PHP e mudamos-lhe o nome para config.PHP. 14. Editamos o ficheiro config.PHP usando algum editor de texto (ter sempre o cuidado de no introduzir espaos em branco adicionais no fim de cada linha). 15. Escrevemos a informao sobre a nova base de dados: $CFG->dbtype = 'mysql'; $CFG->dbhost = 'localhost'; $CFG->dbname = 'moodle'; $CFG->dbuser = 'root'; $CFG->dbpass = ''; $CFG->dbpersist = true; $CFG->prefix = 'mdl_' 16. Escrevemos tambm o caminho completo dos seus ficheiros: $CFG->wwwroot = 'http://localhost/moodle'; // Podemos usar endereo externo no caso de termos algum.

Realizao tcnica - 21 -

$CFG->dirroot = 'C:\Program Files\EasyPHP\www\moodle'; $CFG->dataroot = 'C:\moodledata' 17. Gravamos o novo ficheiro config.php. 18. A instalao est quase concluda e o resto do processo feito atravs da pgina Web. Acedemos pgina http://localhost/moodle/admin/ com o navegador Web, para continuar com o processo de instalao. 19. Carregamos com o boto direito do rato sobre o E preto na barra de ferramentas para aceder o menu e seleccionamos "Restart". Alguns dos mdulos do Moodle precisam de verificaes frequentes para realizar algumas tarefas. Por exemplo, o Moodle precisa verificar os fruns de discusso para saber se preciso enviar por correio cpias de novas contribuies aos assinantes do frum. O script que executa essas tarefas de rotina encontra-se no directrio admin, com o nome cron.php. No entanto, ele no pode arrancar por si prprio, sendo preciso instalar um mecanismo para que o script seja executado a intervalos regulares (por exemplo, cada 5 ou 10 minutos). Esse mecanismo constitui as "pulsaes cardacas" necessrias para que o script possa executar as tarefas definidas por cada mdulo e designado por servio cron. A forma mais simples utilizar um pacote chamado moodle-cron-for-windows.zip que torna o procedimento bastante fcil, instalando um pequeno servio no Windows. Quanto autenticao dos alunos, esta vai ser feita por LDAP (Lightweight Directory Access Protocol) atravs do servidor da faculdade. Na fase de testes em que era utilizado o servidor Moodle de laboratrio, foram adicionados dois utilizadores, um com privilgios de aluno e outro com privilgios de docente, a fim de se testar o correcto funcionamento da ferramenta de reserva. Uma vez concluda a adaptao da ferramenta, esta vai ser transferida para o Moodle da FEUP que suporta a autenticao LDAP. Assim sendo os alunos necessitam unicamente do seu nmero de aluno e palavra-chave do SIFEUP; assim que introduzidos acrescentadA uma conta de utilizador no Moodle com os dados provenientes do servidor de LDAP da faculdade.

5.2 Mecanismos de reserva de acesso


No que respeita a ferramentas de reserva, foram procuradas mais do que uma soluo, ou seja, mdulos possveis de implementar no servidor Moodle e que sejam frequentemente utilizados como blocos de reserva. O mdulo usado no prottipo de partida era o WebCalendar, que para cumprir os requisitos pretendidos, requereu alteraes ao cdigo fonte. Para alm do WebCalendar, foram tambm encontrados o MRBS Block e o Scheduler Module, que so dois mdulos ou blocos de agenda/reserva. O Scheduler Module um mdulo de actividade que possibilita ao aluno marcar encontros com o professor. O professor define previamente a durao dos blocos de atendimento e o aluno limita-se a fazer a reserva da hora desejada. Aps uma anlise mas pormenorizada deste bloco, conclumos que no uma boa opo para o nosso objectivo, pois seria necessria uma vasta alterao do cdigo fonte, para alm de este mdulo apresentar uma deficincia ao nvel do interface. Era pretendida uma visualizao deste recurso em forma de calendrio semanal dividido em perodos de uma hora, sendo desta forma prtico e intuitivo o processo de reserva por parte dos alunos.

- 22 -

O MRBS block um bloco de actividade desenvolvido para um sistema de reserva de salas de encontros possvel de integrar em um servidor Moodle. Este bloco apresenta o interface desejado de calendrio dividido em perodos horrios. Este bloco no vai de encontro a todas as necessidades impostas, nomeadamente o lanamento de um hiperligao para o acesso pagina da experiencia, bem como a vista referente ao calendrio, que teria que ser semanal. O cdigo base do MRBS utilizado para a reserva de mais do que uma sala, ou seja, teria que ser alterado para a reserva de uma nica sala (que no nosso caso uma bancada on-line), ou ento no caso de uma possvel expanso para mltiplos laboratrios, em que as vrias salas corresponderiam s vrias bancadas. A grande vantagem do Moodle e seus mdulos serem software de cdigo aberto, sendo portanto possvel a alterao do cdigo fonte dos mdulos, de modo a irem de encontro s necessidades do utilizador. O WebCalendar uma aplicao de calendrio baseada em PHP que pode ser configurada para um ou vrios utilizadores, para um grupo de utilizadores, ou ento, como um calendrio de eventos visvel pelos visitantes. O calendrio pode ser apresentado por dia, semana, ms ou ano, e permite ainda adicionar, editar e remover, tanto utilizador como eventos. Outra funcionalidade til desta aplicao a opo por parte do administrador da cadeira de receber notificaes via e-mail aquando da insero, edio e eliminao de eventos por parte dos alunos. Permite tambm o uso de calendrio livre/ocupado, ou seja, s permite adicionar eventos se o calendrio estiver livre nesse perodo. O MySQL, PostgreSQL, Oracle, DB2, Interbase, MS SQL Server, ou ODBC so necessrios para o funcionamento desta aplicao. Pode ser configurada para uma variedade de utilizaes, como por exemplo: Sistema de gesto de horrio para uma s pessoa Sistema de gesto de horrio para um grupo de pessoas, permitindo a uma ou mais assistentes supervisionar o calendrio de outros utilizadores. Um calendrio de eventos visvel por todos os usurios, permitindo aos visitantes introduzir novos eventos.

Apesar de ser uma aplicao de extrema utilidade, a verso base do WebCalendar no permite a integrao directa no Moodle, sendo necessrio fazer alteraes ao cdigo. Outra inconvenincia do uso desta aplicao a necessidade de serem feitas alteraes ao cdigo fonte, sempre que haja uma actualizao na verso do Moodle.

5.2.1 Seleco
A ferramenta de reserva escolhida foi o bloco MRBS, uma vez que quando comparado com os demais, apresenta algumas importantes vantagens, nomeadamente o interface tipo calendrio, que pode ser ajustado para visualizao diria, semanal ou mensal. Outra vantagem que justifica esta escolha, o facto de este bloco permitir a reserva e acesso a mltiplas bancadas, ou seja, possibilita ter mais do que uma disciplina, em que a cada uma podem estar associadas mais do que uma experincia. Esta vantagem possibilita a hiptese j pensada, sobre a cooperao entre a FEUP e outras faculdades, podendo os alunos de qualquer uma das instituies aceder mesma experincia, localizada em diferentes laboratrios. A principal vantagem que este bloco desenvolvido inicialmente para ser integrado no Moodle, com o objectivo de permitir a reserva de salas de computadores. Isto implica que so necessrias algumas modificaes a nvel do cdigo deste bloco, de modo a adapt-lo ao nosso fim. As modificaes no MRBS reflectem-se ao nvel do interface que vai ser apresentado, pois no nosso caso, desejamos reservar o acesso a bancadas e no computadores, e ao nvel de

Realizao tcnica - 23 -

algumas funes do bloco. So exemplo dessas alteraes, comparar a data da reserva com a data actual e efectuar o lanamento dos VIs. Outro importante proveito na utilizao deste bloco que sempre que feita a actualizao da verso do servidor de e-learning da FEUP, no necessria nenhuma alterao no cdigo do MRBS, o que no sucedia com a ferramenta de reserva utilizada no prottipo existente. A figura 5.1 ilustra a vista semanal apresentada pelo bloco MRBS. De salientar que nesta figura os perodos j esto divididos em vinte e quatro blocos de uma hora cada, quando em boa verdade a verso original no apresenta esta interface.

Figura 5.1 - Vista semanal da ferramenta de reserva (MRBS)

5.2.2 Integrao no Moodle


O MRBS, tal como j foi referido, um bloco desenvolvido para integrar no Moodle. Apesar de ainda no fazer parte da sua verso base, extremamente fcil de instalar. O primeiro passo fazer o download do ficheiro comprimido do bloco MRBS, que pode ser feito na pgina do Moodle, no endereo http://www.moodle.org/mod/forum/discuss.php?d=38604#p408505. Aps efectuado o download do ficheiro, necessrio descompact-lo e mover os ficheiros para a pasta blocks, que se encontra na directoria em que foi instalado o Moodle. Uma vez concluido este passo, necessrio aceder pgina do servidor Moodle e efectuar o login como administrador, de modo a ter acesso barra de ferramentas de administrao do servidor. Nessa barra de ferramentas, que se encontra na pgina inicial do servidor Moodle, encontra-se a hiperligao notificaes, que permite ao servidor verificar a instalao de alguma aplicao. Se a cpia da pasta foi correctamente efectuada, dever visualizar na pgina do Moodle a informao sobre a adio das novas tabelas na base de dados e a confirmao que a operao foi efectuada com sucesso. O prximo passo aceder configurao deste bloco atravs do caminho Notifications > Modules > Blocks > Resource Scheduling e acrescentar no campo do endereo URL o caminho onde se encontra instalado o MRBS, isto : http://.../moodle/blocks/mrbs/web. Desta forma, o bloco MRBS j se encontra correctamente instalado na sua verso original. Para alm da descrio do processo de instalao do bloco, tambm imprescindvel a descrio de todas as alteraes efectuadas, de modo a ajustar o bloco aos objectivos

- 24 -

pretendidos. As primeiras alteraes e tambm as mais bsicas, so a alterao do nome do bloco e do nome da hiperligao de acesso ao MRBS, que sero visualizados no Moodle. Estas duas alteraes devem ser efectuadas no ficheiro block_mrbs.PHP, que se encontra no directrio C.\...\moodle\blocks\mrbs\lang\en_utf8 . Estas mudanas em nada alteram o funcionamento do bloco, mas sim o seu nome, que na sua definio inicial Resource Scheduling, e o nome da hiperligao, que Schedule a Resource (Computer Room) . As seguintes alteraes, fundamentais para esta ferramenta ir de encontro aos requisitos propostos, so efectuadas no ficheiro config.inc.PHP, que se encontra no directrio C:\...\moodle\blocks\mrbs\web. A definio inicial do bloco apresentava no quadro de reservas uma interface temporal composta por doze perodos, sendo a desejada de vinte e quatro perodos de uma hora, correspondentes s 24 horas dirias. assim necessrio acrescentar mais doze perodos e mudar o seu formato de apresentao, de perodos de um a doze, para o formato de intervalos de tempo de uma hora, respectivamente diferenciados. A definio inicial do MRBS apresentava uma vista diria, sendo a pretendida a semanal. O dia predefinido em que comea a semana alterado de domingo para segunda-feira. possvel tambm activar a definio de notificar o administrador e o professor, sempre que adicionada uma nova reserva. Devido sua extenso, encontram-se nos anexos as tabelas com o cdigo e as linhas respectivas, onde foi editado cdigo, com o fim de adaptar o bloco MRBS aos requisitos desejados. Nas tabelas 9.1 e 9.2 encontram-se enumeradas as alteraes necessrias para implementar as funes acima descritas, atravs da comparao dos campos mudados entre o ficheiro original e o final. Quando o utilizador pretende efectuar uma reserva, so apresentados campos desnecessrios na pgina de confirmar reserva, que fazem parte da verso base do MRBS. Desses campos, so exemplos a possibilidade de repetio diria, semanal ou mensal da reserva. Dessa forma foi necessrio proceder remoo desses campos, sem que isso afectasse o correcto funcionamento do bloco, tarefa que se torna delicada, uma vez que estamos a lidar com reservas em que os dados so gravados em bases de dados. Na tabela 9.3 encontram-se descritas as remoes de cdigo efectuadas no ficheiro edit_entry.PHP, que permite eliminar os campos desnecessrios. Outro objectivo do bloco MRBS disponibilizar a hiperligao de acesso experincia. A melhor soluo fazer o lanamento desta hiperligao na pgina de visualizao da reserva, onde se encontram os dados sobre quem a efectuou, incluindo o dia, a hora e a experincia qual se pretende aceder. Nesta pgina encontram-se ainda as opes de edio da reserva e possvel remoo, que apenas so disponveis se o utilizador for o mesmo que a efectuou. A introduo da hiperligao que permite o acesso ao laboratrio remoto feita no ficheiro view_entry.PHP que se encontra no directrio C:\...\moodle\blocks\mrbs\web atravs da adio do cdigo, presente na tabela 9.4. Este cdigo para alm de implementar o lanamento da hiperligao, s a torna visvel, se o utilizador que acede pgina da reserva for o mesmo que a efectuou. Foram criados dois ficheiros, comunicacao.PHP e controlo.PHP, que servem unicamente para abrir as duas pginas que permitem o acesso experincia remota, dividida em frames, impossibilitando a directa visualizao do endereo da pgina. Apesar de esta medida no ser de elevada segurana, de fcil implementao, e esconde o endereo da pgina, tal como pretendido. O cdigo que implementa o lanamento da pgina Web de comunicao e a do controlo, encontra-se na tabela 9.7 e na tabela 9.8, respectivamente.

Realizao tcnica - 25 -

Uma vez efectuadas as alteraes que adequam esta ferramenta aos nossos requisitos, necessrio por fim atribuir aos utilizadores as permisses de utilizao desta ferramenta. Esta atribuio feita no servidor de e-learning por um dos seus administradores. Aps feita a autenticao como administrador, acede-se ao menu lateral seguindo o caminho Users > Permissions > Define roles, onde depois feita a atribuio de permisses aos criadores de disciplinas, professores, professores no editores, alunos, convidados, etc. Uma vez feitas todas as alteraes acima descritas, o bloco MRBS, nossa ferramenta de reserva, est pronto a ser utilizado e vai de encontro aos requisitos impostos.

5.3 Instalao do software e criao dos VIs


Como j foi referido em captulos anteriores o software utilizado para a criao dos VIs foi o LabView, da National Instruments, pelo que o computador utilizado como servidor de laboratrio tem que ter uma verso deste software instalada. Um dos requisitos desttrabalho a possibilidade de visualizao em tempo real da bancada ou de alguma parte do circuito em particular. Para tal necessria a criao de um VI que permita a publicao da imagem adquirida pela cmara Web. O primeiro problema com que nos deparmos foi o facto de o software LabView, por si s, no suportar a publicao da imagem de uma cmara atravs de um VI. Aps procura na internet de modo a solucionar este problema, foi concludo que era necessria uma aplicao que permitisse a aquisio directa de imagens para o LabView. A soluo encontrada a aplicao NI-IMAQ for USB Cameras, que permite a aquisio de imagens de cmaras, cmaras Web, scanners e microscpios, que quando combinada com o software NI Vision Development Module, permite a aquisio de imagem para um VI. Uma vez instalado o software necessrio para desenvolver os VIs pretendidos, o prximo passo foi passar sua criao. Tal como j descrito no quarto captulo, de modo a cobrir a totalidade de experincias a realizar na cadeira de Microprocessadores, necessria a criao de um ou vrios VIs de modo a termos as possibilidades de comunicao com a carta, de interaco, de visualizao e de instrumentao. O VI ideal deveria integrar no painel frontal a interaco com a carta, a aquisio imagem da cmara Web, um osciloscpio e um gerador de sinais simplificado, o que permitia a publicao de unicamente dois VIs, o referido e o de comunicao. A criao de tal VI, para alm de cobrir a totalidade de experincias a realizar na cadeira de Microprocessadores, tambm evita o lanamento de demasiados painis de controlo. Em conjunto com este necessrio efectuar tambm o lanamento do VI de comunicao com a carta. Aps iniciada a criao do referido VI, deparmo-nos com a impossibilidade de conjugar todas estas ferramentas em um nico painel, pois a velocidade processamento no suficiente para responder com eficincia a este conjunto de blocos. Para alm disso, acresciam-se ainda problemas de sincronismo temporal entre os vrios blocos, uma vez que a comunicao com o DAQ era partilhada por mais do que um bloco dentro desse VI. Assim sendo, tivemos que dividir o VI ideal em dois VIs, o de interaco e visualizao e o de instrumentao. O VI que implementa a interaco com a carta CORE51 j estava previamente implementado, bastando por isso adicionar a possibilidade de aquisio de imagem da cmara Web instalada no laboratrio. Desta forma foi necessrio editar este VI e adicionar na janela do bloco de diagramas o mdulo USB Acquisition, e posteriormente configurar este bloco

- 26 -

correctamente com o dispositivo de entrada e formato da imagem a ser apresentada no painel frontal. O painel frontal respectivo a este VI est ilustrado na figura 5.2.

Figura 5.2 - VI de interaco com a CORE51

De forma a desenvolver o painel de instrumentao, era necessrio integrar em um nico VI um osciloscpio e um gerador de sinais simplificado. Ambos os VIs se encontravam disponveis atravs do software de instalao da NI ELVIS, o que primeira vista pode induzirnos no erro de considerar tarefa fcil a sua juno. Este processo no de todo trivial, pois a programao em LabView no permite a simples opo de copiar o VI original e col-lo em outra janela. Desta forma foi necessrio escolher qual dos VIs iria ser tomado como inicial e que seria editado a fim de implementar o restante. Como o VI que apresenta maior grau de complexidade o osciloscpio, este foi editado a fim de lhe ser acrescentado um gerador de funes simplificado. Uma vez que estamos a editar um VI standard, includo no pacote NI ELVIS, convm fazer uma cpia para uma directoria diferente, de modo a no alterar o VI original. Na janela do bloco de diagramas foi editado o VI do osciloscpio, sendo acrescentados os ciclos e blocos que, aliados aos apropriados controladores e indicadores, permitiram implementar o gerador de funes. A figura 5.3 apresenta o resultado final da integrao destes dois VIs em um nico painel frontal.

Realizao tcnica - 27 -

Figura 5.3 - VI de instrumentao

Este VI, tal como desejado, apresenta as seguintes funcionalidades: Osciloscpio: 1. Visualizao de dois sinais em simultneo ou alternados 2. Regulao da escala vertical, ou seja, da grandeza a medir 3. Regulao da escala horizontal, ou seja, da escala temporal 4. Trigger com qualquer um dos dois canais existentes Gerador de funes: 5. Aplicao de uma forma de onda com amplitude a variar entre 0 e 2,5 V 6. Offset CC a variar entre -4,5 a 4,5 V 7. Frequncia varivel de 0 a 250 kHz 8. Aplicao de uma onda sinusoidal, quadrada ou triangular.

Por fim resta o painel de comunicao com a carta CORE51, que foi o nico que no houve a necessidade de criar nem alterar, pois o prottipo existente j apresentava este VI a funcionar da forma desejada. O painel frontal de comunicao est representado na figura 5.4.

- 28 -

Figura 5.4 - VI de comunicao

De salientar que a programao em LabView grfica, pelo que se torna impraticvel descrever todos os passos para a criao dos VIs acima descritos. Desta forma encontram-se como anexo em formato digital, todos os ficheiros relativos a estes painis, permitindo assim a visualizao da programao utilizada. Apresentados os VIs criados, necessrio ainda referir a ligao existente entre o painel de comunicao e o painel de controlo, que em certa parte funcionam em sincronismo. Como j foi explicado anteriormente, atravs do VI de controlo que escolhido o modo de operao da carta CORE51, atravs da sua seleco no menu dropdown, assim como atravs do VI de comunicao que feita transferncia de dados com a CORE51. Assim sendo, a comunicao com a CORE51 vai ser influenciada pelo modo de operao escolhido, o que obriga a que haja uma comunicao entre estes dois VIs para que o de comunicao tenha conhecimento de qual o modo escolhido pelo utilizador. A cada modo de operao possvel de escolher no menu dropdown, est associado um valor numrico que vai ser interpretado pelo VI de comunicao. No bloco de diagramas deste VI existe uma estrutura de eventos, que faz corresponder o respectivo evento a cada valor do modo de operao escolhido. No caso da seleco do cold test activado sequencialmente cada um dos sinais de controlo e retornado para a janela de estados do VI de comunicao o estado da memria da CORE51. Quanto ao modo hex upload, assim que executado, o painel de comunicao recebe na caixa de texto Status a informao sobre o estado da memria e indica ao utilizador que se encontra espera da transferncia do cdigo. Uma vez colado o cdigo na caixa de texto Hex

Realizao tcnica - 29 -

upload e pressionado o boto de Transfer, iniciada a transferncia do cdigo para a CORE51. Assim que ela terminar, a CORE51 fica espera do carcter ASCII de espao, de forma a dar inicio ao programa, informao essa que tambm apresentada em Status. No caso da seleco do modo manual no painel de controlo, o VI de comunicao acciona o evento respectivo a este modo, que corresponde aplicao dos sinais de controlo (array de interruptores) nas teclas da CORE51.

5.4 Hardware da bancada on-line


Apesar de a maioria do hardware utilizado na implementao desta bancada on-line j ter sido referido no decorrer dos captulos anteriores, necessrio descrever com mais pormenor todo o hardware utilizado. De forma evidente pode-se considerar o computador, que vai ser o servidor de laboratrio e o principal componente de hardware que constitui a bancada, uma vez que os restantes componentes sero obrigatoriamente a ele ligados. O computador necessita tambm de ter interface para ligao RS232, pois a comunicao com a CORE51 efectuada atravs deste standard. Assim sendo, a CORE51 outro componente de hardware a utilizar nesta bancada e talvez um dos mais significativos, pois em boa verdade onde se encontra o poder de processamento da bancada de trabalho, ou seja, da experincia a realizar. Para alm desta interface, o computador necessita ainda de uma placa para se ligar rede da FEUP e colocar a experincia disponivel via Web. Outra parte importante desta bancada a plataforma NI ELVIS, que veio revolucionar o acesso remoto a experincias e qual ainda ligada a carta CORE51. Visto que a interface standard de um computador no permite a sua ligao directa com a NI ELVIS, necessria a utilizao de uma placa de aquisio (NI-DAQ), que vem em conjunto com a plataforma. necessria tambm a placa que permite a criao de prottipos e a ligao com a NI ELVIS, que desta forma possibilita o acesso a todas as entradas, sadas e instrumentao da plataforma, atravs dos conectores disponibilizados. Tal como j foi referido em outros captulos, existe a necessidade de uma imagem em tempo real, por isso uma cmara USB faz tambm parte do hardware que integra a bancada on-line. Para alm do hardware j mencionado, pode haver a necessidade de utilizar outros componentes, que se justificam pela natureza da experincia a realizar. So exemplos, variados tipos de componentes electrnicos que vo ser utilizados na rea de prottipo com o fim de o trabalho desejado.

5.4.1 A carta CORE51 e a ligao estao NI ELVIS


A placa CORE51 ilustrada na figura 5.3 destina-se ao desenvolvimento de programas para a famlia 51 da Intel. Permite uma melhor familiarizao com os modos de funcionamento dos perifricos internos dos microcontroladores dessa famlia, bem como de muitos outros compatveis com ela. Pode ser utilizada como um sistema autnomo para auto-aprendizagem ou como ncleo de circuitos mais complexos, dispondo para isso de todos os sinais necessrios sua expanso.

- 30 -

O desenvolvimento de programas para esta placa deve ser feito tendo em conta que sero executados a partir do endereo 0x0000. Podem ser desenvolvidos em assembly ou qualquer linguagem de alto nvel para a qual exista compilador. Para interface com o utilizador dispe de quatro LEDs, activos a zero, ligados de P1.4 (LED 1) a P1.7 (LED 4), e de quatro teclas, activas a zero, ligadas de P1.3 (TECLA 1) a P1.0 (TECLA 4). Dispe ainda de uma tecla (RESET) para inicializao manual do programa e outra (INTR) para gerao de uma interrupo. Para proceder ligao e teste da placa, esta deve ser ligada sada de 12V da fonte de alimentao e a uma porta srie do computador e correr uma aplicao de emulao de terminal (Teraterm ou Hyperterminal) que permitem, em caso de necessidade, acompanhar o auto teste da placa atravs das mensagens que ela envia. Para isso devem pressionar-se todas as seis teclas da placa, largando-se de seguida largar a tecla RESET e s depois as restantes. Se tudo estiver funcional os LEDs da placa acendem alternadamente e no ecr do PC aparece uma mensagem de confirmao.

Figura 5.5 - Carta CORE51 [origem: 5]

A integrao da CORE51 com a NI ELVIS obtida atravs do VI de comunicao e do de interaco com a carta. Em boa verdade a CORE51 e a plataforma NI ELVIS no se encontram fisicamente ligados por meio de algum interface, mas sim atravs de software que comunica com ambas. A CORE51 apenas faz parte de um circuito que est montado na placa de prottipo da NI ELVIS.

5.4.2 Adaptao a outros Microcontroladores/Microprocessadores


Esta bancada tem como objectivo o ensino da cadeira de Microprocessadores atravs do uso do microcontrolador da famlia 80C51, mas essa limitao pode ser ultrapassada com algumas modificaes. Independentemente do microprocessador ou microcontrolador a utilizar, a lista de VIs necessrios no se alteraria, bem como o hardware acima descrito, com a excepo da carta CORE51. Esta como sabemos permite uma maior familiarizao com os

Realizao tcnica - 31 -

modos de funcionamento dos perifricos internos dos microcontroladores da famlia 80C51, mas tal como estes, outros cumpririam com a mesma ou at maior eficincia os requisitos impostos para esta bancada. Uma alternativa que foi tambm estudada durante o desenvolvimento deste trabalho foi a carta Keil MCB900, que s no foi utilizada devido actual familiarizao com a CORE51, bem como a j existncia do VI de comunicao na verso prottipo. Independentemente da posterior opo pela CORE51, a carta Keil MCB 900, ilustrada na figura 5.6, foi objecto de estudo detalhado, pelo que apesar da sua no incluso nesta bancada, pode vir a ser includa em bancadas futuras. Desta forma de boa prtica apresentar um sumrio das suas caractersticas:

Figura 5.6 - Placa Keil MCB900 [origem: 7]

Microcontrolador P89LP932/5 da Philips montado num PLCC socket XTAL a 7,3 MHz Possui ISD51 interface (nova tecnologia de monitorizao para programas do 8051) Memria RAM integrada de 0,7K Memria Flash integrada de 8K 8 LEDs ligados a E7S de microcontrolador Entrada analgica (potencimetro) Porta srie (RS232) rea de prottipo para o circuito do utilizador Dimenses da placa (58 x 110 mm) Tenso de alimentao de 5-9 VCC Corrente tpica de 50 mA

Corrente mxima de 100 mA Esta carta apresenta trs modos de funcionamento distintos, sendo dois deles fundamentais para a realizao de uma experincia. Apesar do modo uVision2/ISD51 ser pouco utilizado, ou at mesmo dispensvel para o nosso projecto, os dois restantes modos, Flash Magic e User Run, so indispensveis. A escolha do modo de funcionamento feita manualmente atravs de trs jumpers que se encontram na placa, ou seja, inserindo umas cpsulas que permitem a sua activao. Uma vez que a experincia deve ser acedida distncia, torna-se primordial encontrar uma soluo que permita efectuar esta seleco

- 32 -

remotamente. Tal ser possvel atravs da integrao de trs micro-rels na rea de prottipo da carta, sendo o controlo feito atravs de trs entradas digitais acessveis ao utilizador. Desta forma, torna-se fundamental o uso do VI referente ao array de interruptores que vai permitir ao utilizador actuar nos rels atravs das entradas digitais, permitindo seleccionar o modo de funcionamento desejado. Esse VI j foi apresentado no captulo referente biblioteca de VIs necessria para abranger a totalidade de experincias a serem desenvolvidas na cadeira de Microprocessadores. Uma vez resolvido o problema da seleco dos vrios modos de funcionamento, importante descrever os vrios passos a efectuar de modo a realizar uma experincia remota com esta carta. O primeiro modo o Flash Magic, que permite carregar o cdigo para a memria do microcontrolador. De salientar que neste modo efectuado o reset da carta, pois um dos jumpers a ser activado o do Reset. Uma vez carregado o cdigo na memria flash, seleccionado o modo User Run, que permite ao utilizador executar o programa armazenado na memria do microcontrolador. Na tabela 5.1 apresentamos os vrios modos de funcionamento associados seleco dos jumpers. Tabela 5.1 - Modos de operao da Keil MCB900 [origem: 8] Modo de Operao Jumpers Run (3.3v fixos em VDD) Reset (via porta COM) Flash Magic OFF ON User Run ON OFF Vision/ISD51 OFF ON

Quanto ao jumper AV, deve ser usado para conectar o potencimetro ao pino de entrada AD12, que um conversor A/D. Atravs dos jumpers, a placa MCB900 pode ser configurada para funcionar nos seguintes modos [8]: FlahsMagic programando a Flash ROM do P89LCP932, que usa um carregador ISP Flash especial uVision2/ISD51 In-System Debugging com a Keil ISD51 User Run executa a aplicao guardada na Flash ROM da P89LPC932

De modo a ser possvel a integrao desta carta na bancada necessrio efectuar algumas alteraes nos VIs de comunicao e de interaco. A CORE51 recebe o cdigo Intel HEX por comunicao RS232C, e o mesmo sucede com a Keil MCB900. No caso da CORE51, assim que efectuada a transferncia do cdigo, esta fica espera do carcter ASCII de espao para confirmar a execuo, sendo a escolha do modo de funcionamento feita atravs do VI de interaco com a carta. J no caso da Keil MCB900 a seleco do modo de funcionamento feita atravs dos jumpers, que teriam que ser orientados atravs de micro-rels, que por sua vez eram controlados pelo VI de interaco com a carta atravs das entradas digitais existentes. Uma vez que o VI de comunicao e o de interaco se encontram irredutivelmente associados, teriam que ser feitas algumas modificaes na programao de ambos.

Apresentao da bancada - 33 -

Captulo 6 Apresentao da bancada


Ao contrrio do captulo anterior, que apresentou uma abordagem maioritariamente tcnica, que visava descrever todo o processo de realizao da bancada on-line, bem como servir de guia prtico de apoio sua utilizao, o presente captulo tem como objectivo a apresentao final da bancada. Vo ser descritos pormenorizadamente todos os passos que devem ser executados pelo utilizador para realizar uma experincia, desde a autenticao e reserva no Moodle, at ao interface final que permite ao utilizador controlar as experincias. tambm apresentado um exemplo prtico de todo o processo de realizao de uma experincia atravs do acesso on-line a uma bancada situada em um laboratrio do DEEC.

6.1 Autenticao e reserva da bancada


Tal como j foi referido em captulos anteriores, pretendeu-se que a ferramenta de reserva estivesse disponvel no servidor de e-learning da FEUP, ou seja, atravs do endereo http://moodle.fe.up.pt. Uma vez que no foi ainda efectuada a integrao do bloco MRBS no servidor Moodle da FEUP por ser necessria uma srie de testes que apenas se realizam em perodos de transio, foi disponibilizado o servidor Moodle de teste do prximo ano lectivo, que usado antes de ser efectuada alguma alterao no servidor principal da faculdade. Desta forma foi-nos atribuda uma conta com privilgios de professor, para que pudssemos adicionar disciplinas e experincias ao bloco MRBS. Em boa verdade, o facto de ser utilizado o servidor de testes, em nada prejudicou o objectivo pretendido, pois este servidor tambm suportava a autenticao via LDAP, que uma das finalidades de integrao deste bloco no servidor da FEUP. Desta forma foi utilizado o servidor Moodle de teste que acessvel a partir do endereo http://moodle.fe.up.pt/dev0809, ao invs do acima mencionado. Assim que este bloco seja submetido aos respectivos testes e posteriormente adicionado no Moodle de produo, os utilizadores podero aceder bancada on-line atravs do servidor Moodle da faculdade. O utilizador para, poder realizar uma experincia on-line, deve aceder pgina http://moodle.fe.up.pt/dev0809 e efectuar o login com os dados do SIFEUP.

- 34 -

Aps efectuado o login, vai ser visualizada a pgina principal do Moodle, onde se encontra no canto inferior direito, a hiperligao de acesso ferramenta de reserva, com o nome de Labs On The Web, onde o utilizador deve clicar. Uma vez na pgina do bloco MRBS, visualizado um calendrio semanal, dividido em blocos de uma hora cada, em que o utilizador pode ver o actual estado de reservas da bancada e, se o desejar, efectuar a sua prpria reserva. Na figura 6.1 apresentado o interface visualizado pelo utilizador quando pretende adicionar uma reserva.

Figura 6.1 - Confirmao da reserva

permitido ao utilizador aceder pgina de reserva de outros utilizadores, a fim de saber quem efectuou a reserva, mas as opes de editar ou eliminar essa reserva s esto disponveis para quem a efectuou e para o professor da cadeira. A figura 6.2 apresenta o aspecto de uma pgina de reserva.

Figura 6.2 - Visualizao da reserva

Apesar de nesta fase de teste apenas se encontrar uma bancada operacional, no futuro podem ser implementadas mais do que uma, podendo o aluno escolher qual a da bancada a que deseja aceder. Assim sendo, existe um menu dropdown (figura 6.3) que permite escolher uma de entre as possveis experincias, sendo carregado o calendrio de reservas referente bancada seleccionada.

Apresentao da bancada - 35 -

Figura 6.3 - Seleco da experincia no caso de multi-laboratrio

Em cada um dos blocos de uma hora ainda no reservados encontra-se um sinal de adio que, uma vez clicado, permite ao utilizador efectuar a reserva para a hora escolhida. Uma vez feita a reserva, o sinal de adio previamente existente no perodo de acesso pretendido substitudo por uma hiperligao com o nome do utilizador. Esta hiperligao permite a todos os utilizadores aceder pgina da respectiva reserva, sendo atribudos unicamente privilgios de edio ao utilizador que a fez. Deste modo, o utilizador pode editar ou at mesmo eliminar a reserva, se assim o pretender, bastando para tal aceder pgina respectiva e efectuar as aces pretendidas. Assim que chega a hora de acesso reservada, lanada uma hiperligao que permite ao aluno aceder aos VIs da experincia on-line.

Figura 6.4 - Pgina inicial do Moodle da FEUP na sua verso de testes

6.2 Interface com a bancada


A interaco entre o utilizador e a bancada efectuada atravs de duas pginas Web, que so lanadas pelo bloco MRBS. Uma das pginas Web apresenta-se dividida em dois frames, nos quais vo ser carregados o VI de interaco com a carta e o VI de instrumentao. Na outra pgina Web carregado o VI de comunicao. Uma vez que j foi descrito o processo de criao de cada VI, essa abordagem no vai ser repetida, sendo apenas explicado o modo de controlo dos painis atravs das pginas Web carregadas. Comeando pelo VI de comunicao, o utilizador pode limpar as duas caixas de texto existentes, a superior e a inferior. A superior no editvel e apenas serve como interface de

- 36 -

informao sobre o estado da comunicao com a CORE51 e o seu modo de funcionamento. Quanto caixa inferior onde deve ser colado o cdigo em Intel HEX, que ser transferido para a carta atravs do boto com esse nome. Na caixa superior ser visualizada informao relativa comunicao e transferncia. Se tudo estiver a funcionar correctamente pedido ao utilizador para pressionar a tecla de espao, a fim de executar o programa transferido, tal como mostra a figura 6.5.

Figura 6.5 - Janela Web do VI de comunicao

Os restantes dois VIs sero visualizados em duas frames e permitem a posterior visualizao e controlo da experincia. A figura 6.6 apresenta na frame superior o VI de interaco com a CORE51, ficando assim o VI de instrumentao na frame inferior.

Apresentao da bancada - 37 -

Figura 6.6 - Janela Web do VI de interaco com a experincia

Quanto ao VI de interaco, este apresenta um menu dropdown que permite a escolha do modo de funcionamento da CORE51. Assim que seleccionado o modo desejado necessrio clicar o boto play para dar inicio execuo do modo escolhido. Existe ainda o boto stop para interromper a execuo do modo manual. Uma vez que o modo manual o que permite o controlo da experincia por parte do utilizador, necessrio ainda descrever a funo do array de seis botes existentes neste VI. Tal como j foi referido no captulo anterior, a CORE51 apresenta um boto de interrupo, um de reset e quatro ligados s teclas de entrada da carta, que so controlados pelo array de seis botes. Ainda nesta frame possvel de visualizar uma imagem em tempo real da experincia, adquirida atravs de uma cmara Web. O VI de instrumentao no apresenta nenhuma complexidade quanto sua utilizao, visto que se trata de um interface muito prtico, que relembra os instrumentos reais que os alunos j esto certamente habituados a usar nas aulas prticas. O osciloscpio permite a visualizao de um ou de dois canais em simultneo, bem como a regulao das escalas vertical e horizontal. Para alm disso, possibilita ainda o trigger com qualquer um dos canais e o acoplamento CC ou CA. Quanto ao gerador de funes, permite a seleco da amplitude, frequncia e offset do sinal a aplicar, bem como a escolha do tipo de onda, atravs de um menu dropdown. O gerador de funes encontra-se previamente desligado, pelo que se for pretendida a sua utilizao necessrio clicar no boto de activao respectivo.

6.3 Exemplo de aplicao


De modo a que o utilizador tenha uma clara e correcta ideia do acesso on-line a uma experincia da cadeira de Microprocessadores, exemplificado neste subcaptulo todo o

- 38 -

procedimento de reserva e acesso bancada que implementa o lanamento de um dado electrnico. O primeiro passo aceder pgina do Moodle, atravs do endereo http://moodle.fe.up.pt/dev0809. De seguida o utilizador deve efectuar o login com os seus dados do SIFEUP. Uma vez registado, deve ser visualizado na pgina principal do Moodle a hiperligao com o nome de Labs On The Web, que permite o acesso ao laboratrio on-line, tal como exemplificado na figura 6.7.

Figura 6.7 - Pgina inicial do Moodle de testes

Aps clicarmos nessa hiperligao, -nos apresentado um calendrio semanal, a comear na corrente semana, com um menu dropdown que permite escolher a experincia a realizar. No caso da figura 6.3 so indicadas de trs experincias com o intuito de dar a entender a possibilidade de mltiplo laboratrio. Neste caso o menu dropdown apresenta apenas a experincia do dado electrnico, pois a nica que se encontra disponvel. Aps efectuar a reserva e chegado o respectivo intervalo, acedemos pgina correspondente clicando no nosso nome de utilizador, que aparece no perodo respectivo, de modo a podermos aceder experincia. Se o acesso a esta pgina for dentro do tempo por ns reservado, aparece uma hiperligao que permite o acesso experincia on-line, tal como mostra a figura 6.8.

Apresentao da bancada - 39 -

Figura 6.8 - Pgina da reserva

Assim que clicarmos nessa hiperligao, so lanadas duas janelas de navegao, onde sero carregados os dois VIs que permitem a completa interaco com a experincia, tal como se pode verificar na figura 6.9.

Figura 6.9 - Janelas de navegao com os dois VI's carregados

O prximo passo seleccionar e executar o modo cold test, de forma a verificar o estado da CORE51 e da sua comunicao. Se a informao obtida na caixa de texto Status for positiva, procedemos transferncia do cdigo hexadecimal. Para tal executamos o modo hex upload e de seguida colamos o cdigo objecto do programa na caixa de texto respectiva. Assim que carregamos no boto transfer iniciada a transferncia do cdigo e dada a informao de que a CORE51 se encontra espera do carcter espao para executar o programa. Esta informao pode ser comprovada atravs do exemplo da figura 6.10.

- 40 -

Figura 6.10 - Transferncia do cdigo hexadecimal

Por ltimo, colocado em execuo o modo manual, que o que nos permite interagir com a experincia. Uma vez que no caso do lanamento de um dado electrnico no necessria a utilizao do osciloscpio, foram ligadas aos dois canais deste, as sadas que permitem acender os LEDs correspondentes ao resultado um e ao resultado dois. Uma vez que os LEDs acendem sempre que a sada do microcontrolador a eles ligada estiver a nvel lgico zero, devemos visualizar no osciloscpio um sinal de amplitude zero no caso de sair algum dos nmeros referidos. As figuras 6.11 e 6.12 exibem os casos em que saram os resultados, dois e trs, respectivamente. De salientar que no caso do nmero trs, encontram-se acesos os LEDs correspondentes ao acender do resultado um e do dois, da serem abservados dois sinais a nvel lgico zero. J no caso do resultado dois, tal com verificado, obtemos um sinal a nvel lgico "um"e outro a zero. Uma vez efectuados todos os lanamentos desejados, fechamos o navegador Web de forma a pormos termo experincia.

Apresentao da bancada - 41 -

Figura 6.11 - Lanamento do dado em que saiu o nmero dois

Figura 6.12 - Lanamento do dado em que saiu o nmero trs

- 42 -

Concluso - 43 -

Captulo 7 Concluso
Este captulo efectua a avaliao final do trabalho desenvolvido e indica possveis direces de futuro. Esta anlise feita relativamente aos objectivos alcanados, ao grau de sucesso com que foram implementados e tambm aos que no foram alcanados, mas que podem ser alvos de desenvolvimento em trabalhos futuros.

7.1 Anlise crtica


No incio deste documento foi descrito o objectivo do trabalho, que resumidamente era implementar uma bancada on-line para apoiar o ensino da cadeira de Microprocessadores. Em boa verdade posso afirmar que esse objectivo foi atingido, se bem que como em quase todo o projecto e devido escassez de tempo, houve certas partes que ficaram por aperfeioar. Quanto aos VIs de acesso bancada on-line, foram desenvolvidos de forma a serem o mais funcionais possveis e a abranger um amplo leque de experincias com interesse na cadeira de Microprocessadores, objectivo esse que foi concludo com xito. J no que respeita ao mecanismo de reserva, o MRBS uma ferramenta de grande utilidade e que, devido sua natureza de cdigo aberto permite uma fcil adaptao s nossas necessidades. Devido escassez de tempo, no foi possvel desenvolver esta bancada em cooperao com uma universidade do Brasil, a fim de esses alunos poderem aceder bancada localizada no DEEC (e aos alunos da FEUP poderem aceder a uma bancada situada no Brasil). Outro ponto que no foi possvel de melhorar a segurana no acesso bancada, pois apesar de os VIs serem lanados em frames, que ocultam automaticamente o endereo URL, relativamente fcil obt-lo. De salientar que apesar desta imperfeio, apenas os alunos da faculdade tm acesso bancada, visto que preciso estar ligado localmente rede da FEUP, no recinto da faculdade ou no exterior, atravs de uma ligao VPN. Resumindo, pode afirmar-se que os objectivos principais deste trabalho foram alcanados dentro das limitaes iniciais referentes familiarizao com esta tecnologia e tambm s linguagens de programao usadas.

- 44 -

7.2 Direces de futuro


Este subcaptulo aparece evidentemente associado ao anterior, uma vez que algumas das possveis direces de futuro resultam de alguns objectivos que no foram alcanados, ou que merecem uma optimizao. A primeira sugesto como direco de futuro a parceria com uma faculdade do Brasil, tal como j referido na anlise crtica, permitindo tambm aos alunos das vrias faculdades a realizao de um maior conjunto de experincias, bem como a troca de informao e conhecimento. Em segundo lugar, a optimizao do sistema de lanamento do acesso experincia tambm um importante aspecto a melhorar, respectivamente no que diz respeito segurana. O prottipo existente apresentava um URL de acesso aos VIs em que era constitudo por uma parte hexadecimal, renovada de hora em hora. Devido falta de documentao no nos foi possvel implementa-la dentro dos limites de tempo impostos. Assim sendo, a aplicao deste mecanismo na bancada, ou de outro semelhante pode ser alvo de desenvolvimento futuro. Por ltimo, a utilizao de vdeo-conferncia no foi integrada nos VIs, uma vez que os tornaria ainda mais pesados, para alm de que o software Macromedia Flash Player utilizado na verso de prottipo, no um software grtis, o que obriga compra de licenas e posteriores renovaes. Para alm disso, a actual existncia de softwares livres que permitem vdeo-conferncia, como o caso do Skype e do MSN tornam menos til a integrao destes recursos no VI.

Referncias - 45 -

Referncias
[1] M. Teresa Restivo, Fernando G Almeida, M. Ftima Chouzal, Joaquim Mendes e Antnio M. Lopes. Laboratrios Remotos: monitorizao e actuao via Web. Faculdade de Engenharia da Universidade do Porto, Dezembro de 2006. [2] J. M. Martins Ferreira, Elisabete Almeida, Isabel Figueiredo, Carlinda Leite. Labs-on-theWeb A multitidisciplinary project to evaluate the pedagogical effectiveness of on-line Labs. EDEN 2008, Lisboa, 11-14 Junho. [3] Lamar University, disponvel em http://www.ee.lamar.edu/EELABS/images/NI-ELVIS.jpg. Acedido em 14/Maio/2008. [4] Alberto Jos vares, Joo Carlos Espndola Ferreira. Metodologia para implantao de laboratrios remotos via internet na rea de automao da manufactura. ABCM 2003, 18-21 de Maio. [5] Joo Paulo Filipe de Sousa. Familiarizao com a CORE51. Faculdade de Engenharia da Universidade do Porto, Outubro de 2005. [6] Moodle da FEUP, instalao do Moodle, disponvel http://moodle.fe.up.pt/2005/doc/?file=install.html. Acedido em 12/Maro/2008. em

[7] Equinox Techonolies, disponvel em http://www.equinoxtech.com/products/images/keil/mcb900_230.jpg. Acedido em 13/Junho/2008. [8] Keil, Embedded Development Tools, http://www.keil.com/support/man/docs/mcb900/mcb900_overview.htm. 13/Junho/2008. disponvel Acedido em em

- 46 -

Anexo A: Alteraes no bloco MRBS - 47 -

Anexo A: Alteraes no bloco MRBS


Tabela 9.1 - Configurao dos perodos de reserva Ficheiro original $resolution = 1800; $periods[] = "Period 1"; $periods[] = "Period 2"; $periods[] = "Period 3"; $periods[] = "Period 4"; $periods[] = "Period 5"; $periods[] = "Period 6"; $periods[] = "Period 7"; $periods[] = "Period 8"; $periods[] = "Period 9"; $periods[] = "Period 10"; $periods[] = "Period 11"; $periods[] = "Period 12"; Ficheiro final $resolution = 3600; $periods[] = "00h00&nbsp&nbsp -&nbsp&nbsp 01h00"; $periods[] = "01h00&nbsp&nbsp -&nbsp&nbsp 02h00"; $periods[] = "02h00&nbsp&nbsp -&nbsp&nbsp 03h00"; $periods[] = "03h00&nbsp&nbsp -&nbsp&nbsp 04h00"; $periods[] = "04h00&nbsp&nbsp -&nbsp&nbsp 05h00"; $periods[] = "05h00&nbsp&nbsp -&nbsp&nbsp 06h00"; $periods[] = "06h00&nbsp&nbsp -&nbsp&nbsp 07h00"; $periods[] = "07h00&nbsp&nbsp -&nbsp&nbsp 08h00"; $periods[] = "08h00&nbsp&nbsp -&nbsp&nbsp 09h00"; $periods[] = "09h00&nbsp&nbsp -&nbsp&nbsp 10h00"; $periods[] = "10h00&nbsp&nbsp -&nbsp&nbsp 11h00"; $periods[] = "11h00&nbsp&nbsp -&nbsp&nbsp 12h00"; $periods[] = "12h00&nbsp&nbsp -&nbsp&nbsp 13h00"; $periods[] = "13h00&nbsp&nbsp -&nbsp&nbsp 14h00";

- 48 -

$periods[] = "14h00&nbsp&nbsp -&nbsp&nbsp 15h00"; $periods[] = "15h00&nbsp&nbsp -&nbsp&nbsp 16h00"; $periods[] = "16h00&nbsp&nbsp -&nbsp&nbsp 17h00"; $periods[] = "17h00&nbsp&nbsp -&nbsp&nbsp 18h00"; $periods[] = "18h00&nbsp&nbsp -&nbsp&nbsp 19h00"; $periods[] = "19h00&nbsp&nbsp -&nbsp&nbsp 20h00"; $periods[] = "20h00&nbsp&nbsp -&nbsp&nbsp 21h00"; $periods[] = "21h00&nbsp&nbsp -&nbsp&nbsp 22h00"; $periods[] = "22h00&nbsp&nbsp -&nbsp&nbsp 23h00"; $periods[] = "23h00&nbsp&nbsp -&nbsp&nbsp 00h00";

Tabela 9.2 - Configurao inicial do bloco MRBS Ficheiro inicial $weekstarts = 0; $dateformat = 0; $area_list_format = "list"; $default_view = "day"; define ("MAIL_AREA_ADMIN_ON_BOOKINGS", FALSE); define ("MAIL_ROOM_ADMIN_ON_BOOKINGS", FALSE); define ("MAIL_ADMIN_ON_BOOKINGS", FALSE); $weekstarts = 1; $dateformat = 1; $area_list_format = "select"; $default_view = "week"; define ("MAIL_AREA_ADMIN_ON_BOOKINGS", TRUE); define ("MAIL_ROOM_ADMIN_ON_BOOKINGS", TRUE); define ("MAIL_ADMIN_ON_BOOKINGS", TRUE); Ficheiro final

Anexo A: Alteraes no bloco MRBS - 49 -

Tabela 9.3 - Remoo dos campos desnecessrios Cdigo a remover <TR><TD CLASS=TR><B> <?php echo get_vocab("fulldescription")?> </B> </TD> <TD CLASS=TL> <TEXTAREA NAME="description" ROWS=8 COLS=40 WRAP="virtual"> <?php echo htmlspecialchars ( $description ); ?> </TEXTAREA> </TD> </TR> <?php } ?> <TR><TD CLASS=CR><B><?php echo get_vocab("duration");?></B></TD> <TD CLASS=CL><INPUT NAME="duration" SIZE=7 VALUE="<?php echo $duration;?>"> <SELECT NAME="dur_units"> <?php if( $enable_periods ) $units = array("periods", "days"); else $units = array("minutes", "hours", "days", "weeks"); while (list(,$unit) = each($units)) { echo "<OPTION VALUE=$unit"; if ($dur_units == get_vocab($unit)) echo " SELECTED"; echo ">".get_vocab($unit); } ?> </SELECT> <INPUT NAME="all_day" TYPE="checkbox" VALUE="yes" onClick="OnAllDayClick(this)"> <?php echo get_vocab("all_day"); ?> </TD></TR> <TR><TD CLASS=CR><B><?php echo get_vocab("type")?></B></TD> <TD CLASS=CL><SELECT NAME="type"> 459 a 467 Linhas

296 a 298

332 a 355

- 50 -

<?php for ($c = "A"; $c <= "J"; $c++) { if (!empty($typel[$c])) echo "<OPTION VALUE=$c" . ($type == $c ? " SELECTED" : "") . ">$typel[$c]\n"; } ?></SELECT></TD></TR> <TR> <TD CLASS=CR><B><?php echo get_vocab("rep_type")?></B></TD> <TD CLASS=CL> echo "<INPUT NAME=\"rep_type\" TYPE=\"RADIO\" VALUE=\"" . $i . "\""; if($i == $rep_type) echo " CHECKED"; echo ">" . get_vocab("rep_type_$i") . "\n"; <TR> <TD CLASS=CR><B><?php echo get_vocab("rep_end_date")?></B></TD> <TD CLASS=CL><?php genDateSelector("rep_end_", $rep_end_day, $rep_end_month, $rep_end_year) ?></TD> </TR> <TR> <TD <?php for ($i = 0; $i < 7; $i++) { $wday = ($i + $weekstarts) % 7; echo "<INPUT NAME=\"rep_day[$wday]\" TYPE=CHECKBOX"; if ($rep_day[$wday]) echo " CHECKED"; CLASS=CR><B><?php echo get_vocab("rep_rep_day")?></B> <?php echo 490 a 497 472 a 473

478 a 483

get_vocab("rep_for_weekly")?></TD>

500 a 506

Anexo A: Alteraes no bloco MRBS - 51 -

echo ">" . day_name($wday) . "\n"; } <TR> <TD CLASS=CR><B><?php echo get_vocab("rep_num_weeks")?></B> <?php echo 547 a 550

get_vocab("rep_for_nweekly")?></TD> <TD CLASS=CL><INPUT TYPE=TEXT NAME="rep_num_weeks" VALUE="<?php echo $rep_num_weeks?>"> </TR>

- 52 -

Tabela 9.4 - Lanamento da hiperligao de acesso aos painis de controlo Cdigo a acrescentar <script language="Javascript"> //lanamento das dois paineis em duas janelas separadas function teste() { window.open ("controlo.php"); window.open ("comunicacao.php"); } </script> <?php if ($year == $yr) { if($month == $mth2) { if($day == $dy) { if($start_date[0] == $info[0]) { if($start_date[1] == $info[1]) { if($user == $row[0]) { //lanamento do link com chamada da funo java que lana as duas janelas assim que efectuado click ?> <a color="#607B8B">Laboratory Acess</b></a> <?php } } onclick="teste()"> <b><font 353 a 385 Linhas

Anexo A: Alteraes no bloco MRBS - 53 -

} } } } ?>

Tabela 9.5 - Compatibilizao dos dados temporais Cdigo a acrescentar <?php $user = getUserName(); #utilizador que esta a visualizar a reserva $id = required_param('id', PARAM_INT); #utilizador que efectuou a reserva mrbsGetEntryInfo($id); #obter as informaes da reserva que retorna o array de strings row[0] $time = time(); $info = userdate($time, '%H'); #da a hora actual $yr = date("Y"); $mth = date("M"); $dy = date("d"); if ($dy[0] == 0) //se o primeiro numero for um 0, elimina o 0 a fim de comparar com o dia da reserva pois no formato em que se encontra elimina automaticamente o 0 { $dy = $dy[1]; } date("d Y "); //transformacao do formato do mes, de abreviatura para numeros a fim de compatibilizar o mes actual e o da reserva Linhas

279 a 350

- 54 -

if($mth == Jan) { $mth2 = 1; } if($mth == Feb) { $mth2 = 2; } if($mth == Mar) { $mth2 = 3; } if($mth == Apr) { $mth2 = 4; } if($mth == May) { $mth2 = 5; } if($mth == Jun) { $mth2 = 6; } if($mth == Jul) { $mth2 = 7; }

Anexo A: Alteraes no bloco MRBS - 55 -

if($mth == Aug) { $mth2 = 8; } if($mth == Sep) { $mth2 = 9; } if($mth == Oct) { $mth2 = 10; } if($mth == Nov) { $mth2 = 11; } if($mth == Dec) { $mth2 = 12; } ?>

- 56 -

Tabela 9.6 - Endereos de acesso aos VIs Cdigo a acrescentar <?php $link_cont = "http://apocalipse.pdc-ptse.fe.up.pt:85/ELVISDGBJP.html"; $link_comu = "http://apocalipse.pdc-ptse.fe.up.pt:85/JP.html"; $link_medi = "http://apocalipse.pdc-ptse.fe.up.pt:85/ELVIS%20-%20Oscilloscope.html"; ?>

Tabela 9.7 - Ficheiro comunicacao.PHP Cdigo a acrescentar <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Painel de upload do cdigo</title> </head> <body> <?php include "links.php"; ?> <p><iframe name="I1" width="600" height="700" src="<?php echo $link_comu?>"> </iframe></P> </body> </html>

Anexo A: Alteraes no bloco MRBS - 57 -

Tabela 9.8 - Ficheiro controlo.PHP Cdigo a acrescentar <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Painel de controlo e visualizao</title> </head> <body> <?php include "links.php"; ?> <p><iframe name="I1" width="1000" height="500" src="<?php echo $link_cont?>"> </iframe></P> <iframe name="I2" width="1000" height="620" src="<?php echo $link_medi?>"> </iframe></p> </body> </html>

- 58 -

Anexo B: Enunciado do trabalho EEC0029 relativo ao dado electrnico - 59 -

Anexo B: Enunciado do trabalho EEC0029 relativo ao dado electrnico


Apresentao O trabalho proposto neste documento tem por objectivo principal reforar as competncias dos alunos no domnio da anlise e sntese de cdigo assembly para a famlia 51. O exemplo escolhido para atingir estes objectivos consiste na realizao de um dado electrnico, usando-se para este efeito a porta 1 do microcontrolador: as linhas P1.0 a P1.3 so usadas para ler quatro teclas, sendo as restantes linhas desta porta (P1.4 a P1.7) usadas para comandar sete leds, da forma que se representa abaixo.

Repare-se que a sada P1.7 a nica que alimenta apenas um led (o do meio), j que as restantes alimentam sempre um par de leds (cada par acende / apaga ao mesmo tempo). Sempre que uma sada se encontrar em 0, o(s) led(s) a ela ligado(s) acede(m). Tarefas propostas Comece por preencher a tabela apresentada abaixo, para saber o que deve escrever-se em P1.7 a P1.4 (e em P1.3 a P1.0?), de modo a visualizar os seis resultados possveis.

Recorra ao ambiente de desenvolvimento da KEIL (Vision 3) para realizar as seguintes tarefas: 1. Abrir o ficheiro assembly dado.a51 (disponvel na pgina da disciplina juntamente com este guio), que contm o cdigo apresentado adiante. Identifique as razes que impedem este cdigo de produzir os resultados esperados e efectue as alteraes necessrias para corrigir os erros encontrados.

- 60 -

2. Depois de introduzir as correces pedidas, acrescente o cdigo necessrio para: a) controlar o Start / Stop atravs da entrada de interrupo /INT0; b) suportar uma entrada de batota (na linha P1.1) que triplique a probabilidade do resultado 4.

3. Introduza as modificaes necessrios para que o funcionamento com ou sem batota passe a ser controlado pelas entradas P1.3 a P1.0, de acordo com a tabela seguinte:

4. Recorrendo aos temporizadores internos do 80C51 e s interrupes que eles podem gerar, garanta que cada resultado est presente nos leds durante 2,5 ms. 5. Modifique o cdigo para que se possa seleccionar o modo de funcionamento via RS232C (substituindo P1.3P1.0 pela correspondente palavra de 4 bits). A rotina de atendimento porta srie deve receber dois cdigos ASCII, de acordo com o seguinte protocolo: b + 0 7 corresponde s primeiras oito combinaes da tabela e B + 0 7 s ltimas oito linhas. Devem ignorar-se as sequncias que no correspondam a uma configurao vlida. 6. Por fim, seleccione um microcontrolador da famlia 51 que permita realizar a funcionalidade pretendida, usando o mnimo espao possvel, e apresente o diagrama esquemtico do circuito para esta aplicao (aceitando uma alimentao dc de 7 a 12 V).

You might also like