当前位置:主页 > 汽车安全防撞 >

采用CPLD技术实现PCI从设备接口的设计

发布时间:20-03-21 阅读:839

近年来跟着谋略机技巧的成长,PCI局部总线已慢慢取代ISA总线成为家用电脑的标准总线。PCI总线具有总线主控能力,在33 MHz时钟的事情前提下,突发传输速度峰值可达132 MB·s-1;其次它拥有自力的设置设置设备摆设摆设空间,可实现即插即用。这些优点使得PCI总线在数据采集、嵌入式系统和测控等领域获得广泛利用。

实现PCI总线协议今朝主要有专用接口芯片CPLD实现两种要领。专用接口芯片应用简单方便、事情稳定靠得住,但每每详细利用中只用到部分功能,并且必要可编程逻辑共同应用,这样不仅挥霍专用芯片的资本,而且也增添了电路板面积。采纳Complex Programmable Logic Device(CPLD)实现凸起的优点就在于其机动的可编程性,这使得硬件电路的进级只需改进软件就可实现,大年夜大年夜前进了硬件平台的通用性;此外CPLD内部有富厚的逻辑资本,可将用户节制逻辑和PCI接口逻辑在同一块芯片中实现,这样不仅充分使用了逻辑资本,还能使系统设计显得加倍紧凑。

文中主要先容了采纳CPLD实现32 bit 33 MHzPCI从设备接口的设计措施,该从设备接口模块服从PCI规范2.2版,实现了资本的自动设置设置设备摆设摆设,支持突发传输,并为用户供给了一个简单的接口。设计完成后设置设置设备摆设摆设到一块PCI开拓板上的CPLD中,系统事情稳定、靠得住,验证了该设计措施的工程可行性。

1、 PCI总线协议简介

一个PCI系统中,假如某设备取得了总线节制权,就称其为主设备;而被主设备选中以进行通信的设备称为从设备或目标设备。PCI接口旌旗灯号线共有100根,分为系统旌旗灯号、仲裁旌旗灯号、接口节制旌旗灯号、地址/数据线、差错申报旌旗灯号、中断旌旗灯号等类型,此中作为从设备至少必要47条旌旗灯号线。表1中列出了从设备接口设计必需的接口旌旗灯号及阐明。

一个完备的PCI总线买卖营业历程如下:要提议数据买卖营业的设备先置REQ#,在获得仲裁器的许可(GNT#)后,经由过程拉低FRAME#启动一个传输买卖营业(TRA NSACTION),并同时在AD[31:0]总线上放置地址,在CBE[3:0]总线上放置敕令。PCI总线上所有的设备都对此地址译码,当选中的从设备要置DEVSEL#有效以声明自己当选中,同时对敕令译码确定造访类型。在接下来的数据期中,IRDY#和TRDY#分腕表示主、从设备筹备好。两者同时有效,则在时钟上升沿传输数据;主从双方可以分手经由过程使IRDY#或TRDY#无效,在数据期中插入等待周期。数据传输停止前,主设备经由过程撤销FRAME#并建立IRDY#标明只剩着末一组数据要传输,并在数据传输完后摊开IRDY#以开释总线节制权。从设备也可以经由过程有效STOP#旌旗灯号来哀求终止传输,从设备断开连接有RETRY、DISCONNECT和ABORT3种环境,RETRY是因为数据传输的肇端字节跨越16个PCI时钟周期引起的;DISCONNECT是因为在数据传输的非肇端字节,从设备在8个时钟周期里不能对主设备做出反映引起的;ABORT是因为目标设备发明严重差错或者不能完成数据哀求,而使STOP#和DEVSEL#都无效来终止当提高程。传输终止后总线进入余暇状态,等待下个PCI总线买卖营业开始。

表1 PCI从设备接口旌旗灯号线

表1中,#表示旌旗灯号低电平有效,否则为高电平有效。IN表示标准的输入旌旗灯号,OUT表示标准的输出驱动旌旗灯号,T/S表示双向的三态输入/输出旌旗灯号,S/T/S表示持续且低电平有效的三态旌旗灯号,O/D表示漏极开路旌旗灯号。

2、 PCI从设备接口的CPLD实现

设计的32 bit 33 MHz PCI从设备接口的内部布局框图如图1所示,由布局图可以看出它主要由状态机、设置设置设备摆设摆设空间、译码模块、数据通道、奇偶校验和重试模块组成。PCI从设备接口实现的功能是将一个不相符PCI总线协议的设备桥接到PCI总线上,为谋略机PCI总线和用户利用之间传输数据供给一个数据通道。该从设备接口为用户供给了一个简单的总线接口,分外得当PCI总线与32位SRAM或FIFO等高速存储设备的桥接。

图1 PCI从设备接口的内部布局框图

表2 用户总线旌旗灯号定义

2.1 状态机

状态机是全部PCI从设备接口设计的节制核心,它节制着PCI总线买卖营业时序和节制旌旗灯号的孕育发生,文中结合PCI规范的要求,应用Verilog HDL说话、采纳One-hot编码要领设计了全同步状态机,状态机由表3所列的8个状态组成,状态机状态转移图如图2所示。

图2 PCI从设备状态机

表3 状态机的状态名、状态变量和状态阐明

PCI目标状态机状态转移有以下几种情形:

(1)Idle→B_busy→Idle,地址译码设备未当选中,则处于B_busy总线忙状态等待总线买卖营业停止,直到FRAME#掉效当前总线买卖营业停止才返回Idle.

(2)Idle→B_busy→Wait→Backoff→Turn_ar→Idle,设备未能在16个时钟周期内筹备好第一个传输数据,超时重试(RETRY)断开连接,总线停顿在Backoff等待总线取缔FRAME#,然后总线开释返回余暇态。

(3)Idle→B_busy→Wait→(R_wait)→L_data→(Backoff)→Turn_ar→Idle,从设备同时有效Ready和term旌旗灯号,注解从设备不支持突发传输或者没有更多的数据存储空间进行突发传输,只能进行着末一个数据买卖营业。假如是读买卖营业,则插入读等待状态R_wait.

若造访为突发造访,当惟一的数据期完成今后,总线停顿在Backoff状态等待主设备无效FRAME#,然后买卖营业停止。

(4)Idle→B_busy→Wait→(R_wait)→Data→(L_data)→(Backoff)→Turn_ar→Idle,突发数据买卖营业,读买卖营业则插入读等待状态R_wait.若从设备提出终止,则插入L_data和Backoff状态与主设备断开连接;若是主设备提出终止则正常的停止总线买卖营业。

在设计中,设置设置设备摆设摆设造访不支持突发传输,总线时序和情形(3)同等;而内存造访支持突发传输,情形(3)和(4)的时序均会呈现。用户利用可以经由过程Ready和Term旌旗灯号不合的输入组合来节制状态机的状态转移,如表4所示。然则在本设计中的顺序要么是先等待,然后正常数据买卖营业、正常停止或者提出断开连接;要么是先等待,然后重试直接断开连接,只有这两种顺序,用户利用不能在正常数据买卖营业期中再插入等待状态,这是不容许的。

表4 Ready和Term输入组合阐明

2.2 设置设置设备摆设摆设空间

设置设置设备摆设摆设空间是容量为256 Byte并具有特定记录布局或模型的地址空间,包括头标区和设备有关区,前64 Byte是头标区,用来独一的识别设备,并使设备能以一样平常的措施节制,是PCI设备必须实现的。

本模块实现了头标区所有的字段,可读可写字段中可写的位由触发器来实现,其它位和只读字段整个硬件连线接地或者接高。经由过程设置设置设备摆设摆设空间寄存器,设置设置设备摆设摆设软件可以确定设备的存在、功能以及资本哀求。设置设置设备摆设摆设空间主要字段的设置及含义阐明如表5所示。

表5 PCI设置设置设备摆设摆设空间字段值及阐明

2.3 译码

译码模块包括敕令译码、地址译码。在总线买卖营业的地址期,译码模块经由过程将AD旌旗灯号线地址期的值与设置设置设备摆设摆设空间基址寄存器值相对照,确定造访是否落在本设备的地址空间范围内;或确定是否当选作设置设置设备摆设摆设造访的目标设备。同时对地址期C/BE旌旗灯号线的值进行敕令译码,确定总线造访的类型,本模块支持设置设置设备摆设摆设读、写和内存读、写4种PCI总线造访要领。若译码后设备当选中,则发送HIT旌旗灯号看护状态机做进一步处置惩罚。

表6 支持的PCI总线敕令

2.4 数据通道

在总线买卖营业的地址期,数据通道存AD总线上的地址旌旗灯号,并在IRDY#和TRDY#同时有效的时钟上升沿,将地址自动增添一个双字地址并供给给用户接口。

在数据期,写买卖营业时将AD总线上的数据写入设置设置设备摆设摆设空间或者用户设备,在读买卖营业时数据通道认真将要读出的设置设置设备摆设摆设数据或用户设备数据锁存送到AD总线上,并孕育发生偶校验值送给奇偶校验模块。数据通道为PCI造访设置设置设备摆设摆设空间和用户设备供给了一个地址和数据接口。

2.5 奇偶校验

奇偶校验主要用来确定主设备是否成功的寻址到它盼望的目标设备,以及数据传输的精确与否,在总线买卖营业中,任何设备驱动数据总线输出数据,就必须在响应的地址或者数据的下一个时钟周期驱动PAR线。设计中省去了奇偶校验值的查验电路,只实现了必须的偶校验值孕育发生电路,谋略出要输出数据和CBE的偶校验值后,在数据期的下一个总线时钟周期送给主设备查验。

2.6 重试模块

从设备接口假如许诺了一个数据买卖营业,则必须在16个时钟周期内筹备好发送和吸收数据,否则超时重试。假如用户设备当选作买卖营业的从设备,但没有筹备好,无法开始肇端字节的数据买卖营业,则状态机不停处于等待状态,假如在规定的光阴内用户设备仍没有有效Ready旌旗灯号,该模块看护状态机超时重试,然后断开连接。

2.7 其他逻辑

该部分主要包括一个总线选择器和一个三态总线驱动器。总线选择器根据总线造访的类型,选通设置设置设备摆设摆设空间读数据或用户设备数据送至数据通道;三态总线驱动器对输出到用户设备的数据进行三态驱动。

3 、时序仿真

文中采纳Verilog HDL说话设计实现了上述模块,在Altera公司MAX+plusIl10.0软件情况下,选用FLEX10K20RC208-3器件进行综合编译,占用341个逻辑单元,最高事情频率36 MHz,满意PCI总线的时序要求。图3是内存突发读造访的时序仿真波形,突发传输4个数据,在每个数据传输的下个时钟周期输出奇偶校验值,着末用户设备提出终止传输哀求,着末一个数据传输完成后买卖营业停止。图4是内存突发写造访的时序仿真波形,突发传输4个数据后,主设备插入等待周期,同时用户设备也有效Ready和Term哀求终止传输,在第5个数据也是着末一个数据传输完成后,总线买卖营业停止。这两个时序图属于传输着末一个数据并断开连接情形的两种不合环境。仿真波形的阐发注解,从设备接口模块相符PCI规范的要求。

图3 内存突发读造访的时序仿真波形

图4 内存突发写造访的时序仿真波形

4 、停止语

将一个FIFO模块连接到PCI从设备接口的用户总线组成测试平台,由FIFO的状态和节制旌旗灯号供给同步的Ready和Term旌旗灯号。这个测试平台在MAX+plusII下编译,并下载到PCI开拓板上一片EPF10K20RC208-3芯片中,安装驱动法度榜样后,PCI开拓板精确识别、事情稳定、读、写数据准确无误;多组数据传输测试,测得数据突发传输率约可达到20 MB·s-1.

责任编辑:gt



上一篇:IPX3/4摆管式淋雨试验箱的介绍
下一篇:没有了