desktop

Dudas y consejos con hacer un PIC-osciloscopio

lubeck: No, porque suponte que vos tenes una memoria llena, tendrias que transferirlo a la otra que es la que se vaciara en la PC, mientras tanto ya llenaste la primera de nuevo y recien la segunda estaria empezando a transmitir. No ganas absolutamente nada, si es que te entendi bien. Ademas y esto es medio en chiste... ¿sabes lo que es rutear las lineas de direccion, mas las de datos en el PCB? un dolor de cabeza para una sola memoria jaja.

me imagine lo del llenado de la memoria pero quise confirmarlo con tu opinión... te agradezco la aclaracion... a ver si se me ocurre una idea para abatir ese inconveniente (que lo dudo... :LOL:)

pd..lo de las rutas... utilizo proteus (isis y ares) creo que no estaría complicado... creo...
 
Última edición:
lubeck, vos queres hacerlo real-time por alguna razon en particular? La velocidad usb es mucha, yo no me complicaria mucho con eso.

Quiza este demas aclararlo pero, cuidado con la longitud de los tracks en el PCB. Si vas a 40mhz los efectos capacitivos e inductivos son importantes. (Lo se por experiencia fea en el mio jeje)
 
vos queres hacerlo real-time por alguna razon en particular?
no.. no hay ninguna razón en particular pero me gustaría intentarlo y básicamente son dudas que me sirven como antecedente... para no cometer errores, como eso de la capacitancia e inductancia no tenia idea...
por lo pronto me quedo como mirón en este tema para aprender un poco mas....

de nuevo gracias seaarg....
 
seaarg, tengo una pregunta, parece que tu osciloscopio puede rendir más si se modifican algunas cosas. Como hemos visto, Con el dspic que propuse (4Msps) solo podria tomar frecuencias de hasta 400Khz... con resolucion de onda aceptable. Tu, parece que conseguiste mucho más, pero por culpa del puerto paralelo la comunicación se ralentiza. Mi pregunta viene a ser la siguiente o mejor, mi propuesta:

Tu quieres pasar tu osciloscopio a USB y dices que será más rápido, ya sea por el medio de transmisión (el propio USB) como por la potencia de los PICs que integran dichos módulos y

el PIC18F14K50 con USB integrado (al igual que PIC18F2550 que propusiste), tiene una arquitectura de 8bits y una velocidad máxima de 48Mhz con 12MIPS, lo que, relacionandolos se obtendria una potencia de cálculo de:
48Mhz*12MIPS*8Bits = 4608
pero si utilizásemos el PIC24FJ32GB002 (SPDIP, QFN, SOIC) con arquitectura de 16bits, velocidad máxima de 32Mhz y 16MIPS, obtendriamos una potencia de cálculo de:
32Mhz*16MIPS*16Bits = 8192 lo que significa un 177% más que el PIC18F14K50....

Puesto que la tarea pesada del PIC seria ir a memoria, leer y transmitir por USB (y más si utilizásemos un ADC de 16bits si queremos buena definición), ¿no nos saldria más a cuenta el PIC24FJ32GB002 ?

Comparado con el PIC16F628 que tenias por puerto paralelo... serian:
5MIPS*8Bits*20MHz = 800
lo que supone que el PIC18F2550 iría 576% más rapido y con el PIC24FJ32GB002 iría 1024% más rápido. Ambos tienen USB...

Apunto que estas relaciones las he hecho yo. Para algo sirven las mates... relacionar las cosas que te interesan ;)

salu2
 
Bueno, primero lo primero: Existe, conseguible, utilizable y sencillo un ADC de 16 bits? Te comento que todos los osc comerciales que "podemos" comprar son 8 bits.

La entrada de un ADC de 8 bits (de memoria no tengo ahora el datasheet), es de 2vpp y de 5vpp depende cual de los dos que propuse sea. Por lo tanto: 2vpp / 256 = 0,0078 volts de resolucion y 5vpp / 256 = 0,019 volts de resolucion.

Te remarco esto porque la resolucion es mas que buena! Vale la pena 16 bits? Las memorias SRAM son de 8 bits, tendrias que poner 2 funcionando en paralelo y complica mucho la PCB.

Ahora el micro: En lo que yo propuse no necesitas para nada potencia de calculo, ya que el micro NO hace ninguna matematica, solo envia datos.

Vamos a los numeros: En un pic a 20mhz

Para transmitir 1 byte debemos:
1)- Setear direccion (200ns)
2)- Leer el puerto (200ns)
3)- Transmitir por usb ese byte (no se, asumamos 3us = 30 instrucciones)

Por lo tanto, cada byte usa unos 4us * 32768 bytes = 131072us = 0,13 segundos !!!

Si la PC es potente estariamos viendo unas 3 pantallas por segundo, o sea, es rapidisimo con un pic a "solo" 20mhz. No estoy seguro pero creo que el 18F2550 puede correr a 48mhz, habria que revisar el hilo de este foro donde se estudia la comunicacion usb con este pic.

