quinta-feira, 15 de fevereiro de 2018

Estamos aqui mais uma vez ... Re-Case do Behringer VT-911 e MOD para melhorar o fator de ganho. Deixando o pedal utilizável.

Parafraseando o grande Silas Fernandes (estamos aqui mais uma vez para co*** o japonês) me apresento novamente para vocês.
Resolvi ressucitar este velho blog com assuntos mais atualizados, voltando sempre para Retrocomputação, principalmente MSX; Eletrônica e Badulaques legais para Guitarra, pedais, amps, mods, etc...

Bom é isso ...

Para inaugurar esta nova fase, apresento um Re-Case que fiz do Behringer VT-911.

O pedal originalmente comprado nas calçadas da Oliveira Lima (cidade de Santo André - SP) por um preço irrisório, foi repensado para não ocupar o espaço que ocupava originalmente no board. Era muito grande. Além disso o som era uma meleca! Então apresento para vocês o resultado e como foi feito tudo.




Inicialmente uma comparação dos dois cases. A Behringer que já não é bem vista no mundo profissional de música bem que poderia ter caprichado mais no case deste pedal. Me lembra o desperdício de espaço do Big Muff da Electro Harmonix. O case novo tem realmente metade do tamanho do case original, além de menor altura e com tudo muito bem acomodado por dentro.

Vejam por dentro como ficaram a disposição das placas.



Nessa foto dá pra perceber basicamente tudo que foi feito. A placa mãe e a placa dos conectores foram juntadas fazendo um T, cuidado para não encostar coisas que podem dar curto.  precisei diminuir os extensores da placa, encurtar os terminais do LED de status também. O conector da fonte foi levemente torcido para recuar cerca de 3mm para dentro.
Também é possível verificar a alteração na placa mãe (capacitor e resistor) e a alteração na placa da válvula.

Antes de mais nada segue o desenho esquemático do pedal:



As alterações que realizei foram:

Na placa mãe:
   Colocado em paralelo com o potenciometro de ganho os seguintes componentes:
   Capacitor de 1nF (Assinalado 102)
   Resistor de 100K (Marrom + Preto +  Amarelo)

Ligação conforme seguinte foto:
 


Na Placa da válvula:
   Capacitor de 4.7nF (Assinalado como 472) entre os pinos 1 e 7 da válvula
   Resistor 470R (Amarelo + Violeta + Preto)

Ligação conforme seguinte foto:


Com essas alterações na placa da válvula o circuito passa a fornecer mais headroom da válvula. Uma dos maiores problema deste pedal é o curso do ganho, sendo que funciona realmente bem do 0 ao 1, dando um overdrive muito gostoso e característico de válvula, no entanto, ao 1 ao 10 o ganho é praticamente o mesmo, saturando ao extremo o pedal.
Com o ganho baixo, é necessário compensar o volume, fornecendo um bom timbre, mas restringindo muito a utilização do mesmo.
Para melhorar isso, adicionamos um resistor e um capacitor para mudar a frequencia de resposta e a extensao do overdrive no botão de ganho, tornando o mesmo mais versátil e capaz de atingir diferentes níveis de saturação.

Com isso, temos o fechamento final:




Valvula posicionada, chave liga-desliga / true bypass posicionado (um item que vou melhorar no futuro próximo).



E o aspecto final do pedal após limpeza e encaixe dos knobs novos.



E com isso temos um pedal bacana, valvulado para o board com uma qualidade melhor que a original.

Em breve mais alguns MODs interessantes.

quinta-feira, 13 de março de 2014

Estudos preliminares do ScanConverter para o MSX - Parte 2

Continuando com as considerações do primeiro artigo (Estudos preliminares do ScanConverter para o MSX) vamos começar a analisar as possibilidades de digitalizar o sinal de vídeo em 15KHz que sai do MSX.
Primeiro, vamos conversar um pouco sobre timings e entender a quantidade de samples por segundo que precisaremos que nosso circuito suporte.

