Obsolescencia de PCI: puerto de impresora IEEE1284 (EPP,ECP,LPT) ASIC

Tengo un producto en volumen de fabricación donde la CPU integrada ahora está obsoleta.
Tengo que reemplazar esa CPU con una alternativa de menor costo. Por razones políticas (y prácticas) no puedo elegir qué CPU usar.
La CPU original tenía un chip complementario que proporcionaba un puerto de impresora. El reemplazo no tiene esa característica.

El puerto de la impresora es/fue utilizado con fines de depuración por un RTOS heredado (y muy antiguo/obsoleto). Me encantaría cambiar ese sistema operativo, pero debido a la complejidad, eso no sucederá antes de que detengamos la producción del diseño actual debido a la escasez.

La CPU de reemplazo no tiene un puerto IEEE1284 (también conocido como EPP, ECP, LPT, SPP, impresora, etc.)

He buscado por todas partes y no puedo encontrar un ASIC que implemente IEEE1284 en un bus PCI de 3,3 V. Las únicas partes que puedo encontrar que alguna vez fueron también están obsoletas.

Puedo encontrar IP suave de VHDL, pero los poderes fácticos no quieren un FPGA en el diseño y, en cualquier caso, el costo de la IP es demasiado alto.

Entonces, (a riesgo de ser acusado de 'comprar') ¿hay un fabricante que todavía fabrica un dispositivo ASIC PCI IEEE1284 de 3.3V (a veces llamado SuperIO) que se puede comprar a bajo costo en volúmenes de producción relativamente bajos para la venta en ( o importar a) Europa?

tia,

¿Tiene que ser sobre PCI? Ciertamente, aún puede obtener dispositivos de conversión USB -> LPT. O podría ser posible colocar un microcontrolador rápido en el bus PCI y hacer que implemente el comportamiento necesario.
La interfaz es para depuración de bajo nivel. Ni siquiera estoy seguro de si el RTOS tendrá un controlador USB para un puerto USB-LPT genérico (no he visto uno) e incluso si lo tuviera, tendría que instalarse antes durante el arranque, para que la depuración sea posible en ese momento. En cualquier caso, un minipuerto USB usaría la indirección del sistema operativo para suministrar un puerto de impresora. Cualquier chip tiene que estar en la dirección estándar de PC LPT1 IO.
Creo que la sugerencia de un micro rápido en el bus PCI funcionaría de la misma manera que la ruta FPGA que preferiría usar. Es otro dispositivo programable y, por lo tanto, no es del agrado de los demás.

Respuestas (2)

Le sugiero que golpee el puerto LPT en el código. El ejemplo de AVR se puede encontrar aquí . Alternativamente, puede realizar la depuración a través de alguna nueva interfaz preferida, y luego solo para los dispositivos de depuración antiguos, cree un hardware intermedio que traducirá esta nueva interfaz a la antigua interfaz LPT. Esto será bueno para el futuro, porque puede abandonar LPT por completo cuando RTOS finalmente obtenga un reemplazo.

Esto no funcionará. El puerto LPT se utiliza en el modo ECP por los componentes internos de RTOS para la depuración. Espera utilizar la dirección 'estándar' del puerto LPT. Esta dirección estaría en PCI, ISA o LPC. Horrible, lo sé, pero así son las cosas.

Podría usar un chip CPLD para sentarse en el bus PCI e implementar el puerto ECP. Sí, va a necesitar algo de trabajo de diseño de verilog, pero hay modelos de bus PCI decentes en núcleos abiertos para probar. A menudo es un diseño de un solo chip, ya que no necesita el hardware de configuración requerido por un FPGA.

Aquí hay un proyecto de código abierto que utiliza un CPLD para implementar un adaptador IDE para bus ISA como motivación: http://dangerousprototypes.com/2012/02/13/xt-ide-adapter-tested-and-working/

Hay varias personas trabajando en esto en los foros de Vintage Computer http://www.vintage-computer.com/vcforum

Si no quiere un FPGA, lo más probable es que también esté descartado un CPLD.
Los "poderes fácticos" podrían no saber la diferencia :-)
Especialmente entonces será un no-no. Puede salirse con la suya si explica que es algo completamente diferente.