USB2.0学习笔记连载(一):CY7C68013特性简介
上一篇博客已经给出了整个视频板卡架构,那么对于USB接口部分需要着重理解和学习。
对于目前来说,若是利用FPGA去模拟USB2.0内核,难度还是挺大的,整个状态的收发都不好控制。现在目前都在使用桥接芯片作为一个核心控制器,内部集成USB驱动、状态控制、GPIF、FIFO等,可以轻松实现相应功能。USB2.0桥接芯片有台湾的FT232H,FT2232H,还有南京沁恒的CH372B或者CH375等,还有Cypress公司的CY7C68013,笔者打算采用CY7C68013来进行USB2.0的开发。
本篇博客是本着从硬件角度来看CY7C68013,来看一下CY7C68013内部结构和相应的特性。为制板做进一步铺垫。

首先内部有USB2.0收发器部分,串行接口引擎(SIE),还有一个强大的8051微处理器。

功耗较低,在任何模式下电流不会超过85mA,假设使用3.3V供电,其功耗大概也就在0.28W。

对于8051内核,其工作频率有三种可选,这三种频率均由外部晶振24MHz通过PLL得到。

3.3V供电。所以供电的转换可以采用 5V 转3.3V,利用常用的AMS1117即可。

上图是整个内部结构。FIFO的突发速率高达96MBPS。

封装有上述封装可选。但是对应不同的封装又有不同的引脚引出,如下图所示。这个就需要考虑,采用何种封装,要实现何种功能。


支持两种信号位速率,最高达到480MBPS。

对于给8051内核提供的晶振系统有一定要求,要求晶振24MHz(±100ppm),且两个电容容值为12pf,对走线也提出要求,为了给系统提供一个高精度晶振。
对于上述提到的外部晶振 ±100pm的要求,笔者查阅一下资料。PPM是石英晶振的基本单位之一,表示晶振的精度和相对偏差,PPM代表着百万分之一,它表明晶体的频率可能会偏离标称值多少。晶振频率是以MHZ(10的6次方)和KHZ(10的3次方)为基本单位的,标称频率10MHZ晶振的频率偏差10HZ就刚好是1PPM。比如120ppm,27M的晶振,频率的误差 = 120/100万*27M=3240Hz。

配置信息要注意,在做EEPROM的配置时需要和ID信息一致。否则会配置不成功。

对于上电复位和按键复位都提出要求,加电复位要保持5ms以上,这决定着t = n *RC,这个RC值的选取。比如选R = 100K, C = 10uF,能满足要求。

CY7C68013需要软配置时,需要配置寄存芯片,这点和FPGA的配置芯片有类似功能。


供电电压,最大消耗电流,上电复位时间情况。