Usando um pouco de documentação disponível na internet, segue uma referencia para não ficar uma informação solta, encontramos no "Understanding Video Timing with Digital Video Encoders" da Intersil a seguinte informação sobre tempo de vídeo NTSC.  Para quem quiser fazer o download do documento segue o link: http://www.intersil.com/content/dam/Intersil/documents/tb36/tb368.pdf


Podemos concluir que os tempos medidos anteriormente batem com a documentação disponível na internet. Basicamente:

Parâmetro Medido Esperado Tolerância
Freqüencia Horizontal 15.87kHz 15.72kHz
Tempo Total da Linha 63uS 63.5uS
Tempo Ativo da Linha 52.4uS 52.6uS +/- 0.2uS
Tempo Branco da Linha 10.8uS 10.9uS +/- 0.2uS

Analisando a tabela acima e tendo como referência as medições e comparando com o primeiro destaque na tabela do documento acima, podemos constatar que os tempos batem, portanto podemos considerar que o vídeo RGB do MSX tem a temporização de vídeo NTSC, fato este que alguns Scan Converters reconhecem o sinal como NTSC (Ex: Sony DSC 1024 HD).

Verificando na sequencia o segundo destaque do documento da Intersil verificamos que durante o tempo ativo de vídeo, em uma linha, temos 720 samples, de acordo com o padrão NTSC. Na essência não precisamos digitalizar os 720 samples e sim digitalizar somente uma quantidade de samples suficientes para digitalizar a resolução horizontal do MSX. Voltaremos a falar disso posteriormente.

Vamos calcular agora a quantidade de Samples por frame de vídeo considerando 525 linhas.

Samples por linha = 720
Samples por frame = 720 x 525 = 378000
Frames por segundo = 60
Samples por segundo = 378000 x 60 = 22680000
Freqüência de Sampling = 22.680 MHz
Periodo de Sampling de +/- 44.0917nS

Com isso já podemos começar a olhar para nosso hardware de entrada/digitalização.

Basicamente precisamos de um ADC que suporte os 22.680 MHz ou pelo menos 22.680 msps.

Existem ADCs prontos da Texas Instruments e da Analog Devices para este tipo de tarefa, no entanto não temos fácil acesso e o preço unitário destes ADCs tornam o projeto proibitivo. Considerando também que teremos de usar mais de uma unidade já que temos 3 canais para digitalizar (R,G e B), aceitei a tarefa de montar nosso próprio ADC, nos moldes antigos de instrumentação digital.

Após olhar muitos esquemas de equipamentos como HP/Agilent, Tektronix, Lecroy, Fluke/Philips, deu pra perceber que nem sempre eles utilizaram os CIs customizados que usam hoje, e digamos que faziam a digitalização na raça!

Aí vem a seguinte questão:

- Sou um engenheiro ou um saco de batatas?

E aceitei o desafio, e comecei a estudar.

Primeiramente passei pela opção de usar um Amplificador Operacional de Alta Velocidade para poder digitalizar o sinal. Basicamente fiz alguns testes com o que tinha em mãos, mas o Slew Rate dos AmpOps mais comuns distorciam demais o sinal. Em simulação consegui até ter um resultado satisfatório com o LM318, no entanto gostaria de pensar fora da caixa. Foi quando veio a idéia de utilizar transitores no lugar de Amplificadores Operacionais.

Inicialmente pensei em utilizar algum transistor de RF, pela alta-frequência de resposta, e percebi que não seria necessário, já que transistores de uso geral chegam fácil na frequência que precisamos, que é algo perto de 30MHz a grosso modo.

