PI7C9X7954:PCI Express 四通道 UART 的详细剖析

电子说

1.4w人已加入

描述

PI7C9X7954:PCI Express 四通道 UART 的详细剖析

在电子设计领域,高效、稳定且功能丰富的接口芯片至关重要。PI7C9X7954 作为一款 PCI Express 四通道 UART(通用异步收发器)I/O 桥接器,凭借其卓越的性能和广泛的应用场景,成为众多工程师的理想选择。今天,我们就来深入探讨这款芯片的特性、功能及应用。

文件下载:PI7C9X7954AEVB.pdf

一、特性亮点

接口与兼容性

  • PCI Express 接口:支持 x1 PCI Express 链路主机接口,完全符合 PCI Express Base Specification 1.1、PCI Express CEM Specification 1.1 以及 PCI Power Management 1.2 规范,提供高达 2.5 Gbps 的带宽,确保数据的高速稳定传输。
  • UART 兼容性:集成四个高性能 950 级 UART,与 16C550 软件完全兼容,为开发者提供了熟悉且便捷的编程环境。

数据处理能力

  • FIFO 设计:每个 UART 通道配备 128 字节的发送和接收 FIFO,有效减少 CPU 利用率,显著提高数据吞吐量。
  • 波特率与数据帧:异步模式下波特率最高可达 15 Mbps,支持 5、6、7、8 和 9 位的数据帧大小,满足不同应用场景的需求。

