大鱼际疼是什么原因| 长期吃泡面有什么危害| 1987属什么生肖| 十二月十四日是什么星座| 猫能吃什么| 潮汕立冬吃什么| 硬不起来吃什么药| plt医学上是什么意思| fps是什么意思| 一直想大便是什么原因| 梦到迁坟是什么意思| 病是什么结构| 尿频尿多吃什么药好| 什么是pv| 平均分是什么意思| 身上没长什么就是干痒| 处女座和什么座最配| 什么是龋齿| 怀孕初期应该注意什么| 计数单位是什么意思| 户籍信息是什么| 宝宝反复发烧是什么原因引起的| 1997年属牛是什么命| 1551是什么意思| 造影有什么危害| 一见如什么| 97年出生属什么| moschino是什么品牌| 开车穿什么鞋最好| 蚊虫叮咬红肿用什么药快速消肿| 胰腺癌有什么症状| 舌头臭是什么原因| 什么是疝气| 什么是m| 什么叫占位病变| 没有什么会永垂不朽| 石斛主治什么| 什么是动物奶油| 一般什么人容易得甲亢| cho是什么意思| balmain什么档次| 后羿射日告诉我们什么道理| 什么叫寓言故事| 十点多是什么时辰| dsa是什么检查| 梦见自己准备结婚是什么意思| 庚日是什么意思啊| 荔枝有什么好处| 希特勒为什么自杀| 化缘是什么意思| 甲状腺是什么意思| 缺维生素a吃什么食物| 少将相当于什么级别| 喜欢蹲着是什么原因| 卵巢囊肿有什么危害| 1962年属虎的是什么命| 脚背上长痣代表什么| 右侧卵巢无回声是什么意思| 安宫牛黄丸什么时候吃最好| mopar是什么牌子| 羊病是什么病| 初中老师需要什么学历| 蛇毒有什么用| 指甲上有竖纹是什么原因| 双鱼男喜欢什么样的女生| 手术后吃什么鱼伤口愈合快| cdfi可见血流信号是什么意思| 处级是什么级别| 熟地有什么功效| 燊是什么意思| 胡人是什么民族| ala是什么| 感恩节吃什么| 全血粘度低切偏高是什么意思| 眩晕是什么意思| sport什么品牌| 三伏天是什么| 肾上腺挂什么科| 节操什么意思| 联名款是什么意思| 魔鬼是什么意思| 勉铃是什么| 马跟什么相冲| 什么什么不同| 女人得性疾病什么症状| 宫颈口在什么位置| 吸气是什么意思| 一劳永逸什么意思| 腰间盘膨出和突出有什么区别| 破财免灾什么意思| 泥鳅吃什么饲料| 什么情况需要查凝血| 坦诚相待下一句是什么| 上海特产是什么| 今天冬至吃什么| 羊肉不能和什么水果一起吃| mb什么意思| 句加一笔是什么字| lv什么品牌| 血糖高不能吃什么| 芳心是什么意思| 湿痹是什么意思| fat是什么意思| 遭罪是什么意思| a4纸可以做什么手工| 眼睛的晶体是什么| 福报是什么意思| 有什么园| kg什么意思| 水头是什么意思| 军分区司令是什么级别| 稽留流产是什么原因| 男人身体虚吃什么补| 927什么星座| 阴茎供血不足吃什么药| rv是什么意思| 人生三件大事是指什么| 县纪委副书记什么级别| 灰绿色是什么颜色| 权志龙的团队叫什么| 用什么梳子梳头发最好| 喉炎吃什么药效果最好| 胃病可以吃什么水果| 歹人是什么意思| 什么叫夏至| 遗传代谢病是什么意思| 胃不舒服做什么检查| 艾滋病早期有什么症状| 黄色裤子配什么颜色上衣| 牙疼有什么好办法| 弯的是什么意思| 明朝为什么会灭亡| 宝宝出牙晚是什么原因| 143是什么意思| 一诺千金是什么生肖| 什么人不能吃洋葱| 冗长什么意思| 精神衰弱吃什么能改善| 口若什么什么| 哲是什么意思| 农历7月是什么月| 心里空落落的是什么意思| 谷草谷丙偏高是什么原因| 唐僧的袈裟叫什么| n是什么牌子| 因什么制宜| 送爸爸什么礼物最实用| 咯痰是什么意思| 做包皮手术有什么好处| 尿路感染吃什么药| 什么叫格局| 沂字五行属什么| 室早三联律是什么意思| 早搏有什么症状| 琅玕是什么意思| 脑缺血吃什么药最好| 檀木手串有什么好处| 牙龈肿痛吃什么水果| 解脲脲原体是什么意思| 喝咖啡有什么好处| 透析是什么意思| 无眠是什么意思| 透析病人吃什么水果好| 什么叫有格局的人| 痔疮是什么原因引起的| 痛风是什么意思| 喝啤酒有什么好处| 胎儿腹围偏大说明什么| 为什么会突然晕倒| 眼睛老是肿着是什么原因造成的| vaude是什么品牌| 吃什么药可以流产不用去医院| 十岁女孩喜欢什么礼物| 木薯粉是什么粉| 18k金和24k金有什么区别| 肾积水挂什么科| 脚气用什么药膏最好| 用盐刷牙有什么好处和坏处| 小腿痛是什么原因| 爱趴着睡觉是什么原因| 郑州有什么好玩的| 红豆与赤小豆有什么区别| 茅台酒为什么这么贵| 四大天王是什么生肖| 苍蝇喜欢什么味道| 用什么刷牙能使牙齿变白| 面基是什么意思| 小脑梗塞会出现什么症状| 第一磨牙什么时候换| 一九八三年属什么生肖| 副主任医师是什么级别| 胸口堵得慌是什么原因| 排骨焖什么好吃| 刷牙出血是什么原因| 为什么会长麦粒肿| 焦虑抑郁症吃什么药| 脚面疼是什么原因引起的| 共襄盛举是什么意思| 金陵十三钗是什么意思| 带状疱疹什么不能吃| 蛇和什么属相最配| 山竹吃了有什么好处| 父亲节做什么手工| 打狂犬疫苗后注意什么| 1952属什么生肖| 创伤是什么意思| 91视频是什么| 台湾什么时候收回| 味淋是什么调料| 蛋糕是什么生肖| 什么是植物蛋白| 产后42天复查都检查什么| 1993年五行属什么| 319是什么意思| 月经结束一周后又出血是什么原因| 什么肉不含嘌呤| 博美犬吃什么狗粮最好| 菊花用什么繁殖| 17年属什么| 保护嗓子长期喝什么茶| 杵状指见于什么疾病| 白茶是什么茶| 碱性磷酸酶高是什么病| 梦见老鼠是什么预兆| 交感神经型颈椎病吃什么药| 向日葵什么时候采摘| 双肾尿酸盐结晶是什么意思| 陈光标做什么生意| 睡觉流鼻血是什么原因| 一刻是什么意思| 什么是县级市| 乳房疼痛什么原因| 杭盖是什么意思| 正事是什么意思| 似水年华是什么意思| 龙胆泻肝丸治什么病| 刚拔完牙需要注意什么| 化验痰可以检查出什么| 手麻吃什么药效果好| 男人遗精是什么原因造成的| 经常射精有什么伤害| 病毒性感冒吃什么药效果好| 陶土色大便是什么颜色| 海鲜不能和什么食物一起吃| 长疖子用什么药| 什么是爱情| 内在美是什么意思| 血糖高是什么病| 子宫薄是什么原因造成的| 农历六月十三是什么星座| 挚肘是什么意思| 龙跟什么生肖最配| 底细是什么意思| 右边腰疼是什么原因| 赤脚走路有什么好处| 重庆什么时候解放的| 皮上长小肉疙瘩是什么| 什么是做功| 胸部dr是什么| 面是什么做的| 电风扇什么牌子质量好| 一个不一个好念什么| 包皮炎用什么软膏| 孕妇牙痛有什么办法| 百度
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

