- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于PCI9054桥路器的数据传输的接口逻辑设计
2.3 PCI9054与EEPROM接口
PCI9054提供4个引脚EEDI,EED0,EESK,EECS与串行EEPROM-93LC56的4个引脚DI、D0、SK、CS相连,此外93LC56的VCC引脚需要接+3.3 V电源,GND接地。因为需要对串行EEPROM进行写操作,串行EEPROM需处于可编程而且非保护状态,所以PE通过10 kΩ的电阻上拉后接高电平3.3 V电压,而PRE通过10 kΩ的电阻下拉后接地。EEPROM原理图如图4所示。
连接好PCI9054与PCI总线接口、本地总线接口和串行EEPROM接口后,还需对寄存器进行配置,配置时需借助于Windriver工具,寄存器的配置包括PCI配置寄存器的配置、本地配置寄存器的配置及对EEPROM初始化。
配置PCI配置寄存器主要是填写生产商ID号、器件ID号、子系统生产商ID号和类码子系统ID号。对于PCI9054,其生厂商ID号,器件ID号,子系统号,子系统ID号等是固定的,可以在PCI9054数据手册中查到。
本地配置寄存器的配置是对本地地址空间及本地总线属性的配置,这种配置根据实际开发需要进行,配置完成后,在主机CPU要访问本地地址空间时,可能给出对应的PCI总线地址。
PCI9054在加电启动时,从外部EEPROM读取初始化数据来配置PCI9054的内部寄存器,在板卡加电自检期间,PCI总线的RST#信号复位,PCI9054内部寄存器的默认值作为回应。PCI9054出本地LRESET#信号并检测串行EEPROM。
如果串行EEPROM中的前33位不全为1,那么PCI9054确定串行EEPROM非空,用户可通过向PCI9054的寄存器CNTRL的29位写1,来加载EEPROM的内容到PCI9054的内部寄存器,配置的信息可以在P1xSdk的PLXMON下对EEPROM进行配置。
3 接口卡软件设计
3.1 CPLD逻辑设计
PC39054通过本地总线与本地总线设备进行通信,PCI9054提供2种访问方式,即单周期访问和突发方式访问。
其中单周期访问本地总线采用状态机实现本地总线接口的控制,其状态图如图5所示。状态SO为空闲状态,当ADS#为0时,如经本地总线译码逻辑译码后表明需要访问本地空间时则转到状态S1,否则留在状态SO;状态S1为单周期访问开始状态,当BLAST#为1时,停留在状态S1,否则转到状态S2:状态S2为访问等待状态,在此状态下数据在本地总线保持,然后直接转到状态S3;状态S3数据传送状态,在此状态下数据从本地总线上取走(如果需要可以加一个状态来延长数据读取时间);当ADS#为0时,经本地总线译码逻辑译码后,表明还需要访问本地空间,转到状态S1,否则转为SO,本周期访问结束完成数据传送。
将以上状态机用VHDL语言在可编程器件中实现,部分源程序代码如下:
……
来源:电子发烧友