流控制与中断机制

  • 自动流控制:支持自动带内流控制(使用可编程 Xon/Xoff)和带外流控制(使用 CTS#/RTS# 和/或 DSR#/DTR#),有效防止数据溢出,确保数据传输的可靠性。
  • 灵活的中断触发:接收器和发送器 FIFO 中断具有任意触发级别,结合全局中断状态和可读 FIFO 级别,方便实现高效的设备驱动。

其他特性

  • 时钟预分频器:提供 4 到 46 的灵活时钟预分频器,可根据实际需求调整时钟频率。
  • 硬件配置:通过与 Microwire 兼容的 EEPROM 实现硬件重新配置,部分寄存器可通过硬件引脚设置进行预编程,方便系统初始化。
  • 电源管理:支持 D0、D1、D2 和 D3 电源状态,符合 PCI 电源管理规范,典型功耗仅为 0.8 W。
  • 工作温度范围:工业温度范围为 -40°C 至 85°C,适用于各种恶劣的工业环境。
  • 环保封装:采用 128 引脚 LQFP 封装,无铅且 100% 环保。

二、应用场景

PI7C9X7954 的多功能性使其广泛应用于多个领域,包括但不限于:

  • 远程访问服务器:为服务器提供稳定的串口通信接口,实现远程设备的监控和管理。
  • 网络/存储管理:用于网络设备和存储系统的配置和监控,确保系统的稳定运行。
  • 工厂自动化和过程控制:在工业自动化生产线上,实现设备之间的通信和数据传输。
  • 仪器仪表:为各类仪器仪表提供高精度的串口通信功能,满足数据采集和控制的需求。
  • 多端口 RS - 232/RS - 422/RS - 485 卡:作为多端口串口卡的核心芯片,提供多个串口通道,扩展设备的通信能力。
  • 销售点系统(PoS):在商业销售终端中,实现与各种外设的通信,如打印机、扫码枪等。
  • 工业 PC(IPC):为工业计算机提供可靠的串口通信接口,满足工业控制和数据采集的需求。
  • 工业控制:在工业控制系统中,实现设备之间的通信和控制,确保生产过程的自动化和智能化。
  • 游戏机:为游戏机提供稳定的串口通信,实现与外部设备的交互。
  • 楼宇自动化:在智能建筑中,实现设备之间的通信和控制,提高建筑的智能化水平。
  • 嵌入式系统:作为嵌入式系统的重要组成部分,为系统提供串口通信功能,实现数据的传输和处理。

三、引脚分配与功能

引脚列表

PI7C9X7954 采用 128 引脚 LQFP 封装,引脚涵盖了 UART 接口、PCI Express 接口、系统接口、测试信号、EEPROM 接口和电源引脚等多个功能模块。详细的引脚分配如下表所示: PIN NAME PIN NAME PIN NAME PIN NAME
1 VDDR 33 VDDC 65 DRIVER_SEL3[0] 97 NC
2 VDDR 34 VDDCAUX 66 DRIVER_SEL3[1] 98 VDDC
3 VSS 35 VSS 67 DRIVER_SEL3[2] 99 VDDC
4 VSS 36 PERST_L 68 DRIVER_SEL3[3] 100 VSS
5 SCAN_EN 37 TEST 69 VDDC 101 VSS
6 XTLI 38 GPIO[0]/DEQ[1] 70 VSS 102 NC
7 XTLO 39 GPIO[1]/DEQ[2] 71 SOUT[0] 103 NC
8 SR_CLK_O 40 VDDR 72 RTS[0]/EEPROM_BYPASS 104 NC
9 SR_DI 41 VDDR 73 DTR[0]/TEST2 105 NC
10 SR_DO 42 VSS 74 SIN[0] 106 JTAG_TDI
11 SR_CS 43 GPIO[2]/DEQ[3] 75 CTS[0] 107 JTAG_TMS
12 VDDC 44 GPIO[3]/TXTERMADJ[0] 76 DSR[0] 108 JTAG_TCK
13 VSS 45 GPIO[4]/TXTERMADJ[1] 77 RI[0] 109 JTAG_TDO
14 WAKEUP_L 46 GPIO[5]/RXTERMADJ[0] 78 DCD[0] 110 JTAG_TRST_L
15 VSS 47 GPIO[6]/RXTERMADJ[1] 79 SOUT[1]/DEBUG_PIN 111 NC
16 CLKINP 48 GPIO[7]/SR_ORG 80 RTS[1]/UART_TEST_MODE 112 NC
17 VDDA 49 DRIVER_SEL0[0]/HI_DRV 81 DTR[1] 113 NC
18 CLKINN 50 DRIVER_SEL0[1]/PHY_TM 82 SIN[1] 114 NC
19 VSS 51 DRIVER_SEL0[2]/LO_DRV 83 CTS[1] 115 VDDR
20 VDDC 52 DRIVER_SEL0[3]/DTX[0] 84 DSR[1] 116 VDDR
21 VTT 53 VDDC 85 RI[1] 117 VSS
22 TXN 54 VSS 86 DCD[1] 118 VSS
23 TXP 55 DRIVER_SEL1[0]/DTX[1] 87 SOUT[2] 119 SOUT[3]
24 VSS 56 DRIVER_SEL1[1]/DTX[2] 88 RTS[2] 120 RTS[3]
25 VDDCAUX 57 DRIVER_SEL1[2]/DTX[3] 89 DTR[2] 121 DTR[3]
26 RXP 58 DRIVER_SEL1[3]/DEQ[0] 90 SIN[2] 122 SIN[3]
27 VSS 59 DRIVER_SEL2[0] 91 CTS[2] 123 CTS[3]
28 RXN 60 DRIVER_SEL2[1] 92 DSR[2] 124 DSR[3]
29 RREF 61 DRIVER_SEL2[2] 93 RI[2] 125 RI[3]
30 VDDA 62 DRIVER_SEL2[3] 94 DCD[2] 126 DCD[3]
31 VSS 63 VDDR 95 VDDR 127 VDDC
32 VDDA 64 VSS 96 VSS 128 VDDC

引脚功能描述

  • UART 接口:包括 SOUT[3:0](UART 串行数据输出)、SIN[3:0](UART 串行数据输入)、DCD[3:0](调制解调器数据载波检测输入)、DTR[3:0](调制解调器数据终端就绪输出)、RTS[3:0](调制解调器请求发送输出)、CTS[3:0](调制解调器清除发送输入)、DSR[3:0](调制解调器数据集就绪输入)、RI[3:0](调制解调器振铃指示输入)、XTLO(晶体振荡器输出)和 XTLI(晶体振荡器输入或外部时钟引脚)等引脚,实现 UART 数据的收发和控制。
  • PCI Express 接口:TXP、TXN(PCI Express 串行输出信号)、RXP、RXN(PCI Express 串行输入信号)、CLKINP、CLKINN(参考输入时钟)和 RREF(参考电阻)等引脚,确保 PCI Express 接口的高速数据传输和稳定工作。
  • 系统接口:PEREST_L(系统复位输入)、GPIO[7:0](通用双向信号)和 WAKEUP_L(唤醒信号)等引脚,用于系统的复位、配置和唤醒功能。
  • 测试信号:JTG_TDI(测试数据输入)、JTG_TDO(测试数据输出)、JTG_TMS(测试模式选择)、JTG_TCK(测试时钟)、JTG_TRST_L(测试复位)和 SCAN_EN(扫描测试使能)等引脚,方便进行芯片的测试和调试。
  • EEPROM 接口:SR_CS(EEPROM 芯片选择)、SR_DO(EEPROM 数据输出)、SR_DI(EEPROM 数据输入)和 SR_CLK_O(EEPROM 时钟输出)等引脚,实现与 EEPROM 的通信和数据存储。
  • 电源引脚:VDDC(1.8 V 数字核心电源引脚)、VDDA(1.8 V 模拟核心电源引脚)、VDDR(3.3 V 数字 I/O 电源引脚)、VDDCAUX(1.8 V 辅助电源引脚)、VTT(1.8 V 终端电压)和 VSS(接地引脚)等引脚,为芯片提供稳定的电源供应。

四、功能描述

配置空间

PI7C9X7954 具有两组寄存器,分别用于 PCI Express 配置空间和 UART 配置空间,实现各种配置和状态监控功能。

  • PCI Express 配置空间:作为 PCI Express 端点,映射到配置空间作为单个逻辑设备。支持 PCI 兼容的配置空间,前 256 字节与 PCI 3.0 兼容,其余 4096 字节为 PCI Express 配置空间,可通过不同的访问方式进行操作。
  • UART 配置空间:通过 UART 寄存器,用户可以控制和监控 UART 的各种功能,如 FIFOs、中断状态、线路状态、调制解调器状态和采样时钟等。每个 UART 通道通过 8 字节的 I/O 块进行访问,地址由 PCI Express 配置空间中的基地址寄存器(BAR)确定。

设备操作

  • 配置访问:支持 PCI Express Base 1.1 规范中定义的类型 0 配置读写访问。
  • I/O 读写:PCI Express 接口对传入的事务数据包进行解码,若地址在 I/O 基地址寄存器分配的区域内,则识别为 I/O 读写操作。
  • 内存读写:与 I/O 读写类似,若事务数据包的地址在内存范围内,则进行内存读写操作。

模式选择

PI7C9X7954 支持 16C450、16C550、增强型 16C550 和增强型 950 UART 模式,通过特殊功能寄存器(SFR[5])和增强功能寄存器(EFR[4])进行选择。不同模式的 FIFO 深度和选择方式如下表所示: UART 模式 SFR[5] EFR[4] FIFO 大小
450/550 X 0 1/16
增强型 550 0 1 128
增强型 950 1 1 128

发送和接收 FIFOs

每个 UART 通道的发送和接收 FIFO 均为 128 字节,分别由发送保持寄存器(THR)和接收保持寄存器(RHR)组成。FIFOs 为数据提供存储空间,在数据传输或处理前进行缓冲。发送器从 THR 读取数据并转换为串行格式进行发送,接收器将接收到的数据写入 RHR。通过读取线路状态寄存器(LSR)中的标志位,可以确定 THR 和 RHR 的空满状态。此外,用户还可以使用接收 FIFO 数据计数器(RFDC)和发送 FIFO 数据计数器(TFDC)寄存器来确定每个 FIFO 中的数据项数量。

自动流控制

  • 带内流控制:通过特殊字符检测实现自动带内流控制,当检测到 XOFF 条件时,UART 发送器在当前字符传输完成后暂停数据传输;当检测到 XON 条件时,发送器恢复数据传输。带内流控制由增强功能寄存器(EFR)的相应位进行控制。
  • 带外流控制:利用 RTS# 和 CTS# 引脚实现带外流控制,当 CTS# 引脚被置位时,UART 发送器完成当前字符传输后进入空闲模式,直到 CTS# 引脚被复位;当本地接收 FIFO 达到或低于编程的阈值时,RTS# 引脚被置位或复位。带外流控制由 EFR 的相应位进行控制。

内部回环

通过将调制解调器控制寄存器(MCR)的第 4 位(MCR[4])设置为 1,可以启用 UART 的内部回环功能。启用该功能后,发送移位寄存器的输出数据将回环到接收移位寄存器的输入,方便用户进行系统诊断。

晶体振荡器

PI7C9X7954 可以使用晶体振荡器或外部时钟源为波特率发生器提供系统时钟。当使用晶体振荡器时,XTLI 为输入,XTLO 为输出,晶体应与两个电容器并联连接;当使用外部时钟源时,时钟信号应连接到 XTLI 引脚,并在 XTLO 引脚连接一个 2K 上拉电阻。

波特率生成

内置的波特率发生器(BRG)允许广泛的输入频率和灵活的波特率生成。用户可以通过设置采样时钟寄存器(SCR)、除数锁存低寄存器(DLL)、除数锁存高寄存器(DLH)和时钟预分频寄存器(CPRM 和 CPRN)来获得所需的波特率。波特率的计算公式为: [BaudRate =frac{ InputFrequency }{ Divisor Prescaler }] 其中,Divisor = DLL + (256 DLH),Prescaler = (k SampleClock) (M + N),SampleClock 的取值范围为 4 到 16,M 和 N 的取值范围分别为 01h 到 02h 和 0h 到 7h。为确保波特率发生器的正常运行,用户应避免将采样时钟、除数和预分频器的值设置为 0。

电源管理

PI7C9X7954 支持 D

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

全部0条评论

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

×
20
完善资料,
赚取积分