Foi então que elegi o BC817. Ele tem nível de sinal satisfatório para a aplicação, lida bem com sinais de baixa amplitude, e se conseguir polarizar o mesmo, já que não vamos precisar de um grande fator de ganho, seria possível obter a resposta em alta-frequência. Recentemente eu utilizei o mesmo para um oscilador de RF perto de 44MHz sem nenhum problema e com uma estabilidade incrível, considerando que é um transistor de uso geral! E o melhor, resolve nosso problema de preço de produção, tornando financeiramente viável a confecção do nosso tão sonhado Scan Converter.

Inicialmente deveria fazer um teste para verificar se o transistor conseguiria acompanhar um sinal de entrada sem problemas. Ou seja, nada de distorções consideráveis ... visto que histerese é um fator complicante quando tratamos sinais analógicos em alta-frequência. Como é o caso do sinal de vídeo.

Para os leigos em eletrônica, histerese é a tendência de um material ou sistema de conservar suas propriedades na ausência de um estímulo que as gerou (O que é Histerese?). Vejam isso:


Uma família de curvas de histerese medida com uma densidade de fluxo modulada sinusoidalmente com frequência de 50 Hz e campo magnético variável de 0,3 T a 1,7 T.

B = Densidade de fluxo magnético
H = Campo magnético
BR = Remanescência
HC = Coercividade

Notem que no exemplo a histerese é descrita como um fenômeno magnético, mas este por sua vez é intrínseco aos materiais que utilizamos e que estão dentro de transistores, CIs, e etc. Onde não somente trabalhamos com silício e outros materiais.
Em outras palavras podemos dizer que o material do qual é feito o transistor, leva um certo tempo para responder aos estímulos que são submetidos. Falam que a eletricidade funciona na velocidade da luz, e a verdade é outra. Quanto maior a frequência, mais próximo do limite de histerese (tempo de resposta) do material chegamos, ele tem de ser capaz de responder de forma o mais linear possível dentro do limite imposto pela aplicação, ou entre um pulso e outro do estímulo aplicado, no qual esperamos uma resposta. Esta resposta leva um tempo para acontecer, e este tempo chamamos de histerese, numa comparação retroativa.

Agora que entendemos o que é histerese também podemos entender o porquê de existirem pastilhas de semicondutores de várias velocidades, como por exemplo os famosos TTLs de série LS, HC, HCT, dentre outros. O que muda entre um e outro é a composição do material que é fabricado os transistores que compõem a pastilha, onde existem materiais que respondem mais rápido e portanto proporcionam a possibilidade de usa-los em circuitos cada vez mais rápidos.

Outro detalhe é que materiais quando submetidos a uma frequência próxima de seu limite de operação de histerese tem a tendencia a aumentar sua resistência pois passa a não ter mais oscilação entre um pulso e outro do estímulo, causando aquecimento e por conseguinte uma avalanche na qual a temperatura irá aumentar e por sua vez o material quando aquecido muda sua característica de histerese para maior, entrando nesse ciclo até que o mesmo passe a não responder mais, reconhecendo o sinal AC na entrada como praticamente DC, visto que suas características de histerese foram mudadas por conta da temperatura, o que na maioria dos casos causa a queima do transistor, geralmente abrindo seus contatos. E como internamente nos CIs, Microprocessadores e Microcontroladores temos transistores, conseguimos entender a queima dos mesmos quando submetidos a frequências acima das que não foram projetadas e entendemos aqui também o porquê do problema de resfriamento por exemplo nos overclocks de microprocessadores. O resfriamento é uma tentativa de manter as junções do material que compõem os transistores internos do CI / CPU / MCU entrem em uma avalanche térmica.

Mas o que tudo isso tem a ver com digitalizar o sinal de vídeo do MSX?

A resposta é: TUDO!

Precisamos de um transistor cujo material suporte a frequência de entrada do sinal de vídeo que é de aproximadamente 23MHz para NTSC, sem sobreaquecer e mantenha uma linha de resposta o mais rápida possível, ou seja baixa histerese para manter a característica do sinal original em sua digitalização.

