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
-
uart
+关注
关注
22文章
1324浏览量
107119 -
PCI Express
+关注
关注
0文章
26浏览量
11510
发布评论请先 登录
Gen2 PCIe® 4 - Port/4 - Lane SlimLineTM Packet Switch(PI7C9X2G404SL)产品介绍
PI7C9X2G304EV:PCI Express Gen 2 数据包交换机的深度解析
PI7C8152A与PI7C8152B 2端口PCI - PCI桥接器:设计利器
PI7C9X442SL:PCI Express 到 USB 2.0 转换桥的技术剖析
深入剖析PI7C9X2G304EL:PCI Express Gen 2 Packet Switch的卓越之选
PI7C9X130:PCI Express与PCI - X的高效桥梁
深入解析PI7C9X113SL:PCIe到PCI/PCI - X的桥梁专家
探索PI7C9X2G312GP:高性能PCIe 2 3 - 端口/12 - 通道数据包交换机
PI7C9X110:PCI Express到PCI可逆桥接器的技术剖析与应用指南
AFE7954:高性能四通道射频采样DAC的卓越之选
ISOW644x:高性能四通道数字隔离器的技术剖析与应用指南
探索DS160PR410:四通道PCI - Express第4代线性转接驱动器的卓越性能与应用
SN75LVPE3410:四通道PCI - Express 3.0线性转接驱动器的深度剖析
AFE7954 四通道射频采样 12 GSPS 数模转换器(DAC)技术总结
AFE7954四通道射频采样DAC技术解析与应用指南
PI7C9X7954:PCI Express 四通道 UART 的详细剖析
评论