"Steplen" (Step time) é o tempo de duração do sinal de PASSO em nível alto - no exemplo do L297, o tempo de 0.5us (Setup time Ts no gráfico)...
"Stepspace" (Step Space) é o tempo de duração do sinal de PASSO em nivel baixo - no exmplo do L297, o tempo de 1us (Reset time Tr)...
"Dirsetup" (Direction Setup) é o tempo de duração do sinal de DIREÇÃO antes do sinal de passo - no exemplo do L297, o tempo de 1us (Setup Time Ts)...
"DirHold" (Direction Hold) é o tempo de duração do sinal de DIERÇÃO depois do sinal de passo - no exemplo do L297, o tempo de 4us (Hold Time Th)...
"Steplen", "Stepspace", "Dirhold" e "Dirsetup" são campos que podem ser alterados na janela de configurações do driver, que aparecem na janela de configurações do Druida, conforme a janela do desenho abaixo...
Na última seção, nós submetemos o driver Xylotex a um período de 16uS obtendo uma frequencia de 31.250 passos por segundo de máxima velocidade. Já o driver da Gecko ficou nos 31uS e obtivemos uma frequencia não muito alta de 16.129 passos por segundo. No caso do driver Xylotex, teremos bons resultados, mas no caso do Gecko, poderemos tentar melhorar as coisas.
O problema com o driver G202 é a necessidade de 20uS (hold time). Somando-se a uma latência de 11uS que nos força a usar um período base lento de 31uS.
Mas o EMC2 possui certos parametros que podem ser manipulados e que permitem que se aumente os tempos dos períodos. Por exemplo, se o "steplen" for alterado de 1 para 2, então serão dois períodos entre o comêço e o final do pulso de passo. Da mesma forma, se o valor de "dirhold" for alterado de 1 para 3, haverá ao menos três períodos entre o pulso de passo e a alteração do pino de direção.
Se alterarmos o valor de "dirhold" para encontrar os 20uS de tempo de espera (hold time), então o próximo tempo mais longo será de 4.5uS (high time). Adiciona-se 11uS de latência aos 4.5uS high time, e obtém-se um período mínimo de 15.5uS.
Quando experimentar os 15.5uS, perceber que o compurtador ficou um pouco lento, aumenta-se este valor para 16uS.
Se deixarmos o valor de "dirhold" em 1 (o padrão), então o menor tempo entre o passo e a direção será o período de 16uS menos os 11uS de latência = 5uS, que não são os suficiente.
Precisamos de outros 15uS. Já que o período é de 16uS, precisamos de mais um período, então nós alteramos ovalor de "dirhold" de 1 para 2.
Agora o menor valor a partir do final do pulso de passo até o momento da alteração do sinal de direção será 5+16=21uS, e nós não precisamos nos preocupar com erros de direção com o driver Gecko por problemas de latência.
Se o seu computador tem uma latência de 11uS, então a combinação de 16uS de período-base, e um valor de 2 para "dirhold" assegura que sempre teremos satisfeitas as necessidades de tempo para um driver da Gecko. Para uma sequencia de passos (sem mudança de direção), o aumento do valor de "dirhold" não tem efeito. Ele leva dois períodos que totalizam 32uS para execuar cada passo, e teremos a mesma frequencia de 31.250 passos por segundo que obtivemos com um driver Xylotex...
O valor de 11uS de latência usados nestes exemplos é muito bom. Se você trabalhar estes exemplos com uma latência maior, como por exemplo 20 ou 25uS, a máxima frequencia de passos tanto para o Xylotex como para o Gecko será menor, mas as fórmulas serão sempre aplicadas para se calcular um Período-base (BASE_PERIOD) ótimo, ou mesmo para brincar com os valores de dirhold ou outros parametros do programa.