Homebrew louco 500 MHz 1 Gs / s osciloscópio possível?

14

Eu estava lendo a sonda de escopo USB - solicitação de comentários e idéias , e isso me fez pensar. O que eu realmente gostaria é de um osciloscópio de alto desempenho, que custaria cerca de US $ 10000. Certamente muitas outras pessoas gostariam de um também. E certamente, com a experiência disponível neste site, deve ser possível projetar uma de código aberto.

Aqui está a minha ideia:

  • Seria uma sonda de mira portátil com um cabo USB saindo.
  • Funciona com bateria para isolá-lo da alimentação USB.
  • O estágio de entrada é um amplificador operacional de alta velocidade, como o THS3201DBVT ?
  • ADC é algo como ASD5010 , que é de 1 Gs / se 650 MHz de largura de banda de entrada.
  • FPGA para manipular os dados de 32 bits que saem, acionar e empacotá-los no USB.
  • Software de código aberto para rodar no PC.

Essa é uma tarefa tola? o que estou perdendo?

Adicionado, mais detalhes em resposta às respostas:

  • Este 'escopo' não seria capaz de competir com os escopos caros e sofisticados que existem por aí. O objetivo principal é ter algo que permita examinar sinais de alta velocidade, enquanto custa menos de US $ 200 para alguém fazer a si próprio.
  • Largura de banda USB: este não é um escopo analógico, nem é um LeCroy sofisticado . No entanto, o USB é capaz de transferir 2k amostras a 60 Hz. Isso ainda o torna extremamente útil, mesmo que não seja capaz de capturar eventos transitórios entre esses quadros.
  • Uma tela responsiva clara. Bem, o monitor de um PC é certamente claro. Melhor do que quase todos os escopos no mercado. Portanto, clareza e tamanho não são problemas. Responsivo? Contanto que a tela possa ser atualizada em 60 Hz, acho que é bastante responsivo.
  • Gatilho: eu estava imaginando um simples disparo de nível acontecendo no dispositivo. Mais uma vez, não seria capaz de competir com escopos sofisticados, mas lembre-se: esse é um dispositivo de US $ 200.
  • Não deveria ter largura de banda de 1 GHz. Onde eu disse isso? Mas certamente poderia ter mais de 100 MHz de largura de banda?

Leve para casa os pontos:

  • É um dispositivo de US $ 200.
  • O principal objetivo do dispositivo é possibilitar a visualização de sinais de alta velocidade sem gastar US $ 10000.
  • Haveria muitas coisas que seria incapaz de fazer.
  • Certamente algo assim seria bastante útil para as pessoas daqui.
  • Certamente, com a experiência disponível neste site, poderíamos fazer isso acontecer?
Rocketmagnet
fonte
1
* Um display claro e responsivo * Um circuito de trigger capaz de todos os modos de trigger sofisticados disponíveis nos novos escopos * Memory
The Photon
4
O problema é que, com um instrumento, você precisa CONFIAR o máximo possível no que lê na tela; de outra forma, que gera apenas confusão
clabacchio
3
Eu tenho que concordar com clabacchio, escopo analógico My Conar modelo 255 (estado sólido), não confio nas leituras de tensão ou tempo / cm e só levou a mais confusão e depuração percussiva com um objeto pesado de grande porte. Mas eu gosto da idéia de construir o seu próprio.
jsolarski
http://www.osciprime.com/ Ehh 8 Mhz teoricamente? Alguém já teve diversão. Gosto de ler o "pensamento", particularmente do AngryEE. Embora o osciprime tenha algumas boas idéias, principalmente a fase beta da rede de seu software "sobre os dados da rede", posso criar uma por diversão. Obrigado, -Danny K
1
É fácil dizer que não vai funcionar e é fácil encontrar 100 maneiras de não funcionar. O difícil é encontrar uma maneira de funcionar, mesmo que isso signifique alterar o escopo (do projeto, sem trocadilhos) e / ou recursos, mas vejo o que o Rocketmagnet está obtendo. No que diz respeito ao USB, o AngryEE (cujo nome se encaixa entre si) tem razão. No entanto, o eSATA oferece 6 GBps teóricos e o USB 3.0 é teórico de 5,0 Gbps. É o melhor que temos agora com uma conexão PCIx que certamente nos dará a largura de banda necessária (se for boa o suficiente para uma placa de vídeo, acho que vai dar risada).
MDMoore313

