1 8250串口类型的识别
Intel HW都使用DesignWare 8250:
drivers/mfd/intel-lpss-pci.c
drivers/tty/serial/8250/8250_dw.c
IIR寄存器的高2位bit7、bit6用来识别8250串口的类型:
0 - 8250,无FIFO
0 - 并且存在SCR(Scratch register)寄存器,16450,无FIFO
2 - 16550
3 - 16550A
Figure 1-1 UART register to port conversion table
其中DLAB是LCR寄存器的bit7。
2 16450
串口的5、6、7(三菱PLC是7位数据位)、8位数据长度:表示只取每个字节对应的低5、6、7、8位,剩余的高位bit丢弃
UART8250/UART16450:164 = 82 x 2,16450是8250的增强版本
USB VCP波特率可以任意设置,传输速率受限于USB速率;如果VCP的另一端是真实的物理串口,那就必须设置波特率。
16450驱动:
QNX: devc-serpci
Linux:drivers/tty/serial/8250/8250_dw.c
3 16550A
3.1 基本特征
1)16550A - 2个