Como vamos trabalhar com o BC817, precisamos fazer com que a polarização do mesmo permita que ele exerça sua função de resposta do sinal dentro dos parâmetros de histerese X frequência de forma a conservarmos a qualidade do sinal e manter a temperatura do circuito integrado dentro dos limites de operação do mesmo.

Para isso vamos polarizar o seguinte circuito:


Primeiro passo é calcular o ponto de operação do sistema, encontrando a tensão média que está marcada como 1 no circuito. O valor buscado por nós é o ponto de operação médio para excitar a base do transistor. Esse ponto para garantirmos linearidade ao longo da amplificação deve ser de 1/2 VBE, por sorte aamplitude do sinal é de 1Vpp, portanto não precisaremos atenuar o mesmo, somente centralizar o sinal em 1/2 VBE , que no nosso caso do BC817 pode ser definido conforme o Datasheet da NXP  onde o valor de VBE é de 1.2V. Em outras palavras, precisamos centralizar o sinal de 1 Vpp em 0.6V = 600mV. Usaremos um simples divisor de tensão, conforme cálculo a seguir.


Então temos para um ponto inicial de operação considerando R9 = 82K, R10 = 11K e Vin = 5V:

Vout = ( 11K / ( 82K + 11K ) ) * 5V

Vout = 0.591V = 591mV 

Com isso deixamos o ponto de operação do sistema o mais próximo possível de 600mV considerando valores comerciais para os resistores usados. Podemos agora afirmar que o ponto de operação em 1 é de 591mV nos cálculos.

Vamos chamar o ponto 1 no esquema do circuito de TP1, o 2 de TP2 e assim por diante.

O VBE do BC817 é de 1.2V, valor positivo pois é transistor NPN, então temos:

VBE = +1.2V

V= TP1 = Vout = 591mV

Por definição VE = VB = 1/2 VBE  temos então TP3 = VE. Portanto:

VE = TP3 = 591mV = V= TP1

Considerando uma corrente de coletor de 10mA, temos:

R11 = VE / 10x10-3
R11 = 0.591 / 10x10-3
R11 = 59.1 Ohms = 62 Ohms*
*considerando valor comercial mais próximo.

Como definimos a corrente de coletor em 10mA e conhecemos o Vcc = 5V que é a tensão de alimentação do sistema, desejamos que o sinal amplificado chegue próximo a este valor. Com isso podemos calcular o valor de R8:

R8 = Vcc / 10x10-3
R8 = 5 / 10x10-3
R8 = 500 = 470 Ohms*
*considerando valor comercial mais próximo.

Com isso temos o ganho final do sistema e a sua amplitude máxima, onde:

Ganho = R8 / R11 = 470 / 68 = 6.91
Amplitude Máxima = TP* Ganho = 0.591 * 6.91 = 4.08V

Fazendo um pequeno ajuste para melhorarmos a Amplitude Máxima de forma a chegar o mais próximo possível de Vcc com resistores de valor comercial, calculamos a tensão final usando o próximo valor comercial disponível para R8, que é de 560 Ohms. Com isso temos:

Ganho = R8 / R11 = 560 / 68 = 8.23
Amplitude Máxima = TP* Ganho = 0.591 * 8.23 = 4.86V

Somente para ilustrar, se usássemos um valor ainda maior, iríamos saturar a saída em TP2 visto que a amplitude máxima do sinal nunca ultrapassará Vcc. Com isso se usássemos 620 Ohms para R8, nossa tensão em TP2 seria de 5.38V. Todo o sinal exedente de 5V seria achatado no topo do sinal em 5V, perdendo a característica do sinal por excesso de amplificação. Chamamos isso de saturação do sinal.

Somente para acompanharmos a resposta de sinal, vejam as capturas de diferentes tipos de sinal na imagem seguinte, já com os valores no circuito final. E com uma prévia do separador de níveis, mais uma vez um divisor de tensão:


Com o transistor devidamente polarizado, podemos medir os tempos de resposta.
Vamos começar com o Edge Falling, que na minha medição deu 131MHz:


