Gerar quadros Ethernet brutos com cargas pré-carregadas de memória em intervalos de 1 ms

1

Estou procurando gerar quadros Ethernet brutos com carga útil pré-carregada na memória. Os quadros Ethernet (10 a 60 quadros completos) devem ser gerados em intervalos de 1 ms, sem exceção.

Qual seria a minha opção para fazer isso? Minha preocupação é com relação aos requisitos em tempo real de tal aplicativo. Interrupções devem ser minimizadas e o processo talvez tenha um núcleo dedicado à sua execução? Se o Linux / software não é uma opção, a alternativa é o FPGA.

Ansioso para ouvir possíveis soluções.

    
por Rami 02.02.2016 / 20:35

2 respostas

1

1ms é suficiente para gerar alguns quadros Ethernet, mas em um sistema Linux típico, você não pode contar com uma pausa ocasional. Mesmo se você fizer do seu processo uma prioridade alta, não acho que você possa esperar sempre fazer um prazo de 1 ms.

O RTLinux combina um sistema operacional em tempo real com o Linux. O Linux é executado como uma tarefa de prioridade não em tempo real no agendador de tempo real.

Eu não tenho experiência com o RTLinux, então não posso oferecer conselhos concretos, mas ele inclui drivers de Ethernet, então ele parece adequado para o seu caso de uso.

    
por 03.02.2016 / 01:35
0

A menos que você esteja usando uma distribuição muito esotérica, o Linux, ou qualquer derivativo comum de um sistema UNIX, não é em tempo real. Se você está olhando para fatias de tempo como 1 milissegundo, sem quaisquer exceções, você precisa procurar em outro lugar, por um sistema operacional em tempo real. Qualquer coisa que alguém possa lhe dizer sobre o Linux é a melhor estratégia e se houver uma contenção na CPU, E / S ou qualquer outro recurso, o processo continuará sendo executado, mas pode pular uma ou duas batidas ou ir mais rápido do que o esperado Intervalos de 1 ms. E isso não é uma anomalia. É por design.

    
por 02.02.2016 / 20:50