ADM5120P/PX网络处理器:功能特性与应用解析

电子说

1.4w人已加入

描述

ADM5120P/PX网络处理器:功能特性与应用解析

一、引言

在当今数字化时代,网络处理器在各种网络设备中扮演着至关重要的角色。ADM5120P/PX作为一款高性能、高度集成且灵活的系统级芯片(SOC),为小型办公室/家庭办公室(SOHO)和中小企业(SME)网关、NAT路由器、打印服务器和VPN网关等应用提供了强大的支持。本文将深入探讨ADM5120P/PX的产品特性、接口描述、系统架构以及各功能模块的详细信息,为电子工程师在设计相关网络设备时提供参考。

文件下载:ADM5120PX-AB-R-2.pdf

二、产品概述

2.1 总体概况

ADM5120P/PX是一款具备高性能处理能力的SOC,它将SOHO/SME网关、NAT路由器、打印服务器和VPN网关等多种功能集成于一体,能够通过有线计算机、娱乐设备、打印机和其他智能设备实现基于IP的宽带服务共享。该芯片采用环保的“绿色”封装,符合欧盟关于限制在电气和电子设备中使用某些有害物质的指令(Directive 2002/95/EC)。

2.2 芯片特性

2.2.1 ASIC特性

  • 处理器:采用MIPS 4Kc CPU,具备嵌入式8KB的指令缓存(I-cache)和8KB的数据缓存(D-cache),以及32项条目的TLB(转换后备缓冲器),组织为16对条目,运行频率可达175 MHz,性能可达227 MIPS。
  • 网络功能:拥有6个端口,支持IEEE 802.3快速以太网标准。其中5个端口为自动MDIX(自动交叉)双绞线局域网接口,内置10/100M PHY,还有1个MII接口。具备灵活的广域网(WAN)端口选择,内置交换引擎、数据缓冲区和地址查找表,支持MAC层安全、MAC克隆解决方案、MAC过滤和带宽控制等功能,同时提供两级优先级的服务质量(CoS)和共享动态数据缓冲区管理。
  • 内存接口:支持SDRAM,有两个存储体,每个存储体可支持1M x 32至32M x 32位(128M字节)的容量;支持NOR Flash启动,有一个存储体,支持1M x 8位至1M x 32位(4M字节)的容量。
  • 系统接口:具备UART接口、4个通用输入输出(GPIO)引脚、USB 1.1主机接口,时钟源包括用于10/100网络的25 MHz晶体和用于USB的48 MHz晶体,采用0.18 µ CMOS工艺,支持1.8 V/3.3 V双电源供电,采用PQFP封装。

2.2.2 软件特性

支持Linux/Nucleus实时操作系统,提供基于Linux和Nucleus的交钥匙支持,具备Telnet、IEEE 802.3以太网驱动、RS232控制台用户界面驱动、DHCP服务器/客户端、PPP over Ethernet(PPPoE)、网络地址转换(NAT)、DNS代理、简单网络时间协议(SNTP)、防火墙、基于Web的配置(WEB和HTTP)以及TFTP上传/下载等功能。

2.3 典型应用

ADM5120P/PX适用于多种网络设备,如IEEE 802.3 SOHO/SME网关、NAT路由器和通过USB 1.1接口的打印服务器等。

三、接口描述

3.1 引脚功能分类

ADM5120P/PX的引脚根据功能可分为网络媒体连接、网络时钟、LED、MII管理、内存总线、SDRAM控制信号、UART、JTAG、GPIO、USB、外部CS/INT/Wait、电源和接地、调节器接口以及其他杂项等类别。

3.2 引脚图与缩写说明

文档提供了P-FQFP-208-10封装的引脚图,同时对引脚类型和缓冲器类型的缩写进行了详细说明,如I表示标准输入引脚,O表示输出引脚,I/O表示双向输入输出信号等;Z表示高阻抗,PU1表示10 kΩ上拉等。

