2 pontos por GN⁺ 2024-08-04 | 1 comentários | Compartilhar no WhatsApp
  • Antes do primeiro voo do Shuttle em 1981, o Interim Teleprinter System foi criado em 7 meses como equipamento temporário para enviar procedimentos, planejamento de missão e relatórios meteorológicos à tripulação
  • Essa impressora era um equipamento adaptado de um terminal militar de comunicações e imprimia rapidamente uma linha por vez usando um tambor giratório com caracteres em relevo e 80 martelos
  • Originalmente, o plano era usá-la apenas algumas vezes até o TAGS ficar pronto, mas, por causa dos problemas de atolamento de papel do TAGS, ela continuou sendo usada como backup em mais de 50 voos
  • Só para colocar o equipamento de 59 libras em órbita, o custo no Shuttle era de mais de US$ 1,5 milhão por voo, e restrições de ruído, superaquecimento e inflamabilidade exigiram modificações como isolamento acústico e um modo de espera de 1W
  • No processo de restauração, foram resolvidos problemas com rolos de borracha derretidos e alinhamento mecânico, e foi possível imprimir de verdade ao enviar dados modulados em FSK obtidos por engenharia reversa

Por que o Shuttle precisava de uma impressora

  • Nas missões Apollo, o método era o controle em solo ler as informações por rádio e a tripulação anotá-las à mão
  • A NASA queria colocar no Space Shuttle um dispositivo capaz de receber textos e imagens, e o plano original era o Uplink Text & Graphics System (TAGS), um equipamento tipo fax de alta resolução com 78 libras
    • O TAGS enviava imagens em escala de cinza ao Shuttle por um fluxo de dados digital e formava a imagem linha por linha em papel fotossensível de haleto de prata por meio de um CRT de bordo e uma faceplate de fibra óptica
    • O papel era revelado ao passar por rolos quentes a 260ºF durante 25 segundos
  • O TAGS exigia o Tracking and Data Relay Satellite System (TDRS), mas o TDRS não estaria pronto até antes do sexto voo do Shuttle
  • Sete meses antes do primeiro lançamento do Shuttle, a NASA decidiu criar um sistema temporário para enviar mudanças no plano de voo em tempo real e dados operacionais usando o canal de áudio já existente

Reduzindo e adaptando um terminal militar para uso no Shuttle

  • O equipamento-base era o AN/UGC-74 Tactical Teletype, um terminal militar de comunicações desenvolvido pelo Army e também usado pela Navy e pela Air Force
  • O terminal original suportava ASCII e Baudot, várias taxas de transmissão, loop de corrente e sinais de tensão, além de ter teclado para comunicação bidirecional
  • Também incluía funções de processador de texto controladas por um microprocessador Motorola 6800
    • Esse recurso permitia redigir mensagens offline para reduzir o tempo de transmissão por rádio em ambientes hostis
    • O Interim Teleprinter do Shuttle era somente de recepção e não tinha teclado, então esse recurso não era utilizado
  • O terminal militar pesava 100 libras, mas foi reduzido para 59 libras após a adaptação para o Shuttle
    • O teclado e muitos controles da parte frontal foram removidos
    • O chassi foi trocado por uma estrutura mais leve e trilhos horizontais foram adicionados para instalação em um compartimento de armazenamento do Shuttle
    • O módulo de interface militar foi removido e substituído por uma placa de interface FSK específica para o Shuttle

