Eu já falei sobre COM e análise de canais em blogs anteriores, e gostaria de continuar a discussão com mais recursos visuais e alguns exemplos de código para permitir que os leitores façam algumas análises por conta própria.
Para começar, vamos revisar o que é COM e uma visão geral de alto nível de como o COM é calculado. COM é uma relação sinal-ruído de voltagem em um ponto no tempo. O ponto no tempo é o ponto de amostragem, e o sinal disponível é a voltagem da resposta ao pulso no ponto de amostragem. Uma resposta ao pulso é a forma da voltagem após passar pelo canal em teste, e o pulso é simplesmente uma função retangular com um intervalo unitário que corresponde à taxa de dados pretendida.
O ruído é encontrado por análise estatística e é dividido em três categorias principais: ISI, Crosstalk e Sistema.
O ruído ISI é o ruído estatístico proveniente das reflexões no canal. Todo valor não nulo na resposta ao pulso após os taps do DFE contribui para esse ruído. Os únicos valores considerados estão separados por M pontos entre si. Isso é visto na figura abaixo como círculos. Os círculos magenta são as contribuições de ruído que foram tratadas pelo DFE, e os círculos pretos são os valores de ruído que não têm nenhum DFE aplicado.
O diafonia é feita exatamente da mesma maneira, exceto que o valor do ruído é assíncrono. Ou seja, o COM leva o valor de pico da diafonia em vez do valor que corresponde à fatia de sinal disponível. O ruído do sistema contém o jitter dependente de dados (DDJ), jitter aleatório e um valor agregado de ruído do CI. O DDJ está relacionado às reflexões, então ele tende a acompanhar o valor do ruído ISI: mais ISI significa mais DDJ. No entanto, todo o outro ruído do sistema é constante, independentemente do canal.
Realizar os cálculos para criar a resposta ao pulso definitivamente não é fácil, mas a maioria dos engenheiros e cientistas pode eventualmente conseguir. No entanto, a parte do ruído do problema é muito mais difícil. O principal problema é implementar a equação 93A-39 que eu tenho abaixo.
Para a maioria do mundo, esta é uma equação bastante intimidadora. Vou explicar cada parte e depois mostrar alguns auxílios visuais. Começando da esquerda para a direita, pn(y) é a probabilidade de a tensão estar na localização y da amostra contribuinte, n. Em outras palavras, é quão provável é que uma quantidade de ruído ocorra para um dos pontos na resposta ao pulso. 1/L leva em conta a modulação. Cada nível tem sua própria probabilidade, e a probabilidade total na direção y precisa somar um. Então, a probabilidade é dividida igualmente para cada nível. Neste artigo, vou analisar Non-Return Zero (NRZ), Modulação de Amplitude de Pulso 4 (PAM4) e PAM6. Para NRZ, existem dois níveis, PAM4 tem quatro níveis e PAM6 tem 6 níveis. Na prática, o código IEEE COM só avalia a função de distribuição de probabilidade (PDF) para um nível, porque o padrão não leva em conta níveis assimétricos (mas poderia 😉). Considerar apenas um nível também melhora a velocidade de execução, o que tem sido um tópico importante no padrão.
Vamos pular a função delta por um momento e entrar em seu argumento:. A única coisa importante aqui é que o argumento é zero quando y é igual a . Finalmente, temos a função delta: , e a função delta é simplesmente um quando seu argumento é zero.
Então, se varrermos sobre y, você obtém o PDF de quanto ruído a amostra n criará. O próximo passo é usar a equação 93A-40 para cada amostra n e você obtém o PDF do ruído proveniente da fonte no domínio do tempo.
Vou aplicar esta equação à amostra mostrada abaixo. É um ponto onde o sinal re-refletido está criando ruído no canal de 0,000819779 volts.
Ao traçar o argumento interno de 93A-39, você obtém o seguinte gráfico. Você pode ver que há uma cruzamento zero tanto para l = 0 quanto para l = 1, e que o cruzamento está em +/-0,000819779. Estes pontos de cruzamento zero são onde pn(y) = 1/L.
Se então traçarmos este PDF, obtemos o seguinte gráfico.
A mesma análise pode ser feita para outros esquemas de modulação, e eu tenho NRZ, PAM4, PAM6 e PAM8 mostrados abaixo. A probabilidade de cada fonte de ruído diminui à medida que a modulação aumenta, e há mais fontes de ruído conforme a modulação aumenta.
Aplica-se então a equação 93A-40 para cada amostra relevante e obtém-se uma distribuição adequada. A animação abaixo mostra a distribuição sendo feita. A linha preta indica o ponto de amostra n sendo considerado e o PDF atualiza conforme a linha se move. Eu normalizei o PDF para que o pico seja um para que a animação fique limpa, mas a soma do PDF deve ser igual a um para que seja válida. Observe como o PDF se espalha à medida que o ponto de amostra se move ao longo do ruído entre 5 e 6 ns. Isso é exatamente como as reflexões causam ruído no sistema. O nível do ruído é bastante pequeno e note como ele aumenta dramaticamente a largura do ruído.
A próxima questão óbvia é, “como a modulação afeta a quantidade de ruído?” Adicionar níveis aumentará o ruído, ou diminuir a probabilidade de cada nível reduzirá o ruído total? Acontece que há menos ruído de ISI à medida que a modulação aumenta. O gráfico abaixo mostra o PDF desta resposta de pulso equalizada para NRZ, PAM4, PAM6 e PAM8.
Isso parece indicar que aumentar a modulação reduz o ruído. Então, por que simplesmente não aumentamos a modulação para obter taxas de dados mais altas! Bem, não é tão simples, e vou falar mais sobre isso abaixo.
Mencionei anteriormente que a soma do PDF deve ser igual a um para que seja válido, e se você implementar esse código no MATLAB, notará algo estranho à medida que L aumenta.
L | Soma de p |
---|---|
2 | 1 |
4 | 1 |
6 | 0.026084 |
8 | 1.2496e-5 |
O que aconteceu? Acontece que os números são tão pequenos que a precisão dupla não é suficiente para capturar o PDF, e à medida que é criado, você perde algumas informações. Felizmente, existe uma solução alternativa para isso. Sabendo que a soma deve ser igual a um, você pode simplesmente dividir o PDF pela soma de p e forçará esse comportamento, e isso é exatamente o que o código COM postado pelo IEEE faz. Caso contrário, você precisaria implementar uma escala de precisão maior no MATLAB. Isso desaceleraria o código sem realmente trazer benefícios.
O código para criar esta distribuição e um exemplo de script para executá-lo foi postado aqui.
Vimos que podemos usar esta equação de interferência para obter insights sobre como as reflexões causam degradação do sinal. Vamos dar um passo adiante e explorar a equalização de feedback de decisão (DFE). A especificação da IEEE indica quantas amostras serão corrigidas pelo DFE. A variável para as amostras é Nb, e eu defini Nb como 12 para todos os exemplos neste artigo. Enquanto a tensão de ruído estiver abaixo de um limiar, o código COM considera essas amostras como zero e anula o ruído, mas o que acontece com as outras amostras?
DFEs que afetam amostras além da fatia de sinal disponível são tipicamente funções retangulares ideais ou respostas de pulso escaladas. O que acontece se você pegar as amplitudes de pulso definidas pelas linhas verdes e usá-las para eliminar o ruído? Você obtém o gráfico abaixo. A primeira amostra de ruído foi eliminada, mas o pulso usado para corrigir o ruído também está causando ruído extra!
As torneiras de DFE precisam ser criadas serialmente em vez de todas ao mesmo tempo. Se fizermos isso, obtemos efetivamente nenhum ruído no ponto de amostragem, e os outros pontos têm ruído residual que afeta o sinal em outras fatias. A animação abaixo mostra esse processo.
Agora que temos uma resposta de pulso equalizada com e sem DFE, podemos varrer o ponto de amostragem para criar padrões de olho estatísticos e ver como exatamente o DFE afeta a qualidade do sinal. Abaixo, tenho padrões de olho para NRZ, PAM4 e PAM6 para respostas de pulso equalizadas e respostas de pulso equalizadas com o DFE. E, assim como antes, você pode varrer os pontos de amostragem e observar enquanto o padrão de olho é criado. Isso faz com que sejam feitas observações interessantes, mas neste caso, eu só tenho um traço. Acho que seria mais emocionante se eu aplicasse isso a um backplane. No entanto, não tenho um backplane ruidoso para analisar, então isso terá que servir por hoje.
A criação do olho PAM6
NRZ - Antes e depois do DFE (25G)
PAM4 - Antes e depois do DFE (50G)
PAM6 - Antes e depois do DFE (75G)
Vamos fazer algumas observações desses gráficos. Primeiro, note como o padrão de olho melhora dramaticamente com o DFE. O padrão de olho NRZ equalizado provavelmente funcionaria bem sem um DFE, mas os olhos PAM4 e PAM6 estão completamente fechados antes da implementação do DFE.
A segunda observação é como a largura do olho diminui drasticamente com a modulação. Observando de forma simples (com um trocadilho intencional), a largura do olho diminui em 50% com cada modulação adicionada. Isso significa que não só será mais difícil para o sistema detectar o valor correto na direção da voltagem, mas o ponto de amostragem precisa ser cada vez mais estável com o aumento da modulação.
Finalmente, observe a altura do olho no olho PAM6. Novamente, isso assume que o transmissor pode criar perfeitamente níveis igualmente distribuídos e que não há ruído no sistema. Adicionar ruído no sistema e níveis assimétricos tornará isso muito difícil de resolver com uma taxa de erro de bit (BER) baixa, e isso explica por que precisamos de correção de erro para a frente (FEC) em taxas de dados mais altas e esquemas de modulação. Simplesmente não é possível obter uma transmissão livre de erros sem isso.
Isso encerra nossas discussões para este trimestre. Então, o que aprendemos com isso? Código aberto está disponível no site da MATHWORKS para criar PDFs de distorção de aptidão de interferência, e você pode usar esses PDFs para criar padrões de olho. Também observamos como reflexões criam ruído de sinal ao ver o PDF de interferência se alargar à medida que considerávamos reflexões da resposta ao pulso. Finalmente, observamos o quão dramaticamente difícil se torna alcançar um desempenho livre de erros de um canal à medida que a modulação aumenta. Espero que isso dê aos leitores uma apreciação pela necessidade de reduzir reflexões e aumentar tecnologias, como adicionar FEC.
Até a próxima, fiquem seguros!
As ferramentas de design em Altium Designer® contêm tudo o que você precisa para acompanhar a nova tecnologia. Fale conosco hoje e descubra como podemos aprimorar seu próximo Design de PCB.