3.3 具体接口功能

  • 网络媒体连接:包括接收对和发送对的引脚,用于传输差分数据。
  • 网络时钟:提供25 MHz晶体输出和输入引脚,以及参考电压引脚。
  • LED:每个端口有3个LED,可通过寄存器编程设置不同的状态,如链路/活动、速度、双工/冲突等。
  • MII管理:包括时钟输入、发送数据、接收数据、发送使能、接收数据有效等引脚,用于MII端口的自动协商结果监测。
  • 内存总线:包括数据总线和地址总线,用于SDRAM、闪存和外部设备的数据传输。
  • SDRAM控制信号:包括时钟输出、输出使能、写使能、芯片选择等信号,用于控制SDRAM的操作。
  • UART:提供数据载波检测、数据设置就绪、清除发送、接收串行数据输入和发送串行数据输出等引脚,用于异步通信。
  • JTAG:包括测试时钟、测试模式选择、测试数据输出和测试数据输入等引脚,用于芯片的调试和测试。
  • GPIO:4个通用输入输出引脚,可用于自定义功能。
  • USB:提供数据-和数据+引脚,以及USB时钟输入引脚,支持USB 1.1协议。
  • 外部CS/INT/Wait:包括等待信号、外部中断输入和外部芯片选择等引脚,用于外部设备的控制。
  • 电源和接地:提供不同电压的电源引脚和接地引脚,确保芯片的正常供电。
  • 调节器接口:包括参考电压输入和FET控制输出引脚,用于调节器的控制。
  • 杂项:包括测试引脚、系统复位引脚和25MHz时钟输出引脚等。

四、系统架构

4.1 系统内存映射

ADM5120P/PX的系统内存分配包括SRAM_0、ext_IO_0和ext_IO_1等通用SRAM空间,SDRAM_0通用SDRAM空间,以及MPMC(多端口内存控制器)、USB 1.1主机控制器、交换部分和两个串行端口UART_0和UART_1等。不同的内存区域有不同的地址和数据宽度关系,可通过DQM(数据掩码)选择字节。

4.2 系统和中断寄存器描述

系统和中断寄存器包括中断控制寄存器,支持电平敏感中断,外部输入电平可编程为高电平或低电平有效。详细介绍了中断请求状态、原始状态、使能、使能清除、中断模式、快速中断请求状态、中断请求测试源、中断请求源选择和中断级别等寄存器的功能和位描述。

五、主要功能模块

5.1 主处理器

5.1.1 4Kc CPU核心特性

支持32位数据和地址路径,兼容MIPS32™指令集,包括MIPS II™指令、乘加和乘减指令、目标乘法指令、零和一检测指令、等待指令、条件移动指令和预取指令等。具备MIPS16e应用特定扩展,可提高代码密度。拥有8KB的指令缓存和4KB的数据缓存,采用4路组相联和2路组相联组织方式,支持写回和写分配、写通和无写分配等缓存策略,支持缓存行锁定和非阻塞预取。具备内存管理单元(MMU),包括16个双条目MIPS32风格的JTLB和4个条目指令微TLB、4个条目数据微TLB。核心总线接口单元(Core BIU)的所有I/O均为全寄存器,有独立的单向32位地址和数据总线,以及两个16字节的合并写缓冲区。乘法除法单元(MDU)支持每时钟周期执行一次32 x 16乘法,每两个时钟周期执行一次32 x 32乘法,除法操作采用每时钟1位的迭代算法,最少11个时钟周期,最多34个时钟周期。支持电源控制,无最小时钟频率,具备电源关闭模式和软件控制的时钟分频器。提供EJTAG调试支持,包括CPU控制、软件断点、硬件断点、测试访问端口(TAP)和可选的EJTAG跟踪硬件。

5.1.2 功能描述

主处理器子系统由启用MMU的MIPS 4KC核心和相关的缓存系统组成,总线包装块将MIPS 4Kc EC总线转换为系统总线。支持大端和小端模式,默认设置为小端模式,可通过ADDR[19]引脚切换。协处理器CP0负责虚拟到物理地址转换、缓存协议、异常控制系统、处理器诊断能力、操作模式选择和中断使能/禁用等功能。执行单元实现了加载/存储架构,具备单周期ALU操作,包括逻辑、移位、加法和减法等。乘法除法单元执行乘法和除法操作,提高了乘法密集型操作的吞吐量。内存管理单元将虚拟地址转换为物理地址,并提供内存保护机制。缓存系统包括8KB的指令缓存和8KB的数据缓存,可在单个处理器周期内访问,支持缓存锁定、非阻塞预取和写回/写分配等功能。EJTAG调试单元提供基本的调试功能,包括硬件断点和实时跟踪能力。

