当前位置:首页 > EDA > 电子设计自动化
[导读]近年来随着计算机技术的发展,PCI局部总线已逐步取代ISA总线成为家用电脑的标准总线。PCI总线具有总线主控能力,在33 MHz时钟的工作条件下,突发传输速率峰值可达132 MB·s-1;其次它拥有独立的配置空间,可实

近年来随着计算机技术的发展,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 用户总线信号定义

 


状态机是整个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.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