poutz, eu acho USB ou PCI infinitamente mais complicado!
a implementacao de ethernet eh simples pq eh separada em camadas bem definidas, ou seja, eh possivel colocar maquinas de estado independentes em cada camada sem se preocupar muito com interacao entre camadas. em essencia vc tem:
- layer 1 para cuidar do rx/tx em manchester
- layer 2 para cuidar do rx/tx de datagramas com mac e crc
- layer 3 para cuidar do rx/tx de pacotes com header ip
- layer 4 para cuidar do rx/tx do payload udp.
em cada layer, rx e tx podem operar de forma independente, o que facilita enormemente o projeto. e note que eu consigo receber e transmitir udp pela FPGA sem software!
e no lado do PC, a facilidade continua, pq eu nao preciso escrever device driver, eh soh fazer um aplicativo bem basico que abre um socket udp e tratar direto com recvfrom (para processar os dados digitalizados) e sendto (para fazer setup do trigger por ex).
quanto a velocidade, estou pensando em nao usar PHY e assim trabalhar direto com manchester a 10Mbps, o que rende 1.2MB/s de performance. note que se fosse trabalhar com uma tela de 1280x1024 a 70Hz e 4 canais, a quantidade total de informacao exibida seria de 1280x70x4, o que eh algo em torno de 350KB/s apenas para ser transferido da FPGA para o PC.
mas tudo bem, neste caso estaria tendo que processar na FPGA ou perder informacao. no caso de um PCM de 8KHz, estaria enviando apenas 1 frame em 100. soh que aumentar a banda neste caso eh simples, pq mexe apenas no layer mais baixo.
e neste caso eu posso implementar uma MII ou GMII, operando a 100 ou 1000 Mbps com uma FPGA de baixo custo. para ir acima disso, realmente, teria que partir para PCI-express ou 10GbE, mas daih comeca a complicar demais.
xultz escreveu:Uma USB não é mais rápida que uma ethernet?
Apesar que se for para fazer algo mais pintudo, ideal talvez fosse usar uma PCI duma vez. O mais complicado do scope é o amplificador de entrada, principalmente que ele tem que ser limpinho e com impedância bem alta.
Eu tenho aqui na minha sala um scope super fodão da Agilent de 40G samples/s que é um PC (tem cara de scope, mas roda Win XP), essa deve ser uma abordagem mais simples de se fazer que ethernet.