手册还贴心的给出了布板的信息,笔者打算做4层板,阻抗需控制,还有就是差分信号的走线。
下一步开始做板,逆袭!!!
USB2.0学习笔记连载(一):CY7C68013特性简介的更多相关文章
- USB2.0学习笔记连载(十九):EZ-USB TRM手册重要部分介绍
TRM手册中给出了所有的寄存器配置,在 slave fifo模式或者 GPIF模式等,所以对于用到的各种寄存器配置需要查看此手册,当然还可以配合着应用手册<AN61345>. ...
- USB2.0学习笔记连载(十七):keil实现寄存器的配置及相关函数讲解(一)
首先要实现对寄存器的配置,可以参考手册<Development kit User Guide>,如下图所示: 此文件包含在 文件中.上述的应用文档详细介绍了如何利用KEIL实现对固件程序 ...
- USB2.0学习笔记连载(六):USB2.0硬件设计需要注意事项
笔者在设计USB2.0时找到了一个官方给的硬件设计正确设计指南,其中有些内容还挺nice的.不单单只是USB的设计,其中有些思想可以应用到其他的场合中. 对于USB2.0而言,全速状态下可以达到480 ...
- USB2.0学习笔记连载(三):通用USB驱动程序解析
对于USB驱动的开发,读者可以使用Windows DDK.DriverStudio等多种开发工具来实现USB的驱动,但是驱动程序的开发过程都比较复杂,而且很容易致使USB主机内存泄露而死机.那么对于笔 ...
- USB2.0学习笔记连载(二):USB基础知识简介
USB接口分为USB A型.USB B型.USBmini型.USBmicro型.USB3.0其中每种都有相应的插座和插头. 图1 图2 上图是USBA型接口,图1为插座,图2为插头.插座指向下行方向, ...
- USB2.0学习笔记连载(五):EZ-USB重要寄存器的配置
本篇博客主要讲解EZ-USB一些重要寄存器的配置,首先对于本篇博客所讲的内容,读者应该到官网上去下载相关的手册,其中包括<EZ-USB Technical Reference Manual> ...
- USB2.0学习笔记连载(十四):USB驱动安装及固件程序的编写
在之前的博客中已经讲过,驱动程序最核心的两个文件,一个是xxx.sys文件,一个是xxx.inf文件,主机是寻找xxx.inf文件. 在下面的文件中有相关关于USB驱动的说明.对于用户来说,xxx.s ...
- USB2.0学习笔记连载(十八):keil实现寄存器的配置及相关函数讲解(二)
其实之前也有提及过,Cypress公司提供的官方文件和应用手册真的可以解决很多问题.做的也很人性化,操作也及其简单,几乎只要在 TD_int()里面配置一些常用的参数即可,其他都可以不用操作. 作为一 ...
- USB2.0学习笔记连载(十):关于WIN8及以上系统哈希值问题
笔者上一篇博客讲解了关于驱动的安装,笔者使用的系统是win8.1系统,那么对于win8系统及以上系统,会对外部设备,没有在windows系统中进行签名过的,都是不允许在windows系统中进行安装的, ...
随机推荐
- js 函数与类的区别
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- [HNOI/AHOI2018]道路
Description: W 国的交通呈一棵树的形状.W 国一共有\(n - 1\)个城市和\(n\)个乡村,其中城市从\(1\)到\(n - 1\) 编号,乡村从\(1\)到\(n\)编号,且\(1 ...
- HDU5511 : Minimum Cut-Cut
设$d[x]$表示端点位于$x$子树内部的非树边条数,那么有两种情况: $1.$割去的两条树边$(x,fa[x]),(y,fa[y])$中,$x$是$y$的祖先,那么此时需要割去的非树边数量为$d[x ...
- Alpha冲刺(2/10)——2019.4.25
所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(2/10)--2019.4.25 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪 ...
- angular学习笔记(1)- 四大核心特性
angular1学习笔记(1) - angular1四大核心特性 1.MVC model:数据模型层 controller:业务逻辑和控制逻辑 view:视图层,负责展示 2.模块化 Module ...
- EBS WEBADI 下载模板提示 Visual Basic 运行时错误 '91' 对象变量或With块变量未设置
按以下的方法设置一遍EXCEL,并设置浏览器的安全属性.
- C10K问题
转自:https://www.jianshu.com/p/ba7fa25d3590 C10K问题由来 随着互联网的普及,应用的用户群体几何倍增长,此时服务器性能问题就出现.最初的服务器是基于进程/线程 ...
- 在python里调用java的py4j的使用方法
py4j可以使python和java互调 py4j并不会开启jvm,需要先启动jvm server,然后再使用python的client去连接jvm GatewayServer实例:允许python程 ...
- golang 对结构体进行格式化输出
可以使用 `return fmt.Sprintf("%+v", *conf) ` 来打印结构体,包括结构体的key值.但是由于结构体内容较多,都在一行,所以希望可以格式化输出结构体 ...
- Go 语言学习笔记
1. go没有static关键字 面向对象编程中,尽量对函数进行封装,对于没有函数变量的对象,使用static关键字尤其方便. go中没有static关键字,必须每次new一个出来. type Han ...