Comunicacion serial con registro de corrimiento

Hola es la primera vez que escribo en el foro y no estoy seguro si lo hago en la ventana correcta, pero les dejo mi mensaje de ayuda. Estoy haciendo un proyecto que involucra comunicacion serial de las salidas de un circuito con una computadora, no puedo utilizar PICs para llevar acabo esta tarea (condiciones), asi que usé un 74LS165 para convertir los datos de paralelo a serie, y un 74LS191 para contar el número de pulsos que se envian al reloj del circuito integrado, que en este caso son 8, ya que quiero enviar 8 bits a la computadora. La señal del reloj la formo usando un 555 en configuracion astable para lograr una frecuencia cercana a 9600 Hz. El pin de "LOAD" de ambos circuitos integrados se encuentra conectado a push-button que normalmente entra como un 1 lógico, y al presionarlo entra un 0 lógico, iniciando la transmisión de datos. Entonces al hacer la prueba del circuito conectando un dip-switch de 8 a las entradas del 74LS165, la computadora si recibe el dato siempre y cuando los interruptores 1 y 8 se encuentren con un 1 lógico y omite el bit 0 (osea si envio 8 datos llegan 7, omitiendo el primero), Si cualquiera los interruptores 1 u 8 esten apagados (0 lógico) se recibe un cero siempre (Utilizo un MAX232 para enviar los datos a la computadora). Es decir si en el dip-switch entra el dato: 10000001, la computadora recibe 1000000. otro ejemplo: 11000001, la computadora recibe 1100000, y al enviar por ejemplo 01000001, se recibe 00000000. O bien al enviar 10000000, se recibe 00000000. Espero me puedan ayudar a encontrar el problema. Gracias.
 
Hola, conozco un poco sobre el protocolo RS232 ya que anteriormente utilizaba PICs para realizar la comunicacion serial, sin embargo como soy estudiante, para este proyecto es condicion no utilizar ningun Microcontrolador, sólo dispositivos lógicos programables (FPGA, CPLD, GAL...) y otros circuitos lógicos (compuertas, contadores, etc.)
MrCarlos que bueno que me mandas el link "Desde Max232 a PC Problemas" ya que utilice ese mismo circuito que aparece ahi. Yo tengo entendido que al presionar el boton se hace el corrimiento y además envia un cero lógico que indica el inicio de la transmision, posteriormente se envian uno a uno los bits que estan entrando al 74LS165 y al completar los 8 bits se vuelve a poner en un nivel alto indicando así el final de la transmisión. No utilizo paridad. Mi pregunta es, si ese circuito si genera los bits de inicio y fin de transmisión como yo supongo? Y de ser asi, debería cambiar el número de pulsos que deja pasar el 74LS191 de 8 a 10?
Cualquier cosa que me puedan decir, o si alguien ve un problema con el circuito u otra cosa sería de gran ayuda. Gracias.
 
Hola brogad21

Debes enviar tantos BIT’s como sea necesario, tanto los de datos como los que requiera el protocolo.
Con el 74LS165 solo puedes enviar 8 BIT’s pero faltarían los del protocolo RS232.

saludos
a sus ordenes
 
Ahora no recuerdo muy bien pero como poco son 10 bits para aprovechar 8; el de start y el de stop. En algunos casos se usa "bit y medio" aunque no recuerdo si eso es seleccionable.
 
hola..
me gustaria saber que valores de r1, r2 y c tiene el 555 para que trasmita a 9600.-
yo tenia el mismo problema con el bit star y stop, lo que he hecho que siempre aparezca un nivel alto antes de la trasmision de los datos y acabe con un nivel bajo.y contador de diez. estoy trabajo en cuanto pueda te paso el circuito.
agradeceria los valores del 555, porque me trasmite correcto a un baude de 4, y quiero la transmision a 9600
gracias.-
 
Hola ramon2233

Del PDF adjunto puedes definir la frecuencia a que debe trabajar el 555 para, con tu sistema, puedas transmitir y recibir a 9600 Baud.

Probablemente el 555 no alcance a trabajar a esa frecuencia por lo que deberás utilizar otro circuito. Analiza las hojas de datos de éste. Si es que puede trabajar a esa frecuencia busca por aquí, o en Google, un SoftWare llamado: “555_Timer_PRO_Setup”. Con él puedes calcular el valor de las resistencias y el capacitor.

saludos
a sus ordenes
 

Adjuntos

  • MC14411 BIT Rate Generator(2).pdf
    103.1 KB · Visitas: 108
Atrás
Arriba