E de forma análoga, a seguir a medição do Edge Rising que foi de 57.4 Mhz:


Em outras palavras, temos uma resolução de sinal média de aproximadamente 94.2MHz ou 12.495nS.
Considerando que cada pixel dos 720 por linha que precisamos digitalizar tem um tempo de estabilização (Rise ou Fall) de aproximadamente 74nS (63.5uS / 858 Samples), podemos afirmar que teremos possibilidade de digitalizar tranquilamente o sinal amplificado e a freqüencia necessária.

Bom. Por hoje é só. No próxima parte do artigo vamos entender um pouco sobre transferência de cores e curvas de correção onde será possível já separar os bits do sinal de cor e efetivamente gerar o byte digitalizado para carregar na memória do buffer.


sábado, 22 de fevereiro de 2014

Minha análise de alguns ScanConverters para MSX

Repetindo o ensaio que alguns amigos já fizeram sobre ScanConverters para o MSX (e outros micros clássicos) eu posto meus resultados com os que eu tinha em mãos para o teste.

O primeiro deles é o conversor da DTech. As fotos do aparelho ficaram horríveis e fora foco, prometo substituir por fotos melhores ainda esta semana. A entrada VGA não aceitou 15kHz, simplesmente enegreceu a tela e não deu nenhuma mensagem.




Nesta foto dá pra perceber o padrão "zebrado" ao longo do scan Horizontal na hora da conversão. Porquê isto acontece? Simples ... NTSC é 15kHz, ele expande a imagem ele faz a interpolação horizontal para 31.5kHz tirando os pontos médios por uma espécie de média dos pontos anteriores, fazendo o que parece ser uma espécie de Scanline Vertical. Problema que dependendo do que se está jogando, fica bastante incomodo. Veja algumas fotos do Twinbee e do MC (80 colunas).






O próximo aparelho que vamos ver é um conversor da Migtec de VGA para Video Composto e SVideo, ele também tem uma saísa VGA mas é BYPASS, ou seja, o que entra é exatamente o que sai. Também não aceitou os 15kHz da saída de vídeo RGB do MSX, no entanto, deu a mensagem "OUT OF RANGE".



Agora vamos ver os resultados com o Sony DSC 1024HD, que é o meu Scanconverter de bancada, verdadeiro pau-pra-toda-obra. Ele aceita os 15kHz do RGB do MSX e reconhece como sinal NTSC.



Primeiro com o modo "Aperture" desligado. É o modo de conversão rápida, o modo geralmente usado para imagens rápidas, mas em 80 colunas fica um pouco embaçado, bem menos que as fotos que fora tiradas com o celular, mas é perfeito para jogos! 




A partir daqui já temos o modo "Aperture" ligado. Perfeito para 80 colunas.










Essas duas últimas fotos com o modo "Aperture" desligado novamente. Só pra comparação.



Concluo que esses conversores chineses apesar de serem interessantes, ainda precisam de uma boa dose de capricho para suprirem nossas necessidades de qualidade. No entanto o Sony matou a pau, só que o preço não ajuda em nada!


Hora de descansar ... afinal é final de semana. Espero ter contribuído para matar mais um pouco da curiosidade dos amigos. []s

sábado, 15 de fevereiro de 2014

Estudos preliminares do ScanConverter para o MSX

