ARM922T核ZCP320A处理器PCI总线操作
摘要:本文简要说明了zcp320a处理器内部集成的pci总线接口、编程模式及工作模式,并介绍了作为主设备时如何访问外部扩展的rtl8139pci网卡设备。为以后的设计者提供借鉴及应用基础。关键词:arm922tzcp320apci总线rtl8139
zcp320a采用了arm公司的arm922t核,arm922t是arm9tdmi通用处理器家族中的一员采用哈佛结构内部使用5级流水线支持32位的arm指令系统和16位的thumb指令系统包括两个相互独立的8kb的数据和指令高速缓存,高速缓存行的长度是8个字。arm922t实现增强型arm结构v4mmu以提供对指令和数据地址的转换和访问许可检测。arm922t支持arm调试结构协处理器以及trackingice。
zcp320a内部使用三条ahb总线连接实现功能所需的主从设备。每条ahb总线连接一个主设备和多个从设备。根据总线连接的主设备的不同,三条总线分别被命名为corebus(arm9核作为该总线的主设备)、pbus(pci桥作为该总线的主设备)和dbus(dma控制器作为该总线的主设备)。这三条总线由总线管理模块统一进行管理。
zcp320a集成的pci总线接口是一个符合pci协议2.2的总线接口。由于zcp320a的内部总线是符合ambaahb协议的总线,所以在zcp320a中设计了一个ahb-pci的桥来实现ambaahb协议到pci协议的转换。pci总线通过ahb-pci桥连接到内部ahb总线。
1pci总线接口概述
在zcp320a中设计了一个ahb-pci的桥来实现ambaahb协议到pci协议的转换。pci总线通过ahb-pci桥连接到内部ahb总线。如图1所示。
(范文先生网收集整理)
ahb-pci桥是实现ahb总线和pci总线的协议转换,实现ahb总线和pci总线之间数据交换的一个设备,ahb-pci桥是32位的,即ahb总线和pci总线都是32位的地址/数据总线。在cpu内部桥和两条内部总线相连接,corebus和pbus。这两条内部总线都符合ambaahb总线协议。在corebus上,armcore作为该总线的唯一主设备,桥则作为该总线的一个从设备。在pbus上,桥作为该总线的唯一主设备,pci缓冲及存储器则作为其从设备。在cpu外部,桥则和pci总线相连接。通过corebus,armcore访问桥及穿过桥访问外部的pci设备。外部的pci设备则通过pci总线访问该桥并穿过桥到pbus上访问cpu的内部存储器等资源。桥为pci总线和内部armcore及内部存储器的通信提供了数据缓冲。armcore写数据缓冲由两个fifo组成,每个fifo可容纳32字节的数据和4字节的地址。armcore读数据缓冲由一个fifo组成,该fifo可容纳32字节的数据和4字节的地址。在另一侧pci写数据缓冲由两个fifo组成,每个fifo可容纳32字节的数据和4字节的地址。pci读数据缓冲由一个fifo组成,此fifo也可容纳32字节的数据和4字节的地址。当有大量数据需要进行传输的时候,桥上提供了dma控制器供使用,可以大大提高数据通信效率。该dma控制器具有一个32字节的接收fifo和一个32字节的发送fifo。因此dma在传输数据的时候可以实现乒乓效应,也就是说在接收的同时发送数据。
(未完,全文共5751字,当前显示1412字)
(请认真阅读下面的提示信息)