需要确认注册邮箱后才能开通博客,立即确认我的邮箱
文章 搜索 高级搜索 ?3? ?3?
  • 滤波器new!
  • LED驱动 new!
  • 新能源 new!
  • PLL
  • PCIE协议
  • 可穿戴
  • LSI
  • FCI
文章 论坛 博客 小组 研讨会
EDN电子技术论坛>博客 >haibo2806博客 >Cy7c68013 的win7 驱动和SlaveFifo例程

haibo2806的博客——工程师随笔

博主:haibo2806???? ???? ????
介绍: 一名电子设计爱好者
文章(7)???? 访问(16695)???? 评论(22)???? 投票(14)???? 订阅本博??

博文列表查看方式: ???

Cy7c68013 的win7 驱动和SlaveFifo例程
发布时间:2012-12-07 00:47:40
技术类别:CPLD/FPGA
需要确认注册邮箱后才能下载,立即确认我的邮箱

之前用的是xp环境,用的红色飓风开发板,现在自己做的板子,改成了win7系统,可是原来的eZ-USB控制面板不能用了,搜了一下cypress的官方驱动,Cypress Suite USB 3.4.7,可以支持XP和win7系统。连上后,按照driver文件夹下面的CyUSB.pdf文件,修改Cypress Suite USB 3.4.7\Driver\bin\wlh\x64下面的cyusb.inf文件,用记事本打开,将里面VID_XXXX&PID_XXXX改成VID_04B4&PID_8613(在设备管理器中可以查看属性,看到这两个16进制数),注意别忘了把这几行前面的注释号“;”去掉,否则认为这一行被注释了哦。下面的文件是我的CY7C68013的inf文件。这样系统就可以识别到USB设备了。但是原来的例程SlaveFIFO不能用了,下载.hex文件之后,识别到SlaveFIFO设备,不能装驱动。

由于对这个USB芯片的固件不熟,研究固件编写短期内搞不定。于是在Cypress 官方网站上找到了例程AN63787,是关于8bit模式下的slavefifo例程,但是我的FPGA配置的是16位模式,明显看到例程中少了一半字节的数据。下面只能自己改例程了。

首先下载**版的keil uVision2,http://ishare.iask.sina.com.cn/f/12062296.html?from=like

更改C:\Cypress\Cypress Suite USB 3.4.7\Firmware\Bulkloop下面的keil工程,用原来红色飓风自带的固件源代码配置进行更改,将?bulkloop.c中TD_Init函数用红色飓风如下TD_Init函数替换,

void TD_Init( void )
{ // Called once at startup

??? //时钟设置
?//CPUCS = 0x02;? //12MHZ CLKOUT ENALBE??
??? //CPUCS = 0x0a;? //24MHZ CLKOUT ENALBE
??? CPUCS = 0x12;? //48MHZ CLKOUT ENALBE
?
?IFCONFIG =0x43;//使用外部时钟,IFCLK输入不反向
?
?SYNCDELAY;
?EP2CFG=0xA0; //需要设定为四缓冲,每个缓冲区大小为512字节
?SYNCDELAY;
?EP4CFG=0x00;
?SYNCDELAY;
?EP6CFG=0xE0;
?SYNCDELAY;
?EP8CFG=0x00;
?
?SYNCDELAY;
?FIFORESET = 0x80;???????????? // activate NAK-ALL to avoid race conditions
?SYNCDELAY;??????????????????? // see TRM section 15.14
?FIFORESET = 0x02;???????????? // reset, FIFO 2
?SYNCDELAY;??????????????????? //
?FIFORESET = 0x06;???????????? // reset, FIFO 6
?SYNCDELAY;??????????????????? //
?FIFORESET = 0x00;???????????? // deactivate NAK-ALL
?
?SYNCDELAY;
?PINFLAGSAB = 0xE6;????????? // FLAGA - fixed EP6PF, FLAGB - fixed EP6FF
?SYNCDELAY;
?PINFLAGSCD = 0xf8;????????? // FLAGC - fixed EP2EF, FLAGD - reserved
?SYNCDELAY;
?PORTACFG |=? 0x00;? //0x40;???????????? // SLCS, set alt. func. of PA7 pin
?SYNCDELAY;
?FIFOPINPOLAR = 0x00;????????? // all signals active low,
?SYNCDELAY;

? OEA|=0x0F;
??? //小于64字节有效
??? //EP6FIFOPFH=0x00; //DEIS PKSTAT? PK2 PK1 PK0 0 PFC9 PFC8
??? //EP6FIFOPFL=0x40; //PFC7 PFC6 PFC5 PFC4 PFC3 PFC2 PFC1 PFC0
?
?// handle the case where we were already in AUTO mode...
?EP2FIFOCFG = 0x01;??????????? // AUTOOUT=0, WORDWIDE=1
?SYNCDELAY;
?
?EP2FIFOCFG = 0x11;??????????? // AUTOOUT=1, WORDWIDE=1
?SYNCDELAY;
?
?
?EP6FIFOCFG = 0x09;??????????? // AUTOIN=1, ZEROLENIN=0, WORDWIDE=1
?SYNCDELAY;

?//IO设置
?PORTCCFG=0x00;
?PORTECFG=0x00;
?OEC=0x00;
?OEE=0xff;
?//串口初始化

//?PA3=0;
?PA0=1;

?enum_high_speed=FALSE;

}

