深入解析XR17D152:通用PCI总线双UART的卓越之选

电子说

1.4w人已加入

描述

深入解析XR17D152:通用PCI总线双UART的卓越之选

在通信系统高速发展的今天,高性能、多功能的UART(通用异步收发传输器)对于保障数据准确、高效传输至关重要。XR17D152作为Exar公司PCI总线UART家族的一员,以其出色的性能和丰富的特性,成为诸多应用领域的理想选择。

文件下载:XR17D152CM-0A-EVB.pdf

一、产品概述

XR17D152是一款单芯片双PCI总线UART,专为满足现代32位PCI总线和高带宽需求而设计。其全局中断源寄存器能为两个通道提供完整的中断状态指示,加速中断解析。每个UART都有独立控制和一套与16C550兼容的5G寄存器组,还配备了64字节的收发FIFO、可编程的FIFO触发级别、硬件和软件流控制、红外编码/解码等功能。

二、应用领域广泛

  • 通用PCI总线扩展卡:适用于各种需要增加串口数量的PCI系统扩展。
  • 网络管理:有效实现设备之间的数据通信,便于系统监控和管理。
  • 工业自动化与过程控制:保障工业环境中数据的稳定传输,提高生产效率。
  • 以太网转串口:实现以太网与串口设备之间的无缝连接。
  • 销售点系统:确保交易数据的准确、快速传输。
  • 多串口RS - 232/RS - 422/RS - 485卡:满足不同串口通信协议的需求。

三、突出特性亮点

高性能双PCI UART

  • 通用PCI总线缓冲器:支持自动感应3.3V和5V操作,适应不同的电源环境。
  • 32位PCI总线2.3目标信号合规:保证与现代PCI总线系统的兼容性和数据传输的稳定性。
  • 全局中断源寄存器:为两个UART提供统一的中断管理,提高系统响应速度。
  • 多样的数据传输模式:支持字节、字和双字传输,以及数据读写突发操作,提升传输效率。

丰富的UART功能

  • FIFO设计:每个UART配备64字节的收发FIFO,有效减少CPU干预,提高数据处理能力。
  • 流控制:具备自动RTS/CTS或DTR/DSR硬件流控制和Xon/Xoff软件流控制,确保数据传输的准确性。
  • 红外功能:集成红外(IrDA 1.0)数据编码器/解码器,支持红外通信。
  • 可编程数据速率:通过预分频器实现可编程数据速率,最高可达6.25Mbps。

其他实用特性

  • 多功能输入/输出:提供8个多功能输入/输出引脚,可根据需求灵活配置。
  • 通用定时器/计数器:一个16位通用定时器/计数器,可用于定时或计数任务。
  • 睡眠模式:支持自动唤醒的睡眠模式,降低功耗。
  • EEPROM接口:方便进行PCI配置,实现设备的自动识别和初始化。

四、引脚功能详解

PCI本地总线接口

PCI本地总线接口是与主机通信的关键部分,满足PCI本地总线规范修订版2.3。其时钟最高可达33.34MHz,支持8位、16位、24位或32位数据传输,32位数据操作时数据传输速率高达132MByte/sec。各引脚功能明确,如RST#用于复位,CLK提供时钟信号,AD[31:0]为地址数据线等。

调制解调器或串行I/O接口

用于UART与外部设备的通信,包括TX和RX用于数据收发,RTS#、CTS#、DTR#、DSR#等用于流控制和设备状态指示。不同的UART通道有各自独立的引脚,确保数据的准确收发。

辅助信号

提供了多种辅助功能,如MPIO0 - MPIO7为多功能输入/输出引脚,EECK、EECS、EEDI、EEDO用于与EEPROM通信,XTAL1和XTAL2用于连接晶体振荡器或外部时钟等。

五、寄存器设置与功能

PCI本地总线配置空间寄存器

负责设置设备在PCI本地总线中的运行环境,提供设备的供应商ID、设备ID等信息,用于PCI自动配置。在系统上电或复位后,操作系统会读取这些信息并为设备分配内存地址。

设备配置寄存器组