Respostas:

26

Isso se resume a uma questão de largura de banda e latência. Para um sistema simples, vamos assumir uma sonda com largura de banda de 100 MHz com taxa de amostragem de 1GS / se um conversor A / D de 10 bits (tive experiências ruins com escopos de 8 bits).

Eu quero uma exibição em tempo real no PC com uma janela de amostragem mínima de, digamos, 10ns - 1 ciclo de uma onda senoidal de 100 MHz e uma janela máxima de (eu serei generoso com você) meio segundo. Em outras palavras, a configuração de tempo mais baixa será algo como 1ns / div e a mais alta será 0,05s / div. Eu também quero vários modos de tensão - 100mV variam até 20V, digamos.

Que tipo de taxa de dados isso envolve?

1Gs / s * 10 bits / amostra = 10Gbits / s

Essas não são velocidades USB. Longe disso. E nem levei em conta as despesas gerais. Primeiro, você simplesmente não tem largura de banda. E também não é apenas largura de banda. Para sua exibição em tempo real, você precisa ser consistente. Você precisa transferir 100 bits para a camada do aplicativo a cada 10 nano segundos. Esse tipo de consistência não pode ser obtido pelo USB. Ele não foi projetado para atender a um dispositivo com demandas extravagantes - foi projetado como um ônibus. E você não pode controlar quando possui o ônibus - os dispositivos são apenas escravos. Se o host permitir que outro dispositivo fale quando você precisar enviar dados, eles serão perdidos.

Você pode estar chorando - por que transferir dados em tempo real para o computador quando o "tempo real" de uma pessoa é de 60Hz? Se tudo o que você precisa fazer é atualizar a exibição, certamente não precisará de tantos dados. Exceto o que você faz - sua exibição é uma combinação linear de todas as amostras que você coletou. Interpolação de spline cúbica média, com menor quadrado médio aproximado - isso não importa. Para criar uma bela exibição bonita que não seja apenas um monte de pontos, você precisa de mais de todos esses dados e precisa processá-los posteriormente. Algum gatilho? Os cálculos devem ser feitos no host - na camada de aplicação. Não importa como você o divide, para exibições em tempo real a taxas de 1GS / s para qualquer precisão, você precisa transferir ordens de magnitude mais dados do que o USB pode suportar e você deve fazê-lo com mais confiabilidade do que você '

Quais são as formas de contornar isso? Não faça uma exibição em tempo real. Alguns escopos USB oferecem apenas modos acionados. O acionamento é tratado no dispositivo e, quando um acionador é encontrado, os dados são coletados em um buffer. Quando o buffer é preenchido, o escopo USB o transfere lentamente para o aplicativo e, em seguida, o aplicativo o exibe. Isso é suficiente para muito uso do escopo, mas não é em tempo real. E a transferência - isso também leva um tempo. É inconveniente. E geralmente os motoristas são péssimos. Você pode dizer que tive experiências ruins.

Sempre me perguntei por que o Firewire não foi usado para escopos. Evita algumas das dores de cabeça do USB. É ponto a ponto, oferece modos isocrônicos (tempo consistente) e é relativamente alta largura de banda. Você pode criar um escopo em tempo real de 10 MHz ou mais com isso.

