Com base em seu foco anterior em cenários de sincronização PTP de sensor duplo-em um ambiente Linux, otimizar a precisão do PTP em um sistema Linux requer a abordagem do kernel, dos drivers e dos serviços. Siga estas etapas:
I. Otimização da camada do kernel (pré-requisitos básicos)
Ativar temporizadores-de alta precisão
Certifique-se de que a configuração do kernel tenha `CONFIG_HIGH_RES_TIMERS=y` e `CONFIG_NO_HZ_IDLE=y` ativados para reduzir a interferência de interrupção do relógio e melhorar o desempenho-em tempo real da marcação de carimbo de data/hora.
Isolar núcleos de CPU
Adicione `isolcpus=1` aos parâmetros de inicialização `grub.cfg` para vincular o serviço PTP a um núcleo de CPU independente, evitando que outros processos preemptem recursos e causem atrasos no agendamento.
II. Adaptação da camada de driver e hardware
Carregar drivers dedicados
Desinstale drivers públicos genéricos e instale drivers específicos-de PTP fornecidos pelo fabricante da placa de rede (como Intel IGB). Execute `modprobe ptp` para carregar o módulo do kernel PTP.
Verifique o nó de hardware
Confirme se `/dev/ptp0` existe e que `ethtool -T eth0` gera um campo `HARDWARE`, garantindo que o carimbo de data/hora do hardware seja efetivo.
III. Serviço-de ajuste fino PTP
Edite `ptp4l.conf`
Defina `transportSpecific` como 1, habilite `twoStepFlag` como 1, defina `logging_level` como 6 para monitoramento e defina o intervalo de sincronização como `logSyncInterval -3` (125ms).
Sincronizar o relógio do sistema
Execute `phc2sys -s /dev/ptp0 -w` para sincronizar o relógio do hardware PHC com o relógio do sistema, garantindo que a camada de aplicação obtenha tempo de alta-precisão.
4. Otimização de pilha de rede
Execute `sysctl -w net.core.netdev_budget=600` para aumentar o orçamento de processamento de pacotes de rede, reduzir a latência de interrupção suave e estabilizar ainda mais o deslocamento de sincronização.

