基于可编程逻辑器件的数据传输接口研究与设计的论文.docVIP

基于可编程逻辑器件的数据传输接口研究与设计的论文.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于可编程逻辑器件的数据传输接口研究与设计的论文.doc

  基于可编程逻辑器件的数据传输接口研究与设计的论文 摘要:目前部分基于x86体系结构平台的测试仪器已经采用了pci板卡设备来控制整个测试电路的运行、采集测试数据,因此在pci板卡上的本地总线与数据传输电路之间需要设计接口电路。在分析pci9054接口控制器的基础上,研究和设计了一种实用的数据传输接口电路并在现场可编程门阵列器件内部得以实现。   关键词:pci总线;数据传输;fpga       1引言   近年来pci总线已经在高档测试仪器中得到越来越广泛的应用。由于pci总线协议非常复杂,不便于与测量控制逻辑直接连接,需要经过一个pci接口控制器作为桥梁。另外考虑到软件的处理速度和工作效率,测量电路高速采集的数据也不能立即传送给主机,因此在fpga内部设计了fifo缓冲器。设计方案如图1所示。当送入fifo的测量数据达到预定的数量时,本地中断逻辑通过pci总线接口控制器向主机提出中断请求,主机响应中断后,通过pci总线控制器从fifo中取走测量数据。   pci接口控制器的设计相对来说比较复杂。目前比较常用的方案有两种:第一种是用可编程逻辑器件设计实现,第二种方案是采用专用接口芯片。由于前者方案需要投入大量的人力、物力进行逻辑验证和时序分析工作,延长了开发周期,因此本文选择了专用接口芯片方案。具体型号是plx公司的pci9054芯片。使用这种专用芯片桥接pci总线和本地总线,开发者可以省去考虑很多复杂的pci总线规范,而集中精力开发硬件和驱动程序。   以下主要论述图1虚线框内的fpga设计与实现。.重点是与pci9054接口的本地总线控制逻辑和中断逻辑。      2数据采集接口逻辑的设计   2.1pci9054本地总线研究   对本地总线操作过程及控制信号时序关系的分析是应用pci9054芯片和设计本地总线控制器的基础性工作。pci9054本地总线的信号包括:lhold(输出)申请占用本地总线信号;lholda(输入)本地总线应答信号;ads#(输出)地址选通信号;blast#(输出)传输结束指示信号;lw/r(输出)读写状态信号(高电平表示写,低电平表示读);ready#(输入)外部等待信号;lclk(输出)本地时钟;lreset#(输出)本地复位信号;la[31:2](输出)本地地址总线;ld[31:0](输入/输出)本地数据总线。上述信号名后带有“#”的表示低电平有效,另外输入输出是针对pci9054芯片而言的。      当读数据时,本地总线上的各信号时序关系如图2所示,控制信号有效边沿的含义已标注于图中。图2所示的pci从方式读操作中,每次传输的数据有多个字,ads#信号变低表示数据传输周期的开始,之后每个时钟周期的上升沿将本地数据总线上的数据读入9054内部,在紧接着的时钟下降沿自动增加本地地址总线上的地址;数据传输状态将一直持续到blast#信号变低,表示当前数据期已经是传输的最后一个数据期,数据传输即将结束。这种传输方式称为突发传输。相对应的pci9054也支持单周期传输。在单周期传输时,每次只传输一个字,blast#信号在ads#信号有效后的下一个时钟周期就会出现。显然单周期方式的数据传输率较之突发传输方式会慢很多,由于fpga内的fifo数据传输率能够与pci9054的数据传输率相适应,本文采用突发传输方式以提高pci总线的传输效率。   2.2本地总线控制   根据前文可以明确出本地总线控制器的设计目标:根据输入的控制信号lhold、ads#、blast#生成符合本地总线时序要求的控制信号lholda、ready#和fifo的读请求信号rdreq。 对于lhold信号的应答问题,采用verilog语言中的always和assign语句就能简便高效的实现。对ready#信号的处理可以采用同步状态机,其状态图如图3所示:      2.3对于本地中断的分析和应用   当采集并存储在fifo中的数据达到一定数量,为了避免fifo溢出主机需要将测试数据从fifo中取走。从提高效率的角度出发,采用中断方式完成该工作。   在pci9054 的中断被使能的情况下,如果本地逻辑向pci9054芯片输出本地中断信号,pci9054芯片将生成pci中断信号。需要特别注意的是:pci9054芯片生成的pci中断信号是电平信号,而非脉冲信号,因此当该pci中断被pci主机响应后需要在中断服务程序的入口处手动禁止pci中断,否则会导致多次触发中断的异常情况出现。同时由于在中断服务程序出口处重新打开了pci中断,因此须在中断服务程序执行期间撤销本地中断源以避免中断服务程序一旦结束就将再次触发中断的异常情况出现。   基于以上分析,本地中断处理逻辑需要

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档