Depois de muito ver o sofrimento da comunidade de MSX e outras que faço parte, em busca de monitores que aceitem 15kHz, resolvi dar um fim a essa penúria, até porquê eu mesmo passo por ela apesar de utilizar um Scan Converter comercial, o Sony DSC 1024HD e ter um monitor RGB da Sony. Na verdade estou bem satisfeito com esses dois, no entanto, para ter o gostinho do desafio comecei a estudar uma forma de construir um Scan Converter voltado para nossos queridos microcomputadores com suas emblemáticas saídas RGB a 15kHz, e acima de tudo contribuir com a comunidade retrocomputacional.
Pois bem, a maioria dos monitores como todos sabem não aceitam a taxa de frequência de 15kHz e somente a partir de 31,5kHz, que seria o equivalente a um VGA 640x480x16cores. Considerando isto, estudo uma forma de transformar uma saída RGB 15kHz em um RGB 31,5kHz compatível com o padrão VGA, o que de imediato transformaria praticamente qualquer monitor atual em um monitor utilizável com os nossos tesouros retrocomputacionais.
O ponto chave é primeiro entendermos como funciona o vídeo a 15kHz dos micros.
Pois bem, vamos utilizar como foco o MSX, que é além de minha paixão, é um micro que tem uma comunidade bem ativa e que participa opinando e dando sugestões.
Não vamos entrar neste momento em questões de pinagem de saídas, somente vamos falar dos sinais, de seu comportamento e funcionamento para gerar a imagem.
Vejam a figura 1 abaixo:


A imagem gerada pelo VDP do MSX é amostrada nas três cores básicas do espectro R,G e B, que são as cores básicas, Red, Green e Blue ou em português Vermelho, Verde e Azul. Vejam figura 2 abaixo:


Notem nesta figura que temos demarcada a área de visualização do espectro de cores que nosso olho é capaz de diferenciar as tonalidades (triângulo), faltando somente neste exemplo a intensidade, ou seja, mostra somente a imagem em 2D, para termos o 3D falta a intensidade e assim temos o que chamamos de cubo de cores. Não vamos nos aprofundar aqui neste assunto, quem quiser mais informações procurem por cubo de cores no Google.
Pois bem, voltando a figura 1, vemos que a imagem gerada pelo MSX tem as 3 cores básicas e mais um sinal chamado CSync, ou Composite Sync, que traduzindo seria Sincronismo Composto.
Mas, o que vem a ser esse Sincronismo Composto?
Vamos observar mais uma figura para entendermos como é formada a imagem de um monitor, apresento a figura 3:


Conseguimos agora identificar que temos dois sinais básicos que compõem o sinal CSync, que são HSync e o VSync, ou seja, Sincronismo Horizontal e Sincronismo Vertical. E por definição podemos dizer que CSync é a soma de HSync mais VSync.
A imagem é formada nos monitores RGB (Sem contar entrelaçamento, que não é o caso dos nossos micros),  Da esquerda para a direita, de cima para baixo, ou seja, a ordem que os pixels são pintados na tela. (Vejam traço em amarelo na figura 3).
Os pixels que são pintados na tela, são enviados pelo VDP uma linha por vez e acontecem entre um pulso e outro do Sincronismo Horizontal, ou seja, uma linha compreende todos os pixels que são enviados até o próximo pulso de Sincronismo Horizontal.
O Sincronismo Vertical, serve para informar ao circuito de formação de imagem do monitor que inicia-se uma nova imagem, ou seja, é o sinal para informar que o cursor deverá subir para a posição inicial da tela (canto superior esquerdo), quando começarão a ser contadas novamente as linhas do Sincronismo Horizontal.
Aí vocês me perguntam:
-Tá bom, mas o e tal do CSync?
Agora é a hora que começa a ficar mais interessante o nosso artigo, vamos começar a ver os sinais na prática.
Colocando um Osciloscópio para medir o sinal do CSync, poderemos observar esses dois sinais de forma composta, vamos as imagens, vide figura 4 e uma foto da aquisição dos dados:




