首页 > 编程知识 正文

总线,cpci接插件

时间:2023-05-06 02:06:29 阅读:156374 作者:1225

CPCI总线是目前流行的高速嵌入式计算机总线,目前大多数嵌入式计算机系统的接口最终都通过CPCI总线与计算机存储器进行交互。 CPCI的总线规格保证了良好的兼容性和可靠性。

本文设计的系统采用PLX公司生产的CPCI协议转换芯片PCI9054,用Verilog HDL语言使FPGA产生相应的控制信号,完成数据的高速读写,实现与CPCI总线的高速数据通信。

1系统设计

系统主要由PCI9054和FPGA组成,系统结构图和信号连接如图1所示。 利用FPGA的可编程性,可以实现更多的扩展功能,例如与DSP、A/D等以不同的速率间接高速通信。 协议转换芯片PCI9054的作用是实现数据在本地数据采集板和主CPU板之间的高速准确传输。

2 PCI9054设定档

PCI9054是基于PLX公司生产的PCI V2.2总线标准的通用接口芯片。 支持两种传输方式:单字节方式和突发方式。 总线端支持32位/33 MHz的传输,本地端通过突发方式可以达到最大132 Mbits-1的传输速度,可以控制本地端总线宽度的变更。

PCI9054可以认为是CPCI总线和本地用户的本地总线之间的桥梁。 PCI9054有6个可编程FIFO内存用于数据缓存,保证了两者之间数据传输的准确性和实时性。 另外,在PCI9054中,可以将任意一端作为主机来控制总线,将另一端作为目标来响应总线。

PCI9054内部有多个寄存器组,用于控制其两端的动作状态和动作方式。 PCI9054对其内部所有寄存器组和FIFO进行统一的地址映射,用户可以从两端通过程序访问所有的FIFO和寄存器组的各个字节,查看两端的工作状态,改变两端的工作方法

3 PCI9054局部总线的接口设计

整个CPCI接口的设计思路是: FPGA通过桥芯片PCI9054连接到CPCI总线,其中使用异步双端口RAM进行高速数据的缓冲,使用VerilogHDL语言编程实现FPGA的异步双

PCI9054有三种物理总线接口: CPCI总线接口、本地总线接口和串行EPROM接口。 其中,嵌入式操作系统中的驱动软件包已经有了CPCI总线接口协议,而串口EEPROM的初始化是由PLX公司的PLXMON软件在嵌入式操作系统中进行在线烧屏,所以本系统的设计重点是LOCAL

PCI9054和本地总线之间的接口被称为本地总线,是CPCI总线系统设计的重要环节。 PCI9054 LOCAL BUS在系统设计中,将其总线直接连接到Alter公司的EP2S90F78014芯片的数据总线上,同时用Verilog HDL语言编程实现了双端口RAM控制器的功能

PCI9054 LOCAL BUS有m、j、c三种工作模式。 m模式是为Motorola公司开发和设计的,但其他两种工作模式被广泛使用。 其中j模式由于没有LocaL Master,地址总线和数据线没有分离,开发变得困难。 而在c模式下,PCI9054芯片可以通过芯片内逻辑控制将CPCI的本地地址和数据总线分开,有效降低开发难度,灵活地为本地工作时序提供多种工作方式,本系统的设计方案为local bar

4实现本地总线

PCI9054支持主模式、从模式、DMA传输方式,按照本系统设计的要求,采用从模式传输方式。 也就是说,CPCI总线上的主设备可以访问本地总线上的配置寄存器或存储器,以支持各种模式传输。 如图3所示。

FGA内部逻辑设计了本地端总线控制模块,实现了本地总线的状态控制,同时为了生成芯片内的读写定时和地址信号,支持突发传输和一周期传输,使用了Verilog HDL语言状态机其状态转移如图4所示。

5测试结果

使用SingnalTap收集的单周期时序传送图如图5所示。

六结束语

介绍了以PCI9054为核心,CPCI卡与嵌入式CPU卡之间高速数据通信系统接口的软硬件设计。 PCI9054凭借其灵活方便的接口功能,操作人员只需关注本地总线接口电路的定时设计,且利用其传输速率高的特性,帮助要求实时的系统解决数据传输问题

打开APP阅读更多精彩内容

点击阅读全文

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。