Y para terminar de exponer mi punto sobre los ADC de 8 bits: En el que tengo funcionando, utilizo la salida PWM del pic para generar una onda cuadrada de 2000hz 5v de calibracion. Cuando pongo la punta de osciloscopio en esa salida, puedo ver incluso la cresta redondeada de la onda, para que te des una idea de la resolucion y velocidad que tiene algo "sencillo" y comun.
 
Hola de nuevo! Ahora que he terminado exámenes, puedo dedicarme un poco más con el osciloscopio.
Seaarg, ¿puedes darme el modelo de la SRAM? estoy intentando buscar una y pedirla, pero no sé cual coger de las muchas... hay nvSRAM, SRAM síncrona, asíncrona, sin bus de latencia, algunas no te dan frecuencia sino "velocidad (ej. 40ns)" con mínimo 128x8, o mucho más como 128x16, 64x32, ... algunas pipeline otras flow-trough, ... :S

puedes ayudarme un poco?

salu2
 
Hola, podes usar esto:

http://pablohoffman.com/cgi-bin/twiki/bin/view/Oscusb/DocCap04Hardware#Memoria_RAM_est_tica

Como aqui no conseguia esas memorias, lo que hice fue obtener una de una lectora de CD. Si te asusta el SMD en encapsulado DIP las podes conseguir en placas base de 386 por ejemplo.

Vas a ver un integrado de 28 patas que dice algo de 256-xx donde xx puede ser 12, 15, 25, 60 esos son los nanosegundos de acceso. En el mio utilize 12ns pero la mayoria de las memorias que pude conseguir son de 25ns y eso te alcanza justo para 40mhz (demasiado justo para mi gusto).

Mi caso: T14L256A-12J (Lo mas rapido que pude conseguir en 5v, tengo de 8ns pero en 3.3v)
Otra opcion, en DIP: IS61C256AH

Son memorias de 32Kbytes

Consejo, mantenelo simple: no te compliques (128x16 seria complicarse si es que interpreto bien) y te aconsejo que descartes toda RAM que no sea SRAM.
 
gracias, pero si miras ésta web y clicas en Sincronous SRAM y luego bajas la página, verás que casi todas son DDRII, entonces, o algo entiendo mal o algo pasa, porque no sé cuales son las SRAM. Aunque por lo que me cuentas, creo que es SRAM asíncona, donde llegan los valores hasta 8ns. Voy a ver.

Por cierto, puedo coger una SRAM de digamos... 64Kbx8 o 128x8kb y utilizar tan solo 32kb? Supongo que será cosa de los contadores, no?

Gracias!
 
Como dijo scooter, SRAM viene de STATIC ram, no de sincronous. Para que te des una idea, nunca vas a ver (creo) numeros de 1mb en memorias sram, porque son caras de fabricar asi que son pequeñas.

Ojo que las numeraciones de las memorias vienen expresadas en bits a veces, no bytes (algo tiene que ver con el 256 de su numero, si lo pensas)

64Kbx8 Si esto es 64k Words x 8 bits te sirve y yo la usaria toda, porque probablemente tengas que usar 2 contadores de 8 bits de todos modos, o como en mi caso, use 2 de 12 bits porque no conseguia de 8.
 
Hoy en día si que se encuentran sram de 1MB con facilidad, creo que hasta 10MB. Lo que no vas a ver es una de 1GB, eso seguro, el número de transistores por bit es muchísimo mas alto que en una DRAM (dinamic ram)
 
Sabeis qué es lo más triste que te puede pasar? Tener 4 Lectoras de CD (Lectoras, regrabadoras de CD y una de DVD) y que todas tengan SDRAM... :LOL:DD

Seaarg, por casualidad no pediste la memoria via internet, no? :LOL:

Por cierto, éstos contadores de Microchip servirian?
 
Busca una grabadora de CD, esa seguramente tenga sram.

La memoria la saque de una grabadora TDK vieja. O de motherboards de 386.

Y el link que me pasaste es un ADC, no contador. ¿Conseguible facil?... un par de CD4040
 
mm.. tienes razón!
A ver, ya me llegó el ADC de Texas Instuments (el mismo que el tuyo, la cosa no ha cambiado hasta entonces) pero miraré MAXIM y alguna otra empresa a ver qué encuentro.

Estoy superperdido en el tema. Siento ser un poco carga! :/
Las webs que utilizo para buscar los componentes (y si se puede, coger samples) son las siguientes, quizás te sirva de algo:
Microchip
Texas Instruments
National Semiconductor
Maxim
Analog Devices
STMicroelectronics
Fairchild
Cypress
Exar
Me cuesta un poco buscar todo lo que me dices... Hasta ahora solo tengo el ADC y me falta:
- SRAM
- Contadores CD4040 (que en algunos está obsoleto)
- Buffers 74F245 (que en algunos está obsoleto)
- Puertas NAND (alta velocidad, bajo consumo, ...?)
- Operacionales
- Llaves digitales 4066

