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?
usb
oscilloscope
high-frequency
Rocketmagnet
fonte
fonte
Respostas:
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:
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.
fonte
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.
fonte
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.
fonte
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.
fonte
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.
fonte