Professional Documents
Culture Documents
VERSO PROVISRIA
Dissertao realizada no mbito do Mestrado Integrado em Engenharia Electrotcnica e de Computadores Major Automao
Junho de 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
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.
-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 -
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.
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.
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.
-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.
-8-
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.
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.
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.
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 -
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.
- 14 -
- 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.
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.
- 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 -
- 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.
- 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.
- 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.
- 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.
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 -
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 -
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.
- 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.
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.
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:
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 -
- 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.
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.
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 -
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.
- 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.
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 -
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.
- 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.
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 -
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.
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 -
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 -
- 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.
- 44 -
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 -
- 48 -
$periods[] = "14h00   -   15h00"; $periods[] = "15h00   -   16h00"; $periods[] = "16h00   -   17h00"; $periods[] = "17h00   -   18h00"; $periods[] = "18h00   -   19h00"; $periods[] = "19h00   -   20h00"; $periods[] = "20h00   -   21h00"; $periods[] = "21h00   -   22h00"; $periods[] = "22h00   -   23h00"; $periods[] = "23h00   -   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
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
echo ">" . day_name($wday) . "\n"; } <TR> <TD CLASS=CR><B><?php echo get_vocab("rep_num_weeks")?></B> <?php echo 547 a 550
- 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
} } } } ?>
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; }
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>
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 -
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).