网站大量收购闲置独家精品文档,联系QQ:2885784924

Nexys3usb使用.docVIP

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

你USB在microblaze中的使用 因为串口速率的限制,无法保障网关信号的实时性传输,所以必须使用usb与上位机进行通信。Nexys3开发板有bsp支持usb。所以直接使用该IP核即可。NCY7C68013A-56。 Nexys3_BSB_Support_v_2_7 一.Usb中的寄存器 1.寄存器地址 地址 寄存器 说明 0 EPP_DATA_REG EPP数据寄存器 1 EPP_ADDRESS_REG EPP地址寄存器 2 EPP_STATUS_REG EPP状态寄存器 3 EPP_CONTROL_REG EPP模式控制寄存器 4 DSTM_DOUT_REG 发送至pc机 5 DSTM_DIN_REG 读取pc机发送过来的数据 6 DSTM_STATUS_REG Dstm模式状态寄存器 7 FIFO_TO_PROC_STATUS_REG 接收fifo状态寄存器 8 FIFO_FROM_PROC_STATUS_REG 发送fifo状态寄存器 9 DSTM_CONTROL_REG 控制寄存器 注:Digilent_Usb_Epp_EPPRST_pin:DSTM-低电平;EPP-高电平;通过上位机程序控制,当使能dstm模式时,管脚为低电平;否则为高电平 2.DSTM_CONTROL_REG 控制寄存器 Set_Pktend_DSTM 强制结束 1 Reset_DSTM 复位 3.DSTM_STATUS_REG DSTM模式状态寄存器 0 Proc_Read_Expected_DSTM Dstm正在接收pc数据 1 Proc_Write_Expected_DSTM Dstm正在向pc发送数据 2 Done_Read_Transaction_DSTM Dstm接收pc数据完成 3 Done_Write_Transaction_DSTM Dstm向pc发送数据完成 4 Done_Transfer_DSTM Dstm传输完成 注:该寄存器的值只有在中断的时候读取,因为当pc发送或读取数据完毕后,DSTM状态机将复位,从而使得这些标志位清空。 4.FIFO_TO_PROC_STATUS_REG DSTM模式接收fifo状态寄存器 10~0 fifo_to_proc_count Fifo中有效数据字节数 28 fifo_to_proc_aempty Fifo中仅有一字节数据 29 fifo_to_proc_empty Fifo为空 30 fifo_to_proc_afull Fifo中仅剩一字节空位 31 fifo_to_proc_full Fifo满 5.FIFO_FROM_PROC_STATUS_REG DSTM模式发送fifo状态寄存器 10~0 fifo_from_proc_count Fifo中有效数据字节数 28 fifo_from_proc_aempty Fifo中仅有一字节数据 29 fifo_ from _proc_empty Fifo为空 30 fifo_ from _proc_afull Fifo中仅剩一字节空位 31 fifo_ from _proc_full Fifo满 6.DSTM_DOUT_REG DSTM模式下,向发送fifo写入数据。 7.DSTM_DIN_REG DSTM模式下,读取接收fifo中的数据。 8.中断 中断为高电平有效。当进入接收或发送状态时,产生中断。接收或发送完毕后,中断源重新变为低电平。 二.源码修改 usb是主从模式,数据传输都是由主设备控制的。本文使用的是Nexys3_BSB_Support_v_2_7中的d_usb_epp_dstm_axi_v1_00_a核,经测试发现该模块有点小bug:其一,复位信号设置有误;其二,fifo存取代码有误,其三,AXI总线读取接收fifo时序有误。 1.复位信号更改 打开dstm.v文件,复位信号(高电平有效)如下: EPPRST是接CY7C68013A-56的PA0端口,当主设备(pc机)启动dstm模式时,只有正在发送与读取数据EPPRST才为低电平;而且STMEN在dstm模式下,同样也是仅有正在发送与读取数据才为高电平。而fifo中的复位信号使用的也是Reset_Int,所以每次上位机传输结束后,不管fpga有没有读取数据,接收fifo 都将复位,从而丢失数据。同理,当上位机没有读取数据的操作时,发送fifo一直处于复位状态,无法往发送fifo中写入数据。 解决方案:另外添加一个复位信号,作为fifo的复位信号。 2.Fifo存取代码修改 Fifo大小为MEMSIZE字节,fifo粒度为byte,通过循环队列实现。w

文档评论(0)

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

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

1亿VIP精品文档

相关文档