通过先进的高性能UART提高串行I/O的连接性能

[09-13 16:55:03]   来源:http://www.88dzw.com  接口定义   阅读:8327

文章摘要:下面例子说明了更深FIFO的优点。假设UART的传输速率设置为115.2Kbps,并且字符格式为1个开始位、8个数据位和一个停止位,即有10位字符和115.2 Kbps波特率,那么UART接收一个完整的字符需要86.8 ?s时间。如果UART接收器的FIFO是16字节,那么它需要大约1.39ms(16×86.8 ?s)去填满一个接收器FIFO。这时,UART将对主机产生一个接收数据就绪中断,并且主机必须立刻去读取这个接收器FIFO中的数据,否则如果这个UART收到另外的字符,这个接收器FIFO中的数据将会溢出。有了上面的设置,在整个接收过程中,主机将每隔1.39 ms就获得一个来自UART的中

通过先进的高性能UART提高串行I/O的连接性能,标签:接口技术,微机原理与接口技术,http://www.88dzw.com

  下面例子说明了更深FIFO的优点。假设UART的传输速率设置为115.2Kbps,并且字符格式为1个开始位、8个数据位和一个停止位,即有10位字符和115.2 Kbps波特率,那么UART接收一个完整的字符需要86.8 ?s时间。如果UART接收器的FIFO是16字节,那么它需要大约1.39ms(16×86.8 ?s)去填满一个接收器FIFO。这时,UART将对主机产生一个接收数据就绪中断,并且主机必须立刻去读取这个接收器FIFO中的数据,否则如果这个UART收到另外的字符,这个接收器FIFO中的数据将会溢出。有了上面的设置,在整个接收过程中,主机将每隔1.39 ms就获得一个来自UART的中断。但如果这个UART的接收器FIFO的容量是128字节,那么UART中断的间隔时间将为原先的8倍(128/16=8),达到11.12 ms,主机处理UART任务的频率也将从每1.39 ms一次降到每11.12 ms一次。主机处理器可以用节省下来的时间去处理其它任务。

  在今天的许多应用中,系统需要去读取UART上的线状态寄存器(LSR),以首先确认在接收FIFO上是否有数据。这要求CPU每次从接收FIFO读取一个字符都要轮询LSR,这将显著增加CPU的处理时间。只有少数的独立的UART,比如NXP SC28L202 和 SC16C85x,拥有FIFO计数器,允许CPU在得到这些数据之前就找出在FIFO上的字符数量。这种方法使CPU不必每次都去读取LSR,而是直接从接收FIFO读取数据,从而进一步优化系统。

  可编程的中断触发等级

  在一些应用中,主机需要在固定时间内接收和响应固定长度的数据包。通过使用UART的中断触发等级,设计工程师可以对UART编程,使其在收到特定数量的字符以后,或者输出特定数量的字符之后,发出一个中断信号。目前的集成UART方案有许多预定义的触发等级,比如1、4、8或者16。这种模式的缺点是,在接收到一个不是1、4、8 或者16字节的数据包以后,设计工程师难以对UART编程以产生中断信号。NXP公司 SC16C850L/852L UART能够提供127个中断触发等级,可以灵活地对UART编程,设计工程师可以在1到 127之间任意设置中断触发等级。

  硬件和软件流程控制提供两个通讯UART之间的自动握手机制,将CPU从防止数据在UART FIFO中溢出的任务中解放出来。许多集成的UART并不具备这个功能,在处理器带宽有限、没有时间实现硬件或者软件流程控制的场合,该功能非常关键。越来越多的独立UART具备这个功能,这让设计工程师可以进一步降低CPU的工作量。

  如今对高速UART的需求越来越大。目前的连接解决方案,如蓝牙,要求UART在低电压下可以提供高达3Mbps的速度。有了新一代的独立UART,系统可以快速处理和高速传输数据,同时在所有的UART信道里保持数据完整性。目前,大量的独立UART可以在3.3V电压下提供高达5 Mbps的数据速率,而新一代UART,比如NXP SC16C85x 系列,可以在1.8V的电压下提供类似的波特率(图3)。这些类型的UART在关键芯片组的性能和面市时间方面提供了重要的附加价值,同时克服了目前被广泛用在集成解决方案中的1 Mbps UART的局限性。除了速度高之外,许多独立UART还提供对接收机和发射机的运行速度进行独立编程的能力,这使独立UART在高速集群系统和桥接等应用中特别有吸引力。

  UART的电源电压、功率和封装

  随着处理器和芯片组向低电源电压方向发展,UART也需要支持这些新电压,因此新一代UART已被开发为可工作在3.3V、2.5V和1.8V电压下。为进一步降低功耗,新型的独立UART提供低功耗模式功能,允许在空闲状态下将功耗减少到微安级。

  除了低功耗要求外,越来越多采用独立UART的系统还希望UART具有尽可能小的外形尺寸。今天市场上最小的独立UART由NXP公司推出,这些产品采用TFBGA封装,面积为3.5×3.5 mm。

  低分辨率时钟预比例器和RS485功能

  UART需要时钟源来产生波特率。这个时钟源可以由一个需要外接晶振的片上振荡器产生,或者由一个外部振荡器产生。为保证在使用固定频率时钟源时波特率可以被编程,大部分独立UART使用一个整数除法器,允许UART用整数N(比如1、2、3…)除以时钟源。整数除法器的局限是低整数值的波特率范围较窄。一些较先进的高速UART(如NXP SC16C850L)采用有理数除法器,允许UART用分数除以时钟源,从而提供更宽的波特率范围。波特率根据BR=F/(N + m/16)来计算,式中的N为从1到65k范围内的整数,m为从1到16范围内的整数。使用有理数的好处是能扩大可编程的波特率范围,使获得更高性能和提高传输精度成为可能。

上一页  [1] [2] [3]  下一页


Tag:接口定义接口技术,微机原理与接口技术接口定义

《通过先进的高性能UART提高串行I/O的连接性能》相关文章

分类导航
最新更新
热门排行