rcakto escreveu:marcelo sam.... eu to com um problema ENORME agora e com isso vai demorar mais do que eu esperava para por em pratica....
1º um erro meu... esquece o que eu escrevi sobre 2 referenciais... na verdade as 2 entradas que dão referencia ao valor maximo e minimo de tensão de entrada e que não podem sair desse valor para o devido funcionamento do chip... e ainda essa tensao ira ser usada para variar os 8 bits.... entao deve ser bem calculada e projetada
entao, o primeiro problema eh justamente observar que os referenciais geralmente sao tensoes pequenas, muito menores que as tensoes que vc pretende medir. se o circuito integrado opera com 0 a 3V, por exemplo, possivelmente o range de operacao que vc vai ter para AC eh algo em torno de -1.5V ateh +1.5V. isso eh bem pouco, entao vc vai precisar bolar um circuito capaz de atenuar a entrada 10 ou 100x de forma linear e sem distorcao, alem de cuidar do shift level.
a ideia eh que sem tensao na entrada o circuito de atenuacao e level shift aplique 1.5V no ADC, assim vc vai ler o valor 127 e determinar que isso corresponde a 0. no caso de uma tensao positiva, supondo uma atenuacao de 10x, vc vai ter 15V no limite, atenuando 10x fica em 1.5V e fazendo o shift-level vai para 3V, assim vc vai ler o valor 255 e isso corresponde a +15V. aplicando a tensao negativa e supondo as mesmas condicoes, vc vai ter -15V no limite, atenuado vai para -1.5V e com shift-level vai para 0V, assim vc vai ler o valor 0 e isso corresponde a -15V.
2º assim mesmo que ele tenha uma entrada de clock propria para o PLL, que aproposito so assim ele concegue chegar a 200MHz
3º para se ter os dados gravados no buffer, lido do buffer, repassado para a porta paralela tenho de gerar um clock igual ao clock de entrada ( no caso do esquema do datasheet 50MHz) ... mas ainda tenho de verificar...
4º existem pinos que dependendo do estado em alto e baixo para o adc ler ou enviar dados para o mcu e buffer
5º alguns pinos trabalham enviando um clock para o mcu e dependendo deste clock e outras informacoes de pinos enviando alto e baixo voce devera tratar de forma especifica o adc, como ler os dados do buffer pois ele esta cheio....
sao os aspectos da intrface... nao eh uma interface simples como a SPI, mas eh mais simples que um ADC paralelo sem buffer. uma boa ideia eh dar uma olhada no datasheet para ver se o valor do clock de 50MHz deve ser exatamente 50MHz ou pode variar. se ele puder ser menor, vc tem a grande vantagem de poder controlar esse clock e assim variar a janela de 1000 amostras segundo qq velocidade de amostragem. se nao tiver exigencia minima, poderia variar de 1000 samples/s a 200 milhoes de samples/s, ficando bem flexivel.
tem varias coisas a ser observadas antes de colocalo em pratica e algumas informacoes aqui com certeza estao erradas pq eu comecei a ler o datasheet e fui reparando nesses dados e corri aqui para falar o que vem a seguir...
em resumo, para poder trabalhar com esse adc irei precisar de:
ler 8 bits para gerar um Byte;
muitas I/Os (na verdade umas 4 5) para saber em que estado o ADC se encontra e colocalo em alguns determinados estados de trabalho;
um clock de sincronismo ou algo assim;
exatamente. a combinacao dos pinos coloca o ADC em diferentes estados, entao tem que entender o que eh cada estado!

para o clock posso usar o pwm, mas nunca conegui trabalhar direito com ele desde o PIC, o clock que irei receber posso usar um comparador, e ler as ios para gerar o byte, vai levar algumas horas de erro para me lembrar como fazer isso... mas agora vem a pior parte da historia... de alguma forma terei de colocar o clock do ADC e do MCU em sincronismo para que tudo funcione corretamente senao pode acabar o mcu ler as portas, mas o ADC nao tera enviando naquele exato momento...
tem que ver no datasheet se este clock pode variar. se puder variar, vc tah feito. porem vc precisa de um clock *sem* jitter, ou seja, esse clock tem que ser gerado pelo hardware de timer do microcontrolador, sem nunca envolver software, senao o software vai introduzir jitter e zuar as amostas.
entao o primeiro problema... o PWM, segundo, eu AINDA não sei trabalhar com ARM, so o basico do "C" mesmo...mas antes mesmo de postar essa minha duvida, voce ja me deu uma luz... irei comecar a trabalhar com o que tenho em maos agora... o adc interno do lpc, sem contar que depois de tudo pronto so vou precisar adaptar a parte de como trabalhar com o ADC externo e o sincronismo, pois a forma de gerar o grafico e todos os dados estarão prontos e precisando somente de alteralos devidamente...
mesmo com o ADC interno, vc vai aproveitar varios circuitos se quiser usar o ADC externo: atenuador de entrada, shift-level, logica de sincronismo e trigger, logica de clock do ADC, interface com o display e logica para processar a janela amostrada e plotar as imagens.
eu acho que dah certo sim. note que um LCD tipico de osciloscopio tem 320x240 pixels, o que significa que soh eh possivel ver 320 amostras na tela. e apesar de ter 240 linhas, normalmente estes osciloscopios possuem 4 canais, o que significa que temos menos de 50 linhas por canal. se isto eh suficiente em um osciloscopio profissa, pq nao seria no seu? o que eh importante mesmo eh ter capacidade de poder fazer zoom em qq regiao da tela, entao nao precisa conseguir mostrar tudo ao mesmo tempo.
eu daria a dica para comecar por UM de dois possiveis caminhos:
a) implementar todo o circuito de entrada, fazer aquisicao dos dados e enviar via serial para um PC para plotar na tela do PC e garantir que a aquisicao esta ok *antes* de comecar a mexer no LCD
ou entao:
b) implementar o LCD e plotar imagens a partir de um buffer senoidal fixo, para garantir que o LCD esta funcionando perfeitamente *antes* de comecar a mexer no ADC.
com isso vc nao fica perdendo tempo pensando se o erro esta no ADC ou no LCD! hehehe

fico por aqui e agradeco pela ajuda de todos, volto quando tiver duvidas ou quando poder voltar diretamente para o projeto com o ADC externo ...............................mas como eu sei que sou meio temoso.... e bem capaz de voltar de tempo em tempo para mostrar como esta indo o modelo com o mcu...
EDITADO... estava cheio de erro de portugues e textos sem logica...mas acho que ainda continua com alguma coisa sem logica so não estou vendo aonde....