Para abordar seus pontos após a edição:

  • A usabilidade de um escopo aumenta tremendamente com o preço. Quando você passa de um escopo USB de US $ 200 para até US $ 500, obtém tremendos aumentos nos recursos e na funcionalidade básica. Por que gastar apenas US $ 200 quando, por um pouco mais, você pode obter um escopo real? Agora que a China abriu as comportas de escopos baratos e eficazes, há poucas razões para querer economizar US $ 300 que apenas o frustrarão mais tarde. Os escopos 'sofisticados' que possuem esses recursos são baratos hoje em dia.

  • Sim, limitar a transferência de dados para fornecer apenas algo consistente em torno de 60Hz de dados consistentes será mais fácil com o USB, mas isso ainda não é algo que você deseja fazer. Não se esqueça das suas classes DSP - apenas pegar certos dados do fluxo equivale a dizimação. Ao dizimar, você precisa adicionar filtros antialiasing. Quando você faz isso, você perde largura de banda. Isso torna seu escopo menos útil - ele limitará sua largura de banda na exibição em tempo real (e somente para modos acionados em tempo real seria bom) a muito menos do que a largura de banda do seu front-end analógico. Gerenciar os aspectos de processamento de sinal de um osciloscópio é um negócio complicado.

  • Tela responsiva clara? O PC? Não de forma consistente. Independentemente de como você faz isso, você precisa armazenar dados em buffer. Como eu disse antes, o USB não garante quando seus dados são enviados. Vou dizer de forma diferente: o USB não foi projetado para acomodar transferências de dados em tempo real. Claro, para quantidades suficientemente pequenas de dados em grandes intervalos, você pode obter um bom desempenho, mas não um desempenho consistente. Você usará o buffer e, de vez em quando, sentirá falta de transferir seu buffer em tempo hábil. Em seguida, sua tela é ignorada, os dados ficam obsoletos etc.

  • Disparo simples - mais uma vez, voltamos ao custo x complexidade vs. responsivo. Para acionar o dispositivo para detectar transientes, seu dispositivo não pode ser apenas um canal de dados estúpido que transfere amostras de forma irresponsável por USB. Você precisa colocar buffer, buffer, amostras de buffer no dispositivoaté ver sua condição de gatilho. Isso significa que você precisa de memória e inteligência no seu dispositivo - um FPGA grande ou um microcontrolador grande. Isso aumenta o tamanho e o espaço. Se você usa um FPGA, precisa equilibrar a quantidade de lógica de acionamento com a necessidade de muita RAM para espaço no buffer. Portanto, seu buffer é menor do que você gostaria que fosse. Isso significa que você obtém uma quantidade minúscula de dados em torno do seu ponto de disparo. A menos que você adicione memória externa - poderá fazer mais. Isso aumenta o tamanho e o custo do seu dispositivo - isso certamente não será apenas uma sonda com um cabo USB conectado a ele.

  • Você teria sorte em obter largura de banda de 100 MHz - normalmente 10x a taxa de amostragem é considerada o ponto de corte mínimo para a largura de banda. Portanto, se você tem uma taxa de amostragem de 1GS / s, isso dificilmente fornece largura de banda de 100MHz. Você não pode obter mais - uma onda quadrada de 200 MHz será semelhante a uma onda senoidal de 200 MHz. Isso é péssimo. Isso é idiota - não chega nem perto do nível profissional.

Seu outro conjunto de pontos:

  • US $ 200? Como você imagina? Qual é a lista de peças?
  • Bons escopos para ler sinais de alta velocidade não custam milhares de dólares. Eles custam talvez mil dólares. 100MHz é uma brincadeira de criança no departamento de escopo, e sua ideia nem atinge esse ponto de referência nem um escopo de US $ 1000
  • Sim, da maneira que você descreve, seria muito limitado. Os aspectos técnicos, mesmo dos poucos requisitos, têm um dispositivo muito limitado.
  • Não seria tão útil quanto o escopo de US $ 1100 que comprei com um analisador lógico e largura de banda analógica de 60MHz. Prefiro pagar pelo meu equipamento de teste que brinca com brinquedos de criança intencionalmente limitados.

Você vive e morre por seu equipamento de teste como engenheiro. Se você não tiver certeza, pode confiar que está perdendo tempo. Dada a falta de conhecimento que você demonstrou sobre comunicação em alta velocidade, processamento de sinal e o poder do processamento incorporado (em FPGAs ou microcontroladores), eu não apostaria que você está planejando projetá-lo sozinho e mais ninguém que respondeu é algo diferente de ambivalente.