Impressão linha por linha com tambor giratório e 80 martelos

  • O Interim Teleprinter funcionava com um tambor giratório com caracteres em relevo, e os martelos batiam a fita e o papel contra os caracteres do tambor para imprimir
  • O tambor tinha largura de 80 caracteres, correspondente ao comprimento de uma linha, e havia um martelo por posição de impressão, totalizando 80 martelos
  • Em cada posição havia 64 caracteres imprimíveis distribuídos ao redor da circunferência do tambor
    • Não existia um caractere de espaço separado; o espaço era produzido simplesmente sem imprimir nada
    • Dez caracteres especiais do tambor militar foram substituídos por símbolos mais úteis para o Shuttle
    • ;@[\\]^!\"#$ foi substituído por θ✓‾↑↓~αβΔϕ
  • Uma linha era impressa durante uma volta completa do tambor, e os martelos precisavam disparar no instante exato em que o caractere desejado passava diante de cada posição
  • A frase de teste embutida era "THE LAZY YELLOW DOG WAS CAUGHT BY THE SLOW RED FOX AS HE LAY SLEEPING IN THE SUN"
    • Ela é parecida com a tradicional frase da “quick brown fox”, mas não inclui J, K, M, Q e V
    • Tem exatamente 80 caracteres e é útil para verificar se as 80 colunas estão funcionando ao substituir os espaços pelo losango

Placas customizadas para reconstruir dados seriais a partir do link de áudio

  • O teletype militar original recebia um fluxo de bits serial como entrada, mas no Shuttle os dados eram codificados na frequência do link de áudio
  • Três placas customizadas para o Shuttle demodulavam os dados de áudio, ligavam a impressora quando uma mensagem chegava e depois a colocavam de volta em modo de espera
  • A engenharia reversa mostrou que o fluxo serial de bits era codificado com Frequency Shift Keying (FSK)
    • 1 era representado por 3600Hz, e 0 por 7200Hz
    • Os dados seriais eram transmitidos a 600 baud, paridade par e 1 bit de parada
  • O fluxo de demodulação amplificava e filtrava a entrada de áudio, depois convertia a senoide em onda quadrada por limiar e diferenciava 3600Hz de 7200Hz com autocorrelação digital
  • A placa de controle atrasava a entrada em 139µs usando um registrador de deslocamento de 64 bits e fazia XOR com o sinal original
    • Como o sinal de 7200Hz se repete a cada 139µs, a entrada e a entrada atrasada ficam iguais, e o resultado do XOR é 0
    • Como a onda quadrada de 3600Hz muda de estado a cada 139µs, o resultado do XOR é 1
  • O demodulador digital era menos sensível ao nível do sinal e evitava dependência de filtros de ajuste fino e harmônicos que poderiam causar problemas em demoduladores analógicos
  • Após a demodulação, o sinal passava por um filtro passa-baixa de 400Hz e por limiarização para voltar a virar um sinal binário, sendo então enviado à placa lógica da impressora apenas quando a portadora era detectada

Como placas lógicas dos anos 1970 controlavam a impressão

  • As quatro placas lógicas do teletype militar foram mantidas no Shuttle sem alterações
    • placa de CPU
    • placa de memória
    • placa de comunicação
    • placa de controle de impressão
  • O circuito era grande porque a tecnologia de microprocessadores dos anos 1970 exigia muitos chips lógicos da série 7400 para funções como decodificação de endereços, buffering e latch
  • A placa de CPU tinha CPU Motorola 6800, 4KB de memória e ROM de programa
    • Ela convertia uma linha de caracteres ASCII em código do tambor de impressão e armazenava isso na memória
    • Também cuidava das configurações e do autoteste
  • A placa de controle de impressão sincronizava a posição do tambor com o buffer de memória para acionar os martelos
    • Ela varria por DMA o buffer de memória de 80 caracteres para cada linha do tambor
    • Quando o valor da memória coincidia com o número da linha atual do tambor, o martelo correspondente era disparado
    • Havia 20 hammer cards, cada uma com 4 martelos, controladas eletricamente em uma estrutura matricial com 20 linhas de seleção de placa e 4 linhas de seleção de martelo
  • A placa de comunicação usava um 8251A USART para converter o fluxo de dados serial em bytes que a CPU pudesse usar
    • O terminal militar suportava transmissão e recepção, mas o teleprinter do Shuttle usava apenas recepção
  • A placa de memória fornecia 8KB de RAM e 8KB de ROM para a função de processador de texto
    • Segundo o manual, a impressora funciona sem essa placa se a função de processador de texto não for necessária
    • Continua sendo uma dúvida por que essa placa não foi removida no Shuttle, já que o processador de texto não era necessário