5.2 多端口内存控制器(MPMC)

5.2.1 特性列表

支持动态内存接口,包括SDRAM和JEDEC低功耗SDRAM;支持异步静态内存设备,包括SRAM、ROM和NOR Flash,具备异步页面模式;拥有读写缓冲区,可减少延迟并提高性能;支持8位、16位和32位宽的静态内存。

5.2.2 功能描述

  • 静态内存控制器:支持极长的传输时间,可通过扩展等待(EW)位启用长达16368个等待状态的传输。每个存储体的外部传输等待状态可通过相关寄存器编程配置,包括读和写访问的等待状态、输出使能和写使能延迟、总线周转延迟和异步页面模式读取等。
  • 动态内存控制器:支持SDRAM的多种命令,如ACT(打开SDRAM行)、REF(CAS在RAS之前的刷新)、SREF(自刷新)、PRE(预充电,关闭存储体)、RD(从打开的行读取)、WR(写入打开的行)、RDA(读取后预充电)、WRA(写入后预充电)等。提供通用SDRAM初始化示例,包括等待电源和时钟稳定、设置初始化值、执行刷新周期、编程操作值和模式寄存器等步骤。

5.2.3 寄存器描述

详细介绍了MPMC的各种寄存器,包括控制、状态、配置、动态控制、动态刷新、动态RP、动态RAS、动态SREX、动态APR、动态DAL、动态WR、动态RC、动态RFC、动态XSR、动态RRD、动态MRD、静态扩展等待、动态配置0和1、动态Ras Cas 0和1、静态配置1、2和3、静态等待Wen 1、2和3、静态等待Oen 1、2和3、静态等待Rd 1、2和3、静态等待Page 1、2和3、静态等待Wr 1、2和3、静态等待Turn 1、2和3等寄存器的功能和位描述。

5.3 以太网交换控制器

5.3.1 交换引擎

  • 哈希函数:提供嵌入式1K MAC地址查找表,通过直接映射或XOR函数计算哈希地址条目。
  • 学习过程:根据数据包的源地址和哈希函数进行地址学习,更新老化状态和端口号。
  • 路由:根据数据包的目的MAC地址与MAC地址查找表进行比较,决定数据包的转发方式,包括单播、广播和多播等。
  • 转发:采用存储转发方法,将数据包存储在缓冲区中,然后直接发送到指定端口或CPU。
  • 缓冲区管理:采用输出排队和动态共享内存管理架构,根据流量状态分配缓冲区资源,避免头端阻塞问题,提高传输性能。
  • 流量控制:根据全局空缓冲区计数和每个端口的等待传输计数决定流量控制的开关状态。
  • 全双工:遵循IEEE 802.3x标准,接收PAUSE帧时停止端口传输,缓冲区满时发送PAUSE帧。
  • 半双工:支持背压功能,当缓冲区空闲块低于阈值时发送阻塞数据包。
  • 数据包优先级和服务质量(CoS):可通过寄存器设置数据包的优先级,包括端口优先级、VLAN标签、TCP/IP TOS/DS和自定义类型等。
  • VLAN:支持七端口分组VLAN,每个VLAN视为隔离端口,可通过寄存器进行VLAN分组设置。
  • 地址表访问:提供对嵌入式MAC地址的读写访问功能。
  • 地址安全:支持源MAC地址安全功能,检查传入数据包的源MAC地址是否存在于MAC地址表中。
  • 带宽控制功能:提供RX/TX分离的带宽控制(流量整形)功能,可编程为64 kbit / 128 kbit / 256 kbit / 512 kbit / 1 Mbit / 4 Mbit / 10 Mbit。
  • MII端口:可编程设置AN监测开关、强制速度/双工/流量控制以及MII方向。

