USB小白学习之路(11) Cy7c68013A驱动电路设计注意事项(转)
Cy7c68013A驱动电路设计注意事项
转自:http://group.chinaaet.com/116/79029#0-tsina-1-71467-397232819ff9a47a7b7e80a40613cfe1
CY7C68013的驱动电路非常简单,除了提供24MHz时钟源,设计好USB差分接口,做好电源滤波,其他信号均可由数字控制。这里简单的对Bingo设计CV7C68013A-56PVXC驱动电路进行介绍,如下所示:
(1)首先,USB差分电路设计的好坏,决定了实际能运行的速率。
采用USB-Mini接口进行68013的通信,同时完成板卡的供电功能。USB理论上能提供500mA的电流,2.5W的功率足够支撑板卡的工作。同时500mA自恢复保险丝的设计,有效的保护了PC USB接口的安全。
在Layout D+、D- USB差分信号线的时候,一定要特别注意走线。
此外,外壳通过1uF接地,简单而有效的进行了电路的ESD保护。
(2)通过FPGA输入24MHz有源时钟,如下:
实际上可以采用无源晶振,同时通过XTALOUT输出24MHz给FPGA作为全局时钟,进一步降低PCB设计的成本。
(3)CY7C68013A配置芯片24LC64 EEPROM,
注意上拉电阻!
另外:如果EEPROM非空,或者说当前固件本机未安装驱动,可以通过短接P3,来实现68013上电从内部启动。当然如果是全新的片子,一些无所谓了。
(4)复位引脚的配置
理论上68013的复位引脚直接高电平即可,但实际上经过多次的测试,发现RESET外接耦合电容,否则68013没有100%的成功率能完整正常启动,。这仅是经验总结,因此这一部分电路千万不要偷懒,如下所示:
(5)坑爹的RESERVED设置
此外,最坑爹的RESERVED虽说是预留引脚,但是却不能NC。手册明文规定必须拉低,否则PC无法识别68013!
(6)WAKEUP功能时钟上啦,我们不做产品,不许睡觉!
(7)同步时钟IFCLK由外部FPGA输入,如下(12MHz输出可用与验证IC是否正常工作):
(8)选择FIFO0,不允许数据输出,屏蔽数据读取,不进行包传输,EmptyY与Full功能暂时不用,片选始终有效,WR使能信号由外部FPGA输入,配置如下:
这样做完全是由于TQFP144的FPGA引脚资源有限,通过固定的配置,换来了功能的实现。如果FPGA有足够的IO,可以讲这些68013这些固定引脚较直接通过FPGA进行灵活的配置。
这里USB_WR作为同步FIFO数据写入使能信号,由FPGA控制。
此外,设计中没有引出FLAGB(FULL)、FLAGC(EMPTY)引脚,不仅仅由于FPGA引脚的有限,设计中可以直接忽略FLAGB、FLAGC的技巧,在于降低数据的写入速率。实际上经验告诉我们,写入30FPS的640*480的视频,即12MHz的速率进行写入,可以完全忽略FULL、EMPTY信号。因为68013完全有这个能力在这段时间处理好数据的缓存、发送,我们可以接受这个风险!!!
(当然这是迫不得已的……)
(9)这里FIFO选择了8Bit输出,如下所示:
(10)PA0中断输入CMOS帧信号,用来同步数据,如下:
(11)PD5作为触发写入的信号,连接至FPGA作为输出使能,如下所示:
这里PD3、PD4、PD6实际上没有使用到。PD3、PD4用于用户采用68013实现CMOS Sensor的初始化接口,此设计中这两个IO没有使用到,PD6为预留。
(12)PD5、PD6从FPGA全局时钟数据,这里主要使用了PD5-USB_Trigger写入触发使能信号,如下:
(13)PD3、PD4预留(暂时没用到)初始化接口直接输入FPGA;68013 同步时钟信号IFCLK、写入使能信号WR直接从FPGA IO输出,如下所示:
USB小白学习之路(11) Cy7c68013A驱动电路设计注意事项(转)的更多相关文章
- USB小白学习之路(10) CY7C68013A Slave FIFO模式下的标志位(转)
转自良子:http://www.eefocus.com/liangziusb/blog/12-11/288618_bdaf9.html CY7C68013含有4个大端点,可以用来处理数据量较大的传输, ...
- USB小白学习之路(12) Cy7c68013A固件之Slave FIFO(转)
Cy7c68013固件之Slave FIFO 转自:http://blog.csdn.net/zengshaoqing/article/details/53053539 选择SlaveFIFO传输方式 ...
- USB小白学习之路(8)FX2LP cy7c68013A——Slave FIFO 与FPGA通信(转)
此博客转自CSDN:http://blog.csdn.net/xx116213/article/details/50535682 这个博客只对自己理解CY7C68013的配置有一定的帮助,对于配置CY ...
- USB小白学习之路(1) Cypress固件架构解析
Cypress固件架构彻底解析及USB枚举 1. RAM的区别 56pin或者100pin的cy7c68013A,只有内部RAM,不支持外部RAM 128pin的cy7c68013A在pin脚EA=0 ...
- USB小白学习之路(6) IIC EEPROM读取解析
IIC EEPROM读取解析 1. 编译错误处理(这里可以忽略) 在解压包解压了程序后,直接编译,出现如下错误. *** WARNING L14: INCOMPATIBLE MEMORY MODEL ...
- USB小白学习之路(3) 通过自定义请求存取外部RAM
通过自定义请求存取外部RAM 1. 实验简述 此实验是对自定义的供应商特殊命令(vendor specific command bRequest = 0xA3)进行解析,程序中的read me说明如下 ...
- USB小白学习之路(5) HID鼠标程序
HID鼠标程序 1. 特别注意 需要特别注意,各个例程中的设备描述符,配置描述符等各种描述符都是已经配置好了的,我们需要做的只是在例程中将代码修改为自己需要的部分即可,一般情况下是不可以串搭配的. 2 ...
- USB小白学习之路(4)HID键盘程序
HID键盘程序 1. 特别注意 需要特别注意,各个例程中的设备描述符,配置描述符等各种描述符都是已经配置好了的,我们需要做的只是在例程中将代码修改为自己需要的部分即可,一般情况下是不可以串搭配的. 2 ...
- USB小白学习之路(2)端点IN/OUT互换
端点2(out)和端点6(in)的out_in互换 注:这里的out和in都是以host为标准说的,out是host的out,在设备(Cy7c68013)这里其实是输入端口:in是host的in,在设 ...
随机推荐
- 【Java杂货铺】用Security做权限极简入门
原来大多数单体项目都是用的shiro,随着分布式的逐渐普及以及与Spring的天生自然的结合.Spring Security安全框架越受大家的青睐.本文会教你用SpringSecurity设计单项目的 ...
- 新年在家学java之基础篇--循环&数组
因为“野味肺炎”的肆虐,过年被迫宅家只能吃了睡.睡了吃.这么下次只能长膘脑子空空,不如趁此机会重新学习java基础,为日后做铺垫~ 循环结构: 几种循环:for(::),while(){},do{}w ...
- Netty之内存泄露
直接内存是IO框架的绝配,但直接内存的分配销毁不易,所以使用内存池能大幅提高性能. 1.为什么要有引用计数器 Netty里四种主力的ByteBuf,其中UnpooledHeapByteBuf底下的by ...
- Apsara Clouder云计算专项技能认证:网站建设-简单动态网站搭建
一.课程介绍 1.课程目标 了解静态网站和动态网站的区别 掌握动态网站的不同实现方式 在阿里云上如何搭建 wordPress网站以及 wordPress 网站的管理和优化 二.网站搭建的类型 1.网站 ...
- 让Spring不再难懂-mvc篇
spring mvc简介与运行原理 Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的处理器 ...
- docker启动遇到的问题
转:https://blog.csdn.net/w1316022737/article/details/83692701 遇到问题: Job for docker.service failed bec ...
- [LC] 167. Two Sum II - Input array is sorted
Given an array of integers that is already sorted in ascending order, find two numbers such that the ...
- linux openjdk安装
sudo apt-get install openjdk-8-jdk 默认提示是 sudo apt-get install openjdk-8-jre, 这个只有jre https://openjdk ...
- [LC] 116. Populating Next Right Pointers in Each Node
You are given a perfect binary tree where all leaves are on the same level, and every parent has two ...
- H5页面如何引入vConsole
vConsole github地址vConsole 是腾讯开源的项目,这就简单的介绍一下使用 使用npm引入vconsole.min.js下载 vConsole 的最新版本.(不要直接下载 dev 分 ...