Se houvesse um conjunto de requisitos mais direcionado que atendesse a uma necessidade real na comunidade que não estava sendo atendida, que eu pudesse ver como tecnicamente viável, estaria a bordo. Mas seus requisitos vagos não parecem pesquisados. Você precisa fazer uma pesquisa das opções disponíveis para os entusiastas - quais escopos e independentes de USB as pessoas estão usando, quais são seus pontos fortes e fracos e determinar se algum nicho não está sendo preenchido. Caso contrário, isso é apenas fantasia.

AngryEE
fonte
O USB também possui transferências isócronas. Mas sim, você estaria limitado a cerca de 400 MB / s na conexão de super velocidade USB 3.0, o que equivale a cerca de 320M amostras / s a ​​10 bits / amostra, assumindo sem compressão, sem acionamento e um canal. O USB 3.1 dobra esse limite.
precisa saber é o seguinte
Desculpe, mas eu não acredito no seu argumento. Até o USB 2.0 oferece muita largura de banda e latência baixa o suficiente para uma exibição fluente (consulte webcams USB), e o buffer de um sinal suficientemente longo dentro do escopo lida com a dizimação. Eu sei que é uma resposta a partir de 2012 e os escopos USB foram sugados naquela época, mas o motivo pelo qual eles sugaram não foi o USB. O principal motivo era que eles não eram considerados profissionais, portanto tinham que ser baratos e, como resultado, não eram construídos profissionalmente.
Dmitry Grigoryev
Partes desta resposta estão desatualizadas (USB 3.1 empurra 10Gbit / s, embora, é claro, isso não represente sobrecarga) e partes nunca foram válidas. Você pode reduzir a amostragem e acionar o periférico de maneiras que não reduzam a utilidade, se estiver disposto a colocar poder de processamento suficiente lá. Não é fácil, e provavelmente está além da capacidade de uma pessoa aleatória, mas não há lei da física contra ela.
Hbbs
Que tal se concentrar apenas no Thunderbolt 3 (até 40 Gbps)? Até o Thunderbolt 2 pode suportar até 20 Gbps. Os macs mais antigos (2012 e posteriores?) Têm portas Thunderbolt 2. Muitos PCs mais novos têm uma porta Thunderbolt 3. Pensei que talvez seja mais difícil codificar / dar suporte aos drivers via Thunderbolt, não sei.
Ryan Weiss
5

Você não gostaria que estivesse em um formato de sonda portátil, pois um escopo de canal único não é muito útil. O custo adicional de 2 canais (mesmo que você muxize o ADC) é um pequeno custo percentual adicional, mas um enorme aumento na utilidade.

A menos que você queira extrair mais de 500mA, não há razão para usar uma bateria, pois você pode ter um conversor DC-DC isolado. No entanto, obter alta largura de banda através de uma barreira de isolamento não é trivial.

mikeselectricstuff
fonte
1
Isolado USB: analog.com/en/press-release/...
Rocketmagnet
3

Bem, existem alguns problemas aqui. Se considerarmos como padrão de referência um escopo analógico de 1 GHz (como um bom Tektronix), esse escopo proposto sofrerá das seguintes maneiras:

1) o ASD5010 é um conversor de 8 bits. 8 bits não é suficiente para competir com um bom escopo analógico.

2) Não confunda a taxa de amostragem com a largura de banda analógica. Para o chip que você selecionou, a largura de banda analógica equivalente provavelmente estaria muito mais próxima de 100 MHz do que 1 GHz.

Isso não quer dizer que não seja possível construir esse escopo; é possível comprar claramente um que atenda essas especificações comercialmente. Não é apenas trivial atingir a largura de banda de 1 GHz e seria necessária engenharia especial e peças melhores.