可直接从PCI数据总线访问,用于设置设备的一般操作参数和监控各种功能状态。寄存器占用1K的PCI总线内存地址空间,控制或报告两个UART通道的功能,如中断控制、定时器/计数器控制等。

UART通道配置寄存器

每个UART通道都有自己的一套配置寄存器,用于控制通道的操作和状态报告。这些寄存器与16550兼容,同时具备EXAR增强功能,如可编程波特率生成器、收发FIFO控制等。

六、数据传输方法

32位PCI突发传输

支持PCI突发读写事务,可在映射内存区域的任何位置(除保留区域)进行数据传输。通过特定的内存位置(如0x100 - 0x13F用于收发FIFO),可实现高速的数据加载和卸载。正常情况下,最多64字节的RX FIFO数据可在一次32位读取操作中完成,速度比传统的8位读取快至少16倍。此外,还提供了带有LSR状态信息的RX FIFO数据卸载功能,确保数据的完整性。

通过UART通道寄存器的8位FIFO数据传输

使用THR和RHR寄存器进行8位数据传输,这两个寄存器与16C550兼容。在这种模式下,软件驱动需要分别读取LSR内容以获取错误标签。

七、UART详细功能

可编程波特率生成器

每个UART都有自己的波特率生成器(BRG),通过MCR寄存器中的软件位控制预分频器,可将输入时钟分频1或4倍。BRG进一步将时钟分频得到16X或8X采样时钟,从而实现可编程的数据速率。用户可根据需要选择标准或自定义的数据速率。

发送器

发送器由64字节的FIFO、字节宽的发送保持寄存器(THR)和8位发送移位寄存器(TSR)组成。数据从主机或FIFO传输到THR,再由TSR以16X或8X内部时钟逐位发送。发送过程中会添加起始位、数据位、奇偶校验位和停止位。在FIFO模式下,当FIFO中的数据量低于编程触发级别时,会触发发送空中断。

接收器

接收器包括8位接收移位寄存器(RSR)和接收保持寄存器(RHR)。RSR使用16X或8X时钟对输入字符进行验证和采样,确保数据的准确性。如果接收到的数据存在错误,会在LSR寄存器中报告,并根据IER寄存器的设置触发中断。在FIFO模式下,RHR包含FIFO接收到的第一个数据字符,并在读取后更新LSR状态。

自动硬件流控制

自动硬件RTS/CTS或DTR/DSR流控制用于防止本地和远程接收器FIFO数据溢出。通过设置EFR和MCR寄存器中的相应位,可选择不同的流控制方式。当满足特定条件时,会触发相应的中断,通知系统进行处理。

红外模式

每个UART都集成了与IrDA 1.0兼容的红外编码器和解码器。通过ENIR引脚可方便地启用红外模式,此时TX和RX引脚的电平会根据红外接口要求进行调整。编码器将发送数据中的“0”位编码为3/16位宽的脉冲,解码器将接收到的光脉冲转换为逻辑“0”,降低了红外LED的功耗。

内部回环

每个UART通道都支持内部回环功能,通过设置MCR寄存器的相应位可启用。在回环模式下,发送数据会被内部路由到接收端,可用于系统诊断。

八、编程示例与注意事项

卸载接收数据

使用特殊的接收FIFO数据与状态寄存器卸载数据时,建议先对设备ID(DVID)寄存器进行虚读操作,以避免字节交换问题。在数据卸载过程中,如果需要访问其他寄存器,应再次进行DVID寄存器的虚读操作。

电气特性

文档详细列出了XR17D152在不同电源电压(5V和3.3V)下的直流和交流电气特性,包括输入输出电压、电流、时钟频率等参数,为硬件设计提供了重要参考。在设计过程中,工程师需要根据这些特性合理选择电源和外围电路,确保设备的正常运行。

九、总结

XR17D152以其高性能、多功能和丰富的特性,为通信系统提供了强大的支持。在实际应用中,工程师通过合理设置寄存器、选择合适的数据传输方法和配置引脚功能,能够充分发挥其优势,实现稳定、高效的数据通信。无论是在工业自动化、网络管理还是其他领域,XR17D152都将是一个值得信赖的选择。你在使用XR17D152或类似UART设备时遇到过哪些问题呢?欢迎在评论区分享交流。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分