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系统中进行安装的, ...
随机推荐
- 老毛桃UEFI版u盘启动盘
使用老毛桃制作UEFI启动盘 下载UEFI版本启动盘制作工具,打开官方网站http://www.laomaotao.org,当前显示页面右下下载UEFI版本.文章写作时最新版本为9.3. 使用教程见: ...
- 树莓派上配置electron记录
首先是最新版本的树莓派镜像默认不开启ssh,所以烧写好系统之后没法ssh登录 解决方法就是在烧写的内存卡分区内建立一个ssh文件(无后缀名),这样启动的时候就有ssh服务了 在~/.bashrc里面添 ...
- 单调队列以及单调队列优化DP
单调队列定义: 其实单调队列就是一种队列内的元素有单调性的队列,因为其单调性所以经常会被用来维护区间最值或者降低DP的维数已达到降维来减少空间及时间的目的. 单调队列的一般应用: 1.维护区间最值 2 ...
- unity仿微信飞机大战项目
开发路线: 1,游戏背景(连续播放) 2,添加主角 3,设置游戏主角的动画 4,添加两种子弹并设置子弹的运动 5,添加三种子弹 设置子弹的自动生成和运动 6,添加两种奖励物品 设置奖励物品的自动生成和 ...
- 移动端根元素(html)的设置
1.通过js设置 <script> document.documentElement.style.fontSize = document.documentElement.clientWid ...
- vue环境配置 vue-cli脚手架
vue 环境配置步骤: 第一步: 在官网下载node,Node 下载地址 http://nodejs.cn/ 并安装node.检测node是否安装成功, 按 “windows+r” 进入cmd命令 ...
- docker 报错: Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
centos 启动docker服务报错: Job for docker.service failed because the control process exited with error cod ...
- HTML5 学习07——Video(视频)Audio(音频)
<video> 元素:提供了 播放.暂停和音量控件来控制视频. width 和 height 属性:控制视频的尺寸 <video> 与</video> 标签之间插入 ...
- Oracle中连接与加号(+)的使用
1.左外连接(Left outer join/ left join) left join是以左表的记录为基础的,左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录.右表记录不足的地方均为NU ...
- Sublime Text 显示韩文和文件编码
菜单 Preferences –> Settings 右侧的User { "font_size": 12, "show_encoding": ...