Ya que estoy en forosdeelectronica y se muy poco de USB, pero casualmente siempre he querido (y quiero en este momente) apreder siquiera lo basico de USB, aprovecho para hacer algunas preguntas. No se hasta que punto conviente en terminos practicos en un mundo donde todo viene preparado y listo para usar, pero sea al menos para satisfacer una curiosidad teorica, necesito saber una cosa:
Tengo por un lado la computadora de escritorio, que llamare PC, y por el otro lo que llamare el dispositivo, consistiendo de un sistemita construido alrededor de Z80 y que incluye unl controlador USB. La PC corre un sistema operativo, llamese Windows, Linux o lo que sea. El dispositivo no tiene nada parecido. Asi que si hablo de OS (sistema operativo) entendamos que hablo del OS de la PC. Lo pregunta tiene que ver con la PC. O construyo el dispositivo de modo que se entienda con los drivers de la PC o, lo que me parece mas fácil, hago un programa especial (que corre sobre la PC) que sólo él reconoce y sabe tratar el dispositivo. Asi que pongamonos en el ultimo caso y asumamos incluso que uso Windows, que es lo que mas se usa en este foro. Seria muy dificil escribir un programa asi? Esa es la pregunta. Aqui conviene que dé este link: https://www.forosdeelectronica.com/f24/comunicacion-entre-viejo-microprocesador-pc-medio-usb-95011/ En él hablo del dispositivo en lo que hace a hardware y me ahorraria algunas palabras el que le hecharan un vistazo. Yo escribo un programa para el Z80 en la PC, usando un cross-assembler. Luego transmito el programa hacia el dispositivo, que lo guarda en su memoria volatil (RAM). Vale decir que la comunicacion es en un solo sentido, salvo los datos de control.
Al comienzo, pense usar, no USB, sino el puerto paralelo de la PC, y realizar la transmision exclusivamente con senales TTL. Si no uso una senal sincronizadora, pero no tender mas remedio que usarla, exactamente como los teclados antiguos de las PC, puedo usar una sola senal: el pueto paralelo (usando alguno de los bits en 0x372) esta normalmente alto. Corro el programa monitor del dispositivo, que espera a que la línea baje. Cuando la linea baja comienza la transmision, usando ambos el mismo protocolo, desde ya. Esto es todo lo que hay que hacer. Volviendo a USB, si pudiera entenderse directamente con el driver, el programa de la PC no tendria mucho trabajo. O talvez mas facil, en contra de lo que dije antes, seria que el programa del dispositivo respetara la noma 1.1 (o 2.0 o la que fuera) y que el programa de la PC este escrito en C, que con una sola sentencia puede encargarse de la E/S basica. Si logran enteder que es lo que estoy preguntado los felicito, porque no lo entiendo ni yo mismo. Digamos, algunas ideas.
Tengo por un lado la computadora de escritorio, que llamare PC, y por el otro lo que llamare el dispositivo, consistiendo de un sistemita construido alrededor de Z80 y que incluye unl controlador USB. La PC corre un sistema operativo, llamese Windows, Linux o lo que sea. El dispositivo no tiene nada parecido. Asi que si hablo de OS (sistema operativo) entendamos que hablo del OS de la PC. Lo pregunta tiene que ver con la PC. O construyo el dispositivo de modo que se entienda con los drivers de la PC o, lo que me parece mas fácil, hago un programa especial (que corre sobre la PC) que sólo él reconoce y sabe tratar el dispositivo. Asi que pongamonos en el ultimo caso y asumamos incluso que uso Windows, que es lo que mas se usa en este foro. Seria muy dificil escribir un programa asi? Esa es la pregunta. Aqui conviene que dé este link: https://www.forosdeelectronica.com/f24/comunicacion-entre-viejo-microprocesador-pc-medio-usb-95011/ En él hablo del dispositivo en lo que hace a hardware y me ahorraria algunas palabras el que le hecharan un vistazo. Yo escribo un programa para el Z80 en la PC, usando un cross-assembler. Luego transmito el programa hacia el dispositivo, que lo guarda en su memoria volatil (RAM). Vale decir que la comunicacion es en un solo sentido, salvo los datos de control.
Al comienzo, pense usar, no USB, sino el puerto paralelo de la PC, y realizar la transmision exclusivamente con senales TTL. Si no uso una senal sincronizadora, pero no tender mas remedio que usarla, exactamente como los teclados antiguos de las PC, puedo usar una sola senal: el pueto paralelo (usando alguno de los bits en 0x372) esta normalmente alto. Corro el programa monitor del dispositivo, que espera a que la línea baje. Cuando la linea baja comienza la transmision, usando ambos el mismo protocolo, desde ya. Esto es todo lo que hay que hacer. Volviendo a USB, si pudiera entenderse directamente con el driver, el programa de la PC no tendria mucho trabajo. O talvez mas facil, en contra de lo que dije antes, seria que el programa del dispositivo respetara la noma 1.1 (o 2.0 o la que fuera) y que el programa de la PC este escrito en C, que con una sola sentencia puede encargarse de la E/S basica. Si logran enteder que es lo que estoy preguntado los felicito, porque no lo entiendo ni yo mismo. Digamos, algunas ideas.
Última edición: