Results 1 to 8 of 8

Thread: Puerto serie. Estado de señales RTS y DTR en la apertura

  1. #1

    Question Puerto serie. Estado de señales RTS y DTR en la apertura

    Buenas tardes.
    Me gustaría saber si pueden ayudarme acerca del siguiente problema relacionado con el uso de los puertos serie:

    He desarrollado una aplicación que permite comunicar dos máquinas utilizando el puerto serie. Debido a requisitos funcionales, la señal RTS y DTR solo pueden activarse en el momento de iniciar la transmisión, quedando a 0 el resto del tiempo.
    He detectado que al hacer la apertura del puerto, las señales RTS y DTR se inician a 1, sin posibilidad de abrir el puerto con esas señales a 0, y aunque las desactive inmediatamente después de llamar al método open, durante un tiempo comprendido entre los 0.5ms y los 1.5ms, las señales permanecen activas.
    He buscado en varios foros, y esto parece el comportamiento normal en linux (he comprobado que no ocurre así en windows):

    https://unix.stackexchange.com/quest...en-for-cdc-acm
    https://stackoverflow.com/questions/...anging-any-pin
    https://github.com/npat-efault/picoc...er/lowerrts.md

    Las soluciones que he encontrado hasta el momento, pasan por modificar los drivers, algo que no me agrada demasiado.

    ¿Podría alguien confirmarme que este es el funcionamiento normal de linux en la apertura de los puertos serie?
    ¿Conoce alguien una solución que no implique modificar los drivers del sistema operativo?

    Muchas gracias de antemano.

  2. #2

    Default Re: Puerto serie. Estado de señales RTS y DTR en la apertura

    Hola conejo.

    Bienvenido al foro.

    Sobre tu pregunta, en el foro español no conozco programadores ni gente que tenga un ordenador con un puerto en serie. Creo que deberias preguntarlo en algun foro especializado como Stackoverflow o similar.

    Saludos.
    "I know that I know nothing" Socrates
    "Do not pretend things happen the way you want. Want, rather, that occur as they occur, and be happy" Epictetus
    "Compound interest, the eighth wonder of the world" Mayer Amschel Rothschild

  3. #3

    Default Re: Puerto serie. Estado de señales RTS y DTR en la apertura

    Quote Originally Posted by DiabloRojo View Post
    Hola conejo.

    Bienvenido al foro.

    Sobre tu pregunta, en el foro español no conozco programadores ni gente que tenga un ordenador con un puerto en serie. Creo que deberias preguntarlo en algun foro especializado como Stackoverflow o similar.

    Saludos.
    Muchas gracias por contestar.
    Seguiré buscando.

  4. #4

    Default Re: Puerto serie. Estado de señales RTS y DTR en la apertura

    Quote Originally Posted by conejo View Post
    Muchas gracias por contestar.
    Seguiré buscando.
    Si encuentras la solución, repórtala aquí. Suerte.
    "I know that I know nothing" Socrates
    "Do not pretend things happen the way you want. Want, rather, that occur as they occur, and be happy" Epictetus
    "Compound interest, the eighth wonder of the world" Mayer Amschel Rothschild

  5. #5
    Join Date
    Mar 2014
    Location
    Canary Island Lat. 27.994547-15.405127 Lon-160m sea level
    Posts
    300

    Default Re: Puerto serie. Estado de señales RTS y DTR en la apertura

    Hola:

    Creo que se refiere a un null moden es decir un rs-232 de 9 pines (desconocía que pasara eso en linux ) , aunque como son señales de orden y no de datos, no se si se puede implementar un sistema rc o bien un sistema con puertas, Algún tipo de bácula D lacth. ( si fuese en datos, debe ajustarse a la velocidad de tx/rx) ( he visto algo parecido pero en rs485 , creo que era ese) .

    Un ejemplo, un condensador, lejos de comportarse como filtro, en un instante determinado cuando recibe un uno, se mantiene un cero, debido a la carga del condensador y dependiendo del tipo de nivel que uses, se haría el cambio, ejemplo un tipo ttl creo que a partir de 0,2 voltios hacia arriba se considera un uno (en lógica positiva) , pero el condensador en el primer instante es como un corto, ver tiempos de carga y descarga del mismo .

    En equipos con puerto serie incorporado, que sepa no había ese problema, aunque a veces falla por falta de sincronización ( en el que el serie era una tarjeta pci, en un usb a serie no sabría decirte, aunque pienso que sería mas fácíl un serie a I2c

    Y para verlo , un MSO (osciloscopio donde hay entradas analógicas y digitales , y ver el diagrama de tiempos , si se ajusta a lo que necesitas ) .

    Al ser un tema ya viejo , no recuerdo muy bien el tema, peo de win a linux (mas bien unix) , que recuerde no teníamos problemas (aunque usaba velocidades bajas de tx/rx sobre 9600 baudios ) .

    Creo que lo que te recomienda @D.R. es lo mejor ( o bien un foro de ese tipo de placa de desarrollo ) .

    Saludos cordiales .

    Edito: en mi caso uso un DSO 7034A de Agilent (4 analógicos y 16 digitales y perfecto para sincronizar señales y ver códigos de TX, me supongo que estará anticuado, pero los diseños con un max232 los veía bien) .
    Last edited by mikrios; 25-Mar-2022 at 20:46. Reason: añadir

  6. #6
    Join Date
    Mar 2014
    Location
    Canary Island Lat. 27.994547-15.405127 Lon-160m sea level
    Posts
    300

    Default Re: Puerto serie. Estado de señales RTS y DTR en la apertura

    Hola :

    Corrijo había puesto 0,2voltios , un despiste creo que es de 2 a 5 voltios para un uno y por debajo de 2 es un cero . ( en lógica positiva TTL ) .

    En cmos ni me acuerdo.

    Saludos cordiales .

  7. #7

    Default Re: Puerto serie. Estado de señales RTS y DTR en la apertura

    Quote Originally Posted by mikrios View Post
    Hola:

    Creo que se refiere a un null moden es decir un rs-232 de 9 pines (desconocía que pasara eso en linux ) , aunque como son señales de orden y no de datos, no se si se puede implementar un sistema rc o bien un sistema con puertas, Algún tipo de bácula D lacth. ( si fuese en datos, debe ajustarse a la velocidad de tx/rx) ( he visto algo parecido pero en rs485 , creo que era ese) .

    Un ejemplo, un condensador, lejos de comportarse como filtro, en un instante determinado cuando recibe un uno, se mantiene un cero, debido a la carga del condensador y dependiendo del tipo de nivel que uses, se haría el cambio, ejemplo un tipo ttl creo que a partir de 0,2 voltios hacia arriba se considera un uno (en lógica positiva) , pero el condensador en el primer instante es como un corto, ver tiempos de carga y descarga del mismo .

    En equipos con puerto serie incorporado, que sepa no había ese problema, aunque a veces falla por falta de sincronización ( en el que el serie era una tarjeta pci, en un usb a serie no sabría decirte, aunque pienso que sería mas fácíl un serie a I2c

    Y para verlo , un MSO (osciloscopio donde hay entradas analógicas y digitales , y ver el diagrama de tiempos , si se ajusta a lo que necesitas ) .

    Al ser un tema ya viejo , no recuerdo muy bien el tema, peo de win a linux (mas bien unix) , que recuerde no teníamos problemas (aunque usaba velocidades bajas de tx/rx sobre 9600 baudios ) .

    Creo que lo que te recomienda @D.R. es lo mejor ( o bien un foro de ese tipo de placa de desarrollo ) .

    Saludos cordiales .

    Edito: en mi caso uso un DSO 7034A de Agilent (4 analógicos y 16 digitales y perfecto para sincronizar señales y ver códigos de TX, me supongo que estará anticuado, pero los diseños con un max232 los veía bien) .
    Buenas.

    Efectivamente se trata de un puerto RS-232 con un cable null modem.
    He realizado pruebas tanto con el puerto serie incorporado que tiene el equipo, como con adaptadores USB.
    Para comprobar que las señales estaban en alto, he usado un analizador de salidas del puerto rs232.

    He usado el mismo software tanto en linux como en Windows y los resultados son los que indico: en linux se levantan las señales al iniciar el puerto y en windows puedes indicar que no se levanten al abrir el puerto.
    Todo ello, junto con algunas de las consultas en foros que he incluido en el post inicial, me llevan a pensar que es un tema de drivers.

    Muchas gracias por vuestro tiempo.

    Saludos.

  8. #8
    Join Date
    Mar 2014
    Location
    Canary Island Lat. 27.994547-15.405127 Lon-160m sea level
    Posts
    300

    Default Re: Puerto serie. Estado de señales RTS y DTR en la apertura

    Hola:

    Es posible; ademas algunos circuitos viejos usan 232 y en unix (el laptop que conecta win95-98-xp) , pero de todos ninguno ha tenido problemas.

    He diseñado una supervisión con tele-control, telemedidas y funciona en todas las islas (por medio de enlaces digitales) pero los controles, son rs-232 a nivel ttl ( se puede usar la serie 74ls y también cmos, serie 4000, para mejorar la respuesta de control, trigger smith (incluso incluida en propio conector) y se que se puede hacer , ahora bien habría que probarlo en una protoboard (el generador tengo uno que puede simular los disparos, incluso por control externo) , uno de los mas prácticos es de un pulso ancho generar pulsos cortos ( de por si si no se incluye R-C, no sirve, los retardos son muy bajos ) .

    Ahora bien creo que los foros de Arduino, Rasberry pi, etc, tienen que haber algo (tengo entendido que lo hay, pero la gente va al 485, no se si por barato o por que admite distancias mayores) , en mi caso, deseche ya hace tiempo el 232 y lo pase a puerto paralelo, mas estable, sobre todo para grabadores de pic, atmel, y memorias flash.

    Al ser un tema que hace años no toco (2007) , te aconsejo lo que dijo @D.R. preguntar en esos foros, lo mas seguro sepan la respuesta .

    Espero que tengas suerte, y nos cuentes, que tal te resulto ( lo único que conservo es un pcie con 2 serie y un paralelo, y un usb-232 marca hp, para un lapto, usado para actualizar receptores y comunicación con rx - gps disciplinado) , según te funcione, tendré que tenerlo en cuenta, cuando me toque hacer algo.

    Saludos cordiales .

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •