您现在的位置是:首页 > 数字电源 > 技术解析

基于PCI总线协议的FPGA驱动设计方案

时间:2019-07-29 来源: 关键字:计算机   FPGA   

目前,许多公司都提出了新型的计算机高速总线,如Arapahoe总线标准和HyperTransport技术,但各协议互不兼容,没有形成统一标准。作为传统的通用局部总线,PCI总线仍然占据着主流个人电脑市场,具有顽强的生命力。

现在市面上存在着各种PCI接口芯片,如AMCC公司的S5933,PLX的9080系列等。专用芯片可以实现完整的PCI主设备与从设备模式的接口功能,将复杂的PCI总线接口转化相对简单的用户接口,但系统结构受接口芯片的限制,不能灵活地设计目标系统,且成本较高。本文使用符合PCI电气特性的FPGA芯片进行简化的PCI接口逻辑设计,实现了33MHz、32位数据宽度的PCI从设备模块的接口功能,节约了系统的逻辑资源,且可以将其它用户逻辑集成在同一块芯片,降低了成本,增加了设计的灵活性。另外,还给出了Windows9x系统下的设备驱动程序,可以与应用程序接口,形成一个完整的系统。目前,本系统已经被印染企业应用在数据采集和处理等方面。

1 系统构成与功能描述

系统的总体框图如图1所示。

由图1可见,系统的硬件平台为一块PCI卡。此卡的结构十分简洁,主要由FPGA芯片、RAM芯片和输出接口三部分组成。其中,FPGA芯片集成了PCI接口模块和数据处理模块。PCI接口模块实现了33MHz工作时钟、32位总线宽度的接口功能,支持I/O空间、内存空间及配置空间的读写和PCI中断功能。由于简化的PCI接口占用的逻辑资源较少,可在同一块芯片中集成其他用户逻辑。作为一个应用实例,本文加入了一个数据处理模块,对PCI接口传送来的数据进行处理,通过片外的输出接口输出到下位机。RAM芯片为数据处理提供缓存功能。

 

 

2 从设备模式下的简化PCI协议的实现

为了实现PCI接口的基本功能,必须完成以下几个模块:

(1)PCI配置空间设置。PCI协议支持三种地址空间:I/O空间、内存空间和配置空间。配置空间提供了支持PCI设备自动配置的机制,是必需的。

(2)PCI从设备状态机。PCI总线状态机是具有PCI总线的计算机系统状态流,是由一个已知状态到另一个状态的条件、时序的描述。这是PCI接口设计中最基本也是最重要的部分。

(3)地址译码和命令译码。地址译码用来确定PCI设备是否应当响应当前总线的操作;命令译码则用来指示PCI设备根据不同的总线命令作出相应的动作。

本文采用ALTERA公司的Max+PlusII软件平台,硬件描述语言使用ALTERA HDL语言,也可以方便地转换民VHDL或VerilogHDL语言。在此之前,先引入PCI总线信号的定义。

2.1 总线信号定义

根据PCI总线协议2.2版,从设备模式下PCI接口至少包含47根引脚。图2给出了按功能划分的引脚分布,左边是必需引脚。右边是可选引脚。为简化起见,本文采用了如下引脚,其他引脚均不使能或置为高阻态。

(1)由系统提供的33MHz的同步时钟信号CLK和复位信号RST#(#表示低电平有效);

(2)关于数据传输的核心信号:32位地址/数据复用线AD[31:0]、总线命令/字节使能复用线C/BE[3:0]#和偶校验信号PAR;

(3)接口控制信号FRAME#、TRDY#、IRDY#、STOP#、DEVSEL#和IDSEL。其中,FRAME#为数据传输起止信号,TRDY#为主设备准备好信号,IRDY#为从设备准备好信号,STOP#为从设备停止请求信号,DEVSEL#为设备选择信号,IDSEL为配置空间读写时的片选信号;

(4)中断引脚INTA#。

为简化PCI协议,本文只实现了最重要的总线命令,表1给出了所支持的总线命令对应的C/BE[3:0]#编码值。

表1 支持的总线命令

C/BE[3:0]#命令类型说明

0010

0011

0110

0111

1010

1011I/O读

I/O写

存储器读

存储器写

配置空间读

配置空间写

2.2 配置空间设置

配置空间大小为256字节,前64字节必需,记录了PCI设备的基本住处,比较重要的有:

(1)VendorID、DeviceID和Class Code域:分别表示设备的生产厂商、设备编号和类型;

(2)Command和Status域:分别给出了对PCI设备的控制命令和当前状态;

(3)Base Adress Register域:指示此PCI设备按I/O方式还是内存方式进行读写以及需要的地址空间大小;

(4)Interrupt Line和Interrupt Pin域:分别指明了设备使用的断号和中断引脚。

在对配置空间的访问中,用AD[7:2]寻址一个双字DWORD。在本设计中,配置空间设置如表2所示。

2.3 简化的从设备状态机

在PCI协议中,标准的从设备状态机包含五种状态,而且各状态的跳转条件比较复杂。本文在不违反PCI协议的前提下,简化了从设备的状态机,如图3所示。

图3中,状态转移条件信号a、b、c定义如下:a代表配置空间访问条件,b代表I/O空间或内存空间访问条件,c代表总线传输开始条件。这三个条件的实现由后面的命令译码模块给出。

表2 配置空间设置(均为十六进制)

字 段值或含义字段值或含义

VendorID1172Class Code040000,即视频卡

DeviceID8901Base Adress Register映射到I/O空间

Command0082Interrupt Line中断号A

Status0400Interrupt Pin使用INTA中断引脚

IDLE是系统的缺省状态,表示总线当前空闲。通常,设备处在IDLE状态时,要检测来自PCI总线和后级设备的信号,便设备作出合适的响应。设备处于S_DATA状态时完成第一次数据传输,直接无条件跳到BACKOFF状态。设备在BACKOFF状态时进行多个数据传输,直到主设备断开访问。需要注意的是:任何对I/O空间、配置空间以及内存空间的突发传输的地址超过了设备映射地址的范围时,从设备要在此状态建立STOP信号,断开访问。当帧信号无效或主设备终止传输时,设备回到初始的IDLE状态。BUS_BUSY状态时总线忙,表示总线正在被其它设备使用。有两条转移路径,若总线仍然被占用,则停留在BUS_BUSY状态,否则返回空头状态IDLE。

换一批

延伸阅读

[资讯] 超级计算机协助科学家模拟新理论,或改写相对论

超级计算机协助科学家模拟新理论,或改写相对论

爱因斯坦广义相对论或许不是唯一能解释重力如何作用及星系形成等现象的理论。英国杜伦大学物理学家 Christian Arnold 和 Baojiu Li 等人透过超级计算机,进行一项庞大的宇宙仿真测试替代理论(alternative theo......

关键字:爱伊斯坦 超级计算机 AI

[资讯] 需求不振,笔记本厂商”标新立异“寻突破

需求不振,笔记本厂商”标新立异“寻突破

笔记本电脑厂商为寻找市场低迷突破口,大胆在笔记本电脑上采用智能手机设计,如无边框屏幕、双屏幕、折叠屏幕等革新设计。 ......

关键字:笔记本 计算机 折叠屏

[资讯] 低阶手机面板价格持续回涨

低阶手机面板价格持续回涨

6月份中小尺寸面板价格止跌反弹,市场研究机构IHS Markit指出,7月份低阶手机面板价格续涨,各尺寸供需状况不同,平均涨幅大约落在5%~10%。 平板计算机也进入出货旺季,今年10吋~12.3吋的大尺寸平板计算机成为主流,7月份价格也小......

关键字:面板 TDDI 平板计算机

[资讯] 美宣布掌握量子计算技术:亿倍速PC

美宣布掌握量子计算技术:亿倍速PC

在摩尔定律感知程度越来越低的今天,量子计算被认为是未来电脑的发展方向。......

关键字:量子 谷歌 计算机 人工智能

[资讯] MIPSfpga计划推出 院校CPU架构方式将改变

MIPSfpga计划推出  院校CPU架构方式将改变

近日, Imagination Technologies 宣布,将在其Imagination 大学计划(Imagination University Programme,IUP)中推出一项具有革命性的新项目——M......

关键字:MIPSfpga计划 MIPS CPU Imagination 大学计划
发表评论 共有条评论
用户名: 验证码:

怎样使用浪涌电流限制器NTC

怎样使用浪涌电流限制器NTC

各种开关电源(SMPS)——它们体积小、重量轻、性能高——通常被用作电子设备的电源。……

利用光传感电路来降低光电二极管带宽和噪声影响

利用光传感电路来降低光电二极管带宽和噪声影响

这种设计中,A 2的输入电容是跨阻抗系统 AC 传输函数中起作用的唯一电容。缓冲器输入电……

基站瞬断问题的解决方案

基站瞬断问题的解决方案

导致蓄电池组性能下降的原因主要是由于基站恶劣的运行环境,如经常发生的高温、过放电……

项目外包