salu2
 
Si bien estas en Europa y deberia ser mas facil encontrar para vos, para SRAM lo mas rapido va a ser encontrar motherboards viejos y usar de ahi.

Llaves digitales 4066 tenia mi diseño previo, pero en el proximo lo voy a hacer con llaves manuales, menos problema. Te recomiendo lo mismo.

NAND, la mas rapida que encuentres. Tambien inversores muy rapidos si es que no conseguis el oscilador con cristal integrado. (inversores, para hacerte tu propio oscilador) o podrias usar el oscilador interno del PIC, como hacen en el proyecto de hoffman.

El CD4040 si esta obsoleto, aqui se consigue.

El 74F245 se consigue tambien en motherboards. Pero creo que no te haria falta. Depende como diseñes.

Operacionales, te recomiendo de instrumentacion, a menos que quieras acotar el ancho de banda analogica, entonces ahi unos simples TL074 pueden servirte.
 
Las sram que tengo son la caché de dos placas de 486
De todos modos me suena que en farnell y en RS hay de tamaños respetables a precios "razonables"
 
Siempre decís que se puede conseguir de placas antiguas de pc... una curiosidad ¿vosotros guardais motherboards o las conseguís en algun lado? Yo no tengo nada de motherboards antiguas (aunque pasaron por mis manos), Tampoco nos dejan "sacar" nada del punto de reciclaje (qué ironico).

Por una parte, aunque ya me llegó el ADC de texas instruments, creo que pediré también éste ADC de MAXIM, que parece que obtiene mejores resultados en los apartados de INL, DNL ,.. y funciona hasta un poco más de frecuencia. No sé si se conectará del mismo modo...

Encontré tambien los contadores C4040 de fairchild. Los habian renombrado. Porque los primeros resultados que me dió su buscador fueron de partes obsoletas.

Os iré informando. Por cierto Seaarg, ¿podrias subir alguna imágen de cómo te quedó tu osciloscopio?

Podrias tambien, subir un poco el esquema que utilizaste para el acondicionamiento de la señal?:rolleyes:

salu2

Aqui está el Buffer de 8bits non-inverting outputs, tiempo de retardo de aproximadamente 4ns
y aqui las NAND Gates con retardo de aprox. 3ns

Ahora solo me falta la SRAM que lo dejaré para lo último, las llaves y los operacionales.

Las llaves digitales:
En fairchild las han discontinuado asi como en National Semiconductor, en otras webs se pueden conseguir, entre ellas, MAXIM. Mi idea es utilizarlo para canalizar la señal a un circuito divisor o amplificador. Por lo tanto, necesitaremos que sea de baja impedancia y que pueda dejar pasar la señal. Como no soy superentendido, os redirijo a una pagina un tanto especial donde MAXIM explica un poco sus "analog switchers" os hago referencia a la tabla 1 y a la 5, sobretodo a la 5. En ella encontraremos partes que utiliza MAXIM en dispositivos USB. Mi pregunta es.. ¿sevirian para nuestro proposito? Es decir, ¿cumplen los requisitos que pedimos? Veo que tienen caracteristicas bastante buenas. Tambien hay muchos en Analog Devices
De momento me quedo con éste de Analog Devices. Me limita directamente el ancho de banda a 18Mhz (más que suficiente) y tiene muy buenas especificaciones.
 
Última edición:
La SRAM queda pendiente y el amplificador... con el amplificador necesitaré ayuda.
Lo de la ganancia lo entiendo, lo que no entiendo es porque lo especifican en dB... Y no sé si coger un amplificador lineal, de ganancia variable o qué. Podria controlar la ganancia mediante el PIC y asi evitarme tener que hacer pasar la señal por un segundo amplificador si fuera el caso.

Me podeis hechar un cable?
 
No guardo placas de PC, le saqué los pocos ICs susceptibles de ser usados antes de tirarlas, esos ICs deben de estar rondando por mi casa como 10 años esperando que les de algún uso.
No estoy muy puesto, pero supongo que para el amplificador de entrada habrá que buscar alguna configuración que sea gobernada por tensión y ese control sacarlo de un DAC del pic.
Como en realidad necesitas mas un atenuador que un amplificador bastaría con unos divisores de tensión seleccionables.
 
ya pero para tensiones del orden de los milivolts, entonces deberia amplificarla. Léase por ejemplo, un electrocardiograma. Para divisiores de tension, tengo pensado hacerme con unos potenciometros digitales, y poder variar los 2 potenciometros del divisor mediante el pic. ME ENCANTA !! :LOL: Donde tendré más problemas será en el ruido.. Como soy aficionado, no conozco equaciones ni nada sobre el ruido. Tan solo los condensadores para filtrar. :/
 
Atrás
Arriba