Tengo un TL16C550CIFN UART conectado a un MC68000 softcore en un FPGA.
El UART parece estar funcionando correctamente porque puedo escribir los registros (estoy alternando OUT1 y OUT2, etc.) pero el pin de baudout está constantemente alto y el indicador de vacío del transmisor nunca se borra. Supongo que el generador de baudios no funciona o me estoy perdiendo algo más. He probado algunos cristales externos y parecen que oscilan correctamente (puedo ver el reloj a través de mi analizador lógico) y he intentado conectar la entrada del reloj a un reloj generado desde el FPGA. En ambos casos, baudout es constantemente alto, la bandera vacía del transmisor nunca se borra y nada parece transmitirse.
He probado unos 8 chips diferentes ... así que, a menos que tenga un lote realmente malo, no creo que sea un problema con el UART. Pensé que podría ser que el UART deshabilite el generador de baudios cuando las señales de detección del operador no son correctas, así que conecté todo en la placa para que pareciera un módem nulo. Todavía no hay alegría. :(