Foros de Electrónica

Comunidad de discusión sobre Automatización, Electrónica industrial, Microcontroladores y electrónica digital, Robótica, Domótica, Telemática, Tecnologías móviles, y muchos temas más.




Contador de pulsos unido al microcontrolador DLP-245PB


       



#1  Contador de pulsos unido al microcontrolador DLP-245PB
dcshonda

Registrado: 03 Nov 2005
Mensajes: 24
Ubicación: España
citar
Hola amigos. Encantado de formar parte de este foro.

El tema del que os quiero consultar es sobre como hacer un contador de pulsos para luego pasarlo a un ordenador mediante el puerto USB. Tengo un sistema hardware implementado que me produce una secuencia de unos y ceros, y quiero detectar mediante un contador, el numero de unos de esa secuencia para pasarlo luego mediante el microcontrolador DLP-245PB que emplea el FT245BM. Pero realmente no se muy bien como funciona.

En principio he pensado en implementar un contador que me lea una secuencia serie cada cierto tiempo (5 microsegundos mas o menos) y me pase el numero de unos mediante una secuencia en paralelo al microcontrolador. Pero no se que dispositivo emplear.

Luego no se si debo interconectar las lineas paralelas procedentes del contador al bus de datos entre el PIC18F877 y el FT245BM (dentro del DLP-245PB) o si debo interconectarlas a la entrada del PIC18F877.

Si alguien me puede echar una mano, y decirme la mejor manera de implementar un contador de pulsos (Trabajare con frecuencias de reloj comprendidas entre 1.25Mhz y 20Mhz) , de forma que coja una secuencia serie, y me de el resultado en una secuencia en paralelo..

Muchisimas gracias por vuestro tiempo.



Este mensaje contiene archivos adjuntos, para verlos debes estar registrado.

#2  
Marcelo
Colaborador
Registrado: 27 Jul 2005
Mensajes: 363
Ubicación: Venezuela
citar
Hola dcshonda,

Creo que la forma más sencilla es utilizar y configurara el pin RBO para que permita capturar una interrupción externa en el pic 16F877, llevando a él la señal en la que quieres contar los pulsos.

De esta forma cada vez que la señal genera un "1", se producirá una interrupción. En la rutina encargada de manejar esta interrupción, lo único que debes implementar es un contador. Cuando quieras enviar al módulo USB (FT245BM) la cantidad de "1", solo debes pasarle el valor del contador que manejas en la rutina de interrupción.

Saludos,
Marcelo.

#3  Tengo que cambiar de microcontrolador
dcshonda

Registrado: 03 Nov 2005
Mensajes: 24
Ubicación: España
citar
Muchas gracia Marcelo.
Tengo que cambiar de micro. Creo que lo que dices de programar la patilla RBO para que detecte interrupciones tmb lo podré hacer con este micro.
Ahora bien, no dispongo de nada para programar el micro, y voy apurado de tiempo pues tengo que hacer un programa software para que me lea del puerto USB (Visual C++), y necesito realizar un contador para que me pase el resultado de la cuenta al microcontrolador. Lo que quiero decir, es si conoceis alguna forma de no reprogramar el micro (ya q viene reprogramado de fábrica...para emplearlo como tx y rx de puerto), y realizar un contador externo al micro, que le pase el resultado al micro.
Os paso unos esquemas del micro, y de lo que tengo pensado, para ver si está bien, o si podeis ayudarme con más ideas. Muchas gracias.



Este mensaje contiene archivos adjuntos, para verlos debes estar registrado.

#4  
Marcelo
Colaborador
Registrado: 27 Jul 2005
Mensajes: 363
Ubicación: Venezuela
citar
Creo que todo lo que tienes que hacer es colocar las salidas de tu contador a los puertos del PIC, si es que esos pines (desde C0 hasta C7) están declarados como entradas; y usar como reloj del contador, la señal a la que la quieres contarle los pulsos.

Cada vez que la señal manda un "1", el contador avanza y se lo pasa al uP (PIC).

Estuve leyendo el flyer del módulo que tienes, pero no es claro en como usas las facilidades de Tx y Rx pues depende de como esté preprogramado el uP y como se controla desde el PC.

De la forma en que te digo, cuando solicites leer el USB éste te mandará el valor que tiene el contador que son las mismas señales que tiene el PIC en sus puertos es decir, que el byte formado por los estados de las puertas C0 hasta C7 será el número de pulsos contados.

El problema radica en que debes sincronizar de alguna forma el timing de lectura es decir: Suponte que el contador leyó 256 unos (8 bits, que es lo que tienes); si no lees el conteo con tu programa C++ en ese momento y esperas el próximo pulso, la interfaz te mandará un "0" pues el contador dió toda la vuelta.

Por otra parte, si el circuito ( DLP-245PB) envía a Tx cada vez que haya un cambio de estado en las compuertas del PIC, entonces si podrías actuar en consecuencia pues tendría un feedback establecido entre el PC y el módulo.

Es muy dificil responderte sin la información completa, el algoritmo que quieres seguir para tu programa y como funciona a ciencia cierta (o como está preprogramado) ese módulo, pero espero que esto te sea de utilidad.

Marcelo.

#5  Muchas gracias Marcelo, otra vez.
dcshonda

Registrado: 03 Nov 2005
Mensajes: 24
Ubicación: España
citar
Lo he estado mirando, y creo que puede funcionar. Respecto a la implementacion del software (Visual C++), creo que no fallara. Lo tengo escrito para que cada poco tiempo coja los bits contados del puerto USB y los almacene. Tengo que probar el algoritmo...ya te comentare.

La programacion que lleva el uP no lo tengo muy claro, pero lo que he estado leyendo... dice que viene programado para emplearlo como simple interfaz, para enviar los datos al ordenador como si de un puerto COM se tratase... Por lo que mediante el programa podre monitorizar el puerto COM para extraer los resultados del contador.

No voy a reprogramar el uP porque el sistema es un trabajo que tengo que hacer, y no encima no me corresponde a mi, asi que por eso creo que voy a simplificarlo con el contador externo. De todas formas cuando consiga los componentes y lo pruebe, ya os comentare como resulto. Por si le sirve a alguien de algo.

Muchas gracias otra vez Marcelo. (Y gracias, por el consejo de no duplicar los posts)

#6  Como enviar datos a una memoria USB (pen driver) sin utilzar
danny_ldu

Registrado: 31 Ene 2006
Mensajes: 3
citar
Que tal Marcelo

Mira estoy diseñando un proyecto en donde necesito enviar informacion de una cámara de videa a una memoria USB removible pero el enlace tengo que hacerlo sin utilizar el PC si me puedes dar alguna idea te agradezco de antemano

DANNY

 Responder



Google
 


 Temas de interés 
No hay mensajes nuevos Generador de pulsos con un cristal de cuarzo
No hay mensajes nuevos Conmutador electronico 10 pulsos x seg
El tema está cerrado y no puedes editar mensajes o responder 555 como divisor de frecuencias en un tren de pulsos
No hay mensajes nuevos Control de pulsos sincronizados con la red electrica
No hay mensajes nuevos Contador de pulsos

Foros de Electronica
|| Cuestiones Elementales de Electrónica || Fuentes de alimentacion || Circuitos de radio || Diseño de circuitos en general ||
|| Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión ||
|| Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos ||