D16550是一个通用异步接收器/发送器(UART)的软核,功能等同于TL16C550A。D16550允许两种串行传输模式:UART模式和FIFO模式。在FIFO模式下,内部FIFO被激活,允许16个字节(在RCVR FIFO中每个字节外加3位出错数据)被存储到接收和发送方向。当从外设或一个调制解调器接收到数据字符,D16550执行串-并转换,并且当从CPU接收到数据字符时,执行并-串转换。
CPU可以在工作状态下随时读取UART的所有状态。状态信息报告包括UART正在执行的传输操作的类型和条件,以及任何错误条件(奇偶校验、超限、成帧或中止中断)。D16550包括一个可编程的波特率产生器,它能够将时序基准时钟输入除以一个从1到(2 16 -1)的除数,并产生一个16 x时钟用于驱动内部发送器逻辑。还提供包括使用这个16 x时钟来驱动接收器逻辑。D16550拥有完整的调制解调器控制能力,以及一个处理器中断系统。中断可以通过编程实现用户的要求,最大限度地减少处理通信链路所需进行的计算。
配置功能允许用户在综合过程中启用或禁用调制解调器控制逻辑和FIFO的控制逻辑,或改变FIFO的大小。因此,在资源受限的应用并且UART仅工作在16450模式,禁用调制解调器控制和FIFO可节省约50%的逻辑资源。