全部博文(70)
分类:
2009-11-14 10:44:33
串口的关键部件是通用异步接收发送器(Universal Asynchronous Receiver Transmitter,UART)。它负责从计算机总线采集数据,转换成传输格式,然后发送到串口;也负责从串口接收数据,检查和删除附加的位,并传送结果数据给计算机总线。
下面是各种串口芯片的简介。
8250
8250是IBM PC及兼容机使用的第一种串口芯片。这是一种相对来说很慢的芯片,有时候装载到它的寄存器速度太快,它来不及处理,就会出现数据丢失现象。8250有7个寄存器,支持的最大波特率为56kb。
8250A
是8250的修正版。修正了一些小问题,增加了一个用来表示安装了8250的寄存器,最大速度还是56kb。
16450
16450是8250A的快速版。加快了处理器存取它的速度,但最大速度还是56kb。有些人实际用得比这高也可以。
16C451
16C451是16450的CMOS版本。CMOS是制作材料和工艺的术语,一般比其它技术省电。速度方面无变化。
16550
16550是第一种带先进先出(FIFO)功能的8250系列串口芯片。但因为有缺陷,很快就被下一种代替。
16550A, 16550AF和16550AFN
16550A与用于8250的软件兼容,而前者提供更高的性能。16550A的最大波特率为256kb。但因为PC硬件设计的原因,编程时只能用到115kb。16550A的管脚与8250、8250A和16450相同。如果你的扩展串口板上串口芯片安装在插座上,你可以用16550A替换进行简单的升级。16550A性能增强的关键是使用了先进先出(FIFO)。它有16字节的发送FIFO寄存器和16字节的接收FIFO寄存器。
16C551
16C551是16550AF的COMS版本。
16C552
16C552是在一个芯片上包含两个16C551。
82510
Intel公司出品,提供多种操作模式,默认方式为16450。82510含有4字节发送FIFO缓冲区和4字节接收FIFO缓冲区。
在486以下的兼容机器中,串口一般是集成在多功能卡上,也多使用8250方式,这就不能充分利用28800 BPS及以上速度的调制解调器,传输文件时容易出现CRC错。586以上的机器中,串口一般是集成在主板上,也多使用16550A方式,可以充分利用28800 BPS及以上速度的调制解调器。高速内置调制解调器中的串口芯片多使用兼容的16550A方式。
intel8250芯片资料:http://blog.chinaunix.net/u1/51562/showart_1131662.html
intel8250驱动分析:
http://blog.chinaunix.net/u1/51562/showart_1132884.html
关于串口fifo的问题