QUICC Engine Block是一个集成了多种外围设备控制器通信协议的多功能通信综合模块。它提供了片上的系统设计方案,这种方案可以方便芯片能够集成各种应用,特别是在通信和网络系统中。
QUICC Engine Block 包含以下五种通信外设:五个Unified Communication Controllers(UCCs),一个UTOPIA L2 Controller (UPC),两个Serial Peripheral Controllers(SPI1和SPI2),一个Universal Serial Bus Controller(USB 1.1/2.0),时间槽分配器和Serial Interface (SI)。
QUICC Engine Block包含了一个单独的RISC引擎,它控制着五个UCCs。同时有一个通用的多用户RAM用来存储RISC引擎的参数信息。RISC引擎还有一个相关联的ROM,ROM里面包含了代码镜像。还有一个指令RAM被用来从RAM中运行RISC代码。见图 11 QUICC结构图。
图 11 QUICC结构图
系统CPU提供接口,QUICC Engine Block和CPU控制器内核可以用以下几种方式通信:通过多用户RAM来传递参数;QUICC Engine Block执行CPU指定的特殊命令(只能在特殊情况下执行,比如异常和错误恢复);QUICC Engine Block通过SI(System Interface)中断控制器产生中断信号;CPU可以在任何时候读取或者清除QUICC Engine Block的状态或者事件寄存器。
QUICC Engine通信接口:8位级别2的UTOPIA(MPC8323E特有);3个MII或RMII;4个TDMs,每个包含数据,时钟,同步和选通。其中一些接口是复用的并且不能同时使用。
QUICC Engine Block的UCC实现了一个广范围的协议和接口。UCC硬件和RISC固件的联合提供了一个高效的平台,在七层OSI模型的不同层次上实现各种各样的协议。它们可以提供诸如终止、桥接、切换、路由和具有广泛的标准广域网和局域网和专有网络接口的交互功能。QUICC Engine Block可以根据目标应用的不同,把UCC运行在不同的协议模式下,实现不同协议的同时运行。UCC支持的协议有:Ethernet, UART, BISYNC, HDLC, Transparent, ATM, Serial ATM和QMC。UCC支持的接口有:RS-232, MII/RMII和UTOPIA L2。每个UCC都可以被连接到HDLC中的TSA, Transparent, QMC或者Serial ATM。UCC结构见图 21 UCC方块图。
图 21 UCC方块图
由于不是所有的UCCs都可以配置成所有支持的协议类型,五个UCCs所支持的协议类型见图 22 UCC协议能力。
图 22 UCC协议能力
UCC Ethernet Controller(UEC)是一个快速以太网控制器。支持MII和RMII这两种MCA-PHY接口标准。物理层通信速率可以达到10/100Mbps,支持半双工反压力,全双工暂停帧的流量控制,完全碰撞支持,帧检测校验,帧自动补齐长度到64字节,帧错误检测,发送网络管理和诊断,接收网络管理和诊断,帧过滤,地址识别,可编程的解析命令描述符,可编程的帧最大长度,硬件计数统计,支持VLAN,支持接收中断合并,无损流量控制,低功率系统的魔法包检测等等功能。UEC控制块的通信流程见图 31 UEC 方块图。
图 31 UEC 方块图
UCC Ethernet Controller设备可以通过一组MAC寄存器和参数RAMs来编程控制。所有对32位寄存器的访问必须是通过32位访问,对于非32位访问是不支持的。
UEC控制器的编程需要以下三个步骤:
第一、各种MAC寄存器的初始化。
第二、缓冲区描述符初始化。
第三、参数RAM的初始化。
UEC的接收器和发送器各自有独立的参数RAM。每个参数RAM又被分为两种:全局参数RAM和线程参数RAM。
本文出自 “12823848” 博客,请务必保留此出处http://12833848.blog.51cto.com/12823848/1933849
原文:http://12833848.blog.51cto.com/12823848/1933849