Home
DESENVOLVIMENTO DE SOFTWARE EMULADOR DE TERMINAL
Contents
1. ires 43 vii CAP TULO 1 INTRODU O 1 1 MOTIVA O Terminais de v deo s o comumente utilizados na comunica o com um host remoto tendo como finalidade principal apresentar e manipular em sua tela textos enviados pelo host A manipula o dos textos feita a partir da interpreta o de comandos simples constitu dos por uma sequ ncia de caracteres Esses terminais s o empregados em processos de automa o comercial como consulta de estoques ou bancos de dados de uma maneira geral Apesar de antigos os terminais de v deo s o usados atualmente por diversas empresas especialmente pela simplicidade de uso e pelo baixo custo de manuten o Por m a procura por terminais de v deo n o crescente e a baixa demanda por esses antigos terminais tem aumentado os custos de sua produ o e consequentemente o seu valor final Assim sentiu se a necessidade de procurar alternativas para substituir esses terminais a um custo menor que o praticado pelas fabricantes O desenvolvimento de um emulador em uma linguagem de programa o de c digo aberto e que pudesse ser executado em um computador com especifica es de hardware modestas sobre um sistema operacional com livre licen a de utiliza o motivaram a realiza o desse projeto 1 2 OBJETIVOS A proposta desse projeto foi desenvolver um software que emulasse o terminal de v deo VT100 e que pudesse ser executado em um computador de baixo custo O
2. o atual do cursor para a linha de cima n o alterando a posi o da coluna Se o cursor se encontrar na margem superior a tela rola uma linha para baixo 11 CAP TULO 3 COMUNICA O SERIAL 3 1 INTRODU O As mensagens digitais normalmente s o mais longas que alguns poucos bits Quando n o h a necessidade de transferir todos os bits de uma mensagem simultaneamente a mensagem quebrada em partes menores e transmitida sequencialmente A transmiss o bit serial converte a mensagem em um bit por vez atrav s de um canal Cada bit representa uma parte da mensagem Os bits individuais s o ent o rearranjados no destino para compor a mensagem original Em geral um canal ir passar apenas um bit por vez A transmiss o bit serial normalmente chamada de transmiss o serial e o m todo de comunica o escolhido por diversos dispositivos eletr nicos entre eles o terminal de v deo VT100 3 2 TRANSMISS O ASS NCRONA VS TRANSMISS O S NCRONA Geralmente dados serializados n o s o enviados de maneira uniforme atrav s de um canal eles s o enviados em intervalos n o regulares Os pacotes de dados bin rios s o enviados dessa maneira possivelmente com comprimentos de pausa vari vel entre pacotes at que a mensagem tenha sido totalmente transmitida O circuito receptor dos dados deve saber o momento apropriado para ler os bits individuais desse canal e saber exatamente quando um pacote come a e term
3. UNIVERSIDADE DE BRAS LIA FACULDADE DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA ELETRICA DESENVOLVIMENTO DE SOFTWARE EMULADOR DE TERMINAL DE VIDEO COMPATIVEL COM PC DE BAIXO CUSTO Raphael Pereira David BRAS LIA 2009 RAPHAEL PEREIRA DAVID DESENVOLVIMENTO DE SOFTWARE EMULADOR DE TERMINAL DE V DEO COMPAT VEL COM PC DE BAIXO CUSTO MONOGRAFIA SUBMETIDA AO DEPARTAMENTO DE ENGENHARIA EL TRICA DA FACULDADE DE TECNOLOGIA DA UNIVERSIDADE DE BRAS LIA COMO PARTE DOS REQUISITOS NECESS RIOS PARA OBTEN O DO GRAU DE ENGENHEIRO ELETRICISTA ORIENTADOR RICARDO ZELENOVSKY APROVADA POR Prof Ricardo Zelenovsky Doutor ENE UnB Orientador Eng Giuler Alberto Cruz Silva ENE UnB Examinador Externo Eng Marcelo Alejandro Villegas Sanchez ENE UnB Examinador Externo BRAS LIA DF 9 DE JULHO DE 2009 ii RESUMO Esse projeto visa desenvolver um software com a fun o de emular o terminal de v deo VT100 O emulador ser escrito com a linguagem de programa o Java visando a sua execu o em diferentes sistemas operacionais Servir de base para o emulador um computador de baixo custo com especifica es de hardware modestas por m suficientes para executar o programa ABSTRACT This project aims the development of a software which will emulate the functions of the VT100 video terminal The emulator will be written in Java language programming that will propitiate the execution on various ope
4. detectado chamada uma rotina para o recebimento dos dados n o sendo necess ria uma verifica o constante Como a segunda forma claramente mais vantajosa por utilizar menos recursos da m quina ela foi a escolhida no desenvolvimento do programa 7 1 COMENT RIOS SOBRE O C DIGO FONTE O c digo fonte do programa tem a fun o de construir a interface gr fica assim como realizar todas as configura es necess rias a transmiss o de dados atrav s de par metros passados pelo usu rio Durante a inicializa o do programa a classe principal do c digo chamada de Main respons vel por construir toda a interface gr fica atrav s da chamada de m todos da API Swing Al m de construir a GUI essa classe tamb m faz a identifica o de todas as portas seriais presentes no computador para a posterior escolha de uma dessas portas pelo usu rio Essa identifica o feita chamando m todos da APIRXTX Al m da classe Main o programa possui uma segunda classe chamada de ConfigPorta Quando o usu rio acessa a op o no menu para realizar uma nova conex o uma inst ncia dessa classe criada aparecendo para o usu rio uma janela onde s o informadas as configura es da porta serial Essa classe ent o retorna classe principal Main os valores 36 dos par metros escolhidos pelo usu rio como taxa de transmiss o e n mero de bits de dados sendo esses valores utilizados por m todos da API RXTX para rea
5. o de falha for detectada ou uma conex o de voz for estabelecida o sinal DSR desabilitado n vel l gico 1 Tamb m chamado de Data Terminal Ready Este sinal habilitado n vel l gico 0 pelo DTE quando for necess rio abri o canal de comunica o Se o DCE for um modem a habilita o do sinal DTR DTE Ready Sei 20 DTR prepara o modem para ser conectado ao circuito do telefone e uma vez conectado mant m a conex o Quando o sinal DTR for desabilitado n vel l gico 1 o modem muda para a condi o no gancho e termina a conex o Tamb m chamado de Data Carrier Detect DCD Este sinal relevante quando o DCE for um modem Ele habilitado n vel l gico 0 quando a linha telef nica est fora do gancho uma Received Line k conex o for estabelecida e um tom de resposta come ar a ser 8 Signal Detector nisto o a CD recebido do modem remoto Este sinal desabilitado n vel l gico 1 quando n o houver tom de resposta sendo recebido ou quando o tom de resposta for de qualidade inadequada para o modem local Secondary 12 Received Line Este sinal equivalente ao CD por m refere se ao canal de Signal Detector comunica o secund rio SCD 16 Este sinal relevante quando o DCE for um modem e habilitado n vel l gico 0 quando um sinal de chamada estiver sendo 22 Ring Indicator recebido na linha t
6. 0 para preparar o DCE para 4 Request To aceitar dados transmitidos pelo DTE Esta prepara o inclui a Send RTS habilita o dos circuitos de recep o ou a sele o da dire o do canal em aplica es half duplex Quando o DCE estiver pronto ele 15 responde habilitando o sinal CTS Clear To Send Este sinal habilitado n vel l gico 0 pelo DCE para informar ao DTE que a transmiss o pode come ar Os sinais RTS e CTS s o z CTS comumente utilizados no controle do fluxo de dados em dispositivos DCE Canal de Comunica o Secund rio Secondary 14 Transmitted Equivalente ao sinal TxD por m v lido para o canal secund rio Data STxD Secondary 16 Received Data Equivalente ao sinal RxD por m v lido para o canal secund rio SRxD Secondary 19 Request To Equivalente ao sinal RTS por m v lido para o canal secund rio Send SRTS 13 Pe Equivalente ao sinal CTS por m v lido para o canal secund rio Sinais de Controle e de Status de Modem Tamb m chamado de Data Set Ready Quando originado de um modem este sinal habilitado n vel l gico 0 quando as seguintes condi es forem satisfeitas 1 O modem estiver conectado a uma linha telef nica ativa e fora do gancho 6 A 2 O modem estiver no modo dados 3 O modem tiver completado a discagem e est gerando um tom de resposta Se a linha for tirada do gancho uma condi
7. Por m com a ajuda de f runs na internet foi adquirido conhecimento suficiente para se implementar uma correta conex o serial Com o andamento do projeto e o aprendizado das caracter sticas do terminal VT100 foram sendo implementados os comandos que seriam interpretados pelo programa O funcionamento dos comandos foi interpretado a partir do manual do usu rio do VT100 Nesse ponto do desenvolvimento do emulador decidiu se priorizar a implementa o dos comandos principais como os que manipulam os dados na tela do terminal em detrimento de comandos que a princ pio n o fazem sentido serem implementados como os que mandam um sinal sonoro ou invocam um auto teste de hardware no terminal Alguns comandos implementados pelo programa tem a sua execu o um pouco demorada no Mini PC sobretudo comandos que alteram significativamente o conte do da tela onde se pode citar o comando que apaga todos os caracteres Por m no geral a maioria dos comandos executada em um tempo adequado 40 7 4 DESENVOLVIMENTOS FUTUROS Findado o trabalho pode se considerar que o objetivo do projeto foi atingido mesmo que parcialmente pois apesar de n o terem sido implementados todos os comandos poss veis os comando principais foram implementados com sucesso Por isso ficam registradas aqui as poss veis implementa es adicionais ao projeto que ou por falta de tempo ou de recursos n o puderam ser concretizadas Primeiramente ser neces
8. o serial com o host fazendo uso do conjunto de caracteres ASCII American Standard Code for Information Interchange e sequ ncias de controle tamb m chamadas de sequ ncias de escape padronizadas pela ANSI American National Standards Institute O terminal VT100 foi o primeiro terminal digital a incorporar controles gr ficos como a modifica o do cursor blinking a formata o da fonte com efeitos como negrito e sublinhado al m de um display selecion vel entre 80 e 132 colunas Todas as configura es do VT100 eram realizadas atrav s de displays interativos na tela sendo armazenadas em uma mem ria n o vol til As sequ ncias de escape utilizadas pelo VT100 s o baseadas no padr o ANSI X3 64 posteriormente chamados de ECMA 48 e ISO IEC 6429 O VT100 tamb m foi o primeiro terminal digital a ser baseado em um microprocessador padr o na ind stria da poca o Intel 8080 Adicionalmente o terminal suportava a conex o de uma impressora externa al m de op es de v deo avan adas AVO Advanced Video Option que permitia ao display mostrar 24 linhas quando no modo de 132 colunas A Figura 2 1 mostra o terminal VT100 original Figura 2 1 Terminal de V deo VT100 1 3 2 2 OPERA O Ao operador o terminal VT100 bastante simples podendo comportar se realizando duas fun es ele pode funcionar como um dispositivo de entrada do host atrav s dos comandos do teclado e como dispositivo de sa da re
9. uma transmiss o al m de ser descrito o padr o RS 232 respons vel por normatizar os sinais envolvidos nessa comunica o O quarto cap tulo descreve o computador de baixo custo escolhido para servir de base para o projeto listando as suas configura es e funcionalidades J o quinto cap tulo apresenta os sistemas operacionais testados no hardware escolhido descrevendo as vantagens e desvantagens de cada um e finalmente explicando a escolha por um desses sistemas No sexto cap tulo feita uma apresenta o da linguagem de programa o Java utilizada na escrita do programa emulador S o descritas as suas caracter sticas suas vantagens sobre outras linguagens assim como as bibliotecas utilizadas para a constru o do programa tanto graficamente como funcionalmente O s timo cap tulo faz uma descri o do emulador S o comentados alguns pontos principais do c digo fonte al m de ser apresentada a interface gr fica do programa Por fim s o apresentados os resultados obtidos ao t rmino do projeto as dificuldades encontradas e os poss veis desenvolvimentos futuros O oitavo cap tulo apresenta a conclus o do trabalho CAP TULO 2 O TERMINAL DE V DEO VT100 2 1 INTRODU O O VT100 um terminal de v deo que foi feito originalmente pela Digital Equipment Corporation DEC tornando se o terminal padr o para diversas empresas Ele foi introduzido em 1978 substituindo o antigo VT52 Ele realiza comunica
10. 1 Valor de Ps Significado 0 Apaga da posi o atual at o final da tela valor padr o 1 Apaga do in cio da tela at a posi o atual 2 Apaga toda a tela mantendo o cursor em sua posi o atual EL Erase In Line ESC Ps K A sequ ncia EL apaga alguns ou todos os caracteres da linha onde se encontra o cursor dependendo do par metro Ps Os par metros poss veis encontram se na Tabela 2 3 Tabela 2 3 Par metros para o comando Erase In Line 1 Valor de Ps Significado 0 Apaga da posi o atual at o final da linha valor padr o 1 Apaga do in cio da linha at a posi o atual 2 Apaga toda a linha mantendo o cursor em sua posi o atual DECSC Save Cursor ESC 7 Essa sequ ncia salva a posi o atual do cursor DECRC Restore Cursor ESC 8 Essa sequ ncia restaura a posi o do cursor previamente salva pelo comando DECSC 10 IND Index Essa sequ ncia faz a atual posi o do cursor se mover uma linha para baixo sem alterar a posi o da coluna Se o cursor se encontrar na margem inferior a tela rola uma linha para cima NEL Next Line ESC E Essa sequ ncia faz a atual posi o do cursor se mover para a primeira coluna da linha de baixo Assim como o comando IND se o cursor se encontrar na margem inferior a tela rola uma linha para cima RI Reverse Index Essa sequ ncia move a posi
11. a execu o desse projeto o trabalho foi dividido em algumas etapas 39 Primeiramente objetivou se a escolha do computador de baixo custo Pensou se no uso de um computador antigo por m essa solu o traria o inconveniente do tamanho dos gabinetes Assim decidiu se pelo uso de um Mini PC com especifica es de hardware razo veis e com a vantagem de possuir um tamanho diminuto Em uma segunda etapa focou se a escolha do sistema operacional que pudesse ser executado no Mini PC e que al m disso fosse capaz de prover suporte linguagem de programa o Java Dessa forma foi adotado o sistema de c digo aberto Puppy Linux que possui todos os atributos necess rios j citados Ap s a escolha de todos os elementos b sicos do projeto realizaram se testes para verificar a capacidade de processamento do Mini PC quando executando programas de uso comum como processadores de texto no sistema Puppy Linux A princ pio apesar de ter sido detectada certa lentid o nas respostas do computador tal lentid o n o foi caracterizada como sendo prejudicial ao projeto Assim iniciou se a escrita do c digo do programa emulador propriamente dito Primeiramente implementou se uma interface gr fica simples com o intuito de se realizar as primeira conex es seriais Nesse ponto encontrou se alguma dificuldade pois a API RXTX conforme comentado anteriormente n o possui uma documenta o apropriada dado o seu desenvolvimento independente
12. de paridade est presente Quando o bit est presente mas n o usado ele pode ser sempre 1 mark ou O space J as paridades mpar odd e par even informam o n mero de bits 1 por caractere Apesar dessas diversas formas de paridade o mais comum que ela n o seja usada deixando que protocolos de comunica o de camadas superiores sejam respons veis pela detec o de erros 3 4 4 Bits de Parada Os bits de parada enviados no fim de cada caractere permitem que o hardware receptor detecte o final do caractere e possa ressincronizar com o fluxo de dados Normalmente dispositivos eletr nicos usam 1 bit de parada apesar de que dispositivos mais antigos podem usar 2 ou at 1 5 bits de parada 3 4 5 Nota o Convencional A nota o D P S especifica as configura es do frame de uma conex o serial D para bits de dados P para bit de paridade e S para bits de parada O uso mais comum em microcomputadores a nota o 8 N 1 que significa que a conex o usar 8 bits de dados nenhum bit de paridade e 1 bit de parada J para uma nota o 7 E 1 um bit de paridade par adicionado a sete bits de dados resultando no total de oito bits entre os bits de in cio e de parada Se um receptor configurado para um fluxo de dados 7 E 1 receber um fluxo 8 N 1 metade dos bytes ser o interpretados como tendo o bit mais significativo em n vel alto 3 4 6 Controle de Fluxo As vezes necess rio regular o flu
13. do c digo fonte original Esta uma caracter stica que atinge em menor grau todas as linguagens compiladas No entanto atualmente existem tecnologias que embaralham e at mesmo criptografam os bytecodes praticamente impedindo a engenharia reversa 6 2 2 Ambiente de Execu o Programas feitos para serem executados em uma JVM s o compilados em um formato bin rio port vel padronizado gerando um arquivo com a extens o class Tais programas podem consistir de v rias classes em diferentes arquivos Para uma f cil distribui o de programas grandes m ltiplos arquivos class podem ser colocados juntos em um nico arquivo com extens o jar Java archive arquivo Java A JVM que uma inst ncia da JRE Java Runtime Environment Ambiente de Tempo de Execu o Java entra em a o quando um programa Java executado Quando a sua execu o est completa essa inst ncia exclu da Um compilador JIT just in time Compiler compila partes do bytecode que possuem funcionalidades similares ao mesmo tempo reduzindo a quantidade de tempo necess rio para a compila o 6 3 SWING 6 3 1 Introdu o Swing um framework da linguagem Java utilizada na constru o de interfaces gr ficas Assim com a pr pria linguagem ele independente da plataforma Adicionalmente ele utiliza o padr o de arquitetura da engenharia de software MVC Model view controller que consiste na sep
14. etc portanto a taxa efetiva sempre menor que a taxa de transmiss o de bits Por exemplo 18 na transmiss o de um caractere com um frame que possui 8 bits de dados 1 bit de parada e sem paridade somente 80 dos bits do frame est o dispon veis para os dados propriamente ditos 3 4 2 Bits de Dados O n mero de bits de dados utilizados em cada caractere pode ter os seguintes valores 5 para o c digo Baudot 6 raramente usado 7 para c digo ASCII 8 para qualquer tipo de dado e 9 raramente usado Aplica es atuais geralmente fazem uso de 8 bits de dados enquanto 5 ou 7 bits geralmente s o usados somente para a compatibilidade com equipamentos antigos A maioria dos projetos para comunica o serial envia primeiro os bit menos significativos LSB Least Significant Bit Esse padr o conhecido como little endian Raramente utilizado o padr o big endian envia os bits mais significativos MSB Most Significant Bit primeiro Normalmente a ordem de envio dos bits n o configur vel 3 4 3 Paridade Ru dos e dist rbios el tricos moment neos podem causar mudan as nos dados quando est o trafegando pelos canais de comunica o Se o receptor falhar ao detectar isso a mensagem recebida ser incorreta tornado a detec o de erros uma tarefa importante Se for poss vel detectar o erro o pacote errado pode ser reenviado ou no m nimo os dados ser o reconhecidos como incorretos Se uma redun
15. fornecido API s para componentes de interface do usu rio que s o independentes da plataforma No AWT cada componente renderizado e controlado por um componente nativo espec fico do sistema base de controle de janelas Por isso componentes AWT s o referidos como pesados heavyweight Em contraste componentes Swing s o comumente descritos como leves lightweight pois n o requerem aloca o de recursos nativos do controle de janelas do sistema operacional A maior parte da API Swing geralmente uma extens o complementar do AWT ao inv s de ser um substituto direto Na verdade toda interface leve Swing fundamentalmente existe no interior de um componente pesado AWT Isso se deve ao fato de que todo componente top level Swing como JApplet JDialog JFrame e JWindow estende um conteiner top leve AWT Entretanto o uso tanto de componentes heavyweight como lightweight na mesma janela altamente desencorajado devido a problemas de incompatibilidade 32 A Figura 6 1 apresenta o relacionamento entre as principais classes das APT s Swing e AWT evidenciando a depend ncia existente entre elas fava lang Object AWT java awt AWT Components java awt Component SWING jawa awt Container jawax swing JComponent java awt AWT Containers fjavax swing Swing components javax swing JWindow java awt Window Figura 6 1 Hierarqui
16. n o est o sendo utilizados Sinais de Teste do Canal de Comunica o Este sinal gerado pelo DTE e usado para colocar o modem no estado de teste Quando o sinal LL for habilitado n vel l gico 0 o modem redireciona o sinal de sa da modulado que normalmente Local Loopback An PEAR E 18 LL vai para o linha telef nica de volta para o circuito de recep o Isto habilita a gera o de dados pelo DTE serem ecoados atrav s do pr prio modem O modem habita os sinal TM reconhecendo que ele est na condi o de loopback Este sinal gerado pelo DTE e usado para colocar o modem remoto no estado de teste Quando o sinal RL habilitado n vel l gico 0 o modem remoto redireciona seus dados recebidos para Remote Fu 21 Loopbalk RL a entrada voltando para o modem local Quando o DTE inicia esse teste o dado transmitido passa atrav s do modem local da linha telef nica do modem remoto e volta para exercitar o canal e confirmar sua integridade Este sinal relevante apenas quando o DCE um modem Quando Test Mode a y ac acid 5 e 25 TM habilitado n vel l gico 0 indica que o modem est em condi o de teste local LL ou remoto RL Com dito anteriormente a maioria desses sinais n o utilizada pelos dispositivos atuais Assim o cabo DE 9 usado no lugar do DB 25 A Tabela 3 2 faz a rela o entre a pinagem do conector DB 25 com a pinagem do DE 9 17 Tabe
17. possuir rotinas que facilitam a coopera o com protocolos TCP IP e Seguran a executar programas via rede com restri es de execu o Al m disso podem se destacar outras vantagens apresentadas pela linguagem e Facilidades de internacionaliza o suporta nativamente caracteres Unicode 28 e Simplicidade na especifica o tanto da linguagem como do ambiente de execu o e distribu da com um vasto conjunto de bibliotecas e Possui facilidades para cria o de programas distribu dos e multitarefa e Desaloca o de mem ria autom tica por processo de coletor de lixo garbage collector e Carga din mica de c digo programas em Java s o formados por uma cole o de classes armazenadas independentemente e que podem ser carregadas no momento de utiliza o 6 2 M QUINA VIRTUAL JAVA 6 2 1 Introdu o Conforme dito anteriormente na linguagem Java o c digo fonte do programa primeiramente compilado para uma forma intermedi ria de c digo denominada bytecode Posteriormente o bytecode interpretado pela m quina virtual Java Java Virtual Machine JVM Acreditava se que por causa desse processo o c digo interpretado Java tinha baixo desempenho o que atualmente n o verdade Apesar de durante muito tempo esta ter sido uma afirma o verdadeira novos avan os t m tornado a m quina virtual mais eficiente que o compilador est tico Tais avan os incluem otimiza es como a co
18. terminal VT100 foi escolhido por ser o mais difundido e utilizado pelas empresas O computador escolhido foi um modelo que possui entre outros componentes um processador de 200 MHz e 128 MB de mem ria RAM e que tem um custo aproximado de US 100 Apesar dessas especifica es modestas esse modelo capaz de executar o programa emulador satisfatoriamente A linguagem de programa o Java foi usada na escrita do programa emulador por ser uma linguagem de c digo livre e multiplataforma permitindo futuramente execut lo em um sistema operacional diferente caso haja necessidade Por m essa escolha trouxe algumas dificuldades principalmente relacionadas comunica o serial pelo padr o RS 232 1 3 ORGANIZA O DO TEXTO Para uma melhor compreens o e maior organiza o do trabalho este foi dividido em oito cap tulos O primeiro cap tulo faz uma introdu o ao trabalho contendo a motiva o os objetivos e esta organiza o do texto O segundo cap tulo faz a descri o do terminal de v deo VT100 apresentando as suas caracter sticas b sicas como a codifica o utilizada na comunica o serial e o formato de seu display Tamb m s o descritos os principais comandos interpretados pelo terminal assim como a sintaxe de tais comandos O terceiro cap tulo faz um resumo te rico sobre a comunica o serial Apresentam se os tipos de comunica o serial as diversas configura es poss veis de serem realizadas em
19. DIOS UM Usina Td Ren 19 3 4 4 Bits de PARADA sas i i e a a o a a 20 3 4 5 Nota o Convencional ssseeseeseesseeseeseesseesseseessessessrsseessesstssesseeseeseesseeseese 20 3 4 6 Controle de Fluxo nnnneesenseeeseeseesseeseeseesseesseseesseessessrsseessesstsseesseeseesresseesees 20 CAPITULO 4 MINE PC umia A a 22 CAP TULO 5 SISTEMA OPERACIONAL eee 25 vi SIAWINDOWS DB os susana da a 25 2 a D A a A DINDA E NG Ad 25 5 2 p Instala o nie a e a a A a I asa 26 CAP TULO 6 LINGUAGEM DE PROGRAMA O JAVA rnrn 28 6 1 INTRODU O 3 ts osbtof ss Sa 28 6 2 M QUINA VIRTUAL JAVA teimam 29 621 TIntrod c o ess sussa paia nO AG UT AOS ODE EE 29 6 2 2 Ambiente de Execu o Css ida DL ML en 30 6 3 SWING ss E a Ei RES E IR E i 30 6 3 1 Introducti ne ssa SUE 30 6 3 2 Caracteristicas ennonn en ra EE E E ER 31 6 3 3 Rela o com AWT isineun ec n OTA R E a 32 6 4 INSTALA O E CONFIGURA O eee 33 DS R o roi DG A O Ea EE ESEE 34 6 5 1 Instala o e Configura o re ereeeeeearereeranerearenea 35 CAP TULO 7 SOFTWARE EMULADOR rererere 36 7 1 COMENT RIOS SOBRE O C DIGO FONTE 36 7 2 INTERFACE GR FICA isa dt ad a a a 37 7 3 RESULTADOS OBTIDOS ssa a asd aaa dt Secad 39 7 4 DESENVOLVIMENTOS FUTUROS 41 CAP TULO 8 CONCLUSA O oimn jarra easier as Ea TE 42 REFER NCIAS BIBLIOGR FICAS
20. a de Classes entre Swing e AWT 6 4 INSTALA O E CONFIGURA O A execu o de programas feitos em Java feito atrav s da m quina virtual conforme dito anteriormente Como os sistemas operacionais n o trazem essa m quina virtual embutida necess rio que se realize a sua instala o que feita instalando a JRE A vers o escolhida foi a 6 0 sendo essa a ltima vers o dispon vel durante o desenvolvimento do projeto Os seguintes procedimentos devem ser seguidos para a correta instala o do Java no sistema operacional Puppy Linux 1 No site http fjava sun com baixar o instalador da JRE e salv lo no caminho usr local O arquivo ter um nome do tipo jre 6 lt version gt linux 1586 bin onde lt version gt a vers o do JRE Por exemplo se a vers o for 1 6 0 10 o arquivo ser sre 6u10 linux 1586 bin 2 No sistema operacional Puppy Linux ir at a pasta usr local no prompt de comando 33 3 4 Digitar chmod x jre 6ul0 linux i586 bin Esse comando serve para permitir a execu o do instalador Digitar jre 6ul0 1linux 1586 bin Esse comando descompacta os arquivos e finaliza a instala o Para que os programas Java sejam executados de forma adequada necess rio que se fa a as configura es das vari veis de ambiente seguindo os passos seguintes 1 Entrar no prompt de comando e digitar In s usr local jrel 6 0 10 usr local j
21. a que os caracteres que se seguem constituem um comando de controle e por si s um prefixo para os comandos de controle No VT100 o CSI o conjunto das teclas de escape e colchete ESC e Par metro Uma string de zero ou mais caracteres decimais de O a 9 que representam um nico valor e Par metro Num rico Um par metro que representa um n mero designado por Pn e Par metro Seletivo Um par metro que seleciona uma subfun o designado por Ps No geral a sequ ncia de controle com mais de um par metro seletivo tem o mesmo efeito de v rias sequ ncias de controle e String de Par metros Uma string de par metros separados por ponto e v rgula e Valor Padr o Um valor que depende da fun o sendo suposto quando nenhum valor explicitado e Caractere Final Um caractere que encerra a sequ ncia de escape Dados os elementos b sicos poss vel formar ent o uma sequ ncia de escape A Figura 2 3 apresenta o formato dessas sequ ncias Figura 2 3 Formato de uma Sequ ncia de Escape 2 4 3 Listagem das Sequ ncias de Escape A seguir s o apresentadas as principais sequ ncias de escape utilizadas pelo terminal VT100 Quando n o for especificado a sequ ncia representa um comando enviado do host para o terminal CPR Cursor Position Report VT100 para o host ESC Pn Pn R A sequ ncia CPR indica ao host a posi o do cursor Os dois par metros num ricos Pn indicam res
22. aa copas fava ligaa 15 Tabela 3 2 Rela o entre os conectores DB 25 e DE 9 ee 18 SUM RIO CAP TULO 1 INTRODU O aus sussa enrola aa a 1 1E EDY COY N AA TO O DA 1 1 2 OBJETIVOS uu tispsiai aa nne ne aa eroaa DRA E RAA a SS 1 1 3 ORGANIZA O DO TEXTO eee 2 CAP TULO 2 O TERMINAL DE V DEO VT100 eee 3 DS INTRODUC O ia a a R a a 3 2 OPERA O pasar SDS ES a OS Lg 4 2 PECLADO DO VEIO ce de 4 21 Teclas Especiais a ninia SE pais aspas ea Ada 2O A eU a Ela 5 2 3 2 Indicadores Luminosos erre reeeeearereeraaeeeaeercaran s 5 2 4 COMANDOS DE CONTROLE DO TERMINAL 6 2 4 1 Caracteres de Controle asatesnn sera sicupuastare guns coghaia amas gia gesiua graligaa Encagane ah gigaag rs 6 2 4 2 Sequencias de Escape a ceras asda SL SU a 7 2 4 3 Listagem das Sequ ncias de Escape eee 8 CAP TULO 3 COMUNICA O SERIAL 12 3 1 INTRODU O a a AS A a a a n 12 3 2 TRANSMISS O ASS NCRONA VS TRANSMISS O S NCRONA 12 RG Dai Udo 9 8 PRURVANDR NERD ER E RO NR OS DECO SD SERIE 27 RAR RS E UR RR DR 13 3 3 L Conect S pi a e rates E a Ud das Nada 14 3 4 CONFIGURA ES DE UMA CONEX O SERIAL 18 3 4 1 Taxa de Transmiss o sssiuesrissem cassada perdbiniasadiasa sap aee tado cn raia apa Ses 18 3 4 2 BUS de DAdOS sas ssa sas END Go a e ia 19 DAS Taa E Ti EAE a UI LL
23. alizar configura es sobre a transmiss o serial a barra de menus possibilita configurar a janela de acordo com as prefer ncias do usu rio Acessando o item Display Cor s o disponibilizadas duas op es relacionadas rea de textos podendo configur la com um fundo branco onde os caracteres s o escuros ou inverter a tela isto configur la com um fundo escuro onde os caracteres s o brancos J o item Display Tamanho disponibiliza duas op es relacionadas ao n mero de linhas e colunas mostradas na tela sendo elas 24x80 e 14x 132 Por ltimo acessando o item Info Sobre apresentada uma tela com informa es sobre o programa sobre a vers o do Java instalado e sobre o sistema operacional em execu o Essa tela mostrada na Figura 7 4 onde o emulador estava sendo executado em um sistema com Windows XP x x Universidade de Brasilia Engenharia El trica Trabalho Final de Gradua o Autor Raphael Pereira David Sistema Operacional Windows XP Vers o do Java 1 6 0 13 Figura 7 4 Janela com informa es do programa e do sistema 7 3 RESULTADOS OBTIDOS A realiza o desse projeto visava desenvolver um software capaz de emular o terminal de v deo VT100 implementando todos os comandos que podem ser interpretados pelo terminal e executando tal emulador em um computador de baixo custo com especifica es de hardware limitadas Assim para organizar e simplificar
24. ara o os dados da aplica o e a interface do usu rio Assim poss vel alterar tanto os dados como a interface sem que um interfira no outro Esse framework faz parte da JFC Java Foundation Classes uma API Application Programming Interface Interface de Programa o de Aplicativos espec fica para a constru o de GUI Graphical User Interface Interface Gr fica do Usu rio e que al m do Swing cont m os frameworks AWT Abstract Window Toolkit e Java 2D 30 O Swing foi desenvolvido para prover um conjunto de componentes GUI mais sofisticados que os componentes AWT Ele possui uma apar ncia nativa mas emula a apar ncia de v rias plataformas inclusive possibilitando que a apar ncia da aplica o n o esteja relacionada com a plataforma em que reside Toda interface gr fica do software emulador do terminal de v deo VT100 foi desenvolvida com o framework Swing 6 3 2 Caracter sticas Al m de ser independente da plataforma o Swing possui uma arquitetura altamente particionada permitindo a customiza o de interfaces j especificadas Dessa forma o programador pode prover suas pr prias implementa es desses componentes sobrescrevendo as implementa es padr es De um modo geral o programador pode estender o framework estendendo classes j existentes fornecendo implementa es alternativas dos componentes Dado o modelo de renderiza o program tica do Swing poss vel ter um bom contro
25. ava Esse comando cria um link simb lico para facilitar o acesso pasta onde o Java instalado 2 Digitar touch etc profile d java sh Esse comando cria o arquivo java sh 3 Digitar chmod x etc profile d java sh Esse comando serve para permitir a execu o do arquivo java sh 4 Editar o arquivo rec m criado java sh adicionando as seguinte linhas bin sh JAVA HOME usr local java CLASSPATH SJAVA HOME SJAVA HOME 1ib MANPATH SMANPATH SJAVA HOME man PATH SPATH SJAVA HOME bin export JAVA HOME CLASSPATH MANPATH PATH 5 Reiniciar o computador para confirmar as altera es 6 5 RXTX O Java tem uma grande vantagem frente a outras linguagens de programa o que a possibilidade de um mesmo software poder ser executado em diversas plataformas sob uma mesma compila o n o sendo necess rio rescrever ou nem mesmo recompilar o software para que este esteja dispon vel em outras plataformas sejam elas Windows Linux ou Mac 34 Mas toda essa facilidade tem certo custo Com o Java a tarefa de chamar APT s nativas dos sistemas operacionais ou ainda fazer comunica o com o hardware diretamente torna se um pouco mais complexa Para realizar tais tarefas a Sun e demais empresas envolvidas no desenvolvimento Java disponibilizam diversas APIs que possibilitam e facilitam o desenvolvimento de aplica es com a finalidade de comunica o com o hardware como o caso da API s JavaComm e RXTX para a comun
26. cebendo os comandos do host e exibindo no monitor Existem diversas caracter sticas de configura es e mensagens que s o t picos dos equipamentos com as limita es das antigas tecnologias Para o terminal desejado que baseado em um PC com processador de 200 MHz com recursos de v deo e de comunica o muito mais avan ados determinadas configura es tornam se desnecess rias Por exemplo a quantidade de linhas e colunas as cores de background e at a fun o de algumas teclas do teclado est o em um PC atual contidas em um conjunto de configura es bem diferente no sentido de que o usu rio provavelmente n o estar limitado s poucas op es trazidas nas vers es originais desses terminais 2 3 TECLADO DO VT100 O teclado dos antigos terminais VT100 obedecia ao padr o mostrado na Figura 2 2 Nele poss vel ver a maior parte das teclas encontradas nos PC s atuais com poucas diferen as Naturalmente devido utiliza o de um computador comum como base para o software emulador um teclado tradicional ser utilizado e portanto dever haver adapta es no sentido de que as mesmas fun es do teclado original possam ser executadas utilizando se um teclado tradicional KED ONLINE LOCAL LOCKED Li L2 L3 L4 seS Ne Pe S REUN SET CLEARALL LINE SETUP TOGGLE TRANSMIT RECEIVE 80132 4 Y lt gt PEI iic oes PRA CLEARTAB TABS LOCAL AIB no SPEED SPEED COLUMNS RESET z CH EES E RR a
27. criada no in cio dos 13 anos 60 pela EIA Electronics Industries Association Naquele tempo a comunica o de dados compreendia a troca de dados digitais entre um computador central mainframe e terminais de computadores remotos ou entre dois terminais sem o envolvimento do computador Esses dispositivos poderiam ser conectados atrav s de linha telef nica e consequentemente necessitavam de um modem em cada lado para fazer a decodifica o dos sinais Dessas ideias nasceu o RS 232 um padr o para troca serial de dados bin rios entre um DTE Data Terminal Equipment e um DCE Data Communication Equipment Ele especifica as tens es temporiza es e fun es dos sinais um protocolo para troca de informa es e as conex es mec nicas A EIA que padronizou o RS 232 em 1969 define e Caracter sticas el tricas como n veis de tens o taxa de sinaliza o n vel m ximo de tens o comportamento de curto circuito e carga m xima da capacit ncia e Caracter sticas mec nicas da interface conectores plug veis e identifica o dos pinos e Fun es de cada circuito no conector da interface e Subconjuntos padr es de circuitos de interface para aplica es selecionadas de telecomunica o O padr o n o define elementos como e Codifica o de caracteres por exemplo ASCII c digo Baudot ou EBCDIC e Enquadramento dos caracteres no fluxo de dados bits por caractere bits de partida e parada paridade e Pro
28. d ncia na informa o for enviada 1 ou 2 bits de erros podem ser corrigidos pelo hardware no receptor O bit de paridade adicionado ao pacote de dados com o prop sito de detec o de erro Na conven o de paridade par even parity o valor do bit de paridade escolhido de tal forma que o n mero total de d gitos 1 dos dados adicionado ao bit de paridade do pacote seja sempre um n mero par Na recep o do pacote a paridade do dado precisa ser recomputada pelo hardware local e comparada com o bit de paridade recebido com os dados Se qualquer bit mudar de estado a paridade n o ir coincidir e um erro ser detectado Por m se um n mero par de bits tiver sido alterado a paridade coincidir e o dado com erro ser validado Contudo uma an lise estat stica dos erros de comunica o de dados tem mostrado que um erro com bit simples muito mais prov vel que erros em m ltiplos bits na presen a de ru do aleat rio aditivo 19 Apesar de a paridade permitir a detec o de erros um nico bit de paridade n o permite a implementa o para que esse erro seja corrigido Assim protocolos de comunica o em conex es seriais devem possuir mecanismos de alto n vel para garantir a validade dos dados e se for o caso requisitar a retransmiss o dos dados recebidos incorretamente O bit de paridade para cada caractere pode ser ajustado para none N odd O even E mark M ou space S None significa que nenhum bit
29. do a esses problemas encontrados com o uso do adaptador USB Serial al m da vers o do Java dispon vel para o Windows 98 n o ser a mais atual decidiu se abandonar o uso desse sistema operacional em favor de um sistema mais moderno 5 2 PUPPY LINUX Ap s a decis o de n o utilizar o Windows 98 procurou se um sistema operacional que pudesse substitu lo mantendo uma interface gr fica amig vel e uma execu o leve al m de possuir suporte a dispositivos mais modernos devido ao uso do adaptador USB Serial Nesse sentido encontrou se o Puppy Linux uma distribui o Linux de c digo aberto que tem como p blico alvo a execu o diretamente do CD ou caso instalado em computadores antigos O Puppy Linux uma distribui o que chama a aten o pelo tamanho A sua imagem arquivo ISO para execu o diretamente pelo CD ou para posterior instala o possui cerca de 100 MB Al m disso oferece outros atributos como 25 e Live booting a partir de CD s pen drives e outros tipos de m dia remov vel e Possibilidade de rodar diretamente a partir da RAM e Pode se rodar satisfatoriamente em PC s antigos com 64 MB de RAM Apesar de sua nica funcionalidade nesse projeto ser a de servir como base para a execu o de aplicativos Java o Puppy Linux tamb m oferece suporte a diversos aplicativos de uso comum como programas de escrit rio editores de texto planilhas e apresenta es de comunica o via Internet algun
30. do canal prim rio 4 Sinais de Controle e de Status de Modem esses sinais indicam o status do modem e fornece pontos de checagem intermedi rios durante o estabelecimento da conex o 5 Sinais de Temporiza o de Transmiss o e Recep o se for usada uma conex o ass ncrona esses sinais fornecem informa es sobre a temporiza o do transmissor e receptor que podem operar com taxas diferentes 6 Sinais de Teste do Canal de Comunica o antes que os dados sejam trocados o canal pode ser testado sobre a sua integridade e a taxa de transmiss o pode ser ajustada automaticamente para a m xima taxa suportada pelo canal Tabela 3 1 Pinagem do padr o RS 232 PINO NOME DESCRI O Sinais de Terra y Sinal de terra de prote o malha de aterramento do cabo e carca a 1 Shield do conector 7 Ground GND Sinal de terra utilizado como refer ncia para outros sinais Canal de Comunica o Prim rio Este sinal est ativo quando dados estiverem sendo transmitidos do 2 Transmitted DTE para o DCE Quando nenhum dado estiver sendo transmitido Data TxD o sinal mantido na condi o de marca n vel l gico 1 tens o negativa Este sinal est ativo quando o DTE receber dados do DCE Quando Received Data k unini da 3 o DCE estiver em repouso o sinal mantido na condi o de marca RxD a Ae L eaa E n vel l gico 1 tens o negativa Este sinal habilitado n vel l gico
31. efere se a uma ampla variedade de dispositivos que t m as funcionalidades de um PC comum por m possuem um tamanho reduzido Existem Mini PC s de diversos tamanhos configura es e pre os H Mini PC s um pouco maiores que duas ou tr s caixas de CD at outros cujo gabinete tem at metade do tamanho dos gabinetes convencionais Os processadores variam desde modelos de 200MHz at modelos de cerca de 3GHz atendendo a diversas funcionalidades e aplica es Os pre os variam desde US 100 at US 1000 dependendo da configura o e do tamanho Como um dos objetivos do projeto tamb m a redu o de custos quando comparado a um terminal de v deo dedicado escolheu se um modelo com o custo de US 100 O emulador VT100 desenvolvido nesse projeto teve como base o Mini PC modelo TU 40 fabricado pela e Way Technology Systems Corp uma empresa sediada em Taiwan A princ pio suas especifica es pareciam satisfazer os requisitos necess rios para que o emulador executasse satisfatoriamente As dimens es do Mini PC utilizado s o bem reduzidas 11 5 x 11 5 x 3 5cm Ele um modelo fanless isto n o possui ventoinha para dissipar o calor sendo a sua pr pria carca a respons vel por fazer uma dissipa o passiva tendo em vista que o consumo de energia bastante baixo a pot ncia consumida de cerca de 20 W DC A Figura 4 1 mostra o Mini PC utilizado no projeto tendo o seu tamanho comparado com o de uma caneta Ta Fi
32. elef nica A habilita o desse sinal ter RI aproximadamente a dura o do tom de chamada e ser desabilitado entre os tons ou quando n o houver tom de chamada presente Este sinal pode ser originado tanto no DTE quanto no DCE mas 23 Data Signal n o em ambos e usado para selecionar um de dois baud rates Rate Selector pr configurados Na condi o de habilita o n vel l gico 0 o baud rate mais alto selecionado Sinais de Temporiza o de Transmiss o e Recep o Tamb m chamado de Transmitter Clock TxC Este sinal relevante apenas quando o DCE for um modem e operar com um Transmitter protocolo s ncrono O modem gera este sinal de clock para 15 Signal Element controlar exatamente a taxa na qual os dados est o sendo enviados Timing TC pelo pino TxD do DTE para o DCE A transi o de um n vel l gico 1 para n vel l gico 0 nessa linha causa uma transi o correspondente para o pr ximo bit de dado na linha TxD Receiver Signal Tamb m chamado de Receiver Clock RxC Este sinal similar ao 17 Element Timing sinal TC descrito acima exceto que ele fornece informa es de RC temporiza o para o receptor do DTE Tamb m chamado de External Transmitter Clock Os sinais de Transmitter SN de temporiza o s o fornecidos externamente pelo DTE para o uso 24 Signal Element ardida EE Timing ETC por um modem Este sinal utilizado apenas quando os sinais TC e RC
33. envolvimento desse projeto o arquivo contendo as bibliotecas se chamava rxtx 2 1 7 bins r2 zip 2 Extrair os arquivos librxtxSerial so e RXTXcomm jar 3 Copiar o arquivo librxtxSerial so para usr 1ib 4 Copiar o arquivo RXTXcomm jar para usr local jre1l 6 0 10 1lib ext o caminho jre1 6 0 10 pode variar de acordo com a vers o do Java instalada 35 CAP TULO 7 SOFTWARE EMULADOR O emulador do terminal VT100 foi desenvolvido em linguagem Java Conforme dito ao longo do texto a escolha por essa linguagem deveu se ao fato de ela ser multiplataforma n o dependendo da arquitetura do computador escolhido para execut la Como consequ ncia o c digo fonte do programa torna se port til podendo ser executado em um ambiente com diferentes sistemas operacionais como o Windows ou o Linux Do ponto de vista do software na comunica o serial o envio de dados feito de forma s ncrona isto os dados s o enviados no instante de tempo determinado pelo usu rio Por m o recebimento dos dados acontece de forma ass ncrona podendo esses dados chegar a qualquer momento Nesse contexto existem duas formas de implementa o para o recebimento dos dados A primeira seria a execu o de uma thread sendo ela respons vel por verificar constantemente se dados est o dispon veis A segunda feita atrav s de um evento causado sempre que novos dados chegam porta serial Assim quando um novo dado
34. for zero ou 1 o cursor avan a exatamente uma posi o para a direita Caso haja uma tentativa de se mover o cursor al m da margem direita o cursor para na margem direita isto na ltima coluna da tela O valor padr o igual a 1 CUU Cursor Up VT100 para o host e host para o VT100 ESC Pn A A sequ ncia CUU move o cursor para cima sem alterar a coluna em que se encontra A quantidade de linhas movidas indicada pelo par metro num rico Pn Se esse par metro for zero ou 1 o cursor sobe exatamente uma linha Caso haja uma tentativa de se mover o cursor al m da margem superior o cursor para na margem superior isto na primeira linha da tela O valor padr o igual a 1 CUP Cursor Position Ea SC Pn Pn H Essa sequ ncia move o cursor para uma posi o indicada por dois par metros num ricos Pn Esses dois par metros indicam respectivamente a linha e a coluna para onde o cursor deve se mover Caso sejam indicados os valores zero ou 1 para a linha ou coluna o cursor ir se mover para a primeira linha ou coluna respectivamente A condi o padr o sem valores para os par metros corresponde enviar o cursor para a posi o home ED Erase In Display ESC Ps J A sequ ncia ED apaga alguns ou todos os caracteres da tela dependendo do par metro seletivo escolhido Os par metros poss veis encontram se na Tabela 2 2 Tabela 2 2 Par metros para o comando Erase In Display
35. gura 4 1 Mini PC modelo TU 40 da e Way 4 A seguir s o listadas as especifica es do Mini PC obtidas a partir do manual do equipamento 22 e CPU Compat vel com x86 200MHz e Mem ria RAM principal 128MB SD RAM e BIOS AMI BIOS e V deo AGP Ver 2 Compliant resolu o at 1280x1024 em High Color compartilhando at 8 MB de mem ria e udio AC 97 CODEC totalmente compat vel com AC 97 v 2 1 e Rede Lan Realtek 8100 B 10 100 Mbps Ethernet interface e Rede wireless opcional e On board IDE Enhanced IDE interface 44 pin box header x1 e Portas para perif ricos e 3 portas USB v 1 1 e 2 portas seriais opcional e udio Mic in Line in e Slot para mem ria CompactFlash Type III suporte mem ria Micro Drive e Alimenta o 5 0 5 25 VDC O 3A max e Peso 506g e Sistema operacional Adequado para uso com Windows CE ou XP embarcado e Linux embarcado As Figuras 4 2 e 4 3 mostram as vistas frontal e traseira evidenciando os conectores indicadores e bot es do Mini PC O modelo mostrado nas figuras possui as duas portas de comunica o serial e a antena do adaptador wireless opcionais CF Slot USB Micin Lin out Power BTN PWR ACT LED Figura 4 2 Vista Frontal do Mini PC 4 23 DC Power Jack PS 2KB MS VGA RJ 45 LAN Power Switch Serial Ports Optional Wireless ANT Optional Figura 4 3 Vista Traseira do Mini PC 4 Apesar das figuras acima mostrarem o Mini PC co
36. ica o tanto serial quanto paralela com a RXTX existe tamb m a possibilidade de comunica o via USB Originalmente o suporte comunica o serial na linguagem Java era feito pela API JavaComm Por m o suporte dado a esta API pela Sun Microsystems nunca foi completo sendo inicialmente suportada somente em sistemas Windows posteriormente sendo suportada em sistemas Linux e finalmente n o sendo mais suportada em sistemas Windows na sua ltima vers o a 3 0 Devido aos problemas encontrados na API JavaComm e ao seu total abandono pela Sun foi desenvolvida a APIRXTX por um grupo de programadores independentes Essa nova API baseada na API JavaComm tendo a vantagem de possuir total suporte para ambientes Linux Windows e at mesmo Mac Durante a realiza o desse projeto a API RXTX encontrava se na vers o 2 1 sendo essa vers o a utilizada na escrita do c digo do emulador VT100 Ela define todos os m todos necess rios a uma correta comunica o serial 6 5 1 Instala o e Configura o A instala o da API RXTX no sistema operacional Puppy Linux bastante simples sendo muito parecida com outras distribui es do Linux Para o correto funcionamento do emulador basta copiar as bibliotecas da API correspondentes porta serial para o local onde o JRE est instalado Os passos seguintes indicam os procedimentos a serem seguidos 1 Baixar as bibliotecas da API RXTX no site http www rxtx org Durante o des
37. ina Quando essa temporiza o for conhecida o receptor dito estar sincronizado com o transmissor Por m falhas na manuten o do sincronismo durante a transmiss o ir o causar a corrup o ou perda de dados Em sistemas s ncronos canais separados s o usados para transmitir informa es de dados e informa es de controle O canal de controle transmite pulsos de clock para o receptor Atrav s da recep o de um pulso de clock o receptor l o canal de dado e armazena o valor do bit encontrado naquele momento O canal de dados n o lido novamente at que o pr ximo pulso de clock seja recebido Como o transmissor respons vel pelos pulsos de dados e de controle o receptor ir ler o canal de dados apenas quando comandado pelo transmissor e portanto a sincroniza o garantida Existem t cnicas que comp em o sinal de clock e de dados em um nico canal Isso usual quando transmiss es s ncronas s o enviadas atrav s de um modem Dois m todos no qual os sinais de dados cont m informa o de tempo s o codifica o NRZ Non Return to Zero e a codifica o Manchester 12 J em sistemas ass ncronos cada transmiss o iniciada com um bit de partida start que enviado previamente para cada byte caractere ou c digo de palavra e um sinal de parada stop enviado ap s cada c digo de palavra O n mero de bits de dados e a velocidade de transmiss o devem ser pr estabelecidas entre as partes envol
38. itavam que futuramente haveria uma converg ncia entre os computadores com os equipamentos e eletrodom sticos comumente usados pelas pessoas no seu cotidiano A tecnologia Java tinha sido projetada para se mover por meio de redes de dispositivos heterog neos Com a dissemina o da Internet aplica es poderiam ser executadas dentro dos browsers Applets Java e tudo seria disponibilizado pela Internet instantaneamente Foi o est tico HTML dos browsers que promoveu a r pida dissemina o da din mica tecnologia Java A velocidade dos acontecimentos seguintes foi assustadora o n mero de usu rios cresceu rapidamente grandes fornecedores de tecnologia como a IBM anunciaram suporte para a tecnologia Java Desde seu lan amento a plataforma Java foi adotada mais rapidamente do que qualquer outra linguagem de programa o na hist ria da computa o Em 2004 a linguagem Java atingiu a marca de tr s milh es de desenvolvedores em todo mundo Java continuou crescendo e hoje uma refer ncia no mercado de desenvolvimento de software tornado se popular pelo seu uso na Internet e hoje possui seu ambiente de execu o presente em web browsers mainframes sistemas operacionais celulares palmtops e cart es inteligentes entre outros A linguagem Java foi projetada tendo em vista os seguintes objetivos e Orienta o a objeto e Portabilidade possibilitar a independ ncia de plataforma write once run anywhere e Recursos de rede
39. l VT100 al m do grande aprendizado da linguagem Java e levando em considera o as dificuldades encontradas durante a sua execu o 42 REFER NCIAS BIBLIOGR FICAS 1 DEC VT100 User Guide 3 ed Estados Unidos da Am rica Digital Equipment Corporation 1981 2 DEITEL H M DEITEL P J Java How to Program 6 ed Estados Unidos da Am rica Prentice Hall 2004 3 ZELENOVSKY Ricardo MENDON A Alexandre PC um Guia Pr tico de Hardware e Interfaceamento 3 ed Rio de Janeiro MZ Editora Ltda 2002 4 E WAY TU System Manual v2 Taiwan e Way Technology Systems Corp 2006 43
40. la 3 2 Rela o entre os conectores DB 25 e DE 9 Sinal DB 25 DE 9 GND 5 TxD 2 3 RxD 3 2 DTR 20 4 DSR 6 RTS 7 CTS 5 8 DCD 8 1 RI 22 9 3 4 CONFIGURA ES DE UMA CONEX O SERIAL V rias configura es s o necess rias para que uma conex o serial ass ncrona seja realizada com sucesso tais como a taxa de transmiss o o n mero de bits de dados por caractere paridade e o n mero de bits de parada por caractere Nas conex es seriais modernas usando um circuito integrado UART Universal Asynchronous Receiver Transmitter Receptor Transmissor Ass ncrono Universal todas essas configura es s o normalmente controladas pelo software enquanto equipamentos antigos requerem ajustes em switches ou jumpers Caso as configura es sejam feitas de forma errada a conex o n o ser interrompida por m qualquer dado recebido ser interpretado de forma equivocada 3 4 1 Taxa de Transmiss o Conex es seriais usam uma sinaliza o bin ria de dois n veis assim a taxa de transmiss o em bits por segundo igual a taxa de s mbolos por segundo Essas taxas s o baseadas em m ltiplos das taxas usadas em um teletipo eletromec nico As taxas de transmiss o da porta serial e do equipamento devem coincidir apesar de que determinadas portas podem n o suportar todas as taxas poss veis A velocidade de transmiss o inclui todos os bits do frame bits de parada paridade
41. ldade foi contornada pesquisando se em f runs especializados na internet Os principais comandos do terminal VT100 foram programados no emulador Apesar de esses comandos executarem fun es aparentemente simples como apagar ou manipular dados na tela a implementa o de cada um desses comandos demandou um grande aprendizado da linguagem de programa o Java Tal aprendizado tamb m foi necess rio no momento de se construir a interface gr fica do programa feita com o uso de m todos da API Swing Essa interface possui menus e janelas para a configura o do terminal que apesar de n o serem elementos presentes nos terminais antigos foram usados para facilitar o seu manuseio Ainda assim a interface foi desenvolvida de modo que o usu rio habituado com os antigos terminais n o sentisse grandes diferen as no seu uso Al m das dificuldades encontradas na programa o do emulador houve grande dificuldade na obten o de refer ncias bibliogr ficas sobre os terminais de v deo tendo sido encontrado apenas o manual do usu rio do terminal VT100 Apesar de o emulador ter sido executado satisfatoriamente no Mini PC pode haver a necessidade de se utilizar um computador com especifica es mais modernas de modo a tornar a execu o do programa mais gil no caso de haver grandes volumes de dados a serem tratados pelo software O resultado final do projeto foi satisfat rio tendo em vista a implementa o de v rias fun es do termina
42. le sobre os detalhes de renderiza o dos componentes Como um padr o geral a representa o visual de um componente do Swing uma composi o de um conjunto de elementos padr es como border inset decorations etc Tipicamente o programador pode customizar um componente do Swing especificando bordas cores backgrounds etc como propriedades desse componente Assim o n cleo do componente usar essas propriedades para determinar a correta renderiza o dos seus v rios aspectos Al m disso tamb m poss vel criar controles nicos da interface com representa o visual altamente customizada Swing profundamente dependente de mecanismos do tempo de execu o Padr es indiretos de composi o permitem que o programa responda a mudan as em sua configura o mesmo durante a sua execu o Por exemplo uma aplica o baseada no Swing pode mudar sua apar ncia tamb m chamada de look and feel em tempo de execu o Adicionalmente o programador pode implementar sua pr pria look and feel permitindo mudan as uniformes na apar ncia de programas j existentes sem a necessidade de mudan as profundas no c digo fonte A f cil configura o do Swing resultado da escolha de usar a API Java 2D para se auto construir ao inv s de utilizar construtores de interface de usu rio nativos do sistema operacional Dessa forma um componente Swing n o tem um correspondente nativo 31 possibilitando que ele mes
43. lizar a conex o serial Dentro da classe Main diversos m todos s o respons veis pelo correto funcionamento do emulador A seguir s o listados os principais m todos e suas respectivas funcionalidades e serialEvent Respons vel pela recep o dos dados que chegam na porta serial e actionPerformed Tratador dos eventos gerados pela barra de menu e initport M todo para a inicializa o da porta serial utiliza os par metros recebidos atrav s da classe ConfigPorta e sendData M todo para enviar os dados pela porta serial e contarportas M todo para contar o n mero de portas seriais dispon veis e enumerarportas M todo para identificar todas as portas seriais dispon veis e executarComando M todo para executar o comando recebido pelo do host e keyTyped Tratador do evento gerado ao digitar no teclado Esse m todo faz uso do m todo sendData para enviar pela porta serial o c digo ASCII correspondente a cada tecla 7 2 INTERFACE GR FICA A interface gr fica do programa foi feita utilizando a biblioteca javax swing Essa biblioteca cont m componentes gr ficos reas de textos textarea bot es e menus Ela fornece uma maneira simplificada para a cria o de uma GUI Os componentes s o adicionados ao frame do programa a janela propriamente dita e organizados de acordo com o layout escolhido pelo programador Por se tratar de um emulador de um terminal de v deo que tem como fun o principal
44. mesmo e Lia L4 Esses indicadores podem ser ligados e desligados a partir do host O significado de cada indicador pode ser personalizado a partir do host e da programa o das fun es do terminal No software emulador n o existe a necessidade de se acrescentarem indicadores luminosos com LED s propriamente ditos j que esses indicadores podem ser feitos na tela do pr prio programa 2 4 COMANDOS DE CONTROLE DO TERMINAL 2 4 1 Caracteres de Controle Caracteres de controle s o c digos que representam algum tipo de a o a ser tomada pelo terminal Esses caracteres fazem parte da codifica o ASCII possuindo valores decimais de 0a 31 e 127 por m nem todos eles s o reconhecidos pelo VT100 A Tabela 2 1 lista todos os caracteres de controle destacando os reconhecidos pelo terminal Tabela 2 1 Caracteres de Controle Decimal Hexa Abrevia o Descri o 00 00 NUL Null 01 01 SOH Start of Header 02 02 STX Start of Text 03 03 ETX End of Text 04 04 EOT End of Transmission 05 05 ENQ Enquiry 06 06 ACK Acknowledgement 07 07 BEL Bell 08 08 BS Backspace 09 09 HT Horizontal Tabulation 10 0A LF Line Feed 11 0B VT Vertical Tabulation 12 0C FF Form Feed 13 OD CR Carriage Return 14 0E SO Shift Out 15 OF SI Shift In 16 10 DLE Data Link Escape 17 11 DC1 Device Control 1 XON 18 12 DC2 De
45. mo se renderize de qualquer modo poss vel atrav s das APT s gr ficas Entretanto no seu n cleo todo componente Swing depende de um conteiner AWT pois o JComponent componente base de todos os outros componentes Swing estende um conteiner AWT Isso permite que o Swing se ligue ao framework de gerenciamento de interface gr fica do sistema operacional possibilitando intera es e mapeamentos entre a tela e dispositivos como movimentos do mouse e pressionamento de teclas do teclado Assim por exemplo todo componente Swing faz sua renderiza o em resposta a uma chamada do m todo component paint que definido no AWT Container Por m enquanto um componente AWT delega a constru o da interface gr fica ao sistema operacional um componente Swing respons vel pela sua pr pria constru o A biblioteca Swing faz um forte uso do padr o de arquitetura de software MVC que conceitualmente desacopla os dados que s o vistos dos controles da interface do usu rio por onde os dados s o vistos Por causo disso a maioria dos componentes Swing s o associados a modelos que s o especificados em termos de interfaces Java e o programador pode usar diversas implementa es padr o ou especificar suas pr prias O framework fornece implementa es padr o de modelos de interface em todos os seus componentes concretos 6 3 3 Rela o com AWT Desde as primeiras vers es do Java somente uma por o do Abstract Window Toolkit tem
46. mp E 2 3 4 5 6 gt A O Ba J L G y ENTER EEE EEE Figura 2 2 Teclado do terminal VT100 1 2 3 1 Teclas Especiais Os antigos terminais contavam com algumas teclas especiais que n o constam nos teclados atuais descritas a seguir e SETUP Tecla que era utilizada em conjunto com outras teclas para executar fun es espec ficas como rolagem de tela e altera es das caracter sticas e configura es do terminal e BREAK Essa tecla enviava um sinal de parada ao host e BELL Quando era pressionada em conjunto com a tecla CTRL enviava um c digo de alerta campainha ao host e NO SCROLL Quando era pressionada pela primeira vez interrompia a transmiss o de dados do host para o terminal e ao ser pressionada pela segunda vez continuava a transmiss o do ponto em que houve a interrup o e LINEFEED Enviava um c digo para o acr scimo de uma nova linha 2 3 2 Indicadores Luminosos O teclado do terminal VT100 original trazia algumas luzes de indica o que tinham como fun o informar as situa es descritas a seguir e ON LINE Indica que o terminal est pronto para enviar e receber mensagens e LOCAL Indica que o terminal est off line e n o pode comunicar se com o host No modo local o teclado permanece ativo e os caracteres eventualmente digitados aparecem na tela e KEYBOARD LOCKED Indica que o teclado est desligado O terminal pode receber dados do host assim
47. mpila o especulativa que aproveita o tempo ocioso do processador para pr compilar bytecode para c digo nativo Outros mecanismos ainda mais elaborados como o HotSpot da Sun que guarda informa es dispon veis somente em tempo de execu o para otimizar o funcionamento da JVM possibilitando que a m quina virtual v aprendendo e melhorando seu desempenho Essa implementa o no entanto tem algumas limita es intr nsecas A pr compila o exige tempo o que faz com que programas Java demorem um tempo significativamente maior para iniciarem a sua execu o Soma se a isso o tempo de carregamento da m quina virtual Isso n o um grande problema para programas que rodam em servidores e que normalmente s o inicializados apenas uma vez No entanto em computadores pessoais o usu rio muitas vezes n o tem a paci ncia necess ria para aguardar o completo carregamento da aplica o O Java ainda possui outra desvantagem consider vel em programas que usam bastante processamento num rico O padr o Java tem uma especifica o r gida de como devem funcionar os tipos num ricos Essa especifica o n o condiz com a implementa o de pontos 29 flutuantes na maioria dos processadores o que faz com que o Java seja significativamente mais lento para estas aplica es quando comparado a outras linguagens Os bytecodes produzidos pelos compiladores Java podem ser usados num processo de engenharia reversa para a recupera o
48. ntendo as portas de comunica o serial o modelo adquirido para o projeto n o as possu a Esse contratempo foi resolvido utilizando se um adaptador USB Serial que conectado porta USB dispon vel no Mini PC Por m essa solu o trouxe alguns problemas conforme explicado nos t picos seguintes 24 CAP TULO 5 SISTEMA OPERACIONAL Tendo escolhido o Mini PC como base para a execu o do software emulador teve se a necessidade de se escolher um sistema operacional que consumisse poucos recursos de hardware dada a limita o do Mini PC nessa rea Dessa forma o sistema operacional deveria ser leve e funcional al m de ser gil o suficiente para executar aplica es desenvolvidas em Java 5 1 WINDOWS 98 O Windows 98 foi o primeiro sistema operacional escolhido para ser executado no Mini PC Tal escolha deveu se ao fato do Windows ser um sistema com uma interface gr fica bastante amig vel al m da maioria dos usu rios ter uma maior facilidade em seu manuseio A sua instala o ocorreu sem problemas tendo sido instalado com xito todos os drivers de hardware Ap s a instala o do Windows instalou se a M quina Virtual Java vers o 5 0 j que essa a ltima vers o compat vel com o Windows 98 Apesar da instala o de todos os componentes necess rios ter sido finalizada com sucesso o adaptador USB Serial n o funcionou adequadamente apesar de o seu driver tamb m ter sido instalado adequadamente Devi
49. pectivamente a linha e a coluna em que o cursor se encontra naquele instante Caso n o seja informado os par metros ou o valor deles seja zero ou 1 significa que o cursor est na posi o home 1 linha e 1 coluna O valor padr o igual a 1 CUB Cursor Backward VT100 para o host e host para o VT100 ESC Pn D A sequ ncia CUB move o cursor para tr s ou seja para a esquerda O par metro num rico Pn indica em quantas colunas para esquerda o cursor ser movido Se o par metro for zero ou 1 o cursor volta exatamente uma coluna para a esquerda Caso haja uma tentativa de se mover o cursor al m da margem esquerda o cursor para na margem esquerda isto na primeira coluna da tela O valor padr o igual a 1 CUD Cursor Down VT100 para o host e host para o VT100 ESC Pn B A sequ ncia CUD move o cursor para baixo sem alterar a coluna em que se encontra A quantidade de linhas movidas indicada pelo par metro num rico Pn Se esse par metro for zero ou 1 o cursor desce exatamente uma linha Caso haja uma tentativa de se mover o cursor al m da margem inferior o cursor para na margem inferior isto na ltima linha O valor padr o igual a 1 CUF Cursor Forward VT100 para o host e host para o VT100 ESC Pn A sequ ncia CUF move o cursor para a frente ou seja para a direita O par metro num rico Pn indica em quantas colunas para a direita o cursor ser movido Se o par metro
50. rational systems The program will run on a low cost computer with modest hardware specifications but enough to execute the software iii LISTA DE FIGURAS Figura 2 1 Terminal dedXadeo V ET0O MN sas pra ossada ld 3 Figura 2 2 Teclado do terminal VT100 MR sasaisasauassrspasato jarqudnE ssa TU Diane aa desen 4 Figura 2 3 Formato de uma Sequ ncia de Escape e eeeeererecereanas 8 Figura 3 1 Formato de uma transmiss o serial erre eereaneeernanea 13 Figura 4 1 Mini PC modelo TU 40 da e Way 4 eeeranaa 22 Figura 4 2 Vista Frontal do Mini PC 4 seeseeseeesseeesseessseessesssesssssessseesseesseesseessseeesseesseesse 23 Figura 4 3 Vista Traseira do Mini PC 4 ceceeeeersersereerrerseraceresanererareresecesereeresaeeereane 24 Figura 6 1 Hierarquia de Classes entre Swing e AWT erre 33 Figura 7 2 Interface Gr fica do Emulador crer erreaneeernanea 38 Figura 7 3 Janela para configurar a conex o serial eres 38 Figura 7 4 Janela com informa es do programa e do sistema 39 iv LISTA DE TABELAS Tabela 2 1 Caracteres de Controles ses a de lo q a id 6 Tabela 2 2 Par metros para o comando Erase In Display 1 10 Tabela 2 3 Par metros para o comando Erase In Line 11 10 Tabela 3 1 Pinagem do padr o RS 232 cross iasistghas putrgasaado Paes Ftenligeda Set olas paro ga a
51. s rio o t rmino da implementa o dos comandos restantes al m de pequenas corre es ou adapta es nos comandos j implementados Como exemplo de uma corre o a ser feita pode se citar os comandos Index e Reverse Index que no programa emulador n o realizam a rolagem da tela quando o cursor se encontra na ltima ou na primeira linha respectivamente Opcionalmente pode se substituir o Mini PC por um computador com processamento mais r pido caso o usu rio veja essa necessidade Al m disso poss vel efetuar a troca do sistema operacional devido portabilidade intr nseca do software emulador 41 CAP TULO 8 CONCLUS O O software emulador do terminal de v deo VT100 foi desenvolvido em linguagem de programa o Java e executado em um computador de baixo custo denominado Mini PC Ao t rmino do projeto verificou se que as principais fun es do terminal de v deo VT100 foram implementadas A linguagem Java foi escolhida visando a total portabilidade do programa relacionada ao sistema operacional Assim o software n o fica restrito a um nico sistema operacional tendo o usu rio a liberdade de executar o emulador no sistema de sua prefer ncia O uso da API RXTX para a realiza o das conex es seriais permitiu a configura o de tais conex es de forma adequada apesar da dificuldade encontrada de se utilizar os m todos contidos nessa API devido a pouca documenta o dispon vel sobre ela Por m essa dificu
52. s jogos e editores de imagem Durante o desenvolvimento do projeto j se encontrava dispon vel a vers o 4 0 desse sistema operacional Por m optou se por utilizar a vers o 3 01 por ser uma vers o mais antiga e portanto mais est vel Os procedimentos para a sua correta instala o encontram se descritos no pr ximo item 5 2 1 Instala o Um dos motivos para que a distribui o Puppy Linux fosse a escolhida para servir de base no projeto foi a facilidade que ela apresenta na instala o principalmente em computadores que n o possuem um disco r gido e que utilizam formas alternativas para iniciar o sistema Como o Mini PC utiliza uma mem ria CompactFlash no lugar de um disco r gido a instala o deve ser feita com o aux lio de um outro computador para que seja poss vel rodar o CD de instala o Os seguintes passos devem ser seguidos para instalar o Puppy Linux no Mini PC 1 Baixar a imagem ISO do Puppy Linux 3 01 em http www puppylinux org O nome do arquivo de imagem puppy 3 01 seamonkey iso 2 Gravar a imagem em um CD e executar o boot pelo CD em qualquer computador 3 J no Puppy Linux formatar a mem ria CompactFlash com o sistema de arquivos EXT3 atrav s do programa GParted 4 Abrir o Puppy Universal Installer e escolher a op o USB CF Flash drive later move to IDE adapter para instalar o Linux na CompactFlash bastando seguir as op es default 5 Ap s a primeira iniciali
53. somente exibir caracteres na tela o programa tem uma interface gr fica bastante simples sendo composta por uma rea onde os caracteres s o exibidos ou manipulados uma barra de menus acima da rea de texto onde est o dispon veis op es de configura o e uma barra de status abaixo da rea de texto onde s o mostradas informa es acerca da conex o A Figura 7 2 mostra a janela principal do programa 37 EB Emulador VT 100 10l xl Arquivo Display Info i z v COM1 9600 bps Figura 7 2 Interface Gr fica do Emulador Acessando o menu Arquivo Nova Conex o abre se uma janela onde poss vel configurar os par metros da comunica o serial podendo se escolher a porta a ser utilizada a taxa de transmiss o em bps o n mero de bits de dados o n mero de bits de parada e a paridade Essa janela de configura es ilustrada na Figura 7 3 Configura es x Porta a Bits por segundo 9600 Bits de dados Bits de parada ho fo Paridade Conectar Cancelar Figura 7 3 Janela para configurar a conex o serial 38 Ap s a escolha dos par metros da comunica o serial s o exibidas na barra de status na parte inferior da interface do programa a porta e a taxa de transmiss o escolhidas Na figura mostrada anteriormente poss vel visualizar que o programa estava se comunicando atrav s da porta COMI com uma taxa de 9600 bps Al m de poder re
54. tocolos para detec o de erros ou algoritmos para compress o de dados e Taxas de bit para transmiss o apesar de o padr o dizer ser destinado a taxas de bits menores que 20000 bits por segundo Muitos dispositivos modernos suportam velocidade de 115200 bits s e Fornecimento de energia para dispositivos externos 3 3 1 Conectores O padr o RS 232 especifica 20 diferentes sinais de conex o sendo um conector em forma de D comumente usado O conector recomendado pelo padr o o DB 25 com 25 pinos apesar do seu uso n o ser obrigat rio Como a maioria dos dispositivos faz uso somente de alguns dos 20 sinais especificados conectores menores normalmente s o usados Por exemplo o conector DE 9 popularmente conhecido por DB 9 que possui 9 pinos tem 14 sido usado na maioria dos computadores pessoais desde os anos 1980 tendo sido padronizado pela norma TIA 574 A Tabela 3 1 especifica os 22 pinos utilizados pelo padr o RS 232 do conector DB 25 Al m de 20 pinos utilizados para sinais outros dois s o usados para terra ground Nessa tabela as fun es dos pinos est o subdivididas em seis categorias 1 Sinal de terra e blindagem 2 Canal de Comunica o Prim rio usado para troca de dados incluindo sinais de controle de fluxo 3 Canal de Comunica o Secund rio quando implementado usado para controle remoto do modem requisi o de retransmiss o quando da ocorr ncia de erros e controle sobre o setup
55. vice Control 2 19 13 DC3 Device Control 3 XOFF 20 14 DC4 Device Control 4 21 15 NAK Negative Acknowledgement 22 16 SYN Synchronous Idle 23 17 ETB End of Transmission Block 24 18 CAN Cancel 25 19 EM End of Medium 26 1A SUB Substitute 27 1B ESC Escape 28 1C FS File Separator 29 ID GS Group Separator 30 1E RS Record Separator 31 LF US Unit Separator 127 7F DEL Delete 2 4 2 Sequ ncias de Escape O terminal VT100 tem diversos comandos que n o t m a fun o de exibir caracteres na tela Assim o host capaz de comandar o terminal movendo o cursor modificando estados e exibindo sinais e alertas sonoros Nesse contexto uma sequ ncia de escape um conjunto de caracteres usados para mudar o estado de computadores ou terminais de v deo sendo tamb m conhecida por sequ ncia de controle devido ao seu uso para controlar dispositivos Sequ ncias de escape usam um caractere de escape ESC para mudar o sentido dos caracteres que se seguem Assim os caracteres seguintes s o interpretados como um comando a ser executado ao inv s de dados a serem impressos na tela A funcionalidade dessas sequ ncias n o imposta pelos padr es ANSI ou seja cada fabricante tem flexibilidade para escolher a fun o de cada sequ ncia Entretanto os terminais VT100 operaram com as fun es padronizadas pela ANSI A seguir s o definidos os elementos b sicos das sequ ncias de escape ANSI e CSI Control Sequence Introducer Indic
56. vidas na comunica o Um oscilador no receptor ir gerar um sinal de clock interno que igual ou muito pr ximo ao do transmissor Para o protocolo serial mais comum os dados s o enviados em pequenos pacotes de 10 ou 11 bits dos quais 8 constituem a mensagem Quando o canal est em repouso o sinal correspondente no canal tem um n vel l gico alto Um pacote de dados sempre come a com um n vel l gico baixo bit de partida para sinalizar ao receptor que uma transmiss o foi iniciada O bit de partida inicializa um temporizador interno no receptor avisando que a transmiss o come ou Ap s o bit de partida 8 bits de dados de mensagem s o enviados na taxa de transmiss o especificada O pacote conclu do com os bits de paridade e de parada Depois do bit de parada a linha pode ficar ociosa indefinidamente ou outra mensagem pode ser imediatamente inicializada A Figura 3 1 mostra um pacote t pico de uma transmiss o serial FORMATO T PICO 1 Start Bit 8 Bits de Dados 1 Bit de Paridade 1 Stop Bit q Loo Tempo MENSAGEM Start Bit exatamente Bit de Paridade in cio de 8 bits de dados checa a precis o transmiss o Ee da transmiss o Stop Bit fim de transmiss o e tempo para receptor reiniciar Figura 3 1 Formato de uma transmiss o serial 3 3 RS 232 Um padr o recomendado ou RS Recommended Standard relata uma padroniza o de uma interface comum para comunica o de dados entre equipamentos
57. xo de dados quando estamos transferindo dados entre duas interfaces seriais Isso pode ser devido a limita es em uma das interfaces ou em um dispositivo de armazenamento O fluxo de dados pode ser regulado utilizando um controle por software ou um controle por hardware 20 No controle de fluxo por software s o utilizados caracteres especiais para iniciar XON ou encerrar XOFF o fluxo de dados Esses caracteres s o definidos na codifica o ASCII Nesse tipo de controle de fluxo o caractere XON avisa o transmissor que o receptor est pronto para enviar dados J o XOFF avisa o transmissor para interromper a transmiss o dos dados at que o receptor esteja pronto para receber novamente No controle de fluxo por hardware s o utilizados os sinais CTS Clear To Send e RTS Request To Send ao inv s dos caracteres especiais O receptor deixa o CTS em n vel l gico baixo quando ele est pronto para receber mais dados e em n vel l gico alto quando ele n o est pronto Do mesmo modo o transmissor deixa o RTS em n vel baixo quando est pronto para enviar dados e em n vel alto quando n o est pronto Como o controle de fluxo por hardware utiliza dois sinais separados ele muito mais r pido do que o controle por software que precisa enviar ou receber caracteres de controle O controle por hardware n o suportado por todos os dispositivos e sistemas operacionais 21 CAP TULO 4 MINE PC O termo Mini PC na verdade r
58. za o do sistema reiniciar ou desligar o Mini PC escolhendo ao ser perguntado a op o Save to hdal 26 Conforme dito anteriormente utilizou se um adaptador USB Serial para realizar as transmiss es de dados Para o correto funcionamento do adaptador no Puppy Linux n o necess ria a instala o de nenhum driver visto que eles j se encontram embutidos no sistema operacional Por m necess rio habilit los pois eles n o s o habilitados por padr o Assim devem se executar as seguintes a es 1 No Boot Manager do Puppy Linux habilitar os m dulos p12303 e usbserial para que eles sejam carregados no boot do sistema operacional 2 No prompt de comando digitar ln s dev usb ttyUSBO dev ttyUSBO Obviamente que se o computador utilizado na execu o do emulador possuir portas seriais nativas as a es descritas acima s o dispens veis 27 CAP TULO 6 LINGUAGEM DE PROGRAMA O JAVA 6 1 INTRODU O Java uma linguagem de programa o orientada a objeto lan ada em 1995 pela empresa Sun Microsystems Diferentemente das linguagens convencionais que s o compiladas para c digo nativo a linguagem Java compilada para um bytecode que posteriormente interpretado por uma m quina virtual O objetivo do projeto que deu origem ao Java n o era a cria o de uma nova linguagem de programa o mas antecipar e planejar a revolu o do mundo digital Eles acred
Download Pdf Manuals
Related Search
Related Contents
BROCHURE 1 - APE 3 roues 価格表示あり Icom iFR5100 User's Manual Rôles et statuts dans la famille algérienne contemporaine www.crucial.com/support C++ User`s Guide - Oracle Documentation SunFire JTF - Tech Data Corporation Terminaux PanelView 600 Tecumseh AVA2515ZXNXF Performance Data Sheet Air Filter Regulator Filtro Riduttore di Pressione Copyright © All rights reserved.
Failed to retrieve file