门头沟区第十六届人民代表大会第一次会议隆重开幕

e9Zb_gh_8734352 ? 来源:chengfengwenalan ? 作者:chengfengwenalan ? 2025-08-04 09:40 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

01基于FPGA的cy7c68013a双向通信实验

cy68013

教程是基于FPGA的cy7c68013a的USB双向通信实验,本教程主要内容:

1.cy7c68013a的固件编写,以及生成iic固件和下载固件。

2.cy7c68013a的slave模式,以及他的读写时序

3.cy7c68013a的FPGA的上板测试,包括发送和接收两部分

02开发过程

cy68013

01驱动

在进行试验前要先安装好Cypress提供的usb驱动,插上usb后,电脑就会检测到未识别的设备,这时打开设备管理器,右键未识别的usb,然后手动选择驱动。

在驱动会在本教程最后的链接中给出,如图所示:

a07b7700-bdb5-11ed-bfe3-dac502259ad0.pnga0968bbc-bdb5-11ed-bfe3-dac502259ad0.png

02固件

固件是在CY68013的FPGA内部有一个MCU,需要给MCU固化程序,固件的编写主要是确定IN和OUT端点,以及一些标志信号

a0ca9b28-bdb5-11ed-bfe3-dac502259ad0.png

固件只需要改这些参数即可,一般情况下不需要修改,很容易看出本教程中设置的时钟是48MHz,然后设置EP2为OUT端点,512字节,4缓冲,bulk (注意OUT,IN都是相对PC来说的,OUT表示PC--->cy7c68013a,IN则相反)

EP6为IN端点,512字节,4缓冲,bulk

flag_a 为EP2的EF,也就是空标志信号,为低时表示空,也就是没有数据过来,为高则表示有数据来了

flag_d 为EP6的FF,也就是满标志信号,为低时表示写满了,这时再去写就是无效写了,为高则表示没有写满,可以继续写。

a0e72a9a-bdb5-11ed-bfe3-dac502259ad0.png

教程提供的固件所在文件夹:固件源码什么的都在Firmware文件中

a0fd7138-bdb5-11ed-bfe3-dac502259ad0.png

03时序

Slave FIFO的时序如图所示。

a1231fb4-bdb5-11ed-bfe3-dac502259ad0.png

有图很容易看出,再写之前要先把FIFOADR确认好,这个决定了你写的对象是谁

a135a710-bdb5-11ed-bfe3-dac502259ad0.png

slave读操作

a1472b34-bdb5-11ed-bfe3-dac502259ad0.png

然后在该fifo非满时(相应的FF标志位高),才可以进行写操作,这个时序很简单,就是拉低slwr信号就可以了,注意FD要与slwr对齐。

注意:写操作时,slwr与FD的数据都是FPGA来控制的,为了让cy7c68013a更好的采样,ifclk与clk反向之后再发送给cy7c68013a.

读时序跟写也是类似的,再读之前先确定FIFOADR,然后拉低sloe,这时FD总线就会出现第一个数据,然后检测到slrd为低时,FD就会显示下一个数据。

04FPGA与cy7c68013a通信

前面主要是准备工作,现在正是进入测试:

项目工程如下:

a16fadca-bdb5-11ed-bfe3-dac502259ad0.png

a186aff2-bdb5-11ed-bfe3-dac502259ad0.png

具体代码都已经有了详细注释了,这里就不详细解释。

本教程所用的调试工具是官方的工具

a1a73164-bdb5-11ed-bfe3-dac502259ad0.png

03调试

Deep learnning

下面给出写的signal tap 的调试截图

写是一次写512个字节数据,0-255,注意usb的fifo是一次发送16位的,也就是2个字节。先发送低字节,然后再发送高字节,这我直接把低字节给赋值为0了

a1c3ec78-bdb5-11ed-bfe3-dac502259ad0.png

a1d8294a-bdb5-11ed-bfe3-dac502259ad0.png

a1eb6a96-bdb5-11ed-bfe3-dac502259ad0.png

前面局部放大图

a202dc6c-bdb5-11ed-bfe3-dac502259ad0.png

后面局部放大图,注意只有在flag_d为高时,slwr为低才是有效写,否则就是无效写,因为当flag_d为低时,表示写满了,这时fifo就会丢弃后面写的数据。

a2205e90-bdb5-11ed-bfe3-dac502259ad0.png

PC端接收到的数据要2个字节一起读,因为usb是16位发送的,可以看出接收到的数据的确是0000-00FF。

注意:pc接收数据按照下图标的编码顺序执行

a2331e86-bdb5-11ed-bfe3-dac502259ad0.png

a2524220-bdb5-11ed-bfe3-dac502259ad0.png

a26cf6e2-bdb5-11ed-bfe3-dac502259ad0.png

