4.3 pci9054与eeprom接口

各种接口芯片都需要外接串行eeprom芯片来加载配置数据。对于串行eeprom芯片,需要根据接口芯片数据手册中给出的生产厂家及型号选择,这里选择 microchip technology公司的 93lc46b。pci9054提供4个管脚与串行eeprom相连接,它们分别是eedi,eedo,eesk, eecs,对应于93lc46b的di, d0, sk, cs这4个管脚,这4对管脚直接相连就可以。另外93lc46b的vcc管脚需要接+5v电源,gnd接地。因为需要对串行eeprom进行写操作,串行 eeprom应处于可编程而且非保护状态,所以pe接高电平而pre接低电平。93lc46的技术手册规定两个管脚上拉和下拉的电阻应为10k左右。

4.4 pci9054与local bus接口

硬件电路第三部分是pci 9054与local端连接。plx9054芯片local端用到的部分引脚信号描述如下。

lhold:申请使用本地总线,输出信号;lholda:对lhold应答,输入信号;ads:新的总线访问有效地址的开始,在总线访问 first clock设置时,输出信号: blast:表示为总线访问的last transfer,输出信号; lw/r:高电平表示读操作,低电平表示写操作,输出信号。la:地址线。ld:数据线。ready:表示总线上读数据有效或写数据完成,用以连接 plx9054等待状态产生器,输入信号。

4.5 寄存器配置

设计好接口电路后,硬件设计工作还只完成了一半。由于pci 9054是通用pci接口功能芯片,它的功能还不一定能够满足用户的需求,所以还要进行功能寄存器设置以使接口电路具有特定的功能。寄存器的配置包括 eeprom初始化、local功能寄存器和pci配置寄存器的配置。

(1) eeprom初始化

在计算机的加电自检期间,pci总线的rst#信号复位,plx9054内部寄存器的默认值作为回应。plx9054输出本地lreset#信号并检测串 行eeprom。如果串行eeprom中的前33个比特不全为1,那么plx9054确定串行eeprom非空,用户可通过向9054的寄存器cntrl 的29位写1来加载eeprom的内容到plx9054的内部寄存器;配置的信息(设备识别号、供应商代码号、local总线三个空间的大小以及三个空间的基址等)事先要利用编程器写入配置存储器中,也可以在p1xsdk中的plxmon下对eeprom进行配置。

(2) pci配置寄存器的配置

配置pci配置寄存器比较简单。主要是填写生产商id号、器件id号、类码子系统id号和子系统生产商id号。对于pci 9054,其生厂商id号为10b5,器件id号为9054,子系统号为9054,子系统id号为10b5,类码号为0680,表示其为桥设备中的其它桥 设备类。

(3) 本地配置寄存器的配置

对于本地配置寄存器的配置就是对本地地址空间及其本地总线属性的配置。这些配置要根据实际开发的硬件板卡的硬件资源进行配置。设备人员配置寄存器的任务就是要把某一段本地地址映射为pci地址,也就是当主机cpu要访问本地地址空间时,要知道其对应的pci总线地址。