找回密码
 注册
关于网站域名变更的通知
查看: 2868|回复: 19
打印 上一主题 下一主题

转——【FPGA开源教程连载】CYUSB3014型USB3.0+FPGA电路设计详解

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-1 09:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
CYUSB3014USB3.0+FPGA电路设计详解
小梅哥
20161229日星期四

- y3 \% p" D; S. ~1 k& ?
芯航线AC6102开发板上,使用了一片Cypress的USB3.0全协议芯片CYUSB3014作为FPGA与PC机的高速通信桥梁。关于CYUSB3014的各项性能和参数介绍,请参考AC6102 USB3.0开发教程中相关介绍。本节主要介绍AC6102开发板上USB3.0电路的设计细节,方便大家在使用的时候快速核对理解。

5 o1 x, r- U: Y- R8 |8 F2 h/ [3 F
         以下为AC6102开发板上的USB3.0电路整体框图说明
  Z8 g6 p/ U/ @  ^2 r$ h% E
, |5 o. \  ]) `( Y  Z" \7 c9 ?
为了充分发挥USB3.0芯片的特性,特将CYUSB3014芯片的所有数字IO与FPGA连接,包括32根数据线,13根控制线、4根I2S信号线以及UART线等。
复位
CYUSB3014有一个复位输入接口,当复位输入为低电平时,芯片处于复位状态。只有当该引脚为高电平时,芯片才能正常工作,AC6102开发板在设计时,充分考虑了实际应用和系统调试时的情况,给CYUSB3014设计了两种复位方式,分别为FPGA控制复位和上电自动复位。默认使用上电自动复位方式,该方式非常适合我们调试系统原型时使用,这样不必担心因为重新下载FPGA 的sof固件而导致USB芯片复位,影响USB3.0芯片的正常运行。增加调试时候的工作量。(如果使用fpga控制复位,那么每次下载完fpga的sof后,都会对USB芯片执行一次复位操作,从而使芯片内烧写的固件丢失,那么用户只能再烧写一次usb芯片固件,从而增加了调试时候的工作量)。如下图,R64默认没有焊接,即断开了CYUSB芯片与FPGA芯片的连接,从而避免受到FPGA固件的影响,如果产品最终定型需要测试使用FPGA直接控制USB芯片复位,给R64安装100R左右的电阻即可。
! m( B8 R) e. h7 i
时钟晶振
CYUSB3014支持外部晶振提供时钟信号,支持19.2、26、38.4和52MHz的时钟频率,AC6102开发板上使用19.2MHz的晶振为CYUSB3014提供时钟源。另外,CYUSB3014内部有一个看门狗定时器,用来在需要的时候对全局系统服务,看门狗定时器使用外部32.768KHz时钟输入,所以AC6102上也设计了一个32.768KHz的晶振。当然,在大多数系统中,该部分可以不考虑。
$ g8 J* ?( z: X, D) |0 W9 R: c
! b) B( q- b- X) ?$ }) o. Y. \
时钟源配置
         CYUSB3014芯片的时钟源是可配置的,EZ-USBFX3允许在XTALIN和XTALOUT引脚之间连接晶振,也允许在CLKIN引脚上连接外部时钟。支持的晶振频率为19.2MHz,支持的外部时钟频率为19.2、26、38.4和52MHz。EZ-USBFX3有一个片上振荡器电路,使用外部19.2MHz(±100ppm)晶振(使用晶振选项时)。FSLC[2:0]引脚必须进行适当配置,以选择晶振选项/时钟频率选项。配置选项请参见下表。
晶振 / 时钟频率选择

# l, a( f" L( s6 G1 E& l
: c- f1 n( G2 U( P
% [. B2 G, Y4 w! |2 ]6 w% w

$ h3 A6 n) v3 e
AC6102开发板在设计时,将FSLC配置脚使用电阻跳线的方式引出,如下图,每个FSLC引脚都有两个电阻接到VCC和GND,通过选择焊接或者留空对应电阻,能够设置CYUSB3014芯片的外部时钟源频率。AC6102上焊接的是19.2MHz的晶振,根据上表得之,FSCL三个脚都应该为0,即接地。所以连接到GND的R56、R59、R63均焊接了10K的电阻,而连接到VCC的R55、R58、R61则留空不焊接。

/ H5 h2 g- f% n! d" V9 C, ~引导方式配置
EZ-USBFX3芯片总共支持7种引导方式,所谓引导,就是EZ-USBFX3芯片上电以后,片上的ARM9处理器从何处开始读取程序并运行。其支持的7种启动方式如下所示:
2  从 USB 引导
2  从 I2C 引导
2  从 SPI (支持的 SPI 器件为 M25P16(16 Mbit)、M25P80(8 Mbit) 和 M25P40 (4 Mbit))或同类器件引导
2  从 GPIF II 异步 ADMUX 模式引导
2  从 GPIF II 同步 ADMUX 模式引导
2  从 GPIF II 异步 SRAM 模式引导

+ d# E2 R; \3 O# l' o! K
那么究竟EZ-USBFX3芯片上电后从哪里开始启动呢?芯片提供了3个启动配置引脚,通过设置启动引脚不同的值,来选择不同的启动方式。这三个引脚名叫PMODE脚。

8 m. i( k: i  q3 q- K  z
这三个配置引脚,每个引脚都有三种状态,1(接高电平)、0(接低电平)、F(浮空,既不接高电平,也不接低电平),三个配置引脚的不同状态与对应的启动方式如下表所示:
. Y4 t; X' K; M8 g
         其中,对于FPGAUSB3.0组成的系统,我们很少用到第124种启动方式。第7种启动方式,即使用SPI引导,主要用在EZ-USBFX3作为整个系统的主机层,片上的处理器需要运行复杂的程序的情况下,使用片外的大容量SPI FLASH存储器启动。FPGA + EZ-USBFX3,使用最多的是SlaveFifo接口,因此,可以选择EEPROM存储器,即I2C方式启动。同时,为了保证系统在IIC接口的EEPROM存储器失效的情况下,能够有其他方式可以恢复,所以,AC6102上的启动方式设置为了方式5,即默认从I2C引导,如果从I2C引导失败,则启用从USB引导。对应的PMODE[2:0]的配置为F1F,在原理图上,即电阻R51使用0R电阻,其他电阻全部不焊接即可。

7 u: U/ Q+ V9 l, `; O; H, B5 ^IIC存储器
CYUSB3014支持从IIC存储器引导程序,AC6102开发板上,为CYUSB3014芯片提供了一颗256Kb的IIC接口的EEPROM存储器24LC256,方便用户存储CYUSB3014的固件或者
1 |' j! R2 D: r* Z$ D
SPI FLASH 存储器
CYUSB3014芯片支持从SPIFLASH存储器引导程序,AC6102开发板上,为CYUSB3014芯片提供了一颗64Mb的SPI接口的FLASH存储器M25P64,由于CYUSB3014的SPI接口和UART接口引脚是复用的,一个时刻内只能工作在一种模式,在FPGA和CYUSB3014的典型应用系统中,我们通常使用Slave Fifo模式,不需要CYUSB3014运行复杂的应用程序,但是由于Slave Fifo接口虽然适合传输大量的数据,却不适合传输控制信号,我们可以考虑使用UART在两者之间传递控制信号,因此AC6102上默认将CYUSB的SPI/UART复用引脚通过排阻跳线设置为了UART模式。如下图,RN5和RN6为两个排阻,M25P64为SPI FLASH存储器,当焊接RN6,悬空RN5时,SPI FLASH是被硬件旁路掉的,并没有连接到CYUSB3014芯片上,AC6102上默认就是此种配置方式。(针对有特殊需求的用户,如果希望使用M25P64,请将RN6断开,RN5使用33R~100R的排阻,或者联系我们以获得协助),