Projeto de alimentação elétrica e vestígios de funções militares de segurança

  • A placa de alimentação era uma fonte chaveada que fornecia energia separadamente para várias partes
    • +5V, +12V e -5V para o microprocessador
    • +5V, -8.6V e +8.6V para teclado, tampa contra poeira e módulo de interface, que haviam sido removidos no Shuttle
    • alimentação para as luzes de estado
  • A alimentação do motor do tambor era ajustada para controlar a velocidade de rotação
    • Um sensor do tambor fornecia pulsos de feedback para cada linha
    • Se o tambor estivesse lento demais, a tensão aumentava; se estivesse rápido demais, a tensão diminuía
  • A alimentação dos martelos era projetada de forma incomum para manter corrente constante de 600mA
    • Quando a impressora era ativada, ela gerava +18V
    • Se os martelos consumissem menos corrente, a corrente excedente era dissipada em resistores
  • Esse projeto era uma função militar para ocultar informações impressas durante o tráfego de mensagens
    • O objetivo era impedir ataques que monitorassem variações transitórias de energia para descobrir quais martelos estavam sendo acionados
    • No Space Shuttle, isso não tinha utilidade e apenas desperdiçava energia
  • O teletype militar suportava 22–30VDC, 115VAC, 230VAC e bateria reserva de 12VDC, mas o teleprinter do Shuttle operava em 28VDC

Instalação dentro do Shuttle e restrições operacionais

  • O Interim Teleprinter era grande demais para ficar no flight deck, então foi instalado em um compartimento de armazenamento do middeck, um nível abaixo
  • A posição era o compartimento MA9F, na parte traseira direita, e um painel de conectores foi instalado na porta do compartimento para energia e conexão de áudio
  • Como usava impressão por impacto, o ruído era alto, e mesmo dentro do compartimento o som externo chegava a 69.5dB
    • A solução foi colocar isolamento acústico no compartimento
    • Depois de testar vários materiais isolantes, foi escolhido um que atendia aos requisitos de toxicidade
    • O isolamento acústico também precisou de uma waiver de inflamabilidade
  • O compartimento isolado e sem refrigeração criou problema de superaquecimento
    • O teletype militar consumia 34W mesmo em idle e podia ficar perigosamente quente após apenas 6 órbitas
    • O projeto do Shuttle adicionou um modo de espera que consumia só 1W
    • Quando um sinal do solo era detectado, a alimentação era ligada, e depois do uso o sistema voltava ao modo de espera
    • Também foi adicionado um circuito para enviar um tom ao solo, permitindo ao Mission Control saber que a impressora havia saído do modo de espera
  • Durante o lançamento, a conexão de áudio usada pelo teleprinter era necessária para as comunicações da tripulação, então ele era conectado após a decolagem e a configuração de áudio do painel L9 era reorganizada

O processo de substituição por TAGS e TIPS

  • O Interim Teleprinter era um equipamento temporário que seria usado só até o TAGS entrar em operação, mas os problemas de confiabilidade do TAGS mudaram esse plano
  • O primeiro satélite TDRS foi lançado no STS-6, o sexto voo do Shuttle, e o TAGS pôde ser usado a partir do STS-7
  • O TAGS teve atolamento de papel já no STS-7, e o mesmo problema continuou depois disso
    • No STS-35, depois que a impressora atolou, até a ferramenta para destravá-la quebrou
    • Por causa da instabilidade do TAGS, o Interim Teleprinter foi mantido como backup
  • Cerca de 10 anos depois, foi introduzido o Thermal Impulse Printer System (TIPS), aparentemente usado no voo STS-56 em 1993
  • Depois que a confiabilidade do TIPS foi confirmada, ele substituiu tanto o teleprinter quanto o TAGS
    • O TIPS era baseado na impressora comercial Raytheon TDU-850
    • Na época, o produto comercial custava US$ 4.950
    • Dentro dele havia uma placa de interface de comunicação customizada para conectar os sistemas de comunicação S-Band e Ku-Band do Shuttle
    • Graças a essa interface, a tripulação também podia usar o TIPS como impressora dos computadores pessoais de bordo