O sinal em Amarelo (Canal 1 na foto) é o CSync puro saindo do VDP do MSX ... e o sinal em Ciano (Canal 2) é o sinal do VSync depois de separado pelo LM1881 (Vamos falar sobre ele jajá!).
Notem que no sinal CSync podemos separar os sinais visualmente ... lendo o sinal Amarelo da esquerda pra direita podemos ver na primeira parte o click de 15kHz que é dado justamente pelo sinal do HSync, ou seja cada vez que sinal baixa do nível lógico 1 (Sinal na parte de cima, ou no caso de sinal de vídeo 1Vpp) para o nível lógico 0, é um final de linha, o tempo que temos entre um nível lógico e outro é exatamente o tempo que o VDP do MSX tem para enviar as informações RGB que compõem a linha.
Num determinado momento (vendo agora a parte dois do sinal do CSync) notamos que é invertida a fase, ou seja, os frames continuam sendo transmitidos, no entanto o que era nível lógico 1 passa a ser nível lógico 0, ou seja, começa aí a marcação de frame, ou seja, é aí que o VDP informa para o monitor que ele deve mandar o cursor para a posição 0,0 do CRT, ou seja, ele deve iniciar uma nova tela. Note que são transmitidos aproximadamente 6 frames neste intervalo.
Vamos entender agora o trabalho do LM1881 (Vejam a figura 1 novamente).
Basicamente o que ele faz é separar o sinal de Sincronismo Vertical do sinal de Sincronismo Composto, traduzindo:
- Alguns monitores não aceitam o sinal de Sincronismo Composto e necessitam do sinal de Sincronismo Vertical para saber quando se inicia um novo frame ou tela. Por isso precisamos do LM1881 em alguns casos.
Pela visualização do canal 2 do osciloscópio dá pra ver claramente a separação do sinal de Sincronismo Vertical.
Vamos ver agora um pouco sobre as amplitudes e frequências de sinal, isso é muito importante entender se estamos querendo construir uma lógica para ler os sinais de sincronismo do VDP.



Agora temos os dois sinais tirados da saída do LM1881, notem a limpeza do sinal após a normalização do mesmo, note também a diferença de amplitude, salientando que no Canal 1 em Amarelo temos o sinal de HSync. Que se observar atentamente, é o sinal de CSync normalizado, não há praticamente diferença entre os dois.
A Amplitude do sinal VSync está em 3.76V com um delta de 2.88V, note que o sinal atende o limiar de lógica TTL perfeitamente, que é algo por volta de 3.02V ... acima disso podemos considerar tranquilamente nivel lógico alto ou 1 para circuitos alimentados por 3.3V.


Nesta outra imagem, medimos a amplitude do HSync, mostrando um delta ainda mais acentuado e uma definição ainda melhor de nível lógico, por volta de 3.84V, mais uma vez, perfeito para lógica de circuitos em 3.3V.
Uma outra nota, que vale salientar é que muitos monitores aceitam o CSync diretamente no pino HSync do conector HD15 do VGA, no entanto a maioria dos que aceitam isso não reconhecem esse sinal em 1Vpp, como o VDP geral, necessitando de uma normalização, que é o caso do meu DSC 1024HD. Teoricamente bastaria um amplificador com um transistor de uso geral para resolver o problema, mas podemos usar a caixinha com o LM1881, assim o mesmo servira para usar com outros monitores.


Aqui o trabalho começa a ficar sério e começamos a verificar os detalhes dessa transmissão de dados.
Notem que o tempo transcorrido na linha HSync (Canal 1) para informar o nível lógico 0 no caso da Sincronização vertical é de 192uS (microSegundos), vejam a marcação no osciloscópio no deltaT. 


Vemos agora a medição do deltaT no VSync, que é de 164uS.


Ampliando a onda um pouco, temos o delay de inicio que o LM1881 leva para reconhecer que começou o nível lógico 0 no VSync e mudar o estado do mesmo, esse tempo é de 27uS. Em outras palavras podemos afirmar que este tempo de 27uS é irrelevante para o funcionamento nos monitores que utilizando HSync e VSync.


Aqui nós medimos o clock para visualizar que o mesmo, dobra a frequência quando estamos visualizando o VSync, isto serve para informar ao monitor que frequência de identificação de sincronização vertical é igual do dobro da frequência nominal do sistema quando em sincronização horizontal ou seja:

