上一篇博客已经给出了整个视频板卡架构,那么对于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特性简介的更多相关文章

  1. USB2.0学习笔记连载(十九):EZ-USB TRM手册重要部分介绍

        TRM手册中给出了所有的寄存器配置,在 slave fifo模式或者 GPIF模式等,所以对于用到的各种寄存器配置需要查看此手册,当然还可以配合着应用手册<AN61345>.   ...

  2. USB2.0学习笔记连载(十七):keil实现寄存器的配置及相关函数讲解(一)

    首先要实现对寄存器的配置,可以参考手册<Development kit  User Guide>,如下图所示: 此文件包含在 文件中.上述的应用文档详细介绍了如何利用KEIL实现对固件程序 ...

  3. USB2.0学习笔记连载(六):USB2.0硬件设计需要注意事项

    笔者在设计USB2.0时找到了一个官方给的硬件设计正确设计指南,其中有些内容还挺nice的.不单单只是USB的设计,其中有些思想可以应用到其他的场合中. 对于USB2.0而言,全速状态下可以达到480 ...

  4. USB2.0学习笔记连载(三):通用USB驱动程序解析

    对于USB驱动的开发,读者可以使用Windows DDK.DriverStudio等多种开发工具来实现USB的驱动,但是驱动程序的开发过程都比较复杂,而且很容易致使USB主机内存泄露而死机.那么对于笔 ...

  5. USB2.0学习笔记连载(二):USB基础知识简介

    USB接口分为USB A型.USB B型.USBmini型.USBmicro型.USB3.0其中每种都有相应的插座和插头. 图1 图2 上图是USBA型接口,图1为插座,图2为插头.插座指向下行方向, ...

  6. USB2.0学习笔记连载(五):EZ-USB重要寄存器的配置

    本篇博客主要讲解EZ-USB一些重要寄存器的配置,首先对于本篇博客所讲的内容,读者应该到官网上去下载相关的手册,其中包括<EZ-USB Technical Reference Manual> ...

  7. USB2.0学习笔记连载(十四):USB驱动安装及固件程序的编写

    在之前的博客中已经讲过,驱动程序最核心的两个文件,一个是xxx.sys文件,一个是xxx.inf文件,主机是寻找xxx.inf文件. 在下面的文件中有相关关于USB驱动的说明.对于用户来说,xxx.s ...

  8. USB2.0学习笔记连载(十八):keil实现寄存器的配置及相关函数讲解(二)

    其实之前也有提及过,Cypress公司提供的官方文件和应用手册真的可以解决很多问题.做的也很人性化,操作也及其简单,几乎只要在 TD_int()里面配置一些常用的参数即可,其他都可以不用操作. 作为一 ...

  9. USB2.0学习笔记连载(十):关于WIN8及以上系统哈希值问题

    笔者上一篇博客讲解了关于驱动的安装,笔者使用的系统是win8.1系统,那么对于win8系统及以上系统,会对外部设备,没有在windows系统中进行签名过的,都是不允许在windows系统中进行安装的, ...

随机推荐

  1. Django restful

    1.restful api的规范 API与用户的通信协议,总是使用HTTPs协议. 域名  https://api.example.com                         尽量将API ...

  2. js点击回到顶部

    ---恢复内容开始--- <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  3. BZOJ2670 : Almost

    求出前缀和$s[]$,那么区间$[l,r]$的几乎平均数$=\frac{s[r]-s[l-1]}{r-l}$. 若只有一个询问,那么可以维护$(i,s[i-1])$的凸壳,在凸壳上二分点$(i,s[i ...

  4. 腾讯云CDN python SDK

    腾讯云CDN python SDK 博主在开发时偶尔要用到CDN,感觉适合学生党的应该是腾讯云的CDN了,还提供了每月10G的流量,博主平时学习使用已经足够了. 代码 #coding=utf-8 fr ...

  5. django之简单验证码实现与form表单钩子函数补充

    本篇主要讲解简单的验证码实现,验证码使用基本都是找现成的组件来实现,用代码实现这个简单功能主要是了解了解验证码内部的实现. 本篇导航: 五位验证码图示 代码实现 登录验证 Form组件钩子函数补充 一 ...

  6. nat 共享上网软件

    http://www.nat32.com/ SinforNat WinGate

  7. securecrt通过ssh连接板子: 密钥交换失败,没有兼容的加密程序

    在用securecrt连接板子时遇到如下问题: 需要修改板子上的/etc/ssh/ssh_config和/etc/ssh/sshd_config. 修改/etc/ssh/ssh_config,取消下面 ...

  8. python测试开发django-54.xadmin添加自定义页面

    前言 xadmin后台如何添加一个自己写的页面呢?如果仅仅是在GlobalSettings添加url地址的话,会丢失左侧的导航菜单和顶部的页面,和整体的样式不协调. 新增页面后希望能保留原来的样式,只 ...

  9. /debug/requests is already registered. You may have two independent copies of golang.org/x/net/trace in your binary, trying to maintain separate state. This may involve a vendored copy of golang.org/x

    找到问题就很好解决了,直接百度  go依赖管理-govendor go get -u github.com/kardianos/govendor 先获取这个,然后将govendor.exe放入path ...

  10. jQuery插件备忘

    jQuery BlockUI Plugin  遮罩插件                                                                          ...