?

编译生成.hex文件,用EZ-USB控制面板下载到USB芯片中,然后提示找到设备Bulkloop Device,自动安装驱动,点击get piples,

Pipe:? 0? Type: BLK Endpoint:? 2 OUT? MaxPktSize: 0x200
Pipe:? 1? Type: BLK Endpoint:? 4 OUT? MaxPktSize: 0x200
Pipe:? 2? Type: BLK Endpoint:? 6 IN?? MaxPktSize: 0x200
Pipe:? 3? Type: BLK Endpoint:? 8 IN?? MaxPktSize: 0x200

选择: BLK Endpoint:? 6 IN??,点击传输, 这是我用24bitAD芯片采集数据的结果,每采集两次,放入3个数据进FIFO,数据正确

?
?
16发送.jpg
?
但是现在传输速度测试的VC6.0程序还不能用,估计还是因为win7的某些不兼容吧,以后再试。
?
关于eeprom固件,我采用24LC64,A0脚拉高。采用如下命令将.hex文件转化为.iic文件:
Hex2bix -i -f 0xc2 -v 0x04B4 -p 0x8613 -o bulkloop.iic bulkloop.hex
然后在控制面板中点击Lg EEPROM,将生成的.iic文件下载进去,重新上电,USB加载成功
分享到:? 新浪微博 ?? 微信 ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
qq空间 ?? 腾讯微博 ?? 人人网 ?? 百度搜藏 ??
??????有[ 8 ]名读者喜欢此文
阅读(4267)?? 评论(8)?? 收藏??I?? 打印??I?? 推荐到小组??I?? 转发到我的博客 (0)
对不起,您还没有登录,请先登录注册
上一篇:24bitAD采集芯片AD7760的使用

下一篇:microblaze 使用lwip协议栈的一点体会

最近到访博主
小宇航 geekite
牛人有话说 - Cy7c68013 的win7 驱动和SlaveFifo例程
美国的游客 (您将以游客身份发表,请登录 | ?注册)
?
你还可以输入1000
验证码:
分享: 新浪微博?? qq空间?? qq微博?? 人人网?? 百度搜藏??
?
有 [ 6 ] 名读者发表评论 - Cy7c68013 的win7 驱动和SlaveFifo例程

塔吉克斯坦的游客
评论是对思考最好的总结…
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2016-06-21 17:12
我想问问,明明上面初始化不使用端点 4 和 8 下面get piples 还出现4和8呢?
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2014-12-26 01:47

吉林省长春市的游客
很好 谢谢楼主
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2014-09-01 10:37
cdtom2012 :
2013-01-24 14:00
你复制一下整个工程,别在原来的地方改
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2013-02-19 19:18
不错哦,学习了。楼主,那个 bulkloop.c中的代码是只读形式,修改不了,怎么解决呢?
(0) ???? (0) ???? 回复(1)
对不起,您还没有登录,请先登录注册
???? 2013-01-24 14:00
挺好的文章,很棒!
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2013-01-23 22:47
rezone :
2012-12-08 11:13
呵呵,我也不熟悉,拿现成的改的,自己能用就行了,加油!
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2012-12-08 15:41
呵呵,感觉驱动还是挺深奥的,小弟现在才开始研究固件编程呢,对USB的协议还不是很熟悉滴
(0) ???? (0) ???? 回复(1)
对不起,您还没有登录,请先登录注册
???? 2012-12-08 11:13
转发到我的博客
评论?@工程师随笔?的“Cy7c68013 的win7 驱动和SlaveFifo例程”
之前用的是xp环境,用的红色飓风开发板,现在自己做的板子,改成了win7系统,可是原来的eZ-USB控制面板不能用了,搜了一下cypress的官方驱动,CypressSuiteUSB3.4.7,可以支持XP和win7系统。连上后,按照driver文件夹下面的CyUSB.pdf文件,修改Cypress...
你还可以输入30000
同时评论给?haibo2806
????
快速回复
?
你还可以输入1000
????
引用回复
引用评论?
?
你还可以输入1000
????
博主资料

做的东西很杂

文章存档
最新评论
阅读排行
haibo2806的小组???? 加入小组
暂未加入小组,你可以立即
最新网络博文
返回博客首页
有问题请反馈