JonnyBoats
fonte
7
Na verdade, 8 bits é bastante típico para um osciloscópio digital e não parece limitar a capacidade da Agilent, Tektronix, etc, de competir com qualquer escopo analógico putativo que alguém possa ter pensado em lançar no mercado.
The Photon
Além disso, não estou familiarizado com nenhum escopo analógico de 1 GHz. Eu não ficaria surpreso se eles fossem construídos, talvez para aplicações muito especiais (cientistas nucleares ou algo assim), mas eu esperaria que fosse um animal muito raro de se encontrar na natureza. Antes de 1990, mais ou menos, 1 GHz era muito raro na eletrônica digital (talvez nos supercomputadores Cray e outras coisas); depois de 1990, praticamente todos os novos designs de escopo de um fornecedor de primeira linha eram digitais.
The Photon
Um âmbito analógico 1 GHz disponível comercialmente é o Iwatsu TS_81000: testequipmentconnection.com/tecspecs/Iwatsu_TS-81000.PDF
JonnyBoats
1
Bom, seu link me levou a encontrar o Tek 7104, um escopo analógico de 1 GHz. Também é bom saber que não sou o único que pensou que o analógico de 1 GHz é bastante impressionante. Um site tem "O Tektronix 7104 é o osciloscópio analógico mais rápido já produzido. Originalmente projetado na década de 1970 para a Comissão de Energia Atômica dos EUA, ele possui uma largura de banda de 1 GHz ..." ( readingjimwilliams.blogspot.com/2011/08/scope -sunday-4.html ) Então, pelo menos, não estava muito longe para dizer que um escopo analógico de 1 GHz seria um animal raro.
The Photon
Também a folha de dados do 7104 em testequipmentconnection.com mostra um preço de tabela superior a US $ 30k, provavelmente em meados dos anos 80.
The Photon
2

ADCs de 8 bits são bastante comuns em osciloscópios, no entanto, a técnica de uso de ADCs é um pouco diferente. Como eu já vi alguns escopos internos, o caso comum é usar 4 chips ADC, cada um com clock de incremento de fase de 90deg, então você obtém 4x amostras por ciclo de clock e é por isso que o clk freq é bastante baixo, mas a largura de banda de dados é alto. De qualquer forma, esse projeto acabará desperdiçando mais dinheiro do que comprar um novo escopo :-) No entanto, pode ser uma boa prática para o auto-aprendizado. OTOH, pense no lado analógico do escopo. Essa parte é muito difícil e muito difícil de fazer.

Sócrates
fonte
1
É exatamente isso que o ASD5010 é. São 4 ADCs em um único pacote. Cada amostra é de 250 MHz com uma diferença de fase de 90 graus.
Rocketmagnet
1
A questão não é tanto o quão difícil é, mas se esse escopo seria útil e se há pessoas aqui dispostas e capazes de resolver esses problemas.
Rocketmagnet
1
Pense no que foi alcançado no domínio do software por essas comunidades. É muito difícil criar um sistema operacional, mas veja o que eles alcançaram!
Rocketmagnet
NÃO é muito difícil criar um sistema operacional - as pessoas fazem isso o tempo todo.
precisa saber é o seguinte
1
Posso estar enganado, mas acho que, em vez de usar quatro ADCs, é mais comum que os escopos usem conversores em pipeline com vários estágios, cada um com um circuito de amostra e retenção. O primeiro estágio mostra a entrada, o próximo identifica-o como um dos 32 níveis, o próximo subtrai o previamente identificado e aumenta o sinal, e o próximo identifica-o como um dos 32 níveis. Os dois valores de cinco bits obtidos para uma amostra podem ser colocados em uma tabela de pesquisa para gerar uma leitura de 8 bits (os ADCs de 5 bits podem ser um pouco ruins, mas a tabela de pesquisa corrige isso).
Super12 /
1

Outros problemas:

  • proteção : com certeza você não quer que ele quebre pela primeira vez, erroneamente coloca 20-30 V na entrada;

  • calibração : mesmo com precisão de 8 bits, você ainda precisa controlar o erro dentro de 1/256 = 0,4% no geral; não é trivial com componentes padrão;

  • filtragem de ruído : ele deve ser protegido e filtrado, e não é suficiente, porque também o FPGA provavelmente gerará ruído; portanto, é necessário separar o domínio analógico e o digital.

De qualquer forma, sobre a conexão USB, acho mais funcional processar internamente os dados e conectá-los diretamente ao monitor.

clabacchio
fonte