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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

* L' P- C, Z7 F; Q' l$ b
芯航线AC6102开发板上,使用了一片Cypress的USB3.0全协议芯片CYUSB3014作为FPGA与PC机的高速通信桥梁。关于CYUSB3014的各项性能和参数介绍,请参考AC6102 USB3.0开发教程中相关介绍。本节主要介绍AC6102开发板上USB3.0电路的设计细节,方便大家在使用的时候快速核对理解。

  e% [9 |* N7 m3 n/ }! q
         以下为AC6102开发板上的USB3.0电路整体框图说明
1 b% i* m2 l6 G) x" U  Y4 q1 M7 u" w8 ]& C

! b( Q0 M" v6 H. J/ k# p* B
为了充分发挥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左右的电阻即可。

' ]3 ?# A1 K$ E时钟晶振
CYUSB3014支持外部晶振提供时钟信号,支持19.2、26、38.4和52MHz的时钟频率,AC6102开发板上使用19.2MHz的晶振为CYUSB3014提供时钟源。另外,CYUSB3014内部有一个看门狗定时器,用来在需要的时候对全局系统服务,看门狗定时器使用外部32.768KHz时钟输入,所以AC6102上也设计了一个32.768KHz的晶振。当然,在大多数系统中,该部分可以不考虑。

9 @) G! ~; r# [7 U! N/ B3 x5 F8 d; j% M* L4 @1 c
时钟源配置
         CYUSB3014芯片的时钟源是可配置的,EZ-USBFX3允许在XTALIN和XTALOUT引脚之间连接晶振,也允许在CLKIN引脚上连接外部时钟。支持的晶振频率为19.2MHz,支持的外部时钟频率为19.2、26、38.4和52MHz。EZ-USBFX3有一个片上振荡器电路,使用外部19.2MHz(±100ppm)晶振(使用晶振选项时)。FSLC[2:0]引脚必须进行适当配置,以选择晶振选项/时钟频率选项。配置选项请参见下表。
晶振 / 时钟频率选择
" D. E; j7 E* m0 K# S6 E
- G( C5 R' j$ i5 P. E

9 S+ {- N5 i- V; l

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

# v' N# X( O$ r1 h引导方式配置
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 模式引导
" E9 q* S" t$ Q2 r/ u& `) X5 q
那么究竟EZ-USBFX3芯片上电后从哪里开始启动呢?芯片提供了3个启动配置引脚,通过设置启动引脚不同的值,来选择不同的启动方式。这三个引脚名叫PMODE脚。
; ~- h7 ]$ v: g/ P5 h7 s
这三个配置引脚,每个引脚都有三种状态,1(接高电平)、0(接低电平)、F(浮空,既不接高电平,也不接低电平),三个配置引脚的不同状态与对应的启动方式如下表所示:

  {# m. f# P, Y4 x& c
         其中,对于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电阻,其他电阻全部不焊接即可。

2 L" K+ u5 D( }" h9 d0 H7 u# D4 bIIC存储器
CYUSB3014支持从IIC存储器引导程序,AC6102开发板上,为CYUSB3014芯片提供了一颗256Kb的IIC接口的EEPROM存储器24LC256,方便用户存储CYUSB3014的固件或者
5 f1 s% u+ E: P8 B6 d# i
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的排阻,或者联系我们以获得协助),
; l- C# E) K( C" a( t/ N) u
$ T; x+ K% c% ?& ~; t  \( i! d$ A

+ D& R6 S% ^) \
以上为AC6102开发板USB3.0电路的详细介绍,下表为CYUSB3014各个信号与FPGA之间的链接关系,注意,USB30_CTL0~USB30_CTL12信号在不同的配置中有不通功能,在我们提供的例程中,针对Slave Fifo模式,USB30_CTLx的实际功能也在表中列出,见 “Slave Fifo功能”一栏

/ C+ M6 Y" z2 b7 u8 K. T
0 ^' G$ A0 V6 t+ K5 Y
1 _3 ^4 z- ^! t4 z- V* s6 z2 K3 F
通过本节介绍,我们了解了基于FPGA和CYUSB3014组成USB3.0采集传输系统的一般电路原理,大家可以根据自己的需求,结合我们提供的原理图,设计自己的软硬件系统。如有特殊需求,可联系我们以获取帮助。
9 e9 v  U& r( f" [
游客,如果您要查看本帖隐藏内容请回复
" o: e3 h4 a3 u) E( A9 H( j
( O- n; w# N( P
  • 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 | 只看该作者
    学习一下啊
    6 j2 S2 j8 z% g1 n  [0 e( P

    该用户从未签到

    9#
    发表于 2020-3-13 16:22 | 只看该作者
    dwsdsdssdssdsds$ C( w" S1 D7 g8 Q

    该用户从未签到

    11#
    发表于 2020-5-11 10:51 | 只看该作者
    学习学习6666666
    " e: x# N+ a, C7 ~. [! `% H% B1 \' f" h

    该用户从未签到

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

    该用户从未签到

    14#
    发表于 2020-11-8 19:29 | 只看该作者

    ) A$ P% o# U8 k# P% a+ V0 M学习一下啊

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-3 04:06 , Processed in 0.156250 second(s), 28 queries , Gzip On.

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

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

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