Restauração e resultados da engenharia reversa

  • O equipamento acessado provavelmente não era uma unidade de voo, mas sim um sistema de desenvolvimento que permaneceu em solo
    • Há bodge wires e componentes adicionais nas placas
    • As três placas customizadas do Shuttle não têm o conformal coating comum em placas aeroespaciais
    • O equipamento tem a marcação “Not for flight”
  • Durante a restauração, o maior problema foi que os rolos de borracha haviam se transformado quase em líquido, deixando o mecanismo pegajoso
  • A impressora foi desmontada, o mecanismo foi limpo e realinhado, e o espaçamento dos martelos foi ajustado até a qualidade de impressão ficar legível
  • As três placas customizadas do Shuttle foram submetidas a engenharia reversa, confirmando que o formato de dados aceito pela impressora era dados seriais codificados em áudio
  • A impressora conseguiu realmente imprimir ao receber dados modulados em FSK

Um projeto temporário que acabou durando muito

  • O Interim Teleprinter era pesado, tinha risco de superaquecimento e, apesar de ser baseado em um produto já existente, exigiu muitas alterações na parte frontal, no tambor, na interface e no chassi
  • Ele também herdou funções desnecessárias no Shuttle, como o processador de texto e o recurso de segurança por corrente constante
  • O desenvolvimento levou apenas 7 meses, e restrições como toxicidade e inflamabilidade limitaram bastante as abordagens possíveis
  • No fim, o Interim Teleprinter foi usado em mais de 50 voos e permaneceu como um backup mais confiável que o TAGS
  • Apesar do nome, o Interim Teleprinter não acabou sendo apenas um equipamento temporário de curto prazo, mas uma solução que funcionou por muito mais tempo do que o pretendido