v=Sincronização Vertical
h=Sincronização Horinzontal
f=Frequencia Nominal do Sistema

v=1  →  f=2f  , ~h


Continuando nossa análise, temos agora a medida de tempo entre o início do dobro do clock, até o final do dobro do clock, o que sinaliza pelo HSync o inicio e o final do VSync, este tempo é de 580uS.
Analisando este pedaço dos sinais temos mais um pouco de teoria e o nome de cada um desses trechos do sinal, acompanhem a figura:


Front Porch e o Back Porch sinalizam para o processador do monitor quando acontecerá um pulso de sincronização.


O Front Porch do pulso de Sincronismo Vertical tem a duração de 188uS.


O Back Porch do pulso de Sincronismo Vertical tem a duração de 192uS.


O pulso 2f descrito anteriormente tem a duração de de 35uS, o que resultou numa frequência de 28.57kHz nesta amostragem.


O pulso f descrito também acima, tem a duração de 63uS, o que resulta em 15.87kHz, que é exatamente nossa taxa de frequência de atualização horizontal. Em outras palavras neste intervalo é que devemos enviar todos os pixels de uma linha.


A duração do pulso de que marca 2f é de 2.4uS.


A duração do pulso de que marca f é de 5.2uS.

Agora vamos nos atentar ao sinal de Sincronização Horizontal ou HSync, visualizando juntamente um dos canais de cor. Eu escolhi o canal azul, mas poderíamos escolher qualquer um dos outros dois (verde ou vermelho). A escolha pelo canal azul, foi pelo fato de a tela padrão do MSX ser de fundo azul, o que facilitaria para mostrarmos uma linha preenchida sem eu ter de gerar qualquer tipo de imagem diferente.




O Canal 1 do osciloscópio continuou no HSync, enquanto mudei o Canal 2 para o azul.


Nesta primeira imagem já podemos ver claramente 4 linhas, 3 pulsos de HSync divindo cada uma delas e a modulação de azul em nível alto, causado pelo fundo totalmente azul mostrado nas fotos.
Para validarmos esse pulso de modulação, eu fiz uma tela metade azul e metade preta para podermos visualizar a modulação de uma forma mais "marcante".
Vejam a foto da tela, e a linha modulada logo em seguida em mais uma captura de tela do osciloscópio.



Conseguimos observar claramente metade da linha em preto, ou nível baixo na captura do osciloscópio e a metade azul, ou nível alta na captura. Com isso é possível entender a modulação do vídeo no canal B, ou azul.
Agora para vermos os detalhes da modulação, vamos ampliar e centralizar somente uma linha de vídeo.


Notem que o tempo de vídeo juntamente com o pulso de Sincronização Horizontal, tem algumas diferenças de tempo, vamos ampliar agora somente o pulso e entender como funcionam os intervalos na Sincronização Horizontal, análogo ao que vimos na Sincronização Vertical.


Notem que temos os sinais muito parecidos com o VSync. Com suas "introduções" do pulso. Vejam diagrama abaixo.


Agora que ficou claro todos os intervalos, vamos medir suas temporizações.


O tempo que a modulação baixa para nível 0 é de 10.8uS.


O Front Porch é da ordem de 1.4uS.


O período do pulso de sincronização é de 4.8uS.


O Back Porch tem um tempo de 4.6uS.


O tempo de modulação de imagem é de 52.4uS.
É neste intervalo que devemos enviar os pixels horizontais da linha, formando assim a imagem como queremos, modulando em conjunto os canais R, G e B.


E aqui mostro pra vocês um pouco da minha bagunça, escrevendo e capturando as imagens com as medidas deste artigo.

Nos próximos artigos vamos falar sobre as conclusões destas medições e de uma proposta eletrônica para realizar a tarefa de conversão de 15.5kHz para 31.5kHz.

Por hoje é só pessoal!