pc发送数据按1-->2-->3的步骤,可以看出我们发送了12 34 56 78 这4个字节

a280d608-bdb5-11ed-bfe3-dac502259ad0.pnga29715bc-bdb5-11ed-bfe3-dac502259ad0.png

注意这里我是设置了cmd_flag标志信号的,只有cmd_flag为高时的cmd_data的数据才是有效的,也就是pc发送过来的数据

a2a8ace6-bdb5-11ed-bfe3-dac502259ad0.png

alter 的fifo ip 是可以读写位宽不一致的,具体看下面的图。

a2c8d782-bdb5-11ed-bfe3-dac502259ad0.png

由上图可以看出这个和usb是一样的格式,都是先发低字节,然后再发高字节。或者说先接收低字节,然后再接收高字节。

至此本教程就全部介绍完了,教程只挑了最关键的部分讲述USB的开发,但是包括了固件,驱动和FPGA程序,一个完整的USB和FPGA开发的工程完全可以进行在此基础上进行二次开发。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1646

    文章

    22072

    浏览量

    619787
  • usb
    usb
    +关注

    关注

    60

    文章

    8215

    浏览量

    274143
  • Cypress
    +关注

    关注

    11

    文章

    137

    浏览量

    83380
  • CY7C68013A
    +关注

    关注

    2

    文章

    20

    浏览量

    21973
  • 编写
    +关注

    关注

    0

    文章

    29

    浏览量

    8625
  • 双向通信
    +关注

    关注

    0

    文章

    14

    浏览量

    8790

原文标题:基于FPGA的cy7c68013a双向通信教程

文章出处:【微信号:gh_873435264fd4,微信公众号:FPGA技术联盟】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CY7C68013A无法加载EEPROM中的程序是为什么?

    我通过cycontrol将.IIC文件下载到24lc64中,但是再次启动时无法加载到CY7C68013A中,必须再使用cycontrol将hex文件下载到ram中才能使用,这是为什么?
    发表于 06-03 14:07

    使用CY7C68013A GPIF和FIFO的疑问求解

    我想把这样使用 CY7C68013A 的GPIF 和 FIFO功能: 1. 两路数据传输,CY7C68013都作为从机接收数据 2. 每一路都数据格式为:1个clock pin,8个数据pin 3.
    发表于 06-03 13:35

    cy7c68013a异步slave fifo模式,外部mcu无法读写fifo怎么解决?

    cy7c68013a 异步slave fifo 模式,外部mcu无法读写fifo 上位机发送bulk数据,flag标志是对的,SLCS也拉低了,是设置的低有效, 检测到了flag不为空的标志后
    发表于 06-03 10:49

    cy7c68013a的数据传输错误的原因?

    cy7c68013aFPGA采用同步slfifo模式通讯,当上位机使用control center发送2个字节时,FPGA收到数据正确,当发送4个以上字节时会出现头两个字节丢失,后两个字节重复的现象,百思不得其解?固件使用官网
    发表于 06-03 10:44

    可以使用CY7C68013A的CLKOUT输出37.125KHz的时钟吗?

    我想这样使用CY7C68013A的CLKOUT输出37.125KHz的时钟, 请问能输出这种频率吗? 如果能,怎么样才能输出这个频率呢? 如果不能,其它pin可以输出这个频率吗?怎样输出?
    发表于 06-03 10:05

    CY7C68013A客户配置成slavefifo模式,FPGA发送数据到PC则会丢包或者收到的数据对不上,什么原因?

    我们这边有个客户使用CY7C68013A,客户配置成slavefifo模式,PC端发送数据到FPGA时数据正常,FPGA发送数据到PC则会丢包或者收到的数据对不上。能否帮忙看下客户的配置是否正确。
    发表于 05-30 08:21

    USB芯片CY7C68013AFPGA进行通信,从EP6读取512字节是正常的,但是读取2个字节失败,为什么?

    大家好,USB芯片CY7C68013AFPGA进行通信,从EP6读取512字节是正常的,但是读取2个字节失败(fpga端一直在发)Bulk IN failed,谢谢
    发表于 05-30 07:12

    MCU是否可以使用普通IO口和数据总线控制cy7c68013a,用异步slavefifo模式增加一个与PC通信的USB口?

    cy7c68013a的固件已经配置成异步slave模式,是否有MCU用IO口控制cy7c68013a通过数据总线来实现与PC的USB口通信,这样应用的示例程序或教程? 目的就是在现有的MCU系统中增加一个USB
    发表于 05-30 06:32

    如何使用EZ-USB FX2LP CY7C68013A开发大容量存储设备?

    我应该如何使用 EZ-USB FX2LP CY7C68013A 开发大容量存储设备,我找不到允许在 FX2LP 上开发大容量存储设备的文档,请帮帮我,谢谢
    发表于 05-29 06:15

    请问CY7C68013A高速模式如何配置?

    请问CY7C68013A高速模式如何配置?手册里只有提到了中断和ram
    发表于 05-28 07:14

    如何使用/编程CY7C68013A

    CY7C68013A USB 微控制器的新手。 我打算在我的设计中使用这些 IC,但是,我不知道当 PCB 通过 USB 连接到笔记本电脑时,需要什么来访问该芯片或对其进行编程。 所以, 1. 我的笔记本电脑需要安装哪些软件或驱动程序才能使用 CY7C68013A 芯片?
    发表于 05-20 06:41

    CY7C68013A无PID和VID,如何制作PDF?

    我用 CY7C68013A MCU 设计了一个 PCB,所以这意味着我不是程序员之类的。 但是我尝试上传一些代码,但没有 PID 和 VID。 我找到了一些关于如何制作的 PDF,但那些对我来说很难。 有人可以帮我吗?
    发表于 05-13 07:50

    如何通过上位机控制CYUSB3014的指定管脚实现类似功能?

    我们原来使用CY7C68013A实现了上位机与FPGA之间双向通信,通过控制端点可以实现对诸如CY7C68013A上的PA0等管脚进行控制以便FPG
    发表于 05-13 06:24

    CY7C68013A的windows 10驱动现在支持吗?如何获取?

    CY7C68013A 的windows 10 驱动现在支持吗?如何获取?
    发表于 05-12 07:56

    使用wavevison5软件时,FPGA中的程序是在线加载的,CY7C68013A中的固件也是在线加载的吗?

    指示灯都没有亮,但是OVER_RANGE指示灯亮了,请问这是什么原因呢? 再请教一个问题,使用wavevison5软件时,FPGA中的程序是在线加载的,CY7C68013A中的固件也是在线加载的吗?
    发表于 12-27 08:11
    什么蔬菜含钾高 高铁动力来源是什么 医学影像技术是什么 风湿类风湿有什么症状表现 一什么人家
    葛根有什么作用 乳酸菌是什么 什么人不能吃西瓜 大脑精神紊乱什么病 夜明珠是什么东西
    吃什么治疗阳痿 生肖羊生什么生肖最好 甲状腺囊性结节是什么意思 四不伤害是指什么 什么是基因检测
    光动能手表是什么意思 金黄金黄的什么 脾胃不好吃什么药效果好 免疫球蛋白g是什么意思 斗牛为什么用红色的布
    新生儿缺氧会有什么后遗症hebeidezhi.com 头皮发热是什么原因hcv7jop6ns9r.cn rt是什么hcv9jop3ns9r.cn 什么叫有氧运动hcv7jop5ns4r.cn 李自成为什么会失败hcv8jop9ns1r.cn
    wba是什么意思jingluanji.com 肝损伤是怎么回事什么是肝损伤hcv9jop4ns6r.cn 性功能下降是什么原因hcv8jop7ns5r.cn 朔字五行属什么chuanglingweilai.com 冰火两重天是什么意思hcv9jop6ns2r.cn
    手指关节肿痛用什么药hcv7jop6ns0r.cn 异物进入气管什么症状hcv8jop0ns6r.cn 阴唇肥大是什么原因hcv8jop6ns3r.cn 猫咪冠状病毒什么症状hcv8jop5ns6r.cn 苏州为什么叫姑苏hcv9jop6ns0r.cn
    孺子可教也什么意思0297y7.com 双肺纹理增多增粗是什么意思bjhyzcsm.com 姥姥的妈妈叫什么hcv9jop6ns2r.cn 什么情况下需要做肠镜检查baiqunet.com 贱痣是什么意思hcv9jop4ns6r.cn
    百度