1 comentários

 
GN⁺ 2024-08-04
Comentários do Hacker News
  • O tambor do teletipo do Shuttle substituía 10 caracteres especiais ASCII por símbolos mais úteis para o Shuttle, como letras gregas para ângulos
    Especificamente, os caracteres ;@[\]^!"#$ eram substituídos por 聁~αβā
    O frustrante é que essa impressora antiga conseguia imprimi-los, mas o Chrome moderno no Android não consegue exibi-los corretamente

    • A fonte na página do autor é normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;, enquanto o News YC usa Verdana, Geneva, sans-serif;
      Segundo https://unicode.scarfboy.com/, esses caracteres são os seguintes, e é de se esperar que a formatação quebre: U+03B8 θ GREEK SMALL LETTER THETA, U+2713 CHECK MARK, U+203E ‾ OVERLINE, U+2191 ↑ UPWARDS ARROW, U+2193 ↓ DOWNWARDS ARROW, U+007E ~ TILDE, U+03B1 α GREEK SMALL LETTER ALPHA, U+03B2 β GREEK SMALL LETTER BETA, U+0394 Δ GREEK CAPITAL LETTER DELTA, U+03D5 ϕ GREEK PHI SYMBOL
      O que não é exibido é U+2713 CHECK MARK, U+203E ‾ OVERLINE, U+2191 ↑ UPWARDS ARROW, U+2193 ↓ DOWNWARDS ARROW, U+03D5 ϕ GREEK PHI SYMBOL; até onde sei, a maioria está em Arial, mas não em Verdana
    • Curiosamente, no Chrome do Samsung S24 Ultra, aparece bem no HN, mas não na página do Ken. No Chrome no Windows e no Ubuntu, e no Safari no iOS, é o contrário: fica ok na página, mas não aqui
      Codificação de caracteres é mesmo divertida
      Se o Ken estiver lendo, no meu dispositivo o problema era especificamente com os caracteres codificados como entidades numéricas. Quando troquei para os caracteres reais nas ferramentas de desenvolvedor do Chrome no Windows e no Ubuntu, renderizou corretamente
    • O problema parece ser a tag. A fonte de código do Chrome no Android aparentemente não tem esses caracteres especiais
      Removi a tag e os caracteres passaram a renderizar no Android também; pelo menos no meu ambiente, isso resolveu
    • Parece que o texto foi corrompido em algum ponto entre o momento em que este artigo foi escrito originalmente e o momento em que foi entregue ao navegador
      Não sei ao certo se dá para culpar o Chrome ou o Android por isso
  • Sou o autor. Se tiverem perguntas, posso responder

    • Os cálculos de “imprimia milhares de linhas por voo” e “como o custo de voo do Shuttle era de US$ 27.000 por libra, levar um teletipo de 59 libras ao espaço custava mais de US$ 1,5 milhão por voo” consideram apenas o peso da impressora em si
      Fico curioso para saber quanto papel em branco era carregado para a impressora e como essa quantidade era definida. Pelo tamanho da fonte na foto, se “milhares de linhas” for verdade, parece que seriam necessárias pelo menos mais algumas libras de papel
    • Fico feliz que Ken e Marc tenham se aprofundado mais uma vez em um hardware da NASA pouco conhecido
      Imagino que também tenham considerado o efeito giroscópico que o tambor giratório teria no Shuttle. Um dos motivos pelos quais os computadores do Shuttle usavam unidades de fita em vez de discos rígidos era que, em gravidade zero, isso poderia afetar a atitude da nave. Talvez a massa fosse pequena o suficiente para não ser um problema, ou talvez fosse aceitável por não ser um dispositivo que gira 100% do tempo, como um disco rígido
      Também me surpreende que não tenham considerado o Teletype Model 40. Era mais leve, não tinha tambor giratório, tinha uma configuração somente de recepção, então não seria preciso cortar fora o teclado, era baseado em ASCII e já era um equipamento certificado para voo em aeronaves militares. Dito isso, a época talvez não batesse. Eu o vi pela primeira vez em 1984, e na época ele era tratado como “novo”, então talvez não existisse em 1981
      O Model 40 usava uma correia giratória com paletas de caracteres individuais, e 80 martelos, um para cada coluna, batiam no momento certo para imprimir os caracteres. No vídeo, também dá para ver a polia da correia girando. Se ficasse sem uso por algum tempo, ele também desligava. Dava para brincar trocando as paletas de lugar; como as paletas individuais não eram rastreadas e apenas a posição inicial da correia era marcada por uma flag, se você alterasse a ordem depois disso, ele imprimia algo como N no lugar de M
      https://www.youtube.com/watch?v=whKVGefscro
    • Fico curioso se o tambor girava suavemente a uma RPM constante ou se parava por um instante, para que o papel não rasgasse quando o martelo o atingisse, usando alguma engrenagem parecida com um mecanismo de Genebra, como em projetores de filme analógicos
      https://en.wikipedia.org/wiki/Geneva_drive
    • Foi mencionado que havia ROM com o código do programa; fico curioso se também fizeram um dump da ROM
      Pelo texto, entendi que eram três ROMs no total: uma ROM de 4 KB na placa da CPU e duas ROMs de 8 KB na placa do processador de texto
    • Será que essa impressora tinha algum tratamento de resistência à radiação? Como outras pessoas comentaram, uma impressora matricial comercial poderia ter economizado bastante peso precioso, então imagino que houvesse outras prioridades além do peso
  • Isto era uma impressora de tambor, e outra impressora de alta velocidade comum da mesma época era a impressora de corrente.
    Basicamente, tinha uma fileira de martelos para cada coluna, e imprimia batendo quando a corrente de caracteres passava rapidamente na frente dos martelos; era uma estrutura da mesma família e era realmente rápida.
    O motivo de a Shuttle não ter escolhido uma impressora de corrente provavelmente foi o modo de falha. Se a corrente arrebentasse, poderia ser lançada para um lado da impressora e atravessar a parede, então os operadores eram avisados para não ficar ao lado dela.

    • Na aula de ciência da computação do primeiro ano, eu tinha que pegar as saídas do mainframe, e elas vinham de uma impressora de corrente.
      Ela ficava na sala ao lado, atrás do escaninho de impressões, mas mesmo assim era assustador ouvir o barulho de impressão a 20 pés de distância.
    • O “laboratório de computação” da nossa universidade também tinha uma impressora de corrente. Hoje a expressão soa antiquada, mas naquela época não era uma era em que todo mundo tinha computador em casa.
      Uma brincadeira de laboratório era rodar um programa que imprimia continuamente uma linha de - ou = sem quebras de linha; aí os caracteres iam se sobrepondo até o papel acabar cortando ou a impressora travar com frequência.
      Era uma brincadeira especialmente “divertida” no domingo à noite, quando se acumulavam as saídas dos programas que precisavam ser entregues antes das aulas de segunda-feira.
  • Em 1981, acho que já existiam impressoras matriciais comerciais/de consumo. Esse tipo de equipamento teria sido muito mais leve e consumido bem menos energia do que uma impressora de linha de tambor.

    • https://news.ycombinator.com/item?id=39769157
      Na época em que a Shuttle estava sendo desenvolvida, quase não havia impressoras desse tipo. Impressoras desktop a jato de tinta e laser só chegaram ao mercado 1 a 3 anos antes do primeiro voo da Shuttle, em 1981, e ainda não eram muito confiáveis. Impressoras desktop, mesmo hoje, não são tão confiáveis quanto teletipos ou impressoras matriciais. Há um motivo para as companhias aéreas usarem impressoras matriciais ao imprimir listas de passageiros no portão.
      Na época, dominavam os plotters a tinta, teleimpressores e aparelhos de fax. Mas plotters são terrivelmente lentos para escrever texto. Um fax sem fio talvez fosse possível se fosse robusto o suficiente, mas provavelmente seria tão pesado quanto um teletipo e muito mais lento. A vantagem real seria apenas imprimir diagramas e fotos.
    • Em 1981 talvez isso fosse verdade, mas há um longo intervalo entre o projeto e o voo de uma espaçonave.
      Nos anos 1970, quando a Shuttle estava sendo projetada, ainda não existiam impressoras matriciais baratas, leves e robustas. A ideia de usar componentes comerciais de prateleira (COTS) também ainda não havia se estabelecido; essa tendência só veio muitos anos depois de o STS já ter sido construído e colocado em operação.
    • Mas será que ela teria funcionado corretamente com a forte vibração e aceleração no lançamento e também em ambiente de gravidade zero?
    • Imaginar o som de uma impressora matricial ecoando pelas paredes da Shuttle no espaço teria sido incrível. Totalmente cyberpunk.
      Sinto muita falta de impressoras matriciais.
      https://youtube.com/watch?v=A_vXA058EDY
    • Na época, elas não eram principalmente japonesas? Se fossem, acho que isso também poderia ter virado uma questão política.
  • Fico curioso por que não usaram uma impressora matricial.
    Ou mesmo uma impressora térmica teria sido possível. Na época, aparelhos de fax eram comuns.

    • A NASA tinha restrições de toxicidade e inflamabilidade que limitavam os materiais que podiam ser usados.
  • Agora fiquei com vontade de ver uma amostra de impressão.

    • Mais para o fim do texto há um vídeo curto da impressora imprimindo de verdade, e dá para ver o resultado da impressão ali.
      Por outro lado, um calendário do Snoopy impresso com ela também teria sido legal.
  • A resposta para “se o processador de texto era irrelevante para a Shuttle, por que não removeram essa placa para reduzir peso?” parece estar na parte que diz que “o teleimpressor da Shuttle ao qual tivemos acesso provavelmente era um sistema de desenvolvimento que permaneceu em terra”.

  • As peças mecânicas talvez ainda tenham chance de funcionar, e não precisam de assinatura de tinta.

    • No fim do texto, Ken disse que as peças mecânicas não estavam funcionando.
      Ele explicou: “a impressora tinha muitos problemas mecânicos, principalmente porque os roletes de borracha tinham se transformado em algo líquido e bloqueavam o mecanismo com uma gosma pegajosa”.