9 y& S" R5 A; {1 m/ P6 q& V3 }3 u; C
( f7 r  K8 |1 O- d$ p( n; H
以上为AC6102开发板USB3.0电路的详细介绍,下表为CYUSB3014各个信号与FPGA之间的链接关系,注意,USB30_CTL0~USB30_CTL12信号在不同的配置中有不通功能,在我们提供的例程中,针对Slave Fifo模式,USB30_CTLx的实际功能也在表中列出,见 “Slave Fifo功能”一栏

0 T% U. p: D: c; _8 e7 D; s- P: B+ ^. E5 i, K( A  |0 ?, H

$ `% A+ ?" E& v
通过本节介绍,我们了解了基于FPGA和CYUSB3014组成USB3.0采集传输系统的一般电路原理,大家可以根据自己的需求,结合我们提供的原理图,设计自己的软硬件系统。如有特殊需求,可联系我们以获取帮助。

& z6 t) h: T: [  s+ ~* u0 \& ~
游客,如果您要查看本帖隐藏内容请回复

$ M' `" b$ w; d5 K6 Y6 I3 h6 v/ Z, ]

- U; m; o3 m' t. X
  • TA的每日心情
    开心
    2021-1-29 15:36
  • 签到天数: 33 天

    [LV.5]常住居民I

    推荐
    发表于 2020-3-13 16:35 | 只看该作者
    学习一下呗,看看隐藏的是什么

    该用户从未签到

    推荐
    发表于 2020-11-11 15:39 | 只看该作者
    要是有PCB文件就好了,可惜~

    该用户从未签到

    推荐
    发表于 2020-11-5 20:00 | 只看该作者
    666666666666666666学习

    该用户从未签到

    3#
    发表于 2019-4-1 22:33 | 只看该作者
    再看看隐藏的内容。

    该用户从未签到

    4#
    发表于 2019-8-29 16:27 | 只看该作者
    学习一下啊& D! {- Q- J- D

    该用户从未签到

    9#
    发表于 2020-3-13 16:22 | 只看该作者
    dwsdsdssdssdsds
    4 ]3 J0 Y- l3 d

    该用户从未签到

    11#
    发表于 2020-5-11 10:51 | 只看该作者
    学习学习6666666# s2 g: \! N8 @

    该用户从未签到

    12#
    发表于 2020-5-12 16:52 | 只看该作者
    感谢分享,学习了!

    该用户从未签到

    14#
    发表于 2020-11-8 19:29 | 只看该作者
    6 V" q; d: Q$ A/ m" q# o
    学习一下啊

    该用户从未签到

    15#
    发表于 2020-11-11 15:31 | 只看该作者
    感谢分享,挺好的
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-8 15:52 , Processed in 0.187500 second(s), 28 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表