5.3.2 DMA功能描述

DMA功能提供数据包的发送和接收,每个路径有两个优先级队列,通过基地址寄存器定义起始地址。发送描述符用于CPU向交换机发送数据包,接收描述符用于交换机向CPU发送数据包,详细说明了描述符的位功能和控制信息。

5.3.3 交换控制寄存器映射

介绍了交换控制寄存器的地址空间、概述、访问类型和时钟域,详细描述了各个寄存器的功能和位描述,包括代码、软件复位、启动完成、交换复位、全局状态、PHY状态、端口状态、内存控制、交换配置、CPU配置、端口配置0、1和2、VLAN组I和II、发送触发、搜索命令、地址状态0和1、MAC写入地址0和1、带宽控制0和1、PHY控制0、1、2和3、交换机控制阈值、调整端口阈值、端口阈值、优先级控制、VLAN优先级、TOS使能、TOS映射0和1、自定义优先级1和2、PHY控制4、空控制、端口控制选择、端口控制器、中断状态、中断掩码、GPIO配置0和2、看门狗0和1、交换输入和输出、发送高基地址、发送低基地址、接收高基地址、接收低基地址、发送高工作地址、发送低工作地址、接收高工作地址、接收低工作地址、定时器中断、定时器等寄存器。

5.4 UART

5.4.1 特性列表

具备独立的16 x 8发送和16 x 12接收FIFO,可减少CPU中断;可编程波特率发生器;支持标准异步通信位(起始位、停止位和奇偶校验位);可完全编程的串行接口特性,包括数据位、奇偶校验位、停止位和波特率等;支持可编程硬件流量控制。

5.4.2 功能描述

UART实现了串行到并行和并行到串行的数据转换,通过AMBA APB接口进行数据和控制/状态信息的读写。发送和接收路径采用内部FIFO缓冲,可存储最多16字节的数据。具备可编程波特率发生器,根据UART内部参考时钟输入生成内部时钟。提供类似行业标准16C550 UART设备的功能,支持最高460.8 Kbits/s的波特率。UART操作由线路控制寄存器(UARTLCR_H)控制,波特率值由UARTLCR_M和UARTLCR_L寄存器控制。可生成可单独屏蔽的中断,支持调制解调器状态输入信号和输出控制线路,使用nUARTCTS输入和nUARTRTS输出自动控制串行数据流。

5.4.3 寄存器描述

介绍了UART的寄存器地址空间、概述、访问类型和时钟域,详细描述了各个寄存器的功能和位描述,包括UART数据、UART接收状态寄存器/错误清除、UART线路控制寄存器(高字节、中字节和低字节)、UART控制、UART标志、UART中断识别/清除等寄存器。

5.5 USB 1.1主机控制器

5.5.1 特性列表

具备32位高性能AMBA AHB总线接口,支持小端/大端字节序;采用32位Tx/Rx缓冲区管理架构;支持全速(12Mbps)和低速(1.5Mbps)设备;支持嵌入式DPLL,可从48 MHz晶体或振荡器运行;支持自动生成SOF和CRC5/16;支持USB控制、中断和批量数据包的DMA模式;支持描述符链架构,实现有效的数据包调度;支持两个设备端口。

5.5.2 功能描述

  • 系统总线接口:提供USB主机控制器与AHB总线接口的连接,包括AHB主接口和从接口,可通过AHB从接口编程操作寄存器,DMA单元通过AHB主接口访问系统内存。
  • 操作寄存器:作为USB 1.1主机控制器的CSR(配置和状态寄存器),用于配置和获取控制器的状态,包括DMA、端点、使能/禁用和中断控制等信息。
  • SIE:处理USB的链路层协议,包括识别USB SYNC字段、地址和端点字段、解码/编码NRZI、生成/检查位填充和CRC、转换串行和并行数据、检测/报告/生成USB总线事件等。
  • DPLL:数字锁相环,用于从USB总线提取时钟和数据。
  • 内存BIST:用于测试TFIFO和RF
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